(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[0],{"+3Gp":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BareFontInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return FontInfo; });\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MNsG");\n/* harmony import */ var _editorZoom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Yr1X");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n/**\r\n * Determined from empirical observations.\r\n * @internal\r\n */\r\nvar GOLDEN_LINE_HEIGHT_RATIO = _base_common_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* isMacintosh */ "e"] ? 1.5 : 1.35;\r\n/**\r\n * @internal\r\n */\r\nvar MINIMUM_LINE_HEIGHT = 8;\r\nvar BareFontInfo = /** @class */ (function () {\r\n /**\r\n * @internal\r\n */\r\n function BareFontInfo(opts) {\r\n this.zoomLevel = opts.zoomLevel;\r\n this.fontFamily = String(opts.fontFamily);\r\n this.fontWeight = String(opts.fontWeight);\r\n this.fontSize = opts.fontSize;\r\n this.fontFeatureSettings = opts.fontFeatureSettings;\r\n this.lineHeight = opts.lineHeight | 0;\r\n this.letterSpacing = opts.letterSpacing;\r\n }\r\n /**\r\n * @internal\r\n */\r\n BareFontInfo.createFromValidatedSettings = function (options, zoomLevel, ignoreEditorZoom) {\r\n var fontFamily = options.get(33 /* fontFamily */);\r\n var fontWeight = options.get(37 /* fontWeight */);\r\n var fontSize = options.get(36 /* fontSize */);\r\n var fontFeatureSettings = options.get(35 /* fontLigatures */);\r\n var lineHeight = options.get(49 /* lineHeight */);\r\n var letterSpacing = options.get(46 /* letterSpacing */);\r\n return BareFontInfo._create(fontFamily, fontWeight, fontSize, fontFeatureSettings, lineHeight, letterSpacing, zoomLevel, ignoreEditorZoom);\r\n };\r\n /**\r\n * @internal\r\n */\r\n BareFontInfo._create = function (fontFamily, fontWeight, fontSize, fontFeatureSettings, lineHeight, letterSpacing, zoomLevel, ignoreEditorZoom) {\r\n if (lineHeight === 0) {\r\n lineHeight = Math.round(GOLDEN_LINE_HEIGHT_RATIO * fontSize);\r\n }\r\n else if (lineHeight < MINIMUM_LINE_HEIGHT) {\r\n lineHeight = MINIMUM_LINE_HEIGHT;\r\n }\r\n var editorZoomLevelMultiplier = 1 + (ignoreEditorZoom ? 0 : _editorZoom_js__WEBPACK_IMPORTED_MODULE_1__[/* EditorZoom */ "a"].getZoomLevel() * 0.1);\r\n fontSize *= editorZoomLevelMultiplier;\r\n lineHeight *= editorZoomLevelMultiplier;\r\n return new BareFontInfo({\r\n zoomLevel: zoomLevel,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n fontSize: fontSize,\r\n fontFeatureSettings: fontFeatureSettings,\r\n lineHeight: lineHeight,\r\n letterSpacing: letterSpacing\r\n });\r\n };\r\n /**\r\n * @internal\r\n */\r\n BareFontInfo.prototype.getId = function () {\r\n return this.zoomLevel + \'-\' + this.fontFamily + \'-\' + this.fontWeight + \'-\' + this.fontSize + \'-\' + this.fontFeatureSettings + \'-\' + this.lineHeight + \'-\' + this.letterSpacing;\r\n };\r\n /**\r\n * @internal\r\n */\r\n BareFontInfo.prototype.getMassagedFontFamily = function () {\r\n if (/[,"\']/.test(this.fontFamily)) {\r\n // Looks like the font family might be already escaped\r\n return this.fontFamily;\r\n }\r\n if (/[+ ]/.test(this.fontFamily)) {\r\n // Wrap a font family using + or with quotes\r\n return "\\"" + this.fontFamily + "\\"";\r\n }\r\n return this.fontFamily;\r\n };\r\n return BareFontInfo;\r\n}());\r\n\r\nvar FontInfo = /** @class */ (function (_super) {\r\n __extends(FontInfo, _super);\r\n /**\r\n * @internal\r\n */\r\n function FontInfo(opts, isTrusted) {\r\n var _this = _super.call(this, opts) || this;\r\n _this.isTrusted = isTrusted;\r\n _this.isMonospace = opts.isMonospace;\r\n _this.typicalHalfwidthCharacterWidth = opts.typicalHalfwidthCharacterWidth;\r\n _this.typicalFullwidthCharacterWidth = opts.typicalFullwidthCharacterWidth;\r\n _this.canUseHalfwidthRightwardsArrow = opts.canUseHalfwidthRightwardsArrow;\r\n _this.spaceWidth = opts.spaceWidth;\r\n _this.middotWidth = opts.middotWidth;\r\n _this.maxDigitWidth = opts.maxDigitWidth;\r\n return _this;\r\n }\r\n /**\r\n * @internal\r\n */\r\n FontInfo.prototype.equals = function (other) {\r\n return (this.fontFamily === other.fontFamily\r\n && this.fontWeight === other.fontWeight\r\n && this.fontSize === other.fontSize\r\n && this.fontFeatureSettings === other.fontFeatureSettings\r\n && this.lineHeight === other.lineHeight\r\n && this.letterSpacing === other.letterSpacing\r\n && this.typicalHalfwidthCharacterWidth === other.typicalHalfwidthCharacterWidth\r\n && this.typicalFullwidthCharacterWidth === other.typicalFullwidthCharacterWidth\r\n && this.canUseHalfwidthRightwardsArrow === other.canUseHalfwidthRightwardsArrow\r\n && this.spaceWidth === other.spaceWidth\r\n && this.middotWidth === other.middotWidth\r\n && this.maxDigitWidth === other.maxDigitWidth);\r\n };\r\n return FontInfo;\r\n}(BareFontInfo));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.js?')},"+6XX":function(module,exports,__webpack_require__){eval('var assocIndexOf = __webpack_require__("y1pI");\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_listCacheHas.js?')},"+7oY":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IConfigurationService; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return toValuesTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return addToValueTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return removeFromValueTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getConfigurationValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getConfigurationKeys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getDefaultValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return overrideIdentifierFromKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getMigratedSettingValue; });\n/* harmony import */ var _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ic2d");\n/* harmony import */ var _instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Cg/j");\n/* harmony import */ var _configurationRegistry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("CRAX");\n\r\n\r\n\r\nvar IConfigurationService = Object(_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_1__[/* createDecorator */ "c"])(\'configurationService\');\r\nfunction toValuesTree(properties, conflictReporter) {\r\n var root = Object.create(null);\r\n for (var key in properties) {\r\n addToValueTree(root, key, properties[key], conflictReporter);\r\n }\r\n return root;\r\n}\r\nfunction addToValueTree(settingsTreeRoot, key, value, conflictReporter) {\r\n var segments = key.split(\'.\');\r\n var last = segments.pop();\r\n var curr = settingsTreeRoot;\r\n for (var i = 0; i < segments.length; i++) {\r\n var s = segments[i];\r\n var obj = curr[s];\r\n switch (typeof obj) {\r\n case \'undefined\':\r\n obj = curr[s] = Object.create(null);\r\n break;\r\n case \'object\':\r\n break;\r\n default:\r\n conflictReporter("Ignoring " + key + " as " + segments.slice(0, i + 1).join(\'.\') + " is " + JSON.stringify(obj));\r\n return;\r\n }\r\n curr = obj;\r\n }\r\n if (typeof curr === \'object\') {\r\n curr[last] = value; // workaround https://github.com/Microsoft/vscode/issues/13606\r\n }\r\n else {\r\n conflictReporter("Ignoring " + key + " as " + segments.join(\'.\') + " is " + JSON.stringify(curr));\r\n }\r\n}\r\nfunction removeFromValueTree(valueTree, key) {\r\n var segments = key.split(\'.\');\r\n doRemoveFromValueTree(valueTree, segments);\r\n}\r\nfunction doRemoveFromValueTree(valueTree, segments) {\r\n var first = segments.shift();\r\n if (segments.length === 0) {\r\n // Reached last segment\r\n delete valueTree[first];\r\n return;\r\n }\r\n if (Object.keys(valueTree).indexOf(first) !== -1) {\r\n var value = valueTree[first];\r\n if (typeof value === \'object\' && !Array.isArray(value)) {\r\n doRemoveFromValueTree(value, segments);\r\n if (Object.keys(value).length === 0) {\r\n delete valueTree[first];\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * A helper function to get the configuration value with a specific settings path (e.g. config.some.setting)\r\n */\r\nfunction getConfigurationValue(config, settingPath, defaultValue) {\r\n function accessSetting(config, path) {\r\n var current = config;\r\n for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\r\n var component = path_1[_i];\r\n if (typeof current !== \'object\' || current === null) {\r\n return undefined;\r\n }\r\n current = current[component];\r\n }\r\n return current;\r\n }\r\n var path = settingPath.split(\'.\');\r\n var result = accessSetting(config, path);\r\n return typeof result === \'undefined\' ? defaultValue : result;\r\n}\r\nfunction getConfigurationKeys() {\r\n var properties = _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* Registry */ "a"].as(_configurationRegistry_js__WEBPACK_IMPORTED_MODULE_2__[/* Extensions */ "a"].Configuration).getConfigurationProperties();\r\n return Object.keys(properties);\r\n}\r\nfunction getDefaultValues() {\r\n var valueTreeRoot = Object.create(null);\r\n var properties = _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* Registry */ "a"].as(_configurationRegistry_js__WEBPACK_IMPORTED_MODULE_2__[/* Extensions */ "a"].Configuration).getConfigurationProperties();\r\n for (var key in properties) {\r\n var value = properties[key].default;\r\n addToValueTree(valueTreeRoot, key, value, function (message) { return console.error("Conflict in default settings: " + message); });\r\n }\r\n return valueTreeRoot;\r\n}\r\nfunction overrideIdentifierFromKey(key) {\r\n return key.substring(1, key.length - 1);\r\n}\r\nfunction getMigratedSettingValue(configurationService, currentSettingName, legacySettingName) {\r\n var setting = configurationService.inspect(currentSettingName);\r\n var legacySetting = configurationService.inspect(legacySettingName);\r\n if (typeof setting.userValue !== \'undefined\' || typeof setting.workspaceValue !== \'undefined\' || typeof setting.workspaceFolderValue !== \'undefined\') {\r\n return setting.value;\r\n }\r\n else if (typeof legacySetting.userValue !== \'undefined\' || typeof legacySetting.workspaceValue !== \'undefined\' || typeof legacySetting.workspaceFolderValue !== \'undefined\') {\r\n return legacySetting.value;\r\n }\r\n else {\r\n return setting.defaultValue;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/configuration/common/configuration.js?')},"+BJd":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("6MrE");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/tag/style/index.js?')},"+Fos":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export CursorPosition */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MoveOperations; });\n/* harmony import */ var _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Ll0s");\n/* harmony import */ var _core_position_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("cGHE");\n/* harmony import */ var _core_range_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("aokT");\n/* harmony import */ var _base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("N0LK");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\nvar CursorPosition = /** @class */ (function () {\r\n function CursorPosition(lineNumber, column, leftoverVisibleColumns) {\r\n this.lineNumber = lineNumber;\r\n this.column = column;\r\n this.leftoverVisibleColumns = leftoverVisibleColumns;\r\n }\r\n return CursorPosition;\r\n}());\r\n\r\nvar MoveOperations = /** @class */ (function () {\r\n function MoveOperations() {\r\n }\r\n MoveOperations.leftPosition = function (model, lineNumber, column) {\r\n if (column > model.getLineMinColumn(lineNumber)) {\r\n column = column - _base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__[/* prevCharLength */ "G"](model.getLineContent(lineNumber), column - 1);\r\n }\r\n else if (lineNumber > 1) {\r\n lineNumber = lineNumber - 1;\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n return new _core_position_js__WEBPACK_IMPORTED_MODULE_1__[/* Position */ "a"](lineNumber, column);\r\n };\r\n MoveOperations.left = function (config, model, lineNumber, column) {\r\n var pos = MoveOperations.leftPosition(model, lineNumber, column);\r\n return new CursorPosition(pos.lineNumber, pos.column, 0);\r\n };\r\n MoveOperations.moveLeft = function (config, model, cursor, inSelectionMode, noOfColumns) {\r\n var lineNumber, column;\r\n if (cursor.hasSelection() && !inSelectionMode) {\r\n // If we are in selection mode, move left without selection cancels selection and puts cursor at the beginning of the selection\r\n lineNumber = cursor.selection.startLineNumber;\r\n column = cursor.selection.startColumn;\r\n }\r\n else {\r\n var r = MoveOperations.left(config, model, cursor.position.lineNumber, cursor.position.column - (noOfColumns - 1));\r\n lineNumber = r.lineNumber;\r\n column = r.column;\r\n }\r\n return cursor.move(inSelectionMode, lineNumber, column, 0);\r\n };\r\n MoveOperations.rightPosition = function (model, lineNumber, column) {\r\n if (column < model.getLineMaxColumn(lineNumber)) {\r\n column = column + _base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__[/* nextCharLength */ "E"](model.getLineContent(lineNumber), column - 1);\r\n }\r\n else if (lineNumber < model.getLineCount()) {\r\n lineNumber = lineNumber + 1;\r\n column = model.getLineMinColumn(lineNumber);\r\n }\r\n return new _core_position_js__WEBPACK_IMPORTED_MODULE_1__[/* Position */ "a"](lineNumber, column);\r\n };\r\n MoveOperations.right = function (config, model, lineNumber, column) {\r\n var pos = MoveOperations.rightPosition(model, lineNumber, column);\r\n return new CursorPosition(pos.lineNumber, pos.column, 0);\r\n };\r\n MoveOperations.moveRight = function (config, model, cursor, inSelectionMode, noOfColumns) {\r\n var lineNumber, column;\r\n if (cursor.hasSelection() && !inSelectionMode) {\r\n // If we are in selection mode, move right without selection cancels selection and puts cursor at the end of the selection\r\n lineNumber = cursor.selection.endLineNumber;\r\n column = cursor.selection.endColumn;\r\n }\r\n else {\r\n var r = MoveOperations.right(config, model, cursor.position.lineNumber, cursor.position.column + (noOfColumns - 1));\r\n lineNumber = r.lineNumber;\r\n column = r.column;\r\n }\r\n return cursor.move(inSelectionMode, lineNumber, column, 0);\r\n };\r\n MoveOperations.down = function (config, model, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnLastLine) {\r\n var currentVisibleColumn = _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* CursorColumns */ "a"].visibleColumnFromColumn(model.getLineContent(lineNumber), column, config.tabSize) + leftoverVisibleColumns;\r\n lineNumber = lineNumber + count;\r\n var lineCount = model.getLineCount();\r\n if (lineNumber > lineCount) {\r\n lineNumber = lineCount;\r\n if (allowMoveOnLastLine) {\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n else {\r\n column = Math.min(model.getLineMaxColumn(lineNumber), column);\r\n }\r\n }\r\n else {\r\n column = _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* CursorColumns */ "a"].columnFromVisibleColumn2(config, model, lineNumber, currentVisibleColumn);\r\n }\r\n leftoverVisibleColumns = currentVisibleColumn - _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* CursorColumns */ "a"].visibleColumnFromColumn(model.getLineContent(lineNumber), column, config.tabSize);\r\n return new CursorPosition(lineNumber, column, leftoverVisibleColumns);\r\n };\r\n MoveOperations.moveDown = function (config, model, cursor, inSelectionMode, linesCount) {\r\n var lineNumber, column;\r\n if (cursor.hasSelection() && !inSelectionMode) {\r\n // If we are in selection mode, move down acts relative to the end of selection\r\n lineNumber = cursor.selection.endLineNumber;\r\n column = cursor.selection.endColumn;\r\n }\r\n else {\r\n lineNumber = cursor.position.lineNumber;\r\n column = cursor.position.column;\r\n }\r\n var r = MoveOperations.down(config, model, lineNumber, column, cursor.leftoverVisibleColumns, linesCount, true);\r\n return cursor.move(inSelectionMode, r.lineNumber, r.column, r.leftoverVisibleColumns);\r\n };\r\n MoveOperations.translateDown = function (config, model, cursor) {\r\n var selection = cursor.selection;\r\n var selectionStart = MoveOperations.down(config, model, selection.selectionStartLineNumber, selection.selectionStartColumn, cursor.selectionStartLeftoverVisibleColumns, 1, false);\r\n var position = MoveOperations.down(config, model, selection.positionLineNumber, selection.positionColumn, cursor.leftoverVisibleColumns, 1, false);\r\n return new _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* SingleCursorState */ "f"](new _core_range_js__WEBPACK_IMPORTED_MODULE_2__[/* Range */ "a"](selectionStart.lineNumber, selectionStart.column, selectionStart.lineNumber, selectionStart.column), selectionStart.leftoverVisibleColumns, new _core_position_js__WEBPACK_IMPORTED_MODULE_1__[/* Position */ "a"](position.lineNumber, position.column), position.leftoverVisibleColumns);\r\n };\r\n MoveOperations.up = function (config, model, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnFirstLine) {\r\n var currentVisibleColumn = _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* CursorColumns */ "a"].visibleColumnFromColumn(model.getLineContent(lineNumber), column, config.tabSize) + leftoverVisibleColumns;\r\n lineNumber = lineNumber - count;\r\n if (lineNumber < 1) {\r\n lineNumber = 1;\r\n if (allowMoveOnFirstLine) {\r\n column = model.getLineMinColumn(lineNumber);\r\n }\r\n else {\r\n column = Math.min(model.getLineMaxColumn(lineNumber), column);\r\n }\r\n }\r\n else {\r\n column = _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* CursorColumns */ "a"].columnFromVisibleColumn2(config, model, lineNumber, currentVisibleColumn);\r\n }\r\n leftoverVisibleColumns = currentVisibleColumn - _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* CursorColumns */ "a"].visibleColumnFromColumn(model.getLineContent(lineNumber), column, config.tabSize);\r\n return new CursorPosition(lineNumber, column, leftoverVisibleColumns);\r\n };\r\n MoveOperations.moveUp = function (config, model, cursor, inSelectionMode, linesCount) {\r\n var lineNumber, column;\r\n if (cursor.hasSelection() && !inSelectionMode) {\r\n // If we are in selection mode, move up acts relative to the beginning of selection\r\n lineNumber = cursor.selection.startLineNumber;\r\n column = cursor.selection.startColumn;\r\n }\r\n else {\r\n lineNumber = cursor.position.lineNumber;\r\n column = cursor.position.column;\r\n }\r\n var r = MoveOperations.up(config, model, lineNumber, column, cursor.leftoverVisibleColumns, linesCount, true);\r\n return cursor.move(inSelectionMode, r.lineNumber, r.column, r.leftoverVisibleColumns);\r\n };\r\n MoveOperations.translateUp = function (config, model, cursor) {\r\n var selection = cursor.selection;\r\n var selectionStart = MoveOperations.up(config, model, selection.selectionStartLineNumber, selection.selectionStartColumn, cursor.selectionStartLeftoverVisibleColumns, 1, false);\r\n var position = MoveOperations.up(config, model, selection.positionLineNumber, selection.positionColumn, cursor.leftoverVisibleColumns, 1, false);\r\n return new _cursorCommon_js__WEBPACK_IMPORTED_MODULE_0__[/* SingleCursorState */ "f"](new _core_range_js__WEBPACK_IMPORTED_MODULE_2__[/* Range */ "a"](selectionStart.lineNumber, selectionStart.column, selectionStart.lineNumber, selectionStart.column), selectionStart.leftoverVisibleColumns, new _core_position_js__WEBPACK_IMPORTED_MODULE_1__[/* Position */ "a"](position.lineNumber, position.column), position.leftoverVisibleColumns);\r\n };\r\n MoveOperations.moveToBeginningOfLine = function (config, model, cursor, inSelectionMode) {\r\n var lineNumber = cursor.position.lineNumber;\r\n var minColumn = model.getLineMinColumn(lineNumber);\r\n var firstNonBlankColumn = model.getLineFirstNonWhitespaceColumn(lineNumber) || minColumn;\r\n var column;\r\n var relevantColumnNumber = cursor.position.column;\r\n if (relevantColumnNumber === firstNonBlankColumn) {\r\n column = minColumn;\r\n }\r\n else {\r\n column = firstNonBlankColumn;\r\n }\r\n return cursor.move(inSelectionMode, lineNumber, column, 0);\r\n };\r\n MoveOperations.moveToEndOfLine = function (config, model, cursor, inSelectionMode) {\r\n var lineNumber = cursor.position.lineNumber;\r\n var maxColumn = model.getLineMaxColumn(lineNumber);\r\n return cursor.move(inSelectionMode, lineNumber, maxColumn, 0);\r\n };\r\n MoveOperations.moveToBeginningOfBuffer = function (config, model, cursor, inSelectionMode) {\r\n return cursor.move(inSelectionMode, 1, 1, 0);\r\n };\r\n MoveOperations.moveToEndOfBuffer = function (config, model, cursor, inSelectionMode) {\r\n var lastLineNumber = model.getLineCount();\r\n var lastColumn = model.getLineMaxColumn(lastLineNumber);\r\n return cursor.move(inSelectionMode, lastLineNumber, lastColumn, 0);\r\n };\r\n return MoveOperations;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorMoveOperations.js?')},"+JPL":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("+SFK"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol.js?')},"+L6B":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("qCM6");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/button/style/index.js?')},"+QRC":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar deselectCurrent = __webpack_require__("E9nw");\n\nvar clipboardToIE11Formatting = {\n "text/plain": "Text",\n "text/html": "Url",\n "default": "Text"\n}\n\nvar defaultMessage = "Copy to clipboard: #{key}, Enter";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? "\u2318" : "Ctrl") + "+C";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement("span");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = "unset";\n // prevents scrolling to the end of the page\n mark.style.position = "fixed";\n mark.style.top = 0;\n mark.style.clip = "rect(0, 0, 0, 0)";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = "pre";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = "text";\n mark.style.MozUserSelect = "text";\n mark.style.msUserSelect = "text";\n mark.style.userSelect = "text";\n mark.addEventListener("copy", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === "undefined") { // IE 11\n debug && console.warn("unable to use e.clipboardData");\n debug && console.warn("trying IE specific stuff");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand("copy");\n if (!successful) {\n throw new Error("copy command was unsuccessful");\n }\n success = true;\n } catch (err) {\n debug && console.error("unable to copy using execCommand: ", err);\n debug && console.warn("trying IE specific stuff");\n try {\n window.clipboardData.setData(options.format || "text", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error("unable to copy using clipboardData: ", err);\n debug && console.error("falling back to prompt");\n message = format("message" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == "function") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n\n\n//# sourceURL=webpack:///./node_modules/copy-to-clipboard/index.js?')},"+SFK":function(module,exports,__webpack_require__){eval('__webpack_require__("AUvm");\n__webpack_require__("wgeU");\n__webpack_require__("adOz");\n__webpack_require__("dl0q");\nmodule.exports = __webpack_require__("WEpk").Symbol;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/fn/symbol/index.js?')},"+TT/":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\nvar each = zrUtil.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 position = child.position;\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 position[0] = x;\n position[1] = y;\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/container/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/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar vbox = zrUtil.curry(boxLayout, 'vertical');\n/**\n * HBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar hbox = zrUtil.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 * @param {Object} positionInfo\n * @param {number|string} [positionInfo.x]\n * @param {number|string} [positionInfo.y]\n * @param {number|string} [positionInfo.x2]\n * @param {number|string} [positionInfo.y2]\n * @param {Object} containerRect {width, height}\n * @param {string|number} margin\n * @return {Object} {width, height}\n */\n\nfunction getAvailableSize(positionInfo, containerRect, margin) {\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var x = parsePercent(positionInfo.x, containerWidth);\n var y = parsePercent(positionInfo.y, containerHeight);\n var x2 = parsePercent(positionInfo.x2, containerWidth);\n var y2 = parsePercent(positionInfo.y2, containerHeight);\n (isNaN(x) || isNaN(parseFloat(positionInfo.x))) && (x = 0);\n (isNaN(x2) || isNaN(parseFloat(positionInfo.x2))) && (x2 = containerWidth);\n (isNaN(y) || isNaN(parseFloat(positionInfo.y))) && (y = 0);\n (isNaN(y2) || isNaN(parseFloat(positionInfo.y2))) && (y2 = containerHeight);\n margin = formatUtil.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 * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width]\n * @param {number|string} [positionInfo.height]\n * @param {number|string} [positionInfo.aspect] Aspect is width / height\n * @param {Object} containerRect\n * @param {string|number} [margin]\n *\n * @return {module:zrender/core/BoundingRect}\n */\n\n\nfunction getLayoutRect(positionInfo, containerRect, margin) {\n margin = formatUtil.normalizeCssArray(margin || 0);\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var left = parsePercent(positionInfo.left, containerWidth);\n var top = parsePercent(positionInfo.top, containerHeight);\n var right = parsePercent(positionInfo.right, containerWidth);\n var bottom = parsePercent(positionInfo.bottom, containerHeight);\n var width = parsePercent(positionInfo.width, containerWidth);\n var height = 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 BoundingRect(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 * @param {module:zrender/Element} el Should have `getBoundingRect` method.\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width] Only for opt.boundingModel: 'raw'\n * @param {number|string} [positionInfo.height] Only for opt.boundingModel: 'raw'\n * @param {Object} containerRect\n * @param {string|number} margin\n * @param {Object} [opt]\n * @param {Array.} [opt.hv=[1,1]] Only horizontal or only vertical.\n * @param {Array.} [opt.boundingMode='all']\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\n\nfunction positionElement(el, positionInfo, containerRect, margin, opt) {\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\n if (!h && !v) {\n return;\n }\n\n var rect;\n\n if (boundingMode === 'raw') {\n rect = el.type === 'group' ? new BoundingRect(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 positionInfo = getLayoutRect(zrUtil.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 elPos = el.position;\n var dx = h ? positionInfo.x - rect.x : 0;\n var dy = v ? positionInfo.y - rect.y : 0;\n el.attr('position', boundingMode === 'raw' ? [dx, dy] : [elPos[0] + dx, elPos[1] + dy]);\n}\n/**\n * @param {Object} option Contains some of the properties in HV_NAMES.\n * @param {number} hvIdx 0: horizontal; 1: vertical.\n */\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}\n/**\n * Consider Case:\n * When defulat 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 * var 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 {Object} targetOption\n * @param {Object} newOption\n * @param {Object|string} [opt]\n * @param {boolean|Array.} [opt.ignoreSize=false] Used for the components\n * that width (or height) should not be calculated by left and right (or top and bottom).\n */\n\n\nfunction mergeLayoutParam(targetOption, newOption, opt) {\n !zrUtil.isObject(opt) && (opt = {});\n var ignoreSize = opt.ignoreSize;\n !zrUtil.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 = names[i];\n\n if (!hasProp(newParams, name) && hasProp(targetOption, name)) {\n newParams[name] = targetOption[name];\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 * @param {Object} source\n * @return {Object} Result contains those props.\n */\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\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\nexports.LOCATION_PARAMS = LOCATION_PARAMS;\nexports.HV_NAMES = HV_NAMES;\nexports.box = box;\nexports.vbox = vbox;\nexports.hbox = hbox;\nexports.getAvailableSize = getAvailableSize;\nexports.getLayoutRect = getLayoutRect;\nexports.positionElement = positionElement;\nexports.sizeCalculable = sizeCalculable;\nexports.mergeLayoutParam = mergeLayoutParam;\nexports.getLayoutParams = getLayoutParams;\nexports.copyLayoutParams = copyLayoutParams;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/layout.js?")},"+Zaj":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _CalendarOutlined = _interopRequireDefault(__webpack_require__("ugBc"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CalendarOutlined = function CalendarOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _CalendarOutlined.default\n }));\n};\n\nCalendarOutlined.displayName = \'CalendarOutlined\';\n\nvar _default = React.forwardRef(CalendarOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/CalendarOutlined.js?')},"+a1H":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'handlebars',\r\n extensions: ['.handlebars', '.hbs'],\r\n aliases: ['Handlebars', 'handlebars'],\r\n mimetypes: ['text/x-handlebars-template'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 179).then(__webpack_require__.bind(null, \"O3xE\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js?")},"+d4F":function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _PaperClipOutlined = _interopRequireDefault(__webpack_require__("y3Yb"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _PaperClipOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/PaperClipOutlined.js?')},"+eQT":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/moment/moment.js\nvar moment = __webpack_require__("wd/R");\nvar moment_default = /*#__PURE__*/__webpack_require__.n(moment);\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js\nvar warning = __webpack_require__("Kwbf");\n\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/generate/moment.js\n\n\nvar moment_generateConfig = {\n // get\n getNow: function getNow() {\n return moment_default()();\n },\n getWeekDay: function getWeekDay(date) {\n var clone = date.clone().locale(\'en_US\');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: function getYear(date) {\n return date.year();\n },\n getMonth: function getMonth(date) {\n return date.month();\n },\n getDate: function getDate(date) {\n return date.date();\n },\n getHour: function getHour(date) {\n return date.hour();\n },\n getMinute: function getMinute(date) {\n return date.minute();\n },\n getSecond: function getSecond(date) {\n return date.second();\n },\n // set\n addYear: function addYear(date, diff) {\n var clone = date.clone();\n return clone.add(diff, \'year\');\n },\n addMonth: function addMonth(date, diff) {\n var clone = date.clone();\n return clone.add(diff, \'month\');\n },\n addDate: function addDate(date, diff) {\n var clone = date.clone();\n return clone.add(diff, \'day\');\n },\n setYear: function setYear(date, year) {\n var clone = date.clone();\n return clone.year(year);\n },\n setMonth: function setMonth(date, month) {\n var clone = date.clone();\n return clone.month(month);\n },\n setDate: function setDate(date, num) {\n var clone = date.clone();\n return clone.date(num);\n },\n setHour: function setHour(date, hour) {\n var clone = date.clone();\n return clone.hour(hour);\n },\n setMinute: function setMinute(date, minute) {\n var clone = date.clone();\n return clone.minute(minute);\n },\n setSecond: function setSecond(date, second) {\n var clone = date.clone();\n return clone.second(second);\n },\n // Compare\n isAfter: function isAfter(date1, date2) {\n return date1.isAfter(date2);\n },\n isValidate: function isValidate(date) {\n return date.isValid();\n },\n locale: {\n getWeekFirstDay: function getWeekFirstDay(locale) {\n var date = moment_default()().locale(locale);\n return date.localeData().firstDayOfWeek();\n },\n getWeek: function getWeek(locale, date) {\n var clone = date.clone();\n var result = clone.locale(locale);\n return result.week();\n },\n getShortWeekDays: function getShortWeekDays(locale) {\n var date = moment_default()().locale(locale);\n return date.localeData().weekdaysMin();\n },\n getShortMonths: function getShortMonths(locale) {\n var date = moment_default()().locale(locale);\n return date.localeData().monthsShort();\n },\n format: function format(locale, date, _format) {\n var clone = date.clone();\n var result = clone.locale(locale);\n return result.format(_format);\n },\n parse: function parse(locale, text, formats) {\n var fallbackFormatList = [];\n\n for (var i = 0; i < formats.length; i += 1) {\n var format = formats[i];\n var formatText = text;\n\n if (format.includes(\'wo\') || format.includes(\'Wo\')) {\n format = format.replace(/wo/g, \'w\').replace(/Wo/g, \'W\');\n var matchFormat = format.match(/[-YyMmDdHhSsWwGg]+/g);\n var matchText = formatText.match(/[-\\d]+/g);\n\n if (matchFormat && matchText) {\n format = matchFormat.join(\'\');\n formatText = matchText.join(\'\');\n } else {\n fallbackFormatList.push(format.replace(/o/g, \'\'));\n }\n }\n\n var date = moment_default()(formatText, format, locale, true);\n\n if (date.isValid()) {\n return date;\n }\n } // Fallback to fuzzy matching, this should always not reach match or need fire a issue\n\n\n for (var _i = 0; _i < fallbackFormatList.length; _i += 1) {\n var _date = moment_default()(text, fallbackFormatList[_i], locale, false);\n /* istanbul ignore next */\n\n\n if (_date.isValid()) {\n Object(warning["b" /* noteOnce */])(false, \'Not match any format strictly and fallback to fuzzy match. Please help to fire a issue about this.\');\n return _date;\n }\n }\n\n return null;\n }\n }\n};\n/* harmony default export */ var generate_moment = (moment_generateConfig);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js\nvar es_button = __webpack_require__("2/Rp");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/PickerButton.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\n\n\nfunction PickerButton(props) {\n return /*#__PURE__*/react["createElement"](es_button["a" /* default */], _extends({\n size: "small",\n type: "primary"\n }, props));\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/tag/index.js + 1 modules\nvar tag = __webpack_require__("mr32");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/PickerTag.js\nfunction PickerTag_extends() { PickerTag_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; }; return PickerTag_extends.apply(this, arguments); }\n\n\n\nfunction PickerTag(props) {\n return /*#__PURE__*/react["createElement"](tag["a" /* default */], PickerTag_extends({\n color: "blue"\n }, props));\n}\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CalendarOutlined.js\nvar CalendarOutlined = __webpack_require__("r/2G");\nvar CalendarOutlined_default = /*#__PURE__*/__webpack_require__.n(CalendarOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/ClockCircleOutlined.js\nvar ClockCircleOutlined = __webpack_require__("XzQk");\nvar ClockCircleOutlined_default = /*#__PURE__*/__webpack_require__.n(ClockCircleOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CloseCircleFilled.js\nvar CloseCircleFilled = __webpack_require__("kbBi");\nvar CloseCircleFilled_default = /*#__PURE__*/__webpack_require__.n(CloseCircleFilled);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules\nvar slicedToArray = __webpack_require__("ODXe");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useMergedState.js\nvar useMergedState = __webpack_require__("6cGi");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\nvar esm_typeof = __webpack_require__("U8pU");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/PanelContext.js\n\nvar PanelContext = react["createContext"]({});\n/* harmony default export */ var es_PanelContext = (PanelContext);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/Header.js\n\n\nvar HIDDEN_STYLE = {\n visibility: \'hidden\'\n};\n\nfunction Header(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$prevIcon = _ref.prevIcon,\n prevIcon = _ref$prevIcon === void 0 ? "\\u2039" : _ref$prevIcon,\n _ref$nextIcon = _ref.nextIcon,\n nextIcon = _ref$nextIcon === void 0 ? "\\u203A" : _ref$nextIcon,\n _ref$superPrevIcon = _ref.superPrevIcon,\n superPrevIcon = _ref$superPrevIcon === void 0 ? "\\xAB" : _ref$superPrevIcon,\n _ref$superNextIcon = _ref.superNextIcon,\n superNextIcon = _ref$superNextIcon === void 0 ? "\\xBB" : _ref$superNextIcon,\n onSuperPrev = _ref.onSuperPrev,\n onSuperNext = _ref.onSuperNext,\n onPrev = _ref.onPrev,\n onNext = _ref.onNext,\n children = _ref.children;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n hideNextBtn = _React$useContext.hideNextBtn,\n hidePrevBtn = _React$useContext.hidePrevBtn;\n\n return react["createElement"]("div", {\n className: prefixCls\n }, onSuperPrev && react["createElement"]("button", {\n type: "button",\n onClick: onSuperPrev,\n tabIndex: -1,\n className: "".concat(prefixCls, "-super-prev-btn"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, superPrevIcon), onPrev && react["createElement"]("button", {\n type: "button",\n onClick: onPrev,\n tabIndex: -1,\n className: "".concat(prefixCls, "-prev-btn"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, prevIcon), react["createElement"]("div", {\n className: "".concat(prefixCls, "-view")\n }, children), onNext && react["createElement"]("button", {\n type: "button",\n onClick: onNext,\n tabIndex: -1,\n className: "".concat(prefixCls, "-next-btn"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, nextIcon), onSuperNext && react["createElement"]("button", {\n type: "button",\n onClick: onSuperNext,\n tabIndex: -1,\n className: "".concat(prefixCls, "-super-next-btn"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, superNextIcon));\n}\n\n/* harmony default export */ var panels_Header = (Header);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/TimePanel/TimeHeader.js\n\n\n\n\nfunction TimeHeader(props) {\n var _React$useContext = react["useContext"](es_PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value,\n format = props.format;\n var headerPrefixCls = "".concat(prefixCls, "-header");\n return react["createElement"](panels_Header, {\n prefixCls: headerPrefixCls\n }, value ? generateConfig.locale.format(locale.locale, value, format) : "\\xA0");\n}\n\n/* harmony default export */ var TimePanel_TimeHeader = (TimeHeader);\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules\nvar toConsumableArray = __webpack_require__("KQm4");\n\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/utils/uiUtil.js\n\n\nvar scrollIds = new Map();\n/* eslint-disable no-param-reassign */\n\nfunction scrollTo(element, to, duration) {\n if (scrollIds.get(element)) {\n cancelAnimationFrame(scrollIds.get(element));\n } // jump to target if duration zero\n\n\n if (duration <= 0) {\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop = to;\n }));\n return;\n }\n\n var difference = to - element.scrollTop;\n var perTick = difference / duration * 10;\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop += perTick;\n\n if (element.scrollTop !== to) {\n scrollTo(element, to, duration - 10);\n }\n }));\n}\nfunction createKeyDownHandler(event, _ref) {\n var onLeftRight = _ref.onLeftRight,\n onCtrlLeftRight = _ref.onCtrlLeftRight,\n onUpDown = _ref.onUpDown,\n onPageUpDown = _ref.onPageUpDown,\n onEnter = _ref.onEnter;\n var which = event.which,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n\n switch (which) {\n case KeyCode["a" /* default */].LEFT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(-1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode["a" /* default */].RIGHT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode["a" /* default */].UP:\n if (onUpDown) {\n onUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode["a" /* default */].DOWN:\n if (onUpDown) {\n onUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode["a" /* default */].PAGE_UP:\n if (onPageUpDown) {\n onPageUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode["a" /* default */].PAGE_DOWN:\n if (onPageUpDown) {\n onPageUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode["a" /* default */].ENTER:\n if (onEnter) {\n onEnter();\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n }\n\n return false;\n} // ===================== Format =====================\n\nfunction getDefaultFormat(format, picker, showTime, use12Hours) {\n var mergedFormat = format;\n\n if (!mergedFormat) {\n switch (picker) {\n case \'time\':\n mergedFormat = use12Hours ? \'hh:mm:ss a\' : \'HH:mm:ss\';\n break;\n\n case \'week\':\n mergedFormat = \'gggg-wo\';\n break;\n\n case \'month\':\n mergedFormat = \'YYYY-MM\';\n break;\n\n case \'quarter\':\n mergedFormat = \'YYYY-[Q]Q\';\n break;\n\n case \'year\':\n mergedFormat = \'YYYY\';\n break;\n\n default:\n mergedFormat = showTime ? \'YYYY-MM-DD HH:mm:ss\' : \'YYYY-MM-DD\';\n }\n }\n\n return mergedFormat;\n}\nfunction getInputSize(picker, format) {\n var defaultSize = picker === \'time\' ? 8 : 10;\n return Math.max(defaultSize, format.length) + 2;\n}\nvar uiUtil_globalClickFunc = null;\nvar clickCallbacks = new Set();\nfunction addGlobalMouseDownEvent(callback) {\n if (!uiUtil_globalClickFunc && typeof window !== \'undefined\' && window.addEventListener) {\n uiUtil_globalClickFunc = function globalClickFunc(e) {\n // Clone a new list to avoid repeat trigger events\n Object(toConsumableArray["a" /* default */])(clickCallbacks).forEach(function (queueFunc) {\n queueFunc(e);\n });\n };\n\n window.addEventListener(\'mousedown\', uiUtil_globalClickFunc);\n }\n\n clickCallbacks.add(callback);\n return function () {\n clickCallbacks.delete(callback);\n\n if (clickCallbacks.size === 0) {\n window.removeEventListener(\'mousedown\', uiUtil_globalClickFunc);\n uiUtil_globalClickFunc = null;\n }\n };\n} // ====================== Mode ======================\n\nvar getYearNextMode = function getYearNextMode(next) {\n if (next === \'month\' || next === \'date\') {\n return \'year\';\n }\n\n return next;\n};\n\nvar getMonthNextMode = function getMonthNextMode(next) {\n if (next === \'date\') {\n return \'month\';\n }\n\n return next;\n};\n\nvar getQuarterNextMode = function getQuarterNextMode(next) {\n if (next === \'month\' || next === \'date\') {\n return \'quarter\';\n }\n\n return next;\n};\n\nvar getWeekNextMode = function getWeekNextMode(next) {\n if (next === \'date\') {\n return \'week\';\n }\n\n return next;\n};\n\nvar PickerModeMap = {\n year: getYearNextMode,\n month: getMonthNextMode,\n quarter: getQuarterNextMode,\n week: getWeekNextMode,\n time: null,\n date: null\n};\nfunction elementsContains(elements, target) {\n return elements.some(function (ele) {\n return ele && ele.contains(target);\n });\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js\n\n\n\n\n\n\nfunction TimeUnitColumn(props) {\n var prefixCls = props.prefixCls,\n units = props.units,\n onSelect = props.onSelect,\n value = props.value,\n active = props.active,\n hideDisabledOptions = props.hideDisabledOptions;\n var cellPrefixCls = "".concat(prefixCls, "-cell");\n\n var _React$useContext = react["useContext"](es_PanelContext),\n open = _React$useContext.open;\n\n var ulRef = react["useRef"](null);\n var liRefs = react["useRef"](new Map()); // `useLayoutEffect` here to avoid blink by duration is 0\n\n react["useLayoutEffect"](function () {\n var li = liRefs.current.get(value);\n\n if (li && open !== false) {\n scrollTo(ulRef.current, li.offsetTop, 120);\n }\n }, [value]);\n react["useLayoutEffect"](function () {\n if (open) {\n var li = liRefs.current.get(value);\n\n if (li) {\n scrollTo(ulRef.current, li.offsetTop, 0);\n }\n }\n }, [open]);\n return react["createElement"]("ul", {\n className: classnames_default()("".concat(prefixCls, "-column"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-column-active"), active)),\n ref: ulRef,\n style: {\n position: \'relative\'\n }\n }, units.map(function (unit) {\n var _classNames2;\n\n if (hideDisabledOptions && unit.disabled) {\n return null;\n }\n\n return react["createElement"]("li", {\n key: unit.value,\n ref: function ref(element) {\n liRefs.current.set(unit.value, element);\n },\n className: classnames_default()(cellPrefixCls, (_classNames2 = {}, Object(defineProperty["a" /* default */])(_classNames2, "".concat(cellPrefixCls, "-disabled"), unit.disabled), Object(defineProperty["a" /* default */])(_classNames2, "".concat(cellPrefixCls, "-selected"), value === unit.value), _classNames2)),\n onClick: function onClick() {\n if (unit.disabled) {\n return;\n }\n\n onSelect(unit.value);\n }\n }, react["createElement"]("div", {\n className: "".concat(cellPrefixCls, "-inner")\n }, unit.label));\n }));\n}\n\n/* harmony default export */ var TimePanel_TimeUnitColumn = (TimeUnitColumn);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/utils/miscUtil.js\nfunction leftPad(str, length) {\n var fill = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \'0\';\n var current = String(str);\n\n while (current.length < length) {\n current = "".concat(fill).concat(str);\n }\n\n return current;\n}\nvar tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\nfunction toArray(val) {\n if (val === null || val === undefined) {\n return [];\n }\n\n return Array.isArray(val) ? val : [val];\n}\nfunction getDataOrAriaProps(props) {\n var retProps = {};\n Object.keys(props).forEach(function (key) {\n if ((key.substr(0, 5) === \'data-\' || key.substr(0, 5) === \'aria-\' || key === \'role\' || key === \'name\') && key.substr(0, 7) !== \'data-__\') {\n retProps[key] = props[key];\n }\n });\n return retProps;\n}\nfunction getValue(values, index) {\n return values ? values[index] : null;\n}\nfunction updateValues(values, value, index) {\n var newValues = [getValue(values, 0), getValue(values, 1)];\n newValues[index] = typeof value === \'function\' ? value(newValues[index]) : value;\n\n if (!newValues[0] && !newValues[1]) {\n return null;\n }\n\n return newValues;\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/TimePanel/TimeBody.js\n\n\n\n\nfunction generateUnits(start, end, step, disabledUnits) {\n var units = [];\n\n for (var i = start; i <= end; i += step) {\n units.push({\n label: leftPad(i, 2),\n value: i,\n disabled: (disabledUnits || []).includes(i)\n });\n }\n\n return units;\n}\n\nfunction TimeBody(props) {\n var generateConfig = props.generateConfig,\n prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n activeColumnIndex = props.activeColumnIndex,\n value = props.value,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n use12Hours = props.use12Hours,\n _props$hourStep = props.hourStep,\n hourStep = _props$hourStep === void 0 ? 1 : _props$hourStep,\n _props$minuteStep = props.minuteStep,\n minuteStep = _props$minuteStep === void 0 ? 1 : _props$minuteStep,\n _props$secondStep = props.secondStep,\n secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep,\n disabledHours = props.disabledHours,\n disabledMinutes = props.disabledMinutes,\n disabledSeconds = props.disabledSeconds,\n hideDisabledOptions = props.hideDisabledOptions,\n onSelect = props.onSelect;\n var columns = [];\n var contentPrefixCls = "".concat(prefixCls, "-content");\n var columnPrefixCls = "".concat(prefixCls, "-time-panel");\n var isPM;\n var hour = value ? generateConfig.getHour(value) : -1;\n var minute = value ? generateConfig.getMinute(value) : -1;\n var second = value ? generateConfig.getSecond(value) : -1;\n\n var setTime = function setTime(isNewPM, newHour, newMinute, newSecond) {\n var newDate = value || generateConfig.getNow();\n var mergedHour = Math.max(0, newHour);\n var mergedMinute = Math.max(0, newMinute);\n var mergedSecond = Math.max(0, newSecond);\n newDate = generateConfig.setSecond(newDate, mergedSecond);\n newDate = generateConfig.setMinute(newDate, mergedMinute);\n newDate = generateConfig.setHour(newDate, !use12Hours || !isNewPM ? mergedHour : mergedHour + 12);\n return newDate;\n }; // ========================= Unit =========================\n\n\n var hours = generateUnits(0, use12Hours ? 11 : 23, hourStep, disabledHours && disabledHours()); // Should additional logic to handle 12 hours\n\n if (use12Hours && hour !== -1) {\n isPM = hour >= 12;\n hour %= 12;\n hours[0].label = \'12\';\n }\n\n var minutes = generateUnits(0, 59, minuteStep, disabledMinutes && disabledMinutes(hour));\n var seconds = generateUnits(0, 59, secondStep, disabledSeconds && disabledSeconds(hour, minute)); // ====================== Operations ======================\n\n operationRef.current = {\n onUpDown: function onUpDown(diff) {\n var column = columns[activeColumnIndex];\n\n if (column) {\n var valueIndex = column.units.findIndex(function (unit) {\n return unit.value === column.value;\n });\n var unitLen = column.units.length;\n\n for (var i = 1; i < unitLen; i += 1) {\n var nextUnit = column.units[(valueIndex + diff * i + unitLen) % unitLen];\n\n if (nextUnit.disabled !== true) {\n column.onSelect(nextUnit.value);\n break;\n }\n }\n }\n }\n }; // ======================== Render ========================\n\n function addColumnNode(condition, node, columnValue, units, onColumnSelect) {\n if (condition !== false) {\n columns.push({\n node: react["cloneElement"](node, {\n prefixCls: columnPrefixCls,\n value: columnValue,\n active: activeColumnIndex === columns.length,\n onSelect: onColumnSelect,\n units: units,\n hideDisabledOptions: hideDisabledOptions\n }),\n onSelect: onColumnSelect,\n value: columnValue,\n units: units\n });\n }\n } // Hour\n\n\n addColumnNode(showHour, react["createElement"](TimePanel_TimeUnitColumn, {\n key: "hour"\n }), hour, hours, function (num) {\n onSelect(setTime(isPM, num, minute, second), \'mouse\');\n }); // Minute\n\n addColumnNode(showMinute, react["createElement"](TimePanel_TimeUnitColumn, {\n key: "minute"\n }), minute, minutes, function (num) {\n onSelect(setTime(isPM, hour, num, second), \'mouse\');\n }); // Second\n\n addColumnNode(showSecond, react["createElement"](TimePanel_TimeUnitColumn, {\n key: "second"\n }), second, seconds, function (num) {\n onSelect(setTime(isPM, hour, minute, num), \'mouse\');\n }); // 12 Hours\n\n var PMIndex = -1;\n\n if (typeof isPM === \'boolean\') {\n PMIndex = isPM ? 1 : 0;\n }\n\n addColumnNode(use12Hours === true, react["createElement"](TimePanel_TimeUnitColumn, {\n key: "12hours"\n }), PMIndex, [{\n label: \'AM\',\n value: 0\n }, {\n label: \'PM\',\n value: 1\n }], function (num) {\n onSelect(setTime(!!num, hour, minute, second), \'mouse\');\n });\n return react["createElement"]("div", {\n className: contentPrefixCls\n }, columns.map(function (_ref) {\n var node = _ref.node;\n return node;\n }));\n}\n\n/* harmony default export */ var TimePanel_TimeBody = (TimeBody);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/TimePanel/index.js\n\n\n\n\n\n\n\n\nvar countBoolean = function countBoolean(boolList) {\n return boolList.filter(function (bool) {\n return bool !== false;\n }).length;\n};\n\nfunction TimePanel(props) {\n var generateConfig = props.generateConfig,\n _props$format = props.format,\n format = _props$format === void 0 ? \'HH:mm:ss\' : _props$format,\n prefixCls = props.prefixCls,\n active = props.active,\n operationRef = props.operationRef,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n _props$use12Hours = props.use12Hours,\n use12Hours = _props$use12Hours === void 0 ? false : _props$use12Hours,\n onSelect = props.onSelect,\n value = props.value;\n var panelPrefixCls = "".concat(prefixCls, "-time-panel");\n var bodyOperationRef = react["useRef"](); // ======================= Keyboard =======================\n\n var _React$useState = react["useState"](-1),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n activeColumnIndex = _React$useState2[0],\n setActiveColumnIndex = _React$useState2[1];\n\n var columnsCount = countBoolean([showHour, showMinute, showSecond, use12Hours]);\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n setActiveColumnIndex((activeColumnIndex + diff + columnsCount) % columnsCount);\n },\n onUpDown: function onUpDown(diff) {\n if (activeColumnIndex === -1) {\n setActiveColumnIndex(0);\n } else if (bodyOperationRef.current) {\n bodyOperationRef.current.onUpDown(diff);\n }\n },\n onEnter: function onEnter() {\n onSelect(value || generateConfig.getNow(), \'key\');\n setActiveColumnIndex(-1);\n }\n });\n },\n onBlur: function onBlur() {\n setActiveColumnIndex(-1);\n }\n };\n return react["createElement"]("div", {\n className: classnames_default()(panelPrefixCls, Object(defineProperty["a" /* default */])({}, "".concat(panelPrefixCls, "-active"), active))\n }, react["createElement"](TimePanel_TimeHeader, Object.assign({}, props, {\n format: format,\n prefixCls: prefixCls\n })), react["createElement"](TimePanel_TimeBody, Object.assign({}, props, {\n prefixCls: prefixCls,\n activeColumnIndex: activeColumnIndex,\n operationRef: bodyOperationRef\n })));\n}\n\n/* harmony default export */ var panels_TimePanel = (TimePanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/utils/dateUtil.js\nvar WEEK_DAY_COUNT = 7;\nfunction isNullEqual(value1, value2) {\n if (!value1 && !value2) {\n return true;\n }\n\n if (!value1 || !value2) {\n return false;\n }\n\n return undefined;\n}\nfunction isSameDecade(generateConfig, decade1, decade2) {\n var equal = isNullEqual(decade1, decade2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n var num1 = Math.floor(generateConfig.getYear(decade1) / 10);\n var num2 = Math.floor(generateConfig.getYear(decade2) / 10);\n return num1 === num2;\n}\nfunction isSameYear(generateConfig, year1, year2) {\n var equal = isNullEqual(year1, year2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n return generateConfig.getYear(year1) === generateConfig.getYear(year2);\n}\nfunction getQuarter(generateConfig, date) {\n var quota = Math.floor(generateConfig.getMonth(date) / 3);\n return quota + 1;\n}\nfunction isSameQuarter(generateConfig, quarter1, quarter2) {\n var equal = isNullEqual(quarter1, quarter2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n return isSameYear(generateConfig, quarter1, quarter2) && getQuarter(generateConfig, quarter1) === getQuarter(generateConfig, quarter2);\n}\nfunction isSameMonth(generateConfig, month1, month2) {\n var equal = isNullEqual(month1, month2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n return isSameYear(generateConfig, month1, month2) && generateConfig.getMonth(month1) === generateConfig.getMonth(month2);\n}\nfunction isSameDate(generateConfig, date1, date2) {\n var equal = isNullEqual(date1, date2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n return generateConfig.getYear(date1) === generateConfig.getYear(date2) && generateConfig.getMonth(date1) === generateConfig.getMonth(date2) && generateConfig.getDate(date1) === generateConfig.getDate(date2);\n}\nfunction isSameTime(generateConfig, time1, time2) {\n var equal = isNullEqual(time1, time2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n return generateConfig.getHour(time1) === generateConfig.getHour(time2) && generateConfig.getMinute(time1) === generateConfig.getMinute(time2) && generateConfig.getSecond(time1) === generateConfig.getSecond(time2);\n}\nfunction isSameWeek(generateConfig, locale, date1, date2) {\n var equal = isNullEqual(date1, date2);\n\n if (typeof equal === \'boolean\') {\n return equal;\n }\n\n return generateConfig.locale.getWeek(locale, date1) === generateConfig.locale.getWeek(locale, date2);\n}\nfunction isEqual(generateConfig, value1, value2) {\n return isSameDate(generateConfig, value1, value2) && isSameTime(generateConfig, value1, value2);\n}\n/** Between in date but not equal of date */\n\nfunction isInRange(generateConfig, startDate, endDate, current) {\n if (!startDate || !endDate || !current) {\n return false;\n }\n\n return !isSameDate(generateConfig, startDate, current) && !isSameDate(generateConfig, endDate, current) && generateConfig.isAfter(current, startDate) && generateConfig.isAfter(endDate, current);\n}\nfunction getWeekStartDate(locale, generateConfig, value) {\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale);\n var monthStartDate = generateConfig.setDate(value, 1);\n var startDateWeekDay = generateConfig.getWeekDay(monthStartDate);\n var alignStartDate = generateConfig.addDate(monthStartDate, weekFirstDay - startDateWeekDay);\n\n if (generateConfig.getMonth(alignStartDate) === generateConfig.getMonth(value) && generateConfig.getDate(alignStartDate) > 1) {\n alignStartDate = generateConfig.addDate(alignStartDate, -7);\n }\n\n return alignStartDate;\n}\nfunction getClosingViewDate(viewDate, picker, generateConfig) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n switch (picker) {\n case \'year\':\n return generateConfig.addYear(viewDate, offset * 10);\n\n case \'quarter\':\n case \'month\':\n return generateConfig.addYear(viewDate, offset);\n\n default:\n return generateConfig.addMonth(viewDate, offset);\n }\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/RangeContext.js\n\nvar RangeContext = react["createContext"]({});\n/* harmony default export */ var es_RangeContext = (RangeContext);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/hooks/useCellClassName.js\n\n\n\nfunction useCellClassName(_ref) {\n var cellPrefixCls = _ref.cellPrefixCls,\n generateConfig = _ref.generateConfig,\n rangedValue = _ref.rangedValue,\n hoverRangedValue = _ref.hoverRangedValue,\n isInView = _ref.isInView,\n isSameCell = _ref.isSameCell,\n offsetCell = _ref.offsetCell,\n today = _ref.today,\n value = _ref.value;\n\n function getClassName(currentDate) {\n var _ref2;\n\n var prevDate = offsetCell(currentDate, -1);\n var nextDate = offsetCell(currentDate, 1);\n var rangeStart = getValue(rangedValue, 0);\n var rangeEnd = getValue(rangedValue, 1);\n var hoverStart = getValue(hoverRangedValue, 0);\n var hoverEnd = getValue(hoverRangedValue, 1);\n var isRangeHovered = isInRange(generateConfig, hoverStart, hoverEnd, currentDate);\n\n function isRangeStart(date) {\n return isSameCell(rangeStart, date);\n }\n\n function isRangeEnd(date) {\n return isSameCell(rangeEnd, date);\n }\n\n var isHoverStart = isSameCell(hoverStart, currentDate);\n var isHoverEnd = isSameCell(hoverEnd, currentDate);\n var isHoverEdgeStart = (isRangeHovered || isHoverEnd) && (!isInView(prevDate) || isRangeEnd(prevDate));\n var isHoverEdgeEnd = (isRangeHovered || isHoverStart) && (!isInView(nextDate) || isRangeStart(nextDate));\n return _ref2 = {}, Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-in-view"), isInView(currentDate)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-in-range"), isInRange(generateConfig, rangeStart, rangeEnd, currentDate)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-start"), isRangeStart(currentDate)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-end"), isRangeEnd(currentDate)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-start-single"), isRangeStart(currentDate) && !rangeEnd), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-end-single"), isRangeEnd(currentDate) && !rangeStart), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-start-near-hover"), isRangeStart(currentDate) && (isSameCell(prevDate, hoverStart) || isInRange(generateConfig, hoverStart, hoverEnd, prevDate))), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-end-near-hover"), isRangeEnd(currentDate) && (isSameCell(nextDate, hoverEnd) || isInRange(generateConfig, hoverStart, hoverEnd, nextDate))), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover"), isRangeHovered), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover-start"), isHoverStart), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover-end"), isHoverEnd), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-start"), isHoverEdgeStart), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-end"), isHoverEdgeEnd), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-start-near-range"), isHoverEdgeStart && isSameCell(prevDate, rangeEnd)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-range-hover-edge-end-near-range"), isHoverEdgeEnd && isSameCell(nextDate, rangeStart)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-today"), isSameCell(today, currentDate)), Object(defineProperty["a" /* default */])(_ref2, "".concat(cellPrefixCls, "-selected"), isSameCell(value, currentDate)), _ref2;\n }\n\n return getClassName;\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/PanelBody.js\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nfunction PanelBody(_ref) {\n var prefixCls = _ref.prefixCls,\n disabledDate = _ref.disabledDate,\n onSelect = _ref.onSelect,\n rowNum = _ref.rowNum,\n colNum = _ref.colNum,\n prefixColumn = _ref.prefixColumn,\n rowClassName = _ref.rowClassName,\n baseDate = _ref.baseDate,\n getCellClassName = _ref.getCellClassName,\n getCellText = _ref.getCellText,\n getCellNode = _ref.getCellNode,\n getCellDate = _ref.getCellDate,\n titleCell = _ref.titleCell,\n headerCells = _ref.headerCells;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n onDateMouseEnter = _React$useContext.onDateMouseEnter,\n onDateMouseLeave = _React$useContext.onDateMouseLeave;\n\n var cellPrefixCls = "".concat(prefixCls, "-cell"); // =============================== Body ===============================\n\n var rows = [];\n\n for (var i = 0; i < rowNum; i += 1) {\n var row = [];\n var rowStartDate = void 0;\n\n var _loop = function _loop(j) {\n var offset = i * colNum + j;\n var currentDate = getCellDate(baseDate, offset);\n var disabled = disabledDate && disabledDate(currentDate);\n\n if (j === 0) {\n rowStartDate = currentDate;\n\n if (prefixColumn) {\n row.push(prefixColumn(rowStartDate));\n }\n }\n\n row.push(react["createElement"]("td", {\n key: j,\n title: titleCell && titleCell(currentDate),\n className: classnames_default()(cellPrefixCls, _objectSpread(Object(defineProperty["a" /* default */])({}, "".concat(cellPrefixCls, "-disabled"), disabled), getCellClassName(currentDate))),\n onClick: function onClick() {\n if (!disabled) {\n onSelect(currentDate);\n }\n },\n onMouseEnter: function onMouseEnter() {\n if (!disabled && onDateMouseEnter) {\n onDateMouseEnter(currentDate);\n }\n },\n onMouseLeave: function onMouseLeave() {\n if (!disabled && onDateMouseLeave) {\n onDateMouseLeave(currentDate);\n }\n }\n }, getCellNode ? getCellNode(currentDate) : react["createElement"]("div", {\n className: "".concat(cellPrefixCls, "-inner")\n }, getCellText(currentDate))));\n };\n\n for (var j = 0; j < colNum; j += 1) {\n _loop(j);\n }\n\n rows.push(react["createElement"]("tr", {\n key: i,\n className: rowClassName && rowClassName(rowStartDate)\n }, row));\n }\n\n return react["createElement"]("div", {\n className: "".concat(prefixCls, "-body")\n }, react["createElement"]("table", {\n className: "".concat(prefixCls, "-content")\n }, headerCells && react["createElement"]("thead", null, react["createElement"]("tr", null, headerCells)), react["createElement"]("tbody", null, rows)));\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DatePanel/DateBody.js\n\n\n\n\n\n\nfunction DateBody(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n prefixColumn = props.prefixColumn,\n locale = props.locale,\n rowCount = props.rowCount,\n viewDate = props.viewDate,\n value = props.value,\n dateRender = props.dateRender;\n\n var _React$useContext = react["useContext"](es_RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var baseDate = getWeekStartDate(locale.locale, generateConfig, viewDate);\n var cellPrefixCls = "".concat(prefixCls, "-cell");\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale.locale);\n var today = generateConfig.getNow(); // ============================== Header ==============================\n\n var headerCells = [];\n var weekDaysLocale = locale.shortWeekDays || (generateConfig.locale.getShortWeekDays ? generateConfig.locale.getShortWeekDays(locale.locale) : []);\n\n if (prefixColumn) {\n headerCells.push(react["createElement"]("th", {\n key: "empty",\n "aria-label": "empty cell"\n }));\n }\n\n for (var i = 0; i < WEEK_DAY_COUNT; i += 1) {\n headerCells.push(react["createElement"]("th", {\n key: i\n }, weekDaysLocale[(i + weekFirstDay) % WEEK_DAY_COUNT]));\n } // =============================== Body ===============================\n\n\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n today: today,\n value: value,\n generateConfig: generateConfig,\n rangedValue: prefixColumn ? null : rangedValue,\n hoverRangedValue: prefixColumn ? null : hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameDate(generateConfig, current, target);\n },\n isInView: function isInView(date) {\n return isSameMonth(generateConfig, date, viewDate);\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addDate(date, offset);\n }\n });\n var getCellNode = dateRender ? function (date) {\n return dateRender(date, today);\n } : undefined;\n return react["createElement"](PanelBody, Object.assign({}, props, {\n rowNum: rowCount,\n colNum: WEEK_DAY_COUNT,\n baseDate: baseDate,\n getCellNode: getCellNode,\n getCellText: generateConfig.getDate,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addDate,\n titleCell: function titleCell(date) {\n return generateConfig.locale.format(locale.locale, date, \'YYYY-MM-DD\');\n },\n headerCells: headerCells\n }));\n}\n\n/* harmony default export */ var DatePanel_DateBody = (DateBody);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DatePanel/DateHeader.js\n\n\n\n\nfunction DateHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextMonth = props.onNextMonth,\n onPrevMonth = props.onPrevMonth,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick,\n onMonthClick = props.onMonthClick;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = "".concat(prefixCls, "-header");\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var month = generateConfig.getMonth(viewDate); // =================== Month & Year ===================\n\n var yearNode = react["createElement"]("button", {\n type: "button",\n key: "year",\n onClick: onYearClick,\n tabIndex: -1,\n className: "".concat(prefixCls, "-year-btn")\n }, generateConfig.locale.format(locale.locale, viewDate, locale.yearFormat));\n var monthNode = react["createElement"]("button", {\n type: "button",\n key: "month",\n onClick: onMonthClick,\n tabIndex: -1,\n className: "".concat(prefixCls, "-month-btn")\n }, locale.monthFormat ? generateConfig.locale.format(locale.locale, viewDate, locale.monthFormat) : monthsLocale[month]);\n var monthYearNodes = locale.monthBeforeYear ? [monthNode, yearNode] : [yearNode, monthNode];\n return react["createElement"](panels_Header, Object.assign({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onPrev: onPrevMonth,\n onNext: onNextMonth,\n onSuperNext: onNextYear\n }), monthYearNodes);\n}\n\n/* harmony default export */ var DatePanel_DateHeader = (DateHeader);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DatePanel/index.js\n\n\nfunction DatePanel_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction DatePanel_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { DatePanel_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { DatePanel_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar DATE_ROW_COUNT = 6;\n\nfunction DatePanel(props) {\n var prefixCls = props.prefixCls,\n _props$panelName = props.panelName,\n panelName = _props$panelName === void 0 ? \'date\' : _props$panelName,\n keyboardConfig = props.keyboardConfig,\n active = props.active,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onViewDateChange = props.onViewDateChange,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = "".concat(prefixCls, "-").concat(panelName, "-panel"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, DatePanel_objectSpread({\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff), \'key\');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), \'key\');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff * WEEK_DAY_COUNT), \'key\');\n },\n onPageUpDown: function onPageUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), \'key\');\n }\n }, keyboardConfig));\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n var onMonthChange = function onMonthChange(diff) {\n var newDate = generateConfig.addMonth(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return react["createElement"]("div", {\n className: classnames_default()(panelPrefixCls, Object(defineProperty["a" /* default */])({}, "".concat(panelPrefixCls, "-active"), active))\n }, react["createElement"](DatePanel_DateHeader, Object.assign({}, props, {\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate,\n // View Operation\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onPrevMonth: function onPrevMonth() {\n onMonthChange(-1);\n },\n onNextMonth: function onNextMonth() {\n onMonthChange(1);\n },\n onMonthClick: function onMonthClick() {\n onPanelChange(\'month\', viewDate);\n },\n onYearClick: function onYearClick() {\n onPanelChange(\'year\', viewDate);\n }\n })), react["createElement"](DatePanel_DateBody, Object.assign({}, props, {\n onSelect: function onSelect(date) {\n return _onSelect(date, \'mouse\');\n },\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate,\n rowCount: DATE_ROW_COUNT\n })));\n}\n\n/* harmony default export */ var panels_DatePanel = (DatePanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DatetimePanel/index.js\n\n\n\n\nfunction DatetimePanel_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction DatetimePanel_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { DatetimePanel_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { DatetimePanel_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\nfunction DatetimePanel_setTime(generateConfig, date, defaultDate) {\n if (!defaultDate) {\n return date;\n }\n\n var newDate = date;\n newDate = generateConfig.setHour(newDate, generateConfig.getHour(defaultDate));\n newDate = generateConfig.setMinute(newDate, generateConfig.getMinute(defaultDate));\n newDate = generateConfig.setSecond(newDate, generateConfig.getSecond(defaultDate));\n return newDate;\n}\n\nvar ACTIVE_PANEL = tuple(\'date\', \'time\');\n\nfunction DatetimePanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n defaultValue = props.defaultValue,\n disabledTime = props.disabledTime,\n showTime = props.showTime,\n onSelect = props.onSelect;\n var panelPrefixCls = "".concat(prefixCls, "-datetime-panel");\n\n var _React$useState = react["useState"](null),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n activePanel = _React$useState2[0],\n setActivePanel = _React$useState2[1];\n\n var dateOperationRef = react["useRef"]({});\n var timeOperationRef = react["useRef"]({});\n var timeProps = Object(esm_typeof["a" /* default */])(showTime) === \'object\' ? DatetimePanel_objectSpread({}, showTime) : {}; // ======================= Keyboard =======================\n\n function getNextActive(offset) {\n var activeIndex = ACTIVE_PANEL.indexOf(activePanel) + offset;\n var nextActivePanel = ACTIVE_PANEL[activeIndex] || null;\n return nextActivePanel;\n }\n\n var onBlur = function onBlur(e) {\n if (timeOperationRef.current.onBlur) {\n timeOperationRef.current.onBlur(e);\n }\n\n setActivePanel(null);\n };\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n // Switch active panel\n if (event.which === KeyCode["a" /* default */].TAB) {\n var nextActivePanel = getNextActive(event.shiftKey ? -1 : 1);\n setActivePanel(nextActivePanel);\n\n if (nextActivePanel) {\n event.preventDefault();\n }\n\n return true;\n } // Operate on current active panel\n\n\n if (activePanel) {\n var ref = activePanel === \'date\' ? dateOperationRef : timeOperationRef;\n\n if (ref.current && ref.current.onKeyDown) {\n ref.current.onKeyDown(event);\n }\n\n return true;\n } // Switch first active panel if operate without panel\n\n\n if ([KeyCode["a" /* default */].LEFT, KeyCode["a" /* default */].RIGHT, KeyCode["a" /* default */].UP, KeyCode["a" /* default */].DOWN].includes(event.which)) {\n setActivePanel(\'date\');\n return true;\n }\n\n return false;\n },\n onBlur: onBlur,\n onClose: onBlur\n }; // ======================== Events ========================\n\n var onInternalSelect = function onInternalSelect(date, source) {\n var selectedDate = date;\n\n if (source === \'date\' && !value && timeProps.defaultValue) {\n // Date with time defaultValue\n selectedDate = generateConfig.setHour(selectedDate, generateConfig.getHour(timeProps.defaultValue));\n selectedDate = generateConfig.setMinute(selectedDate, generateConfig.getMinute(timeProps.defaultValue));\n selectedDate = generateConfig.setSecond(selectedDate, generateConfig.getSecond(timeProps.defaultValue));\n } else if (source === \'time\' && !value && defaultValue) {\n selectedDate = generateConfig.setYear(selectedDate, generateConfig.getYear(defaultValue));\n selectedDate = generateConfig.setMonth(selectedDate, generateConfig.getMonth(defaultValue));\n selectedDate = generateConfig.setDate(selectedDate, generateConfig.getDate(defaultValue));\n }\n\n if (onSelect) {\n onSelect(selectedDate, \'mouse\');\n }\n }; // ======================== Render ========================\n\n\n var disabledTimes = disabledTime ? disabledTime(value || null) : {};\n return react["createElement"]("div", {\n className: classnames_default()(panelPrefixCls, Object(defineProperty["a" /* default */])({}, "".concat(panelPrefixCls, "-active"), activePanel))\n }, react["createElement"](panels_DatePanel, Object.assign({}, props, {\n operationRef: dateOperationRef,\n active: activePanel === \'date\',\n onSelect: function onSelect(date) {\n onInternalSelect(DatetimePanel_setTime(generateConfig, date, showTime && Object(esm_typeof["a" /* default */])(showTime) === \'object\' ? showTime.defaultValue : null), \'date\');\n }\n })), react["createElement"](panels_TimePanel, Object.assign({}, props, {\n format: undefined\n }, timeProps, disabledTimes, {\n defaultValue: undefined,\n operationRef: timeOperationRef,\n active: activePanel === \'time\',\n onSelect: function onSelect(date) {\n onInternalSelect(date, \'time\');\n }\n })));\n}\n\n/* harmony default export */ var panels_DatetimePanel = (DatetimePanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/WeekPanel/index.js\n\n\n\n\n\n\nfunction WeekPanel(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value; // Render additional column\n\n var cellPrefixCls = "".concat(prefixCls, "-cell");\n\n var prefixColumn = function prefixColumn(date) {\n return react["createElement"]("td", {\n key: "week",\n className: classnames_default()(cellPrefixCls, "".concat(cellPrefixCls, "-week"))\n }, generateConfig.locale.getWeek(locale.locale, date));\n }; // Add row className\n\n\n var rowPrefixCls = "".concat(prefixCls, "-week-panel-row");\n\n var rowClassName = function rowClassName(date) {\n return classnames_default()(rowPrefixCls, Object(defineProperty["a" /* default */])({}, "".concat(rowPrefixCls, "-selected"), isSameWeek(generateConfig, locale.locale, value, date)));\n };\n\n return react["createElement"](panels_DatePanel, Object.assign({}, props, {\n panelName: "week",\n prefixColumn: prefixColumn,\n rowClassName: rowClassName,\n keyboardConfig: {\n onLeftRight: null\n }\n }));\n}\n\n/* harmony default export */ var panels_WeekPanel = (WeekPanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/MonthPanel/MonthHeader.js\n\n\n\n\nfunction MonthHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = "".concat(prefixCls, "-header");\n return react["createElement"](panels_Header, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }, react["createElement"]("button", {\n type: "button",\n key: "year",\n onClick: onYearClick,\n className: "".concat(prefixCls, "-year-btn")\n }, generateConfig.locale.format(locale.locale, viewDate, locale.yearFormat)));\n}\n\n/* harmony default export */ var MonthPanel_MonthHeader = (MonthHeader);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/MonthPanel/MonthBody.js\n\n\n\n\n\nvar MONTH_COL_COUNT = 3;\nvar MONTH_ROW_COUNT = 4;\n\nfunction MonthBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n monthCellRender = props.monthCellRender;\n\n var _React$useContext = react["useContext"](es_RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var cellPrefixCls = "".concat(prefixCls, "-cell");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameMonth(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset);\n }\n });\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var baseMonth = generateConfig.setMonth(viewDate, 0);\n var getCellNode = monthCellRender ? function (date) {\n return monthCellRender(date, locale);\n } : undefined;\n return react["createElement"](PanelBody, Object.assign({}, props, {\n rowNum: MONTH_ROW_COUNT,\n colNum: MONTH_COL_COUNT,\n baseDate: baseMonth,\n getCellNode: getCellNode,\n getCellText: function getCellText(date) {\n return locale.monthFormat ? generateConfig.locale.format(locale.locale, date, locale.monthFormat) : monthsLocale[generateConfig.getMonth(date)];\n },\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addMonth,\n titleCell: function titleCell(date) {\n return generateConfig.locale.format(locale.locale, date, \'YYYY-MM\');\n }\n }));\n}\n\n/* harmony default export */ var MonthPanel_MonthBody = (MonthBody);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/MonthPanel/index.js\n\n\n\n\n\nfunction MonthPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = "".concat(prefixCls, "-month-panel"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), \'key\');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), \'key\');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * MONTH_COL_COUNT), \'key\');\n },\n onEnter: function onEnter() {\n onPanelChange(\'date\', value || viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return react["createElement"]("div", {\n className: panelPrefixCls\n }, react["createElement"](MonthPanel_MonthHeader, Object.assign({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange(\'year\', viewDate);\n }\n })), react["createElement"](MonthPanel_MonthBody, Object.assign({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, \'mouse\');\n\n onPanelChange(\'date\', date);\n }\n })));\n}\n\n/* harmony default export */ var panels_MonthPanel = (MonthPanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/QuarterPanel/QuarterHeader.js\n\n\n\n\nfunction QuarterHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = "".concat(prefixCls, "-header");\n return react["createElement"](panels_Header, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }, react["createElement"]("button", {\n type: "button",\n key: "year",\n onClick: onYearClick,\n className: "".concat(prefixCls, "-year-btn")\n }, generateConfig.locale.format(locale.locale, viewDate, locale.yearFormat)));\n}\n\n/* harmony default export */ var QuarterPanel_QuarterHeader = (QuarterHeader);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/QuarterPanel/QuarterBody.js\n\n\n\n\n\nvar QUARTER_COL_COUNT = 4;\nvar QUARTER_ROW_COUNT = 1;\n\nfunction QuarterBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig;\n\n var _React$useContext = react["useContext"](es_RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var cellPrefixCls = "".concat(prefixCls, "-cell");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameQuarter(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n }\n });\n var baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);\n return react["createElement"](PanelBody, Object.assign({}, props, {\n rowNum: QUARTER_ROW_COUNT,\n colNum: QUARTER_COL_COUNT,\n baseDate: baseQuarter,\n getCellText: function getCellText(date) {\n return generateConfig.locale.format(locale.locale, date, locale.quarterFormat || \'[Q]Q\');\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n },\n titleCell: function titleCell(date) {\n return generateConfig.locale.format(locale.locale, date, \'YYYY-[Q]Q\');\n }\n }));\n}\n\n/* harmony default export */ var QuarterPanel_QuarterBody = (QuarterBody);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/QuarterPanel/index.js\n\n\n\n\n\nfunction QuarterPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = "".concat(prefixCls, "-quarter-panel"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * 3), \'key\');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), \'key\');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), \'key\');\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return react["createElement"]("div", {\n className: panelPrefixCls\n }, react["createElement"](QuarterPanel_QuarterHeader, Object.assign({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange(\'year\', viewDate);\n }\n })), react["createElement"](QuarterPanel_QuarterBody, Object.assign({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, \'mouse\');\n }\n })));\n}\n\n/* harmony default export */ var panels_QuarterPanel = (QuarterPanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/YearPanel/YearHeader.js\n\n\n\n\n\nfunction YearHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecade = props.onPrevDecade,\n onNextDecade = props.onNextDecade,\n onDecadeClick = props.onDecadeClick;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = "".concat(prefixCls, "-header");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n return react["createElement"](panels_Header, Object.assign({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecade,\n onSuperNext: onNextDecade\n }), react["createElement"]("button", {\n type: "button",\n key: "year",\n onClick: onDecadeClick,\n className: "".concat(prefixCls, "-decade-btn")\n }, startYear, "-", endYear));\n}\n\n/* harmony default export */ var YearPanel_YearHeader = (YearHeader);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/YearPanel/YearBody.js\n\n\n\n\n\n\nvar YEAR_COL_COUNT = 3;\nvar YEAR_ROW_COUNT = 4;\n\nfunction YearBody(props) {\n var prefixCls = props.prefixCls,\n value = props.value,\n viewDate = props.viewDate,\n locale = props.locale,\n generateConfig = props.generateConfig;\n\n var _React$useContext = react["useContext"](es_RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var yearPrefixCls = "".concat(prefixCls, "-cell"); // =============================== Year ===============================\n\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n var baseYear = generateConfig.setYear(viewDate, startYear - Math.ceil((YEAR_COL_COUNT * YEAR_ROW_COUNT - YEAR_DECADE_COUNT) / 2));\n\n var isInView = function isInView(date) {\n var currentYearNumber = generateConfig.getYear(date);\n return startYear <= currentYearNumber && currentYearNumber <= endYear;\n };\n\n var getCellClassName = useCellClassName({\n cellPrefixCls: yearPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameYear(generateConfig, current, target);\n },\n isInView: isInView,\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addYear(date, offset);\n }\n });\n return react["createElement"](PanelBody, Object.assign({}, props, {\n rowNum: YEAR_ROW_COUNT,\n colNum: YEAR_COL_COUNT,\n baseDate: baseYear,\n getCellText: generateConfig.getYear,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addYear,\n titleCell: function titleCell(date) {\n return generateConfig.locale.format(locale.locale, date, \'YYYY\');\n }\n }));\n}\n\n/* harmony default export */ var YearPanel_YearBody = (YearBody);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/YearPanel/index.js\n\n\n\n\nvar YEAR_DECADE_COUNT = 10;\n\nfunction YearPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n sourceMode = props.sourceMode,\n _onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = "".concat(prefixCls, "-year-panel"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), \'key\');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_DECADE_COUNT), \'key\');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_COL_COUNT), \'key\');\n },\n onEnter: function onEnter() {\n onPanelChange(sourceMode === \'date\' ? \'date\' : \'month\', value || viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onDecadeChange = function onDecadeChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * 10);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return react["createElement"]("div", {\n className: panelPrefixCls\n }, react["createElement"](YearPanel_YearHeader, Object.assign({}, props, {\n prefixCls: prefixCls,\n onPrevDecade: function onPrevDecade() {\n onDecadeChange(-1);\n },\n onNextDecade: function onNextDecade() {\n onDecadeChange(1);\n },\n onDecadeClick: function onDecadeClick() {\n onPanelChange(\'decade\', viewDate);\n }\n })), react["createElement"](YearPanel_YearBody, Object.assign({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n onPanelChange(sourceMode === \'date\' ? \'date\' : \'month\', date);\n\n _onSelect(date, \'mouse\');\n }\n })));\n}\n\n/* harmony default export */ var panels_YearPanel = (YearPanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DecadePanel/DecadeHeader.js\n\n\n\n\n\nfunction DecadeHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecades = props.onPrevDecades,\n onNextDecades = props.onNextDecades;\n\n var _React$useContext = react["useContext"](es_PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = "".concat(prefixCls, "-header");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endYear = startYear + DECADE_DISTANCE_COUNT - 1;\n return react["createElement"](panels_Header, Object.assign({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecades,\n onSuperNext: onNextDecades\n }), startYear, "-", endYear);\n}\n\n/* harmony default export */ var DecadePanel_DecadeHeader = (DecadeHeader);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DecadePanel/DecadeBody.js\n\n\n\n\nvar DECADE_COL_COUNT = 3;\nvar DECADE_ROW_COUNT = 4;\n\nfunction DecadeBody(props) {\n var DECADE_UNIT_DIFF_DES = DECADE_UNIT_DIFF - 1;\n var prefixCls = props.prefixCls,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n disabledDate = props.disabledDate;\n var cellPrefixCls = "".concat(prefixCls, "-cell");\n var yearNumber = generateConfig.getYear(viewDate);\n var decadeYearNumber = Math.floor(yearNumber / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var startDecadeYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endDecadeYear = startDecadeYear + DECADE_DISTANCE_COUNT - 1;\n var baseDecadeYear = generateConfig.setYear(viewDate, startDecadeYear - Math.ceil((DECADE_COL_COUNT * DECADE_ROW_COUNT * DECADE_UNIT_DIFF - DECADE_DISTANCE_COUNT) / 2));\n\n var getCellClassName = function getCellClassName(date) {\n var _ref;\n\n var disabled = disabledDate && disabledDate(date);\n var startDecadeNumber = generateConfig.getYear(date);\n var endDecadeNumber = startDecadeNumber + DECADE_UNIT_DIFF_DES;\n return _ref = {}, Object(defineProperty["a" /* default */])(_ref, "".concat(cellPrefixCls, "-disabled"), disabled), Object(defineProperty["a" /* default */])(_ref, "".concat(cellPrefixCls, "-in-view"), startDecadeYear <= startDecadeNumber && endDecadeNumber <= endDecadeYear), Object(defineProperty["a" /* default */])(_ref, "".concat(cellPrefixCls, "-selected"), startDecadeNumber === decadeYearNumber), _ref;\n };\n\n return react["createElement"](PanelBody, Object.assign({}, props, {\n rowNum: DECADE_ROW_COUNT,\n colNum: DECADE_COL_COUNT,\n baseDate: baseDecadeYear,\n getCellText: function getCellText(date) {\n var startDecadeNumber = generateConfig.getYear(date);\n return "".concat(startDecadeNumber, "-").concat(startDecadeNumber + DECADE_UNIT_DIFF_DES);\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addYear(date, offset * DECADE_UNIT_DIFF);\n }\n }));\n}\n\n/* harmony default export */ var DecadePanel_DecadeBody = (DecadeBody);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/panels/DecadePanel/index.js\n\n\n\n\nvar DECADE_UNIT_DIFF = 10;\nvar DECADE_DISTANCE_COUNT = DECADE_UNIT_DIFF * 10;\n\nfunction DecadePanel(props) {\n var prefixCls = props.prefixCls,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n operationRef = props.operationRef,\n onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = "".concat(prefixCls, "-decade-panel"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF), \'key\');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT), \'key\');\n },\n onUpDown: function onUpDown(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF * DECADE_COL_COUNT), \'key\');\n },\n onEnter: function onEnter() {\n onPanelChange(\'year\', viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onDecadesChange = function onDecadesChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n var onInternalSelect = function onInternalSelect(date) {\n onSelect(date, \'mouse\');\n onPanelChange(\'year\', date);\n };\n\n return react["createElement"]("div", {\n className: panelPrefixCls\n }, react["createElement"](DecadePanel_DecadeHeader, Object.assign({}, props, {\n prefixCls: prefixCls,\n onPrevDecades: function onPrevDecades() {\n onDecadesChange(-1);\n },\n onNextDecades: function onNextDecades() {\n onDecadesChange(1);\n }\n })), react["createElement"](DecadePanel_DecadeBody, Object.assign({}, props, {\n prefixCls: prefixCls,\n onSelect: onInternalSelect\n })));\n}\n\n/* harmony default export */ var panels_DecadePanel = (DecadePanel);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/utils/getExtraFooter.js\n\nfunction getExtraFooter(prefixCls, mode, renderExtraFooter) {\n if (!renderExtraFooter) {\n return null;\n }\n\n return react["createElement"]("div", {\n className: "".concat(prefixCls, "-footer-extra")\n }, renderExtraFooter(mode));\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/utils/getRanges.js\n\nfunction getRanges(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$rangeList = _ref.rangeList,\n rangeList = _ref$rangeList === void 0 ? [] : _ref$rangeList,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? {} : _ref$components,\n needConfirmButton = _ref.needConfirmButton,\n onNow = _ref.onNow,\n onOk = _ref.onOk,\n okDisabled = _ref.okDisabled,\n locale = _ref.locale;\n var presetNode;\n var okNode;\n\n if (rangeList.length) {\n var Item = components.rangeItem || \'span\';\n presetNode = react["createElement"](react["Fragment"], null, rangeList.map(function (_ref2) {\n var label = _ref2.label,\n onClick = _ref2.onClick,\n onMouseEnter = _ref2.onMouseEnter,\n onMouseLeave = _ref2.onMouseLeave;\n return react["createElement"]("li", {\n key: label,\n className: "".concat(prefixCls, "-preset")\n }, react["createElement"](Item, {\n onClick: onClick,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, label));\n }));\n }\n\n if (needConfirmButton) {\n var Button = components.button || \'button\';\n\n if (onNow && !presetNode) {\n presetNode = react["createElement"]("li", {\n className: "".concat(prefixCls, "-now")\n }, react["createElement"]("a", {\n className: "".concat(prefixCls, "-now-btn"),\n onClick: onNow\n }, locale.now));\n }\n\n okNode = needConfirmButton && react["createElement"]("li", {\n className: "".concat(prefixCls, "-ok")\n }, react["createElement"](Button, {\n disabled: okDisabled,\n onClick: onOk\n }, locale.ok));\n }\n\n if (!presetNode && !okNode) {\n return null;\n }\n\n return react["createElement"]("ul", {\n className: "".concat(prefixCls, "-ranges")\n }, presetNode, okNode);\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/PickerPanel.js\n\n\n\n\nfunction PickerPanel_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction PickerPanel_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { PickerPanel_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { PickerPanel_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\n/**\n * Logic:\n * When `mode` === `picker`,\n * click will trigger `onSelect` (if value changed trigger `onChange` also).\n * Panel change will not trigger `onSelect` but trigger `onPanelChange`\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction PickerPanel(props) {\n var _classNames;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? \'rc-picker\' : _props$prefixCls,\n className = props.className,\n style = props.style,\n locale = props.locale,\n generateConfig = props.generateConfig,\n value = props.value,\n defaultValue = props.defaultValue,\n pickerValue = props.pickerValue,\n defaultPickerValue = props.defaultPickerValue,\n disabledDate = props.disabledDate,\n mode = props.mode,\n _props$picker = props.picker,\n picker = _props$picker === void 0 ? \'date\' : _props$picker,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n showTime = props.showTime,\n showToday = props.showToday,\n renderExtraFooter = props.renderExtraFooter,\n hideHeader = props.hideHeader,\n onSelect = props.onSelect,\n onChange = props.onChange,\n onPanelChange = props.onPanelChange,\n onMouseDown = props.onMouseDown,\n onPickerValueChange = props.onPickerValueChange,\n _onOk = props.onOk,\n components = props.components,\n direction = props.direction;\n var needConfirmButton = picker === \'date\' && !!showTime || picker === \'time\';\n\n if (false) {} // ============================ State =============================\n\n\n var panelContext = react["useContext"](es_PanelContext);\n var operationRef = panelContext.operationRef,\n panelDivRef = panelContext.panelRef,\n onContextSelect = panelContext.onSelect,\n hideRanges = panelContext.hideRanges,\n defaultOpenValue = panelContext.defaultOpenValue;\n\n var _React$useContext = react["useContext"](es_RangeContext),\n inRange = _React$useContext.inRange,\n panelPosition = _React$useContext.panelPosition,\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var panelRef = react["useRef"]({}); // Handle init logic\n\n var initRef = react["useRef"](true); // Value\n\n var _useMergedState = Object(useMergedState["a" /* default */])(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(val) {\n if (!val && defaultOpenValue && picker === \'time\') {\n return defaultOpenValue;\n }\n\n return val;\n }\n }),\n _useMergedState2 = Object(slicedToArray["a" /* default */])(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1]; // View date control\n\n\n var _useMergedState3 = Object(useMergedState["a" /* default */])(null, {\n value: pickerValue,\n defaultValue: defaultPickerValue || mergedValue,\n postState: function postState(date) {\n return date || generateConfig.getNow();\n }\n }),\n _useMergedState4 = Object(slicedToArray["a" /* default */])(_useMergedState3, 2),\n viewDate = _useMergedState4[0],\n setInnerViewDate = _useMergedState4[1];\n\n var setViewDate = function setViewDate(date) {\n setInnerViewDate(date);\n\n if (onPickerValueChange) {\n onPickerValueChange(date);\n }\n }; // Panel control\n\n\n var getInternalNextMode = function getInternalNextMode(nextMode) {\n var getNextMode = PickerModeMap[picker];\n\n if (getNextMode) {\n return getNextMode(nextMode);\n }\n\n return nextMode;\n }; // Save panel is changed from which panel\n\n\n var _useMergedState5 = Object(useMergedState["a" /* default */])(function () {\n if (picker === \'time\') {\n return \'time\';\n }\n\n return getInternalNextMode(\'date\');\n }, {\n value: mode\n }),\n _useMergedState6 = Object(slicedToArray["a" /* default */])(_useMergedState5, 2),\n mergedMode = _useMergedState6[0],\n setInnerMode = _useMergedState6[1];\n\n var _React$useState = react["useState"](function () {\n return mergedMode;\n }),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n sourceMode = _React$useState2[0],\n setSourceMode = _React$useState2[1];\n\n var onInternalPanelChange = function onInternalPanelChange(newMode, viewValue) {\n var nextMode = getInternalNextMode(newMode || mergedMode);\n setSourceMode(mergedMode);\n setInnerMode(nextMode);\n\n if (onPanelChange && (mergedMode !== nextMode || isEqual(generateConfig, viewDate, viewDate))) {\n onPanelChange(viewValue, nextMode);\n }\n };\n\n var triggerSelect = function triggerSelect(date, type) {\n var forceTriggerSelect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (mergedMode === picker || forceTriggerSelect) {\n setInnerValue(date);\n\n if (onSelect) {\n onSelect(date);\n }\n\n if (onContextSelect) {\n onContextSelect(date, type);\n }\n\n if (onChange && !isEqual(generateConfig, date, mergedValue)) {\n onChange(date);\n }\n }\n }; // ========================= Interactive ==========================\n\n\n var onInternalKeyDown = function onInternalKeyDown(e) {\n if (panelRef.current && panelRef.current.onKeyDown) {\n if ([KeyCode["a" /* default */].LEFT, KeyCode["a" /* default */].RIGHT, KeyCode["a" /* default */].UP, KeyCode["a" /* default */].DOWN, KeyCode["a" /* default */].PAGE_UP, KeyCode["a" /* default */].PAGE_DOWN, KeyCode["a" /* default */].ENTER].includes(e.which)) {\n e.preventDefault();\n }\n\n return panelRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n Object(warning["a" /* default */])(false, \'Panel not correct handle keyDown event. Please help to fire issue about this.\');\n return false;\n }\n /* eslint-enable no-lone-blocks */\n };\n\n var onInternalBlur = function onInternalBlur(e) {\n if (panelRef.current && panelRef.current.onBlur) {\n panelRef.current.onBlur(e);\n }\n };\n\n if (operationRef) {\n operationRef.current = {\n onKeyDown: onInternalKeyDown,\n onClose: function onClose() {\n if (panelRef.current && panelRef.current.onClose) {\n panelRef.current.onClose();\n }\n }\n };\n } // ============================ Effect ============================\n\n\n react["useEffect"](function () {\n if (value && !initRef.current) {\n setInnerViewDate(value);\n }\n }, [value]);\n react["useEffect"](function () {\n initRef.current = false;\n }, []); // ============================ Panels ============================\n\n var panelNode;\n\n var pickerProps = PickerPanel_objectSpread(PickerPanel_objectSpread({}, props), {}, {\n operationRef: panelRef,\n prefixCls: prefixCls,\n viewDate: viewDate,\n value: mergedValue,\n onViewDateChange: setViewDate,\n sourceMode: sourceMode,\n onPanelChange: onInternalPanelChange,\n disabledDate: picker === mergedMode ? disabledDate : undefined\n });\n\n delete pickerProps.onChange;\n delete pickerProps.onSelect;\n\n switch (mergedMode) {\n case \'decade\':\n panelNode = react["createElement"](panels_DecadePanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case \'year\':\n panelNode = react["createElement"](panels_YearPanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case \'month\':\n panelNode = react["createElement"](panels_MonthPanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case \'quarter\':\n panelNode = react["createElement"](panels_QuarterPanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case \'week\':\n panelNode = react["createElement"](panels_WeekPanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case \'time\':\n delete pickerProps.showTime;\n panelNode = react["createElement"](panels_TimePanel, Object.assign({}, pickerProps, Object(esm_typeof["a" /* default */])(showTime) === \'object\' ? showTime : null, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n default:\n if (showTime) {\n panelNode = react["createElement"](panels_DatetimePanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n } else {\n panelNode = react["createElement"](panels_DatePanel, Object.assign({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n }\n\n } // ============================ Footer ============================\n\n\n var extraFooter;\n var rangesNode;\n\n if (!hideRanges) {\n extraFooter = getExtraFooter(prefixCls, mergedMode, renderExtraFooter);\n rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !mergedValue || disabledDate && disabledDate(mergedValue),\n locale: locale,\n onNow: needConfirmButton && function () {\n triggerSelect(generateConfig.getNow(), \'submit\');\n },\n onOk: function onOk() {\n if (mergedValue) {\n triggerSelect(mergedValue, \'submit\', true);\n\n if (_onOk) {\n _onOk(mergedValue);\n }\n }\n }\n });\n }\n\n var todayNode;\n\n if (showToday && mergedMode === \'date\' && picker === \'date\' && !showTime) {\n var now = generateConfig.getNow();\n var todayCls = "".concat(prefixCls, "-today-btn");\n var disabled = disabledDate && disabledDate(now);\n todayNode = react["createElement"]("a", {\n className: classnames_default()(todayCls, disabled && "".concat(todayCls, "-disabled")),\n "aria-disabled": disabled,\n onClick: function onClick() {\n if (!disabled) {\n triggerSelect(now, \'mouse\', true);\n }\n }\n }, locale.today);\n }\n\n return react["createElement"](es_PanelContext.Provider, {\n value: PickerPanel_objectSpread(PickerPanel_objectSpread({}, panelContext), {}, {\n hideHeader: \'hideHeader\' in props ? hideHeader : panelContext.hideHeader,\n hidePrevBtn: inRange && panelPosition === \'right\',\n hideNextBtn: inRange && panelPosition === \'left\'\n })\n }, react["createElement"]("div", {\n tabIndex: tabIndex,\n className: classnames_default()("".concat(prefixCls, "-panel"), className, (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, "".concat(prefixCls, "-panel-has-range"), rangedValue && rangedValue[0] && rangedValue[1]), Object(defineProperty["a" /* default */])(_classNames, "".concat(prefixCls, "-panel-has-range-hover"), hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1]), Object(defineProperty["a" /* default */])(_classNames, "".concat(prefixCls, "-panel-rtl"), direction === \'rtl\'), _classNames)),\n style: style,\n onKeyDown: onInternalKeyDown,\n onBlur: onInternalBlur,\n onMouseDown: onMouseDown,\n ref: panelDivRef\n }, panelNode, extraFooter || rangesNode || todayNode ? react["createElement"]("div", {\n className: "".concat(prefixCls, "-footer")\n }, extraFooter, rangesNode, todayNode) : null));\n}\n\n/* harmony default export */ var es_PickerPanel = (PickerPanel);\n/* eslint-enable */\n// EXTERNAL MODULE: ./node_modules/rc-trigger/es/index.js + 10 modules\nvar es = __webpack_require__("uciX");\n\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/PickerTrigger.js\n\n\n\n\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: [\'tl\', \'bl\'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n bottomRight: {\n points: [\'tr\', \'br\'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n topLeft: {\n points: [\'bl\', \'tl\'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topRight: {\n points: [\'br\', \'tr\'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nfunction PickerTrigger(_ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n popupElement = _ref.popupElement,\n popupStyle = _ref.popupStyle,\n visible = _ref.visible,\n dropdownClassName = _ref.dropdownClassName,\n dropdownAlign = _ref.dropdownAlign,\n transitionName = _ref.transitionName,\n getPopupContainer = _ref.getPopupContainer,\n children = _ref.children,\n range = _ref.range,\n popupPlacement = _ref.popupPlacement,\n direction = _ref.direction;\n var dropdownPrefixCls = "".concat(prefixCls, "-dropdown");\n\n var getPopupPlacement = function getPopupPlacement() {\n if (popupPlacement !== undefined) {\n return popupPlacement;\n }\n\n return direction === \'rtl\' ? \'bottomRight\' : \'bottomLeft\';\n };\n\n return react["createElement"](es["a" /* default */], {\n showAction: [],\n hideAction: [],\n popupPlacement: getPopupPlacement(),\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: transitionName,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n popupClassName: classnames_default()(dropdownClassName, (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, "".concat(dropdownPrefixCls, "-range"), range), Object(defineProperty["a" /* default */])(_classNames, "".concat(dropdownPrefixCls, "-rtl"), direction === \'rtl\'), _classNames)),\n popupStyle: popupStyle,\n getPopupContainer: getPopupContainer\n }, children);\n}\n\n/* harmony default export */ var es_PickerTrigger = (PickerTrigger);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/hooks/usePickerInput.js\n\n\n\n\nfunction usePickerInput(_ref) {\n var open = _ref.open,\n isClickOutside = _ref.isClickOutside,\n triggerOpen = _ref.triggerOpen,\n forwardKeyDown = _ref.forwardKeyDown,\n blurToCancel = _ref.blurToCancel,\n onSubmit = _ref.onSubmit,\n onCancel = _ref.onCancel,\n _onFocus = _ref.onFocus,\n _onBlur = _ref.onBlur;\n\n var _React$useState = react["useState"](false),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n typing = _React$useState2[0],\n setTyping = _React$useState2[1];\n\n var _React$useState3 = react["useState"](false),\n _React$useState4 = Object(slicedToArray["a" /* default */])(_React$useState3, 2),\n focused = _React$useState4[0],\n setFocused = _React$useState4[1];\n /**\n * We will prevent blur to handle open event when user click outside,\n * since this will repeat trigger `onOpenChange` event.\n */\n\n\n var preventBlurRef = react["useRef"](false);\n var inputProps = {\n onMouseDown: function onMouseDown() {\n setTyping(true);\n triggerOpen(true);\n },\n onKeyDown: function onKeyDown(e) {\n switch (e.which) {\n case KeyCode["a" /* default */].ENTER:\n {\n if (!open) {\n triggerOpen(true);\n } else if (onSubmit() !== false) {\n setTyping(true);\n }\n\n e.preventDefault();\n return;\n }\n\n case KeyCode["a" /* default */].TAB:\n {\n if (typing && open && !e.shiftKey) {\n setTyping(false);\n e.preventDefault();\n } else if (!typing && open) {\n if (!forwardKeyDown(e) && e.shiftKey) {\n setTyping(true);\n e.preventDefault();\n }\n }\n\n return;\n }\n\n case KeyCode["a" /* default */].ESC:\n {\n setTyping(true);\n onCancel();\n return;\n }\n }\n\n if (!open && ![KeyCode["a" /* default */].SHIFT].includes(e.which)) {\n triggerOpen(true);\n } else if (!typing) {\n // Let popup panel handle keyboard\n forwardKeyDown(e);\n }\n },\n onFocus: function onFocus(e) {\n setTyping(true);\n setFocused(true);\n\n if (_onFocus) {\n _onFocus(e);\n }\n },\n onBlur: function onBlur(e) {\n if (preventBlurRef.current || !isClickOutside(document.activeElement)) {\n preventBlurRef.current = false;\n return;\n }\n\n if (blurToCancel) {\n setTimeout(function () {\n if (isClickOutside(document.activeElement)) {\n onCancel();\n }\n }, 0);\n } else {\n triggerOpen(false);\n }\n\n setFocused(false);\n\n if (_onBlur) {\n _onBlur(e);\n }\n }\n }; // Global click handler\n\n react["useEffect"](function () {\n return addGlobalMouseDownEvent(function (_ref2) {\n var target = _ref2.target;\n\n if (open) {\n if (!isClickOutside(target)) {\n preventBlurRef.current = true; // Always set back in case `onBlur` prevented by user\n\n window.setTimeout(function () {\n preventBlurRef.current = false;\n }, 0);\n } else if (!focused) {\n triggerOpen(false);\n }\n }\n });\n });\n return [inputProps, {\n focused: focused,\n typing: typing\n }];\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/hooks/useTextValueMapping.js\n\n\nfunction useTextValueMapping(_ref) {\n var valueTexts = _ref.valueTexts,\n onTextChange = _ref.onTextChange;\n\n var _React$useState = react["useState"](\'\'),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n text = _React$useState2[0],\n setInnerText = _React$useState2[1];\n\n var valueTextsRef = react["useRef"]([]);\n valueTextsRef.current = valueTexts;\n\n function triggerTextChange(value) {\n setInnerText(value);\n onTextChange(value);\n }\n\n function resetText() {\n setInnerText(valueTextsRef.current[0]);\n }\n\n react["useEffect"](function () {\n if (valueTexts.every(function (valText) {\n return valText !== text;\n })) {\n resetText();\n }\n }, [valueTexts.join(\'||\')]);\n return [text, triggerTextChange, resetText];\n}\n// EXTERNAL MODULE: ./node_modules/shallowequal/index.js\nvar shallowequal = __webpack_require__("Gytx");\nvar shallowequal_default = /*#__PURE__*/__webpack_require__.n(shallowequal);\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useMemo.js\nvar useMemo = __webpack_require__("YrtM");\n\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/hooks/useValueTexts.js\n\n\nfunction useValueTexts(value, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n return Object(useMemo["a" /* default */])(function () {\n if (!value) {\n return [\'\'];\n }\n\n return formatList.map(function (subFormat) {\n return generateConfig.locale.format(locale.locale, value, subFormat);\n });\n }, [value, formatList], function (prev, next) {\n return prev[0] !== next[0] || !shallowequal_default()(prev[1], next[1]);\n });\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/Picker.js\n\n\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Picker_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Picker_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Picker_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Picker_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Removed:\n * - getCalendarContainer: use `getPopupContainer` instead\n * - onOk\n *\n * New Feature:\n * - picker\n * - allowEmpty\n * - selectable\n *\n * Tips: Should add faq about `datetime` mode with `defaultValue`\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction InnerPicker(props) {\n var _classNames2;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? \'rc-picker\' : _props$prefixCls,\n id = props.id,\n tabIndex = props.tabIndex,\n style = props.style,\n className = props.className,\n dropdownClassName = props.dropdownClassName,\n dropdownAlign = props.dropdownAlign,\n popupStyle = props.popupStyle,\n transitionName = props.transitionName,\n generateConfig = props.generateConfig,\n locale = props.locale,\n inputReadOnly = props.inputReadOnly,\n allowClear = props.allowClear,\n autoFocus = props.autoFocus,\n showTime = props.showTime,\n _props$picker = props.picker,\n picker = _props$picker === void 0 ? \'date\' : _props$picker,\n format = props.format,\n use12Hours = props.use12Hours,\n value = props.value,\n defaultValue = props.defaultValue,\n open = props.open,\n defaultOpen = props.defaultOpen,\n defaultOpenValue = props.defaultOpenValue,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n disabled = props.disabled,\n disabledDate = props.disabledDate,\n placeholder = props.placeholder,\n getPopupContainer = props.getPopupContainer,\n pickerRef = props.pickerRef,\n onChange = props.onChange,\n onOpenChange = props.onOpenChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onContextMenu = props.onContextMenu,\n onClick = props.onClick,\n direction = props.direction,\n _props$autoComplete = props.autoComplete,\n autoComplete = _props$autoComplete === void 0 ? \'off\' : _props$autoComplete;\n var inputRef = react["useRef"](null);\n var needConfirmButton = picker === \'date\' && !!showTime || picker === \'time\'; // ============================= State =============================\n\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours)); // Panel ref\n\n var panelDivRef = react["useRef"](null);\n var inputDivRef = react["useRef"](null); // Real value\n\n var _useMergedState = Object(useMergedState["a" /* default */])(null, {\n value: value,\n defaultValue: defaultValue\n }),\n _useMergedState2 = Object(slicedToArray["a" /* default */])(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1]; // Selected value\n\n\n var _React$useState = react["useState"](mergedValue),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n selectedValue = _React$useState2[0],\n setSelectedValue = _React$useState2[1]; // Operation ref\n\n\n var operationRef = react["useRef"](null); // Open\n\n var _useMergedState3 = Object(useMergedState["a" /* default */])(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return disabled ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState4 = Object(slicedToArray["a" /* default */])(_useMergedState3, 2),\n mergedOpen = _useMergedState4[0],\n triggerInnerOpen = _useMergedState4[1]; // ============================= Text ==============================\n\n\n var valueTexts = useValueTexts(selectedValue, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n });\n\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: valueTexts,\n onTextChange: function onTextChange(newText) {\n var inputDate = generateConfig.locale.parse(locale.locale, newText, formatList);\n\n if (inputDate && (!disabledDate || !disabledDate(inputDate))) {\n setSelectedValue(inputDate);\n }\n }\n }),\n _useTextValueMapping2 = Object(slicedToArray["a" /* default */])(_useTextValueMapping, 3),\n text = _useTextValueMapping2[0],\n triggerTextChange = _useTextValueMapping2[1],\n resetText = _useTextValueMapping2[2]; // ============================ Trigger ============================\n\n\n var triggerChange = function triggerChange(newValue) {\n setSelectedValue(newValue);\n setInnerValue(newValue);\n\n if (onChange && !isEqual(generateConfig, mergedValue, newValue)) {\n onChange(newValue, newValue ? generateConfig.locale.format(locale.locale, newValue, formatList[0]) : \'\');\n }\n };\n\n var triggerOpen = function triggerOpen(newOpen) {\n var preventChangeEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (disabled && newOpen) {\n return;\n }\n\n triggerInnerOpen(newOpen);\n\n if (!newOpen && !preventChangeEvent) {\n triggerChange(selectedValue);\n }\n };\n\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n Object(warning["a" /* default */])(false, \'Picker not correct forward KeyDown operation. Please help to fire issue about this.\');\n return false;\n }\n };\n\n var onInternalMouseUp = function onInternalMouseUp() {\n if (onMouseUp) {\n onMouseUp.apply(void 0, arguments);\n }\n\n if (inputRef.current) {\n inputRef.current.focus();\n triggerOpen(true);\n }\n }; // ============================= Input =============================\n\n\n var _usePickerInput = usePickerInput({\n blurToCancel: needConfirmButton,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n forwardKeyDown: forwardKeyDown,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, inputDivRef.current], target);\n },\n onSubmit: function onSubmit() {\n if (disabledDate && disabledDate(selectedValue)) {\n return false;\n }\n\n triggerChange(selectedValue);\n triggerOpen(false, true);\n resetText();\n return true;\n },\n onCancel: function onCancel() {\n triggerOpen(false, true);\n setSelectedValue(mergedValue);\n resetText();\n },\n onFocus: onFocus,\n onBlur: onBlur\n }),\n _usePickerInput2 = Object(slicedToArray["a" /* default */])(_usePickerInput, 2),\n inputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n focused = _usePickerInput2$.focused,\n typing = _usePickerInput2$.typing; // ============================= Sync ==============================\n // Close should sync back with text value\n\n\n react["useEffect"](function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n\n if (!valueTexts.length || valueTexts[0] === \'\') {\n triggerTextChange(\'\');\n } else if (!valueTexts.includes(text)) {\n resetText();\n }\n }\n }, [mergedOpen, valueTexts]); // Change picker should sync back with text value\n\n react["useEffect"](function () {\n if (!mergedOpen) {\n resetText();\n }\n }, [picker]); // Sync innerValue with control mode\n\n react["useEffect"](function () {\n // Sync select value\n setSelectedValue(mergedValue);\n }, [mergedValue]); // ============================ Private ============================\n\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n },\n blur: function blur() {\n if (inputRef.current) {\n inputRef.current.blur();\n }\n }\n };\n } // ============================= Panel =============================\n\n\n var panelProps = Picker_objectSpread(Picker_objectSpread({}, props), {}, {\n className: undefined,\n style: undefined,\n pickerValue: undefined,\n onPickerValueChange: undefined\n });\n\n var panel = react["createElement"]("div", {\n className: "".concat(prefixCls, "-panel-container"),\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, react["createElement"](es_PickerPanel, Object.assign({}, panelProps, {\n generateConfig: generateConfig,\n className: classnames_default()(Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-panel-focused"), !typing)),\n value: selectedValue,\n locale: locale,\n tabIndex: -1,\n onChange: setSelectedValue,\n direction: direction\n })));\n var suffixNode;\n\n if (suffixIcon) {\n suffixNode = react["createElement"]("span", {\n className: "".concat(prefixCls, "-suffix")\n }, suffixIcon);\n }\n\n var clearNode;\n\n if (allowClear && mergedValue && !disabled) {\n clearNode = react["createElement"]("span", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n triggerChange(null);\n triggerOpen(false, true);\n },\n className: "".concat(prefixCls, "-clear")\n }, clearIcon || react["createElement"]("span", {\n className: "".concat(prefixCls, "-clear-btn")\n }));\n } // ============================ Warning ============================\n\n\n if (false) {} // ============================ Return =============================\n\n\n var onContextSelect = function onContextSelect(date, type) {\n if (type === \'submit\' || type !== \'key\' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(date);\n triggerOpen(false, true);\n }\n };\n\n var popupPlacement = direction === \'rtl\' ? \'bottomRight\' : \'bottomLeft\';\n return react["createElement"](es_PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === \'time\',\n panelRef: panelDivRef,\n onSelect: onContextSelect,\n open: mergedOpen,\n defaultOpenValue: defaultOpenValue\n }\n }, react["createElement"](es_PickerTrigger, {\n visible: mergedOpen,\n popupElement: panel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n popupPlacement: popupPlacement,\n direction: direction\n }, react["createElement"]("div", {\n className: classnames_default()(prefixCls, className, (_classNames2 = {}, Object(defineProperty["a" /* default */])(_classNames2, "".concat(prefixCls, "-disabled"), disabled), Object(defineProperty["a" /* default */])(_classNames2, "".concat(prefixCls, "-focused"), focused), Object(defineProperty["a" /* default */])(_classNames2, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames2)),\n style: style,\n onMouseDown: onMouseDown,\n onMouseUp: onInternalMouseUp,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onContextMenu: onContextMenu,\n onClick: onClick\n }, react["createElement"]("div", {\n className: "".concat(prefixCls, "-input"),\n ref: inputDivRef\n }, react["createElement"]("input", Object.assign({\n id: id,\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: inputReadOnly || !typing,\n value: text,\n onChange: function onChange(e) {\n triggerTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: placeholder,\n ref: inputRef,\n title: text\n }, inputProps, {\n size: getInputSize(picker, formatList[0])\n }, getDataOrAriaProps(props), {\n autoComplete: autoComplete\n })), suffixNode, clearNode))));\n} // Wrap with class component to enable pass generic with instance method\n\n\nvar Picker_Picker = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Picker, _React$Component);\n\n var _super = _createSuper(Picker);\n\n function Picker() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Picker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = react["createRef"]();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(Picker, [{\n key: "render",\n value: function render() {\n return react["createElement"](InnerPicker, Object.assign({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n\n return Picker;\n}(react["Component"]);\n\n/* harmony default export */ var es_Picker = (Picker_Picker);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/hooks/useRangeDisabled.js\n\n\n\nfunction useRangeDisabled(_ref) {\n var picker = _ref.picker,\n locale = _ref.locale,\n selectedValue = _ref.selectedValue,\n disabledDate = _ref.disabledDate,\n disabled = _ref.disabled,\n generateConfig = _ref.generateConfig;\n var startDate = getValue(selectedValue, 0);\n var endDate = getValue(selectedValue, 1);\n var disabledStartDate = react["useCallback"](function (date) {\n if (disabledDate && disabledDate(date)) {\n return true;\n }\n\n if (disabled[1] && endDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n }\n\n return false;\n }, [disabledDate, disabled[1], endDate]);\n var disableEndDate = react["useCallback"](function (date) {\n if (disabledDate && disabledDate(date)) {\n return true;\n }\n\n if (startDate) {\n if (picker === \'week\') {\n var startYear = generateConfig.getYear(startDate);\n var dateYear = generateConfig.getYear(date);\n var startWeek = generateConfig.locale.getWeek(locale.locale, startDate);\n var dateWeek = generateConfig.locale.getWeek(locale.locale, date);\n var startVal = startYear * 100 + startWeek;\n var dateVal = dateYear * 100 + dateWeek;\n return dateVal < startVal;\n }\n\n if (picker === \'quarter\') {\n var _startYear = generateConfig.getYear(startDate);\n\n var _dateYear = generateConfig.getYear(date);\n\n var startQuarter = getQuarter(generateConfig, startDate);\n var dateQuarter = getQuarter(generateConfig, date);\n\n var _startVal = _startYear * 10 + startQuarter;\n\n var _dateVal = _dateYear * 10 + dateQuarter;\n\n return _dateVal < _startVal;\n }\n\n return !isSameDate(generateConfig, date, startDate) && generateConfig.isAfter(startDate, date);\n }\n\n return false;\n }, [disabledDate, startDate, picker]);\n return [disabledStartDate, disableEndDate];\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/hooks/useRangeViewDates.js\n\n\n\n\n\nfunction getStartEndDistance(startDate, endDate, picker, generateConfig) {\n var startNext = getClosingViewDate(startDate, picker, generateConfig, 1);\n\n function getDistance(compareFunc) {\n if (compareFunc(startDate, endDate)) {\n return \'same\';\n }\n\n if (compareFunc(startNext, endDate)) {\n return \'closing\';\n }\n\n return \'far\';\n }\n\n switch (picker) {\n case \'year\':\n return getDistance(function (start, end) {\n return isSameDecade(generateConfig, start, end);\n });\n\n case \'quarter\':\n case \'month\':\n return getDistance(function (start, end) {\n return isSameYear(generateConfig, start, end);\n });\n\n default:\n return getDistance(function (start, end) {\n return isSameMonth(generateConfig, start, end);\n });\n }\n}\n\nfunction getRangeViewDate(values, index, picker, generateConfig) {\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n\n if (index === 0) {\n return startDate;\n }\n\n if (startDate && endDate) {\n var distance = getStartEndDistance(startDate, endDate, picker, generateConfig);\n\n switch (distance) {\n case \'same\':\n return startDate;\n\n case \'closing\':\n return startDate;\n\n default:\n return getClosingViewDate(endDate, picker, generateConfig, -1);\n }\n }\n\n return startDate;\n}\n\nfunction useRangeViewDates(_ref) {\n var values = _ref.values,\n picker = _ref.picker,\n defaultDates = _ref.defaultDates,\n generateConfig = _ref.generateConfig;\n\n var _React$useState = react["useState"](function () {\n return [getValue(defaultDates, 0), getValue(defaultDates, 1)];\n }),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n defaultViewDates = _React$useState2[0],\n setDefaultViewDates = _React$useState2[1];\n\n var _React$useState3 = react["useState"](null),\n _React$useState4 = Object(slicedToArray["a" /* default */])(_React$useState3, 2),\n viewDates = _React$useState4[0],\n setInternalViewDates = _React$useState4[1];\n\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n\n function getViewDate(index) {\n // If set default view date, use it\n if (defaultViewDates[index]) {\n return defaultViewDates[index];\n }\n\n return getValue(viewDates, index) || getRangeViewDate(values, index, picker, generateConfig) || startDate || endDate || generateConfig.getNow();\n }\n\n function setViewDate(viewDate, index) {\n if (viewDate) {\n var newViewDates = updateValues(viewDates, viewDate, index); // Set view date will clean up default one\n\n setDefaultViewDates( // Should always be an array\n updateValues(defaultViewDates, null, index) || [null, null]); // Reset another one when not have value\n\n var anotherIndex = (index + 1) % 2;\n\n if (!getValue(values, anotherIndex)) {\n newViewDates = updateValues(newViewDates, viewDate, anotherIndex);\n }\n\n setInternalViewDates(newViewDates);\n } else if (startDate || endDate) {\n // Reset all when has values when `viewDate` is `null` which means from open trigger\n setInternalViewDates(null);\n }\n }\n\n return [getViewDate, setViewDate];\n}\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/RangePicker.js\n\n\n\n\n\n\n\n\n\nfunction RangePicker_createSuper(Derived) { var hasNativeReflectConstruct = RangePicker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction RangePicker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction RangePicker_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction RangePicker_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { RangePicker_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { RangePicker_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction reorderValues(values, generateConfig) {\n if (values && values[0] && values[1] && generateConfig.isAfter(values[0], values[1])) {\n return [values[1], values[0]];\n }\n\n return values;\n}\n\nfunction canValueTrigger(value, index, disabled, allowEmpty) {\n if (value) {\n return true;\n }\n\n if (allowEmpty && allowEmpty[index]) {\n return true;\n }\n\n if (disabled[(index + 1) % 2]) {\n return true;\n }\n\n return false;\n}\n\nfunction InnerRangePicker(props) {\n var _classNames2;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? \'rc-picker\' : _props$prefixCls,\n id = props.id,\n style = props.style,\n className = props.className,\n popupStyle = props.popupStyle,\n dropdownClassName = props.dropdownClassName,\n transitionName = props.transitionName,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n generateConfig = props.generateConfig,\n locale = props.locale,\n placeholder = props.placeholder,\n autoFocus = props.autoFocus,\n disabled = props.disabled,\n format = props.format,\n _props$picker = props.picker,\n picker = _props$picker === void 0 ? \'date\' : _props$picker,\n showTime = props.showTime,\n use12Hours = props.use12Hours,\n _props$separator = props.separator,\n separator = _props$separator === void 0 ? \'~\' : _props$separator,\n value = props.value,\n defaultValue = props.defaultValue,\n defaultPickerValue = props.defaultPickerValue,\n open = props.open,\n defaultOpen = props.defaultOpen,\n disabledDate = props.disabledDate,\n _disabledTime = props.disabledTime,\n dateRender = props.dateRender,\n ranges = props.ranges,\n allowEmpty = props.allowEmpty,\n allowClear = props.allowClear,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n pickerRef = props.pickerRef,\n inputReadOnly = props.inputReadOnly,\n mode = props.mode,\n renderExtraFooter = props.renderExtraFooter,\n onChange = props.onChange,\n onOpenChange = props.onOpenChange,\n onPanelChange = props.onPanelChange,\n onCalendarChange = props.onCalendarChange,\n _onFocus = props.onFocus,\n onBlur = props.onBlur,\n _onOk = props.onOk,\n components = props.components,\n order = props.order,\n direction = props.direction,\n activePickerIndex = props.activePickerIndex,\n _props$autoComplete = props.autoComplete,\n autoComplete = _props$autoComplete === void 0 ? \'off\' : _props$autoComplete;\n var needConfirmButton = picker === \'date\' && !!showTime || picker === \'time\';\n var containerRef = react["useRef"](null);\n var panelDivRef = react["useRef"](null);\n var startInputDivRef = react["useRef"](null);\n var endInputDivRef = react["useRef"](null);\n var separatorRef = react["useRef"](null);\n var startInputRef = react["useRef"](null);\n var endInputRef = react["useRef"](null); // ============================= Misc ==============================\n\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours)); // Active picker\n\n var _useMergedState = Object(useMergedState["a" /* default */])(0, {\n value: activePickerIndex\n }),\n _useMergedState2 = Object(slicedToArray["a" /* default */])(_useMergedState, 2),\n mergedActivePickerIndex = _useMergedState2[0],\n setMergedActivePickerIndex = _useMergedState2[1]; // Operation ref\n\n\n var operationRef = react["useRef"](null);\n var mergedDisabled = react["useMemo"](function () {\n if (Array.isArray(disabled)) {\n return disabled;\n }\n\n return [disabled || false, disabled || false];\n }, [disabled]); // ============================= Value =============================\n\n var _useMergedState3 = Object(useMergedState["a" /* default */])(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(values) {\n return picker === \'time\' && !order ? values : reorderValues(values, generateConfig);\n }\n }),\n _useMergedState4 = Object(slicedToArray["a" /* default */])(_useMergedState3, 2),\n mergedValue = _useMergedState4[0],\n setInnerValue = _useMergedState4[1]; // =========================== View Date ===========================\n // Config view panel\n\n\n var _useRangeViewDates = useRangeViewDates({\n values: mergedValue,\n picker: picker,\n defaultDates: defaultPickerValue,\n generateConfig: generateConfig\n }),\n _useRangeViewDates2 = Object(slicedToArray["a" /* default */])(_useRangeViewDates, 2),\n getViewDate = _useRangeViewDates2[0],\n setViewDate = _useRangeViewDates2[1]; // ========================= Select Values =========================\n\n\n var _useMergedState5 = Object(useMergedState["a" /* default */])(mergedValue, {\n postState: function postState(values) {\n var postValues = values;\n\n if (mergedDisabled[0] && mergedDisabled[1]) {\n return postValues;\n } // Fill disabled unit\n\n\n for (var i = 0; i < 2; i += 1) {\n if (mergedDisabled[i] && !getValue(postValues, i) && !getValue(allowEmpty, i)) {\n postValues = updateValues(postValues, generateConfig.getNow(), i);\n }\n }\n\n return postValues;\n }\n }),\n _useMergedState6 = Object(slicedToArray["a" /* default */])(_useMergedState5, 2),\n selectedValue = _useMergedState6[0],\n setSelectedValue = _useMergedState6[1];\n\n var _React$useState = react["useState"](null),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n rangeHoverValue = _React$useState2[0],\n setRangeHoverValue = _React$useState2[1]; // ========================== Hover Range ==========================\n\n\n var _React$useState3 = react["useState"](null),\n _React$useState4 = Object(slicedToArray["a" /* default */])(_React$useState3, 2),\n hoverRangedValue = _React$useState4[0],\n setHoverRangedValue = _React$useState4[1];\n\n var onDateMouseEnter = function onDateMouseEnter(date) {\n setHoverRangedValue(updateValues(selectedValue, date, mergedActivePickerIndex));\n };\n\n var onDateMouseLeave = function onDateMouseLeave() {\n setHoverRangedValue(updateValues(selectedValue, null, mergedActivePickerIndex));\n }; // ============================= Modes =============================\n\n\n var _useMergedState7 = Object(useMergedState["a" /* default */])([picker, picker], {\n value: mode\n }),\n _useMergedState8 = Object(slicedToArray["a" /* default */])(_useMergedState7, 2),\n mergedModes = _useMergedState8[0],\n setInnerModes = _useMergedState8[1];\n\n react["useEffect"](function () {\n setInnerModes([picker, picker]);\n }, [picker]);\n\n var triggerModesChange = function triggerModesChange(modes, values) {\n setInnerModes(modes);\n\n if (onPanelChange) {\n onPanelChange(values, modes);\n }\n }; // ========================= Disable Date ==========================\n\n\n var _useRangeDisabled = useRangeDisabled({\n picker: picker,\n selectedValue: selectedValue,\n locale: locale,\n disabled: mergedDisabled,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n }),\n _useRangeDisabled2 = Object(slicedToArray["a" /* default */])(_useRangeDisabled, 2),\n disabledStartDate = _useRangeDisabled2[0],\n disabledEndDate = _useRangeDisabled2[1]; // ============================= Open ==============================\n\n\n var _useMergedState9 = Object(useMergedState["a" /* default */])(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return mergedDisabled[mergedActivePickerIndex] ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState10 = Object(slicedToArray["a" /* default */])(_useMergedState9, 2),\n mergedOpen = _useMergedState10[0],\n triggerInnerOpen = _useMergedState10[1];\n\n var startOpen = mergedOpen && mergedActivePickerIndex === 0;\n var endOpen = mergedOpen && mergedActivePickerIndex === 1; // ============================= Popup =============================\n // Popup min width\n\n var _React$useState5 = react["useState"](0),\n _React$useState6 = Object(slicedToArray["a" /* default */])(_React$useState5, 2),\n popupMinWidth = _React$useState6[0],\n setPopupMinWidth = _React$useState6[1];\n\n react["useEffect"](function () {\n if (!mergedOpen && containerRef.current) {\n setPopupMinWidth(containerRef.current.offsetWidth);\n }\n }, [mergedOpen]); // ============================ Trigger ============================\n\n var _triggerOpen;\n\n var triggerChange = function triggerChange(newValue) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _config$forceInput = config.forceInput,\n forceInput = _config$forceInput === void 0 ? true : _config$forceInput,\n source = config.source;\n var values = newValue;\n var startValue = getValue(values, 0);\n var endValue = getValue(values, 1);\n\n if (startValue && endValue && generateConfig.isAfter(startValue, endValue)) {\n if ( // WeekPicker only compare week\n picker === \'week\' && !isSameWeek(generateConfig, locale.locale, startValue, endValue) || // WeekPicker only compare week\n picker === \'quarter\' && !isSameQuarter(generateConfig, startValue, endValue) || // Other non-TimePicker compare date\n picker !== \'week\' && picker !== \'quarter\' && picker !== \'time\' && !isSameDate(generateConfig, startValue, endValue)) {\n // Clean up end date when start date is after end date\n values = [startValue, null];\n endValue = null;\n } else if (picker !== \'time\' || order !== false) {\n // Reorder when in same date\n values = reorderValues(values, generateConfig);\n }\n }\n\n setSelectedValue(values);\n var startStr = values && values[0] ? generateConfig.locale.format(locale.locale, values[0], formatList[0]) : \'\';\n var endStr = values && values[1] ? generateConfig.locale.format(locale.locale, values[1], formatList[0]) : \'\';\n\n if (onCalendarChange) {\n onCalendarChange(values, [startStr, endStr]);\n }\n\n var canStartValueTrigger = canValueTrigger(startValue, 0, mergedDisabled, allowEmpty);\n var canEndValueTrigger = canValueTrigger(endValue, 1, mergedDisabled, allowEmpty);\n var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;\n\n if (canTrigger) {\n // Trigger onChange only when value is validate\n setInnerValue(values);\n\n if (source !== \'open\') {\n _triggerOpen(false, mergedActivePickerIndex, true);\n }\n\n if (onChange && (!isEqual(generateConfig, getValue(mergedValue, 0), startValue) || !isEqual(generateConfig, getValue(mergedValue, 1), endValue))) {\n onChange(values, [startStr, endStr]);\n }\n } else if (forceInput) {\n // Open miss value panel to force user input\n var missingValueIndex = canStartValueTrigger ? 1 : 0; // Same index means user choice to close picker\n\n if (missingValueIndex === mergedActivePickerIndex) {\n return;\n }\n\n if (source !== \'open\') {\n _triggerOpen(true, missingValueIndex);\n } // Delay to focus to avoid input blur trigger expired selectedValues\n\n\n setTimeout(function () {\n var inputRef = [startInputRef, endInputRef][missingValueIndex];\n\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }, 0);\n }\n };\n\n _triggerOpen = function triggerOpen(newOpen, index) {\n var preventChangeEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (newOpen) {\n setMergedActivePickerIndex(index);\n triggerInnerOpen(newOpen); // Open to reset view date\n\n if (!mergedOpen) {\n setViewDate(null, index);\n }\n } else if (mergedActivePickerIndex === index) {\n triggerInnerOpen(newOpen);\n\n if (!preventChangeEvent) {\n triggerChange(selectedValue, {\n source: \'open\'\n });\n }\n }\n };\n\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n Object(warning["a" /* default */])(false, \'Picker not correct forward KeyDown operation. Please help to fire issue about this.\');\n return false;\n }\n }; // ============================= Text ==============================\n\n\n var sharedTextHooksProps = {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n };\n var startValueTexts = useValueTexts(getValue(selectedValue, 0), sharedTextHooksProps);\n var endValueTexts = useValueTexts(getValue(selectedValue, 1), sharedTextHooksProps);\n\n var _onTextChange = function onTextChange(newText, index) {\n var inputDate = generateConfig.locale.parse(locale.locale, newText, formatList);\n var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;\n\n if (inputDate && !disabledFunc(inputDate)) {\n setSelectedValue(updateValues(selectedValue, inputDate, index));\n setViewDate(inputDate, index);\n }\n };\n\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: startValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 0);\n }\n }),\n _useTextValueMapping2 = Object(slicedToArray["a" /* default */])(_useTextValueMapping, 3),\n startText = _useTextValueMapping2[0],\n triggerStartTextChange = _useTextValueMapping2[1],\n resetStartText = _useTextValueMapping2[2];\n\n var _useTextValueMapping3 = useTextValueMapping({\n valueTexts: endValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 1);\n }\n }),\n _useTextValueMapping4 = Object(slicedToArray["a" /* default */])(_useTextValueMapping3, 3),\n endText = _useTextValueMapping4[0],\n triggerEndTextChange = _useTextValueMapping4[1],\n resetEndText = _useTextValueMapping4[2]; // ============================= Input =============================\n\n\n var getSharedInputHookProps = function getSharedInputHookProps(index, resetText) {\n return {\n blurToCancel: needConfirmButton,\n forwardKeyDown: forwardKeyDown,\n onBlur: onBlur,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, startInputDivRef.current, endInputDivRef.current], target);\n },\n onFocus: function onFocus(e) {\n setMergedActivePickerIndex(index);\n\n if (_onFocus) {\n _onFocus(e);\n }\n },\n triggerOpen: function triggerOpen(newOpen) {\n return _triggerOpen(newOpen, index);\n },\n onSubmit: function onSubmit() {\n triggerChange(selectedValue);\n resetText();\n },\n onCancel: function onCancel() {\n _triggerOpen(false, index, true);\n\n setSelectedValue(mergedValue);\n resetText();\n }\n };\n };\n\n var _usePickerInput = usePickerInput(RangePicker_objectSpread(RangePicker_objectSpread({}, getSharedInputHookProps(0, resetStartText)), {}, {\n open: startOpen\n })),\n _usePickerInput2 = Object(slicedToArray["a" /* default */])(_usePickerInput, 2),\n startInputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n startFocused = _usePickerInput2$.focused,\n startTyping = _usePickerInput2$.typing;\n\n var _usePickerInput3 = usePickerInput(RangePicker_objectSpread(RangePicker_objectSpread({}, getSharedInputHookProps(1, resetEndText)), {}, {\n open: endOpen\n })),\n _usePickerInput4 = Object(slicedToArray["a" /* default */])(_usePickerInput3, 2),\n endInputProps = _usePickerInput4[0],\n _usePickerInput4$ = _usePickerInput4[1],\n endFocused = _usePickerInput4$.focused,\n endTyping = _usePickerInput4$.typing; // ============================= Sync ==============================\n // Close should sync back with text value\n\n\n var startStr = mergedValue && mergedValue[0] ? generateConfig.locale.format(locale.locale, mergedValue[0], \'YYYYMMDDHHmmss\') : \'\';\n var endStr = mergedValue && mergedValue[1] ? generateConfig.locale.format(locale.locale, mergedValue[1], \'YYYYMMDDHHmmss\') : \'\';\n react["useEffect"](function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n\n if (!startValueTexts.length || startValueTexts[0] === \'\') {\n triggerStartTextChange(\'\');\n } else if (!startValueTexts.includes(startText)) {\n resetStartText();\n }\n\n if (!endValueTexts.length || endValueTexts[0] === \'\') {\n triggerEndTextChange(\'\');\n } else if (!endValueTexts.includes(endText)) {\n resetEndText();\n }\n }\n }, [mergedOpen, startValueTexts, endValueTexts]); // Sync innerValue with control mode\n\n react["useEffect"](function () {\n setSelectedValue(mergedValue);\n }, [startStr, endStr]); // ============================ Warning ============================\n\n if (false) {} // ============================ Private ============================\n\n\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (startInputRef.current) {\n startInputRef.current.focus();\n }\n },\n blur: function blur() {\n if (startInputRef.current) {\n startInputRef.current.blur();\n }\n\n if (endInputRef.current) {\n endInputRef.current.blur();\n }\n }\n };\n } // ============================ Ranges =============================\n\n\n var rangeLabels = Object.keys(ranges || {});\n var rangeList = rangeLabels.map(function (label) {\n var range = ranges[label];\n var newValues = typeof range === \'function\' ? range() : range;\n return {\n label: label,\n onClick: function onClick() {\n triggerChange(newValues);\n },\n onMouseEnter: function onMouseEnter() {\n setRangeHoverValue(newValues);\n },\n onMouseLeave: function onMouseLeave() {\n setRangeHoverValue(null);\n }\n };\n }); // ============================= Panel =============================\n\n function renderPanel() {\n var panelPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var panelProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var panelHoverRangedValue = null;\n\n if (mergedOpen && hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1] && generateConfig.isAfter(hoverRangedValue[1], hoverRangedValue[0])) {\n panelHoverRangedValue = hoverRangedValue;\n }\n\n var panelShowTime = showTime;\n\n if (showTime && Object(esm_typeof["a" /* default */])(showTime) === \'object\' && showTime.defaultValue) {\n var timeDefaultValues = showTime.defaultValue;\n panelShowTime = RangePicker_objectSpread(RangePicker_objectSpread({}, showTime), {}, {\n defaultValue: getValue(timeDefaultValues, mergedActivePickerIndex) || undefined\n });\n }\n\n var panelDateRender = null;\n\n if (dateRender) {\n panelDateRender = function panelDateRender(date, today) {\n return dateRender(date, today, {\n range: mergedActivePickerIndex ? \'end\' : \'start\'\n });\n };\n }\n\n return react["createElement"](es_RangeContext.Provider, {\n value: {\n inRange: true,\n panelPosition: panelPosition,\n rangedValue: rangeHoverValue || selectedValue,\n hoverRangedValue: panelHoverRangedValue\n }\n }, react["createElement"](es_PickerPanel, Object.assign({}, props, panelProps, {\n dateRender: panelDateRender,\n showTime: panelShowTime,\n mode: mergedModes[mergedActivePickerIndex],\n generateConfig: generateConfig,\n style: undefined,\n direction: direction,\n disabledDate: mergedActivePickerIndex === 0 ? disabledStartDate : disabledEndDate,\n disabledTime: function disabledTime(date) {\n if (_disabledTime) {\n return _disabledTime(date, mergedActivePickerIndex === 0 ? \'start\' : \'end\');\n }\n\n return false;\n },\n className: classnames_default()(Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-panel-focused"), mergedActivePickerIndex === 0 ? !startTyping : !endTyping)),\n value: getValue(selectedValue, mergedActivePickerIndex),\n locale: locale,\n tabIndex: -1,\n onPanelChange: function onPanelChange(date, newMode) {\n triggerModesChange(updateValues(mergedModes, newMode, mergedActivePickerIndex), updateValues(selectedValue, date, mergedActivePickerIndex));\n var viewDate = date;\n\n if (panelPosition === \'right\') {\n viewDate = getClosingViewDate(viewDate, newMode, generateConfig, -1);\n }\n\n setViewDate(viewDate, mergedActivePickerIndex);\n },\n onOk: null,\n onSelect: undefined,\n onChange: undefined,\n defaultValue: undefined,\n defaultPickerValue: undefined\n })));\n }\n\n var arrowLeft = 0;\n var panelLeft = 0;\n\n if (mergedActivePickerIndex && startInputDivRef.current && separatorRef.current && panelDivRef.current) {\n // Arrow offset\n arrowLeft = startInputDivRef.current.offsetWidth + separatorRef.current.offsetWidth;\n\n if (panelDivRef.current.offsetWidth && arrowLeft > panelDivRef.current.offsetWidth) {\n panelLeft = arrowLeft;\n }\n }\n\n var arrowPositionStyle = direction === \'rtl\' ? {\n right: arrowLeft\n } : {\n left: arrowLeft\n };\n\n function renderPanels() {\n var panels;\n var extraNode = getExtraFooter(prefixCls, mergedModes[mergedActivePickerIndex], renderExtraFooter);\n var rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !getValue(selectedValue, mergedActivePickerIndex),\n locale: locale,\n rangeList: rangeList,\n onOk: function onOk() {\n if (getValue(selectedValue, mergedActivePickerIndex)) {\n triggerChange(selectedValue);\n\n if (_onOk) {\n _onOk(selectedValue);\n }\n }\n }\n });\n\n if (picker !== \'time\' && !showTime) {\n var viewDate = getViewDate(mergedActivePickerIndex);\n var nextViewDate = getClosingViewDate(viewDate, picker, generateConfig);\n var currentMode = mergedModes[mergedActivePickerIndex];\n var showDoublePanel = currentMode === picker;\n var leftPanel = renderPanel(showDoublePanel ? \'left\' : false, {\n pickerValue: viewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(newViewDate, mergedActivePickerIndex);\n }\n });\n var rightPanel = renderPanel(\'right\', {\n pickerValue: nextViewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(getClosingViewDate(newViewDate, picker, generateConfig, -1), mergedActivePickerIndex);\n }\n });\n\n if (direction === \'rtl\') {\n panels = react["createElement"](react["Fragment"], null, rightPanel, showDoublePanel && leftPanel);\n } else {\n panels = react["createElement"](react["Fragment"], null, leftPanel, showDoublePanel && rightPanel);\n }\n } else {\n panels = renderPanel();\n }\n\n return react["createElement"]("div", {\n className: "".concat(prefixCls, "-panel-container"),\n style: {\n marginLeft: panelLeft\n },\n ref: panelDivRef,\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, react["createElement"]("div", {\n className: "".concat(prefixCls, "-panels")\n }, panels), (extraNode || rangesNode) && react["createElement"]("div", {\n className: "".concat(prefixCls, "-footer")\n }, extraNode, rangesNode));\n }\n\n var rangePanel = react["createElement"]("div", {\n className: classnames_default()("".concat(prefixCls, "-range-wrapper"), "".concat(prefixCls, "-").concat(picker, "-range-wrapper")),\n style: {\n minWidth: popupMinWidth\n }\n }, react["createElement"]("div", {\n className: "".concat(prefixCls, "-range-arrow"),\n style: arrowPositionStyle\n }), renderPanels()); // ============================= Icons =============================\n\n var suffixNode;\n\n if (suffixIcon) {\n suffixNode = react["createElement"]("span", {\n className: "".concat(prefixCls, "-suffix")\n }, suffixIcon);\n }\n\n var clearNode;\n\n if (allowClear && (getValue(mergedValue, 0) && !mergedDisabled[0] || getValue(mergedValue, 1) && !mergedDisabled[1])) {\n clearNode = react["createElement"]("span", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n var values = mergedValue;\n\n if (!mergedDisabled[0]) {\n values = updateValues(values, null, 0);\n }\n\n if (!mergedDisabled[1]) {\n values = updateValues(values, null, 1);\n }\n\n triggerChange(values, {\n forceInput: false\n });\n },\n className: "".concat(prefixCls, "-clear")\n }, clearIcon || react["createElement"]("span", {\n className: "".concat(prefixCls, "-clear-btn")\n }));\n }\n\n var inputSharedProps = {\n size: getInputSize(picker, formatList[0])\n };\n var activeBarLeft = 0;\n var activeBarWidth = 0;\n\n if (startInputDivRef.current && endInputDivRef.current && separatorRef.current) {\n if (mergedActivePickerIndex === 0) {\n activeBarWidth = startInputDivRef.current.offsetWidth;\n } else {\n activeBarLeft = arrowLeft;\n activeBarWidth = endInputDivRef.current.offsetWidth;\n }\n }\n\n var activeBarPositionStyle = direction === \'rtl\' ? {\n right: activeBarLeft\n } : {\n left: activeBarLeft\n }; // ============================ Return =============================\n\n var onContextSelect = function onContextSelect(date, type) {\n var values = updateValues(selectedValue, date, mergedActivePickerIndex);\n\n if (type === \'submit\' || type !== \'key\' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(values);\n } else {\n setSelectedValue(values);\n }\n };\n\n return react["createElement"](es_PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === \'time\',\n onDateMouseEnter: onDateMouseEnter,\n onDateMouseLeave: onDateMouseLeave,\n hideRanges: true,\n onSelect: onContextSelect,\n open: mergedOpen\n }\n }, react["createElement"](es_PickerTrigger, {\n visible: mergedOpen,\n popupElement: rangePanel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n range: true,\n direction: direction\n }, react["createElement"]("div", Object.assign({\n ref: containerRef,\n className: classnames_default()(prefixCls, "".concat(prefixCls, "-range"), className, (_classNames2 = {}, Object(defineProperty["a" /* default */])(_classNames2, "".concat(prefixCls, "-disabled"), mergedDisabled[0] && mergedDisabled[1]), Object(defineProperty["a" /* default */])(_classNames2, "".concat(prefixCls, "-focused"), mergedActivePickerIndex === 0 ? startFocused : endFocused), Object(defineProperty["a" /* default */])(_classNames2, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames2)),\n style: style\n }, getDataOrAriaProps(props)), react["createElement"]("div", {\n className: classnames_default()("".concat(prefixCls, "-input"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-input-active"), mergedActivePickerIndex === 0)),\n ref: startInputDivRef\n }, react["createElement"]("input", Object.assign({\n id: id,\n disabled: mergedDisabled[0],\n readOnly: inputReadOnly || !startTyping,\n value: startText,\n onChange: function onChange(e) {\n triggerStartTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: getValue(placeholder, 0) || \'\',\n ref: startInputRef\n }, startInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), react["createElement"]("div", {\n className: "".concat(prefixCls, "-range-separator"),\n ref: separatorRef\n }, separator), react["createElement"]("div", {\n className: classnames_default()("".concat(prefixCls, "-input"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-input-active"), mergedActivePickerIndex === 1)),\n ref: endInputDivRef\n }, react["createElement"]("input", Object.assign({\n disabled: mergedDisabled[1],\n readOnly: inputReadOnly || !endTyping,\n value: endText,\n onChange: function onChange(e) {\n triggerEndTextChange(e.target.value);\n },\n placeholder: getValue(placeholder, 1) || \'\',\n ref: endInputRef\n }, endInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), react["createElement"]("div", {\n className: "".concat(prefixCls, "-active-bar"),\n style: RangePicker_objectSpread(RangePicker_objectSpread({}, activeBarPositionStyle), {}, {\n width: activeBarWidth,\n position: \'absolute\'\n })\n }), suffixNode, clearNode)));\n} // Wrap with class component to enable pass generic with instance method\n\n\nvar RangePicker_RangePicker = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(RangePicker, _React$Component);\n\n var _super = RangePicker_createSuper(RangePicker);\n\n function RangePicker() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, RangePicker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = react["createRef"]();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(RangePicker, [{\n key: "render",\n value: function render() {\n return react["createElement"](InnerRangePicker, Object.assign({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n\n return RangePicker;\n}(react["Component"]);\n\n/* harmony default export */ var es_RangePicker = (RangePicker_RangePicker);\n// CONCATENATED MODULE: ./node_modules/rc-picker/es/index.js\n\n\n\n\n/* harmony default export */ var rc_picker_es = (es_Picker);\n// EXTERNAL MODULE: ./node_modules/antd/es/date-picker/locale/en_US.js + 1 modules\nvar en_US = __webpack_require__("61s2");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/util.js\nfunction getPlaceholder(picker, locale, customizePlaceholder) {\n if (customizePlaceholder !== undefined) {\n return customizePlaceholder;\n }\n\n if (picker === \'year\' && locale.lang.yearPlaceholder) {\n return locale.lang.yearPlaceholder;\n }\n\n if (picker === \'quarter\' && locale.lang.quarterPlaceholder) {\n return locale.lang.quarterPlaceholder;\n }\n\n if (picker === \'month\' && locale.lang.monthPlaceholder) {\n return locale.lang.monthPlaceholder;\n }\n\n if (picker === \'week\' && locale.lang.weekPlaceholder) {\n return locale.lang.weekPlaceholder;\n }\n\n if (picker === \'time\' && locale.timePickerLocale.placeholder) {\n return locale.timePickerLocale.placeholder;\n }\n\n return locale.lang.placeholder;\n}\nfunction getRangePlaceholder(picker, locale, customizePlaceholder) {\n if (customizePlaceholder !== undefined) {\n return customizePlaceholder;\n }\n\n if (picker === \'year\' && locale.lang.yearPlaceholder) {\n return locale.lang.rangeYearPlaceholder;\n }\n\n if (picker === \'month\' && locale.lang.monthPlaceholder) {\n return locale.lang.rangeMonthPlaceholder;\n }\n\n if (picker === \'week\' && locale.lang.weekPlaceholder) {\n return locale.lang.rangeWeekPlaceholder;\n }\n\n if (picker === \'time\' && locale.timePickerLocale.placeholder) {\n return locale.timePickerLocale.rangePlaceholder;\n }\n\n return locale.lang.rangePlaceholder;\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/locale-provider/LocaleReceiver.js + 1 modules\nvar LocaleReceiver = __webpack_require__("YMnH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js\nvar SizeContext = __webpack_require__("3Nzz");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/generatePicker/generateSinglePicker.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction generateSinglePicker_extends() { generateSinglePicker_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; }; return generateSinglePicker_extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction generateSinglePicker_createSuper(Derived) { var hasNativeReflectConstruct = generateSinglePicker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction generateSinglePicker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction generatePicker(generateConfig) {\n function getPicker(picker, displayName) {\n var Picker = /*#__PURE__*/function (_React$Component) {\n _inherits(Picker, _React$Component);\n\n var _super = generateSinglePicker_createSuper(Picker);\n\n function Picker() {\n var _this;\n\n _classCallCheck(this, Picker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = /*#__PURE__*/react["createRef"]();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n _this.getDefaultLocale = function () {\n var locale = _this.props.locale;\n\n var result = generateSinglePicker_extends(generateSinglePicker_extends({}, en_US["a" /* default */]), locale);\n\n result.lang = generateSinglePicker_extends(generateSinglePicker_extends({}, result.lang), (locale || {}).lang);\n return result;\n };\n\n _this.renderPicker = function (locale) {\n var _this$context = _this.context,\n getPrefixCls = _this$context.getPrefixCls,\n direction = _this$context.direction,\n getPopupContainer = _this$context.getPopupContainer;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n customizeGetPopupContainer = _a.getPopupContainer,\n className = _a.className,\n customizeSize = _a.size,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n placeholder = _a.placeholder,\n restProps = __rest(_a, ["prefixCls", "getPopupContainer", "className", "size", "bordered", "placeholder"]);\n\n var _this$props = _this.props,\n format = _this$props.format,\n showTime = _this$props.showTime;\n var prefixCls = getPrefixCls(\'picker\', customizePrefixCls);\n var additionalProps = {\n showToday: true\n };\n var additionalOverrideProps = {};\n\n if (picker) {\n additionalOverrideProps.picker = picker;\n }\n\n var mergedPicker = picker || _this.props.picker;\n additionalOverrideProps = generateSinglePicker_extends(generateSinglePicker_extends(generateSinglePicker_extends({}, additionalOverrideProps), showTime ? getTimeProps(generateSinglePicker_extends({\n format: format,\n picker: mergedPicker\n }, showTime)) : {}), mergedPicker === \'time\' ? getTimeProps(generateSinglePicker_extends(generateSinglePicker_extends({\n format: format\n }, _this.props), {\n picker: mergedPicker\n })) : {});\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n var _classNames;\n\n var mergedSize = customizeSize || size;\n return /*#__PURE__*/react["createElement"](rc_picker_es, generateSinglePicker_extends({\n ref: _this.pickerRef,\n placeholder: getPlaceholder(mergedPicker, locale, placeholder),\n suffixIcon: mergedPicker === \'time\' ? /*#__PURE__*/react["createElement"](ClockCircleOutlined_default.a, null) : /*#__PURE__*/react["createElement"](CalendarOutlined_default.a, null),\n clearIcon: /*#__PURE__*/react["createElement"](CloseCircleFilled_default.a, null),\n allowClear: true,\n transitionName: "slide-up"\n }, additionalProps, restProps, additionalOverrideProps, {\n locale: locale.lang,\n className: classnames_default()(className, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-").concat(mergedSize), mergedSize), _defineProperty(_classNames, "".concat(prefixCls, "-borderless"), !bordered), _classNames)),\n prefixCls: prefixCls,\n getPopupContainer: customizeGetPopupContainer || getPopupContainer,\n generateConfig: generateConfig,\n prevIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-prev-icon")\n }),\n nextIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-next-icon")\n }),\n superPrevIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-super-prev-icon")\n }),\n superNextIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-super-next-icon")\n }),\n components: Components,\n direction: direction\n }));\n });\n };\n\n return _this;\n }\n\n _createClass(Picker, [{\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](LocaleReceiver["a" /* default */], {\n componentName: "DatePicker",\n defaultLocale: this.getDefaultLocale\n }, this.renderPicker);\n }\n }]);\n\n return Picker;\n }(react["Component"]);\n\n Picker.contextType = context["b" /* ConfigContext */];\n\n if (displayName) {\n Picker.displayName = displayName;\n }\n\n return Picker;\n }\n\n var DatePicker = getPicker();\n var WeekPicker = getPicker(\'week\', \'WeekPicker\');\n var MonthPicker = getPicker(\'month\', \'MonthPicker\');\n var YearPicker = getPicker(\'year\', \'YearPicker\');\n var TimePicker = getPicker(\'time\', \'TimePicker\');\n return {\n DatePicker: DatePicker,\n WeekPicker: WeekPicker,\n MonthPicker: MonthPicker,\n YearPicker: YearPicker,\n TimePicker: TimePicker\n };\n}\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/SwapRightOutlined.js\nvar SwapRightOutlined = __webpack_require__("8ISB");\nvar SwapRightOutlined_default = /*#__PURE__*/__webpack_require__.n(SwapRightOutlined);\n\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/generatePicker/generateRangePicker.js\nfunction generateRangePicker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { generateRangePicker_typeof = function _typeof(obj) { return typeof obj; }; } else { generateRangePicker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return generateRangePicker_typeof(obj); }\n\nfunction generateRangePicker_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction generateRangePicker_extends() { generateRangePicker_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; }; return generateRangePicker_extends.apply(this, arguments); }\n\nfunction generateRangePicker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction generateRangePicker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction generateRangePicker_createClass(Constructor, protoProps, staticProps) { if (protoProps) generateRangePicker_defineProperties(Constructor.prototype, protoProps); if (staticProps) generateRangePicker_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction generateRangePicker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) generateRangePicker_setPrototypeOf(subClass, superClass); }\n\nfunction generateRangePicker_setPrototypeOf(o, p) { generateRangePicker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return generateRangePicker_setPrototypeOf(o, p); }\n\nfunction generateRangePicker_createSuper(Derived) { var hasNativeReflectConstruct = generateRangePicker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = generateRangePicker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = generateRangePicker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return generateRangePicker_possibleConstructorReturn(this, result); }; }\n\nfunction generateRangePicker_possibleConstructorReturn(self, call) { if (call && (generateRangePicker_typeof(call) === "object" || typeof call === "function")) { return call; } return generateRangePicker_assertThisInitialized(self); }\n\nfunction generateRangePicker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction generateRangePicker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction generateRangePicker_getPrototypeOf(o) { generateRangePicker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return generateRangePicker_getPrototypeOf(o); }\n\nvar generateRangePicker_rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction generateRangePicker(generateConfig) {\n var RangePicker = /*#__PURE__*/function (_React$Component) {\n generateRangePicker_inherits(RangePicker, _React$Component);\n\n var _super = generateRangePicker_createSuper(RangePicker);\n\n function RangePicker() {\n var _this;\n\n generateRangePicker_classCallCheck(this, RangePicker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = /*#__PURE__*/react["createRef"]();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n _this.getDefaultLocale = function () {\n var locale = _this.props.locale;\n\n var result = generateRangePicker_extends(generateRangePicker_extends({}, en_US["a" /* default */]), locale);\n\n result.lang = generateRangePicker_extends(generateRangePicker_extends({}, result.lang), (locale || {}).lang);\n return result;\n };\n\n _this.renderPicker = function (locale) {\n var _this$context = _this.context,\n getPrefixCls = _this$context.getPrefixCls,\n direction = _this$context.direction,\n getPopupContainer = _this$context.getPopupContainer;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n customGetPopupContainer = _a.getPopupContainer,\n className = _a.className,\n customizeSize = _a.size,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n placeholder = _a.placeholder,\n restProps = generateRangePicker_rest(_a, ["prefixCls", "getPopupContainer", "className", "size", "bordered", "placeholder"]);\n\n var _this$props = _this.props,\n format = _this$props.format,\n showTime = _this$props.showTime,\n picker = _this$props.picker;\n var prefixCls = getPrefixCls(\'picker\', customizePrefixCls);\n var additionalOverrideProps = {};\n additionalOverrideProps = generateRangePicker_extends(generateRangePicker_extends(generateRangePicker_extends({}, additionalOverrideProps), showTime ? getTimeProps(generateRangePicker_extends({\n format: format,\n picker: picker\n }, showTime)) : {}), picker === \'time\' ? getTimeProps(generateRangePicker_extends(generateRangePicker_extends({\n format: format\n }, _this.props), {\n picker: picker\n })) : {});\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n var _classNames;\n\n var mergedSize = customizeSize || size;\n return /*#__PURE__*/react["createElement"](es_RangePicker, generateRangePicker_extends({\n separator: /*#__PURE__*/react["createElement"]("span", {\n "aria-label": "to",\n className: "".concat(prefixCls, "-separator")\n }, /*#__PURE__*/react["createElement"](SwapRightOutlined_default.a, null)),\n ref: _this.pickerRef,\n placeholder: getRangePlaceholder(picker, locale, placeholder),\n suffixIcon: picker === \'time\' ? /*#__PURE__*/react["createElement"](ClockCircleOutlined_default.a, null) : /*#__PURE__*/react["createElement"](CalendarOutlined_default.a, null),\n clearIcon: /*#__PURE__*/react["createElement"](CloseCircleFilled_default.a, null),\n allowClear: true,\n transitionName: "slide-up"\n }, restProps, additionalOverrideProps, {\n className: classnames_default()(className, (_classNames = {}, generateRangePicker_defineProperty(_classNames, "".concat(prefixCls, "-").concat(mergedSize), mergedSize), generateRangePicker_defineProperty(_classNames, "".concat(prefixCls, "-borderless"), !bordered), _classNames)),\n locale: locale.lang,\n prefixCls: prefixCls,\n getPopupContainer: customGetPopupContainer || getPopupContainer,\n generateConfig: generateConfig,\n prevIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-prev-icon")\n }),\n nextIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-next-icon")\n }),\n superPrevIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-super-prev-icon")\n }),\n superNextIcon: /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-super-next-icon")\n }),\n components: Components,\n direction: direction\n }));\n });\n };\n\n return _this;\n }\n\n generateRangePicker_createClass(RangePicker, [{\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](LocaleReceiver["a" /* default */], {\n componentName: "DatePicker",\n defaultLocale: this.getDefaultLocale\n }, this.renderPicker);\n }\n }]);\n\n return RangePicker;\n }(react["Component"]);\n\n RangePicker.contextType = context["b" /* ConfigContext */];\n return RangePicker;\n}\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/generatePicker/index.js\nfunction generatePicker_extends() { generatePicker_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; }; return generatePicker_extends.apply(this, arguments); }\n\n\n\n\n\nvar Components = {\n button: PickerButton,\n rangeItem: PickerTag\n};\n\nfunction generatePicker_toArray(list) {\n if (!list) {\n return [];\n }\n\n return Array.isArray(list) ? list : [list];\n}\n\nfunction getTimeProps(props) {\n var format = props.format,\n picker = props.picker,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n use12Hours = props.use12Hours;\n var firstFormat = generatePicker_toArray(format)[0];\n\n var showTimeObj = generatePicker_extends({}, props);\n\n if (firstFormat) {\n if (!firstFormat.includes(\'s\') && showSecond === undefined) {\n showTimeObj.showSecond = false;\n }\n\n if (!firstFormat.includes(\'m\') && showMinute === undefined) {\n showTimeObj.showMinute = false;\n }\n\n if (!firstFormat.includes(\'H\') && !firstFormat.includes(\'h\') && showHour === undefined) {\n showTimeObj.showHour = false;\n }\n\n if ((firstFormat.includes(\'a\') || firstFormat.includes(\'A\')) && use12Hours === undefined) {\n showTimeObj.use12Hours = true;\n }\n }\n\n if (picker === \'time\') {\n return showTimeObj;\n }\n\n return {\n showTime: showTimeObj\n };\n}\n\nfunction generatePicker_generatePicker(generateConfig) {\n // =========================== Picker ===========================\n var _generateSinglePicker = generatePicker(generateConfig),\n DatePicker = _generateSinglePicker.DatePicker,\n WeekPicker = _generateSinglePicker.WeekPicker,\n MonthPicker = _generateSinglePicker.MonthPicker,\n YearPicker = _generateSinglePicker.YearPicker,\n TimePicker = _generateSinglePicker.TimePicker; // ======================== Range Picker ========================\n\n\n var RangePicker = generateRangePicker(generateConfig);\n var MergedDatePicker = DatePicker;\n MergedDatePicker.WeekPicker = WeekPicker;\n MergedDatePicker.MonthPicker = MonthPicker;\n MergedDatePicker.YearPicker = YearPicker;\n MergedDatePicker.RangePicker = RangePicker;\n MergedDatePicker.TimePicker = TimePicker;\n return MergedDatePicker;\n}\n\n/* harmony default export */ var date_picker_generatePicker = (generatePicker_generatePicker);\n// CONCATENATED MODULE: ./node_modules/antd/es/date-picker/index.js\n\n\nvar date_picker_DatePicker = date_picker_generatePicker(generate_moment);\n/* harmony default export */ var date_picker = __webpack_exports__["a"] = (date_picker_DatePicker);\n\n//# sourceURL=webpack:///./node_modules/antd/es/date-picker/index.js_+_48_modules?')},"+hIS":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* unused harmony export loadLanguage */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return registerLanguage; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n// Allow for running under nodejs/requirejs in tests\r\nvar _monaco = (typeof monaco === 'undefined' ? self.monaco : monaco);\r\nvar languageDefinitions = {};\r\nvar lazyLanguageLoaders = {};\r\nvar LazyLanguageLoader = /** @class */ (function () {\r\n function LazyLanguageLoader(languageId) {\r\n var _this = this;\r\n this._languageId = languageId;\r\n this._loadingTriggered = false;\r\n this._lazyLoadPromise = new Promise(function (resolve, reject) {\r\n _this._lazyLoadPromiseResolve = resolve;\r\n _this._lazyLoadPromiseReject = reject;\r\n });\r\n }\r\n LazyLanguageLoader.getOrCreate = function (languageId) {\r\n if (!lazyLanguageLoaders[languageId]) {\r\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\r\n }\r\n return lazyLanguageLoaders[languageId];\r\n };\r\n LazyLanguageLoader.prototype.whenLoaded = function () {\r\n return this._lazyLoadPromise;\r\n };\r\n LazyLanguageLoader.prototype.load = function () {\r\n var _this = this;\r\n if (!this._loadingTriggered) {\r\n this._loadingTriggered = true;\r\n languageDefinitions[this._languageId].loader().then(function (mod) { return _this._lazyLoadPromiseResolve(mod); }, function (err) { return _this._lazyLoadPromiseReject(err); });\r\n }\r\n return this._lazyLoadPromise;\r\n };\r\n return LazyLanguageLoader;\r\n}());\r\nfunction loadLanguage(languageId) {\r\n return LazyLanguageLoader.getOrCreate(languageId).load();\r\n}\r\nfunction registerLanguage(def) {\r\n var languageId = def.id;\r\n languageDefinitions[languageId] = def;\r\n _monaco.languages.register(def);\r\n var lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\r\n _monaco.languages.setMonarchTokensProvider(languageId, lazyLanguageLoader.whenLoaded().then(function (mod) { return mod.language; }));\r\n _monaco.languages.onLanguage(languageId, function () {\r\n lazyLanguageLoader.load().then(function (mod) {\r\n _monaco.languages.setLanguageConfiguration(languageId, mod.conf);\r\n });\r\n });\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js?")},"+lIL":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("/ry/");\n\n__webpack_require__("3OrL");\n\nvar boxplotVisual = __webpack_require__("L5E0");\n\nvar boxplotLayout = __webpack_require__("7Phj");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(boxplotVisual);\necharts.registerLayout(boxplotLayout);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot.js?')},"+nKL":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/raf/index.js\nvar raf = __webpack_require__("xEkU");\nvar raf_default = /*#__PURE__*/__webpack_require__.n(raf);\n\n// CONCATENATED MODULE: ./node_modules/rc-virtual-list/es/Filler.js\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n/**\n * Fill component to provided the scroll content real height.\n */\n\nvar Filler_Filler = function Filler(_ref) {\n var height = _ref.height,\n offset = _ref.offset,\n children = _ref.children,\n prefixCls = _ref.prefixCls;\n var outerStyle = {};\n var innerStyle = {\n display: \'flex\',\n flexDirection: \'column\'\n };\n\n if (offset !== undefined) {\n outerStyle = {\n height: height,\n position: \'relative\',\n overflow: \'hidden\'\n };\n innerStyle = _objectSpread(_objectSpread({}, innerStyle), {}, {\n transform: "translateY(".concat(offset, "px)"),\n position: \'absolute\',\n left: 0,\n right: 0,\n top: 0\n });\n }\n\n return react["createElement"]("div", {\n style: outerStyle\n }, react["createElement"]("div", {\n style: innerStyle,\n className: classnames_default()(_defineProperty({}, "".concat(prefixCls, "-holder-inner"), prefixCls))\n }, children));\n};\n\n/* harmony default export */ var es_Filler = (Filler_Filler);\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Dom/findDOMNode.js\nvar findDOMNode = __webpack_require__("m+aA");\n\n// CONCATENATED MODULE: ./node_modules/rc-virtual-list/es/utils/itemUtil.js\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n/**\n * Our algorithm have additional one ghost item\n * whose index as `data.length` to simplify the calculation\n */\n\nvar GHOST_ITEM_KEY = \'__rc_ghost_item__\';\n/**\n * Get location item and its align percentage with the scroll percentage.\n * We should measure current scroll position to decide which item is the location item.\n * And then fill the top count and bottom count with the base of location item.\n *\n * `total` should be the real count instead of `total - 1` in calculation.\n */\n\nfunction getLocationItem(scrollPtg, total) {\n var itemIndex = Math.floor(scrollPtg * total);\n var itemTopPtg = itemIndex / total;\n var itemBottomPtg = (itemIndex + 1) / total;\n var itemOffsetPtg = (scrollPtg - itemTopPtg) / (itemBottomPtg - itemTopPtg);\n return {\n index: itemIndex,\n offsetPtg: itemOffsetPtg\n };\n}\n/**\n * Safari has the elasticity effect which provides negative `scrollTop` value.\n * We should ignore it since will make scroll animation shake.\n */\n\n\nfunction alignScrollTop(scrollTop, scrollRange) {\n if (scrollTop < 0) {\n return 0;\n }\n\n if (scrollTop >= scrollRange) {\n return scrollRange;\n }\n\n return scrollTop;\n}\nfunction getScrollPercentage(_ref) {\n var scrollTop = _ref.scrollTop,\n scrollHeight = _ref.scrollHeight,\n clientHeight = _ref.clientHeight;\n\n if (scrollHeight <= clientHeight) {\n return 0;\n }\n\n var scrollRange = scrollHeight - clientHeight;\n var alignedScrollTop = alignScrollTop(scrollTop, scrollRange);\n var scrollTopPtg = alignedScrollTop / scrollRange;\n return scrollTopPtg;\n}\nfunction getElementScrollPercentage(element) {\n if (!element) {\n return 0;\n }\n\n return getScrollPercentage(element);\n}\n/**\n * Get node `offsetHeight`. We prefer node is a dom element directly.\n * But if not provided, downgrade to `findDOMNode` to get the real dom element.\n */\n\nfunction getNodeHeight(node) {\n var element = Object(findDOMNode["a" /* default */])(node);\n return element ? element.offsetHeight : 0;\n}\n/**\n * Get display items start, end, located item index. This is pure math calculation\n */\n\nfunction getRangeIndex(scrollPtg, itemCount, visibleCount) {\n var _getLocationItem = getLocationItem(scrollPtg, itemCount),\n index = _getLocationItem.index,\n offsetPtg = _getLocationItem.offsetPtg;\n\n var beforeCount = Math.ceil(scrollPtg * visibleCount);\n var afterCount = Math.ceil((1 - scrollPtg) * visibleCount);\n return {\n itemIndex: index,\n itemOffsetPtg: offsetPtg,\n startIndex: Math.max(0, index - beforeCount),\n endIndex: Math.min(itemCount - 1, index + afterCount)\n };\n}\n/**\n * Calculate the located item related top with current window height\n */\n\nfunction getItemRelativeTop(_ref2) {\n var itemIndex = _ref2.itemIndex,\n itemOffsetPtg = _ref2.itemOffsetPtg,\n itemElementHeights = _ref2.itemElementHeights,\n scrollPtg = _ref2.scrollPtg,\n clientHeight = _ref2.clientHeight,\n getItemKey = _ref2.getItemKey;\n var locatedItemHeight = itemElementHeights[getItemKey(itemIndex)] || 0;\n var locatedItemTop = scrollPtg * clientHeight;\n var locatedItemOffset = itemOffsetPtg * locatedItemHeight;\n return Math.floor(locatedItemTop - locatedItemOffset);\n}\n/**\n * Calculate the located item absolute top with whole scroll height\n */\n\nfunction getItemAbsoluteTop(_ref3) {\n var scrollTop = _ref3.scrollTop,\n rest = _objectWithoutProperties(_ref3, ["scrollTop"]);\n\n return scrollTop + getItemRelativeTop(rest);\n}\nfunction getCompareItemRelativeTop(_ref4) {\n var locatedItemRelativeTop = _ref4.locatedItemRelativeTop,\n locatedItemIndex = _ref4.locatedItemIndex,\n compareItemIndex = _ref4.compareItemIndex,\n startIndex = _ref4.startIndex,\n endIndex = _ref4.endIndex,\n getItemKey = _ref4.getItemKey,\n itemElementHeights = _ref4.itemElementHeights;\n var originCompareItemTop = locatedItemRelativeTop;\n var compareItemKey = getItemKey(compareItemIndex);\n\n if (compareItemIndex <= locatedItemIndex) {\n for (var index = locatedItemIndex; index >= startIndex; index -= 1) {\n var key = getItemKey(index);\n\n if (key === compareItemKey) {\n break;\n }\n\n var prevItemKey = getItemKey(index - 1);\n originCompareItemTop -= itemElementHeights[prevItemKey] || 0;\n }\n } else {\n for (var _index = locatedItemIndex; _index <= endIndex; _index += 1) {\n var _key = getItemKey(_index);\n\n if (_key === compareItemKey) {\n break;\n }\n\n originCompareItemTop += itemElementHeights[_key] || 0;\n }\n }\n\n return originCompareItemTop;\n}\nfunction requireVirtual(height, itemHeight, count, virtual) {\n return virtual !== false && typeof height === \'number\' && count * itemHeight > height;\n}\n// CONCATENATED MODULE: ./node_modules/rc-virtual-list/es/utils/algorithmUtil.js\n/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nfunction getIndexByStartLoc(min, max, start, index) {\n var beforeCount = start - min;\n var afterCount = max - start;\n var balanceCount = Math.min(beforeCount, afterCount) * 2; // Balance\n\n if (index <= balanceCount) {\n var stepIndex = Math.floor(index / 2);\n\n if (index % 2) {\n return start + stepIndex + 1;\n }\n\n return start - stepIndex;\n } // One is out of range\n\n\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n\n return start + (index - beforeCount);\n}\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\n\nfunction findListDiffIndex(originList, targetList, getKey) {\n var originLen = originList.length;\n var targetLen = targetList.length;\n var shortList;\n var longList;\n\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n\n var notExistKey = {\n __EMPTY_ITEM__: true\n };\n\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n\n return notExistKey;\n } // Loop to find diff one\n\n\n var diffIndex = null;\n var multiple = Math.abs(originLen - targetLen) !== 1;\n\n for (var i = 0; i < longList.length; i += 1) {\n var shortKey = getItemKey(shortList[i]);\n var longKey = getItemKey(longList[i]);\n\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple: multiple\n };\n}\n// CONCATENATED MODULE: ./node_modules/rc-virtual-list/es/List.js\nfunction List_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction List_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { List_ownKeys(Object(source), true).forEach(function (key) { List_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { List_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction List_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction List_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = List_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction List_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar ScrollStyle = {\n overflowY: \'auto\',\n overflowAnchor: \'none\'\n};\nvar ITEM_SCALE_RATE = 1;\n/**\n * We use class component here since typescript can not support generic in function component\n *\n * Virtual list display logic:\n * 1. scroll / initialize trigger measure\n * 2. Get location item of current `scrollTop`\n * 3. [Render] Render visible items\n * 4. Get all the visible items height\n * 5. [Render] Update top item `margin-top` to fit the position\n *\n * Algorithm:\n * We split scroll bar into equal slice. An item with whatever height occupy the same range slice.\n * When `scrollTop` change,\n * it will calculate the item percentage position and move item to the position.\n * Then calculate other item position base on the located item.\n *\n * Concept:\n *\n * # located item\n * The base position item which other items position calculate base on.\n */\n\nvar List_List =\n/** @class */\nfunction () {\n var List = /*#__PURE__*/function (_React$Component) {\n _inherits(List, _React$Component);\n\n var _super = _createSuper(List);\n\n function List(props) {\n var _this;\n\n _classCallCheck(this, List);\n\n _this = _super.call(this, props);\n _this.listRef = react["createRef"]();\n _this.itemElements = {};\n _this.itemElementHeights = {};\n /**\n * Lock scroll process with `onScroll` event.\n * This is used for `data` length change and `scrollTop` restore\n */\n\n _this.lockScroll = false;\n /**\n * Phase 2: Trigger render since we should re-calculate current position.\n */\n\n _this.onScroll = function (event) {\n var _this$props = _this.props,\n data = _this$props.data,\n height = _this$props.height,\n itemHeight = _this$props.itemHeight,\n disabled = _this$props.disabled;\n var _this$listRef$current = _this.listRef.current,\n originScrollTop = _this$listRef$current.scrollTop,\n clientHeight = _this$listRef$current.clientHeight,\n scrollHeight = _this$listRef$current.scrollHeight;\n var scrollTop = alignScrollTop(originScrollTop, scrollHeight - clientHeight); // Skip if `scrollTop` not change to avoid shake\n\n if (scrollTop === _this.state.scrollTop || _this.lockScroll || disabled) {\n return;\n }\n\n var scrollPtg = getElementScrollPercentage(_this.listRef.current);\n var visibleCount = Math.ceil(height / itemHeight);\n\n var _getRangeIndex = getRangeIndex(scrollPtg, data.length, visibleCount),\n itemIndex = _getRangeIndex.itemIndex,\n itemOffsetPtg = _getRangeIndex.itemOffsetPtg,\n startIndex = _getRangeIndex.startIndex,\n endIndex = _getRangeIndex.endIndex;\n\n _this.setState({\n status: \'MEASURE_START\',\n scrollTop: scrollTop,\n itemIndex: itemIndex,\n itemOffsetPtg: itemOffsetPtg,\n startIndex: startIndex,\n endIndex: endIndex\n });\n\n _this.triggerOnScroll(event);\n };\n\n _this.onRawScroll = function (event) {\n var scrollTop = _this.listRef.current.scrollTop;\n\n _this.setState({\n scrollTop: scrollTop\n });\n\n _this.triggerOnScroll(event);\n };\n\n _this.triggerOnScroll = function (event) {\n var onScroll = _this.props.onScroll;\n\n if (onScroll && event) {\n onScroll(event);\n }\n };\n\n _this.getIndexKey = function (index, props) {\n var mergedProps = props || _this.props;\n var _mergedProps$data = mergedProps.data,\n data = _mergedProps$data === void 0 ? [] : _mergedProps$data; // Return ghost key as latest index item\n\n if (index === data.length) {\n return GHOST_ITEM_KEY;\n }\n\n var item = data[index];\n /* istanbul ignore next */\n\n if (item === undefined) {\n console.error(\'Not find index item. Please report this since it is a bug.\');\n return null;\n }\n\n return _this.getItemKey(item, mergedProps);\n };\n\n _this.getItemKey = function (item, props) {\n var _ref = props || _this.props,\n itemKey = _ref.itemKey;\n\n return typeof itemKey === \'function\' ? itemKey(item) : item[itemKey];\n };\n /**\n * Collect current rendered dom element item heights\n */\n\n\n _this.collectItemHeights = function (range) {\n var _ref2 = range || _this.state,\n startIndex = _ref2.startIndex,\n endIndex = _ref2.endIndex;\n\n var data = _this.props.data; // Record here since measure item height will get warning in `render`\n\n for (var index = startIndex; index <= endIndex; index += 1) {\n var item = data[index]; // Only collect exist item height\n\n if (item) {\n var eleKey = _this.getItemKey(item);\n\n _this.itemElementHeights[eleKey] = getNodeHeight(_this.itemElements[eleKey]);\n }\n }\n };\n\n _this.scrollTo = function (arg0) {\n raf_default.a.cancel(_this.rafId);\n _this.rafId = raf_default()(function () {\n // Number top\n if (_typeof(arg0) === \'object\') {\n var isVirtual = _this.state.isVirtual;\n var _this$props2 = _this.props,\n height = _this$props2.height,\n itemHeight = _this$props2.itemHeight,\n data = _this$props2.data;\n var _arg0$align = arg0.align,\n align = _arg0$align === void 0 ? \'auto\' : _arg0$align;\n var index = 0;\n\n if (\'index\' in arg0) {\n index = arg0.index;\n } else if (\'key\' in arg0) {\n var key = arg0.key;\n index = data.findIndex(function (item) {\n return _this.getItemKey(item) === key;\n });\n }\n\n var visibleCount = Math.ceil(height / itemHeight);\n var item = data[index];\n\n if (item) {\n var clientHeight = _this.listRef.current.clientHeight;\n\n if (isVirtual) {\n // Calculate related data\n var _this$state = _this.state,\n itemIndex = _this$state.itemIndex,\n itemOffsetPtg = _this$state.itemOffsetPtg;\n var scrollTop = _this.listRef.current.scrollTop;\n var scrollPtg = getElementScrollPercentage(_this.listRef.current);\n var relativeLocatedItemTop = getItemRelativeTop({\n itemIndex: itemIndex,\n itemOffsetPtg: itemOffsetPtg,\n itemElementHeights: _this.itemElementHeights,\n scrollPtg: scrollPtg,\n clientHeight: clientHeight,\n getItemKey: _this.getIndexKey\n }); // We will force render related items to collect height for re-location\n\n _this.setState({\n startIndex: Math.max(0, index - visibleCount),\n endIndex: Math.min(data.length - 1, index + visibleCount)\n }, function () {\n _this.collectItemHeights(); // Calculate related top\n\n\n var relativeTop;\n var mergedAlgin = align;\n\n if (align === \'auto\') {\n var shouldChange = true; // Check if exist in the visible range\n\n if (Math.abs(itemIndex - index) < visibleCount) {\n var itemTop = relativeLocatedItemTop;\n\n if (index < itemIndex) {\n for (var i = index; i < itemIndex; i += 1) {\n var eleKey = _this.getIndexKey(i);\n\n itemTop -= _this.itemElementHeights[eleKey] || 0;\n }\n } else {\n for (var _i = itemIndex; _i <= index; _i += 1) {\n var _eleKey = _this.getIndexKey(_i);\n\n itemTop += _this.itemElementHeights[_eleKey] || 0;\n }\n }\n\n shouldChange = itemTop <= 0 || itemTop >= clientHeight;\n }\n\n if (shouldChange) {\n // Out of range will fall back to position align\n mergedAlgin = index < itemIndex ? \'top\' : \'bottom\';\n } else {\n var _getRangeIndex2 = getRangeIndex(scrollPtg, data.length, visibleCount),\n nextIndex = _getRangeIndex2.itemIndex,\n newOffsetPtg = _getRangeIndex2.itemOffsetPtg,\n startIndex = _getRangeIndex2.startIndex,\n endIndex = _getRangeIndex2.endIndex;\n\n _this.setState({\n scrollTop: scrollTop,\n itemIndex: nextIndex,\n itemOffsetPtg: newOffsetPtg,\n startIndex: startIndex,\n endIndex: endIndex\n });\n\n return;\n }\n } // Align with position should make scroll happen\n\n\n if (mergedAlgin === \'top\') {\n relativeTop = 0;\n } else if (mergedAlgin === \'bottom\') {\n var _eleKey2 = _this.getItemKey(item);\n\n relativeTop = clientHeight - _this.itemElementHeights[_eleKey2] || 0;\n }\n\n _this.internalScrollTo({\n itemIndex: index,\n relativeTop: relativeTop\n });\n });\n } else {\n // Raw list without virtual scroll set position directly\n _this.collectItemHeights({\n startIndex: 0,\n endIndex: data.length - 1\n });\n\n var mergedAlgin = align; // Collection index item position\n\n var indexItemHeight = _this.itemElementHeights[_this.getIndexKey(index)];\n\n var itemTop = 0;\n\n for (var i = 0; i < index; i += 1) {\n var eleKey = _this.getIndexKey(i);\n\n itemTop += _this.itemElementHeights[eleKey] || 0;\n }\n\n var itemBottom = itemTop + indexItemHeight;\n\n if (mergedAlgin === \'auto\') {\n if (itemTop < _this.listRef.current.scrollTop) {\n mergedAlgin = \'top\';\n } else if (itemBottom > _this.listRef.current.scrollTop + clientHeight) {\n mergedAlgin = \'bottom\';\n }\n }\n\n if (mergedAlgin === \'top\') {\n _this.listRef.current.scrollTop = itemTop;\n } else if (mergedAlgin === \'bottom\') {\n _this.listRef.current.scrollTop = itemTop - (clientHeight - indexItemHeight);\n }\n }\n }\n } else {\n _this.listRef.current.scrollTop = arg0;\n }\n });\n };\n /**\n * Phase 4: Render item and get all the visible items height\n */\n\n\n _this.renderChildren = function (list, startIndex, renderFunc) {\n var status = _this.state.status; // We should measure rendered item height\n\n return list.map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {\n style: status === \'MEASURE_START\' ? {\n visibility: \'hidden\'\n } : {}\n });\n\n var eleKey = _this.getIndexKey(eleIndex); // Pass `key` and `ref` for internal measure\n\n\n return react["cloneElement"](node, {\n key: eleKey,\n ref: function ref(ele) {\n _this.itemElements[eleKey] = ele;\n }\n });\n });\n };\n\n _this.cachedProps = props;\n _this.state = {\n status: \'NONE\',\n scrollTop: null,\n itemIndex: 0,\n itemOffsetPtg: 0,\n startIndex: 0,\n endIndex: 0,\n startItemTop: 0,\n isVirtual: requireVirtual(props.height, props.itemHeight, props.data.length, props.virtual),\n itemCount: props.data.length\n };\n return _this;\n }\n\n _createClass(List, [{\n key: "componentDidMount",\n\n /**\n * Phase 1: Initial should sync with default scroll top\n */\n value: function componentDidMount() {\n if (this.listRef.current) {\n this.listRef.current.scrollTop = 0;\n this.onScroll(null);\n }\n }\n /**\n * Phase 4: Record used item height\n * Phase 5: Trigger re-render to use correct position\n */\n\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n var status = this.state.status;\n var _this$props3 = this.props,\n data = _this$props3.data,\n height = _this$props3.height,\n itemHeight = _this$props3.itemHeight,\n disabled = _this$props3.disabled,\n onSkipRender = _this$props3.onSkipRender,\n virtual = _this$props3.virtual;\n var prevData = this.cachedProps.data || [];\n var changedItemIndex = null;\n\n if (prevData.length !== data.length) {\n var diff = findListDiffIndex(prevData, data, this.getItemKey);\n changedItemIndex = diff ? diff.index : null;\n }\n\n if (disabled) {\n // Should trigger `onSkipRender` to tell that diff component is not render in the list\n if (data.length > prevData.length) {\n var _this$state2 = this.state,\n startIndex = _this$state2.startIndex,\n endIndex = _this$state2.endIndex;\n\n if (onSkipRender && (changedItemIndex === null || changedItemIndex < startIndex || endIndex < changedItemIndex)) {\n onSkipRender();\n }\n }\n\n return;\n }\n\n var isVirtual = requireVirtual(height, itemHeight, data.length, virtual);\n var nextStatus = status;\n\n if (this.state.isVirtual !== isVirtual) {\n nextStatus = isVirtual ? \'SWITCH_TO_VIRTUAL\' : \'SWITCH_TO_RAW\';\n this.setState({\n isVirtual: isVirtual,\n status: nextStatus\n });\n /**\n * We will wait a tick to let list turn to virtual list.\n * And then use virtual list sync logic to adjust the scroll.\n */\n\n if (nextStatus === \'SWITCH_TO_VIRTUAL\') {\n return;\n }\n }\n\n if (status === \'MEASURE_START\') {\n var _this$state3 = this.state,\n _startIndex = _this$state3.startIndex,\n itemIndex = _this$state3.itemIndex,\n itemOffsetPtg = _this$state3.itemOffsetPtg;\n var scrollTop = this.listRef.current.scrollTop; // Record here since measure item height will get warning in `render`\n\n this.collectItemHeights(); // Calculate top visible item top offset\n\n var locatedItemTop = getItemAbsoluteTop({\n itemIndex: itemIndex,\n itemOffsetPtg: itemOffsetPtg,\n itemElementHeights: this.itemElementHeights,\n scrollTop: scrollTop,\n scrollPtg: getElementScrollPercentage(this.listRef.current),\n clientHeight: this.listRef.current.clientHeight,\n getItemKey: this.getIndexKey\n });\n var startItemTop = locatedItemTop;\n\n for (var index = itemIndex - 1; index >= _startIndex; index -= 1) {\n startItemTop -= this.itemElementHeights[this.getIndexKey(index)] || 0;\n }\n\n this.setState({\n status: \'MEASURE_DONE\',\n startItemTop: startItemTop\n });\n }\n\n if (status === \'SWITCH_TO_RAW\') {\n /**\n * After virtual list back to raw list,\n * we update the `scrollTop` to real top instead of percentage top.\n */\n var _this$state$cacheScro = this.state.cacheScroll,\n _itemIndex = _this$state$cacheScro.itemIndex,\n relativeTop = _this$state$cacheScro.relativeTop;\n var rawTop = relativeTop;\n\n for (var _index = 0; _index < _itemIndex; _index += 1) {\n rawTop -= this.itemElementHeights[this.getIndexKey(_index)] || 0;\n }\n\n this.lockScroll = true;\n this.listRef.current.scrollTop = -rawTop;\n this.setState({\n status: \'MEASURE_DONE\',\n itemIndex: 0\n });\n requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n _this2.lockScroll = false;\n });\n });\n } else if (prevData.length !== data.length && changedItemIndex !== null && height) {\n /**\n * Re-calculate the item position since `data` length changed.\n * [IMPORTANT] We use relative position calculate here.\n */\n var originItemIndex = this.state.itemIndex;\n var _this$state4 = this.state,\n originItemOffsetPtg = _this$state4.itemOffsetPtg,\n originStartIndex = _this$state4.startIndex,\n originEndIndex = _this$state4.endIndex,\n originScrollTop = _this$state4.scrollTop; // 1. Refresh item heights\n\n this.collectItemHeights(); // 1. Get origin located item top\n\n var originLocatedItemRelativeTop;\n\n if (this.state.status === \'SWITCH_TO_VIRTUAL\') {\n originItemIndex = 0;\n originLocatedItemRelativeTop = -this.state.scrollTop;\n } else {\n originLocatedItemRelativeTop = getItemRelativeTop({\n itemIndex: originItemIndex,\n itemOffsetPtg: originItemOffsetPtg,\n itemElementHeights: this.itemElementHeights,\n scrollPtg: getScrollPercentage({\n scrollTop: originScrollTop,\n scrollHeight: prevData.length * itemHeight,\n clientHeight: this.listRef.current.clientHeight\n }),\n clientHeight: this.listRef.current.clientHeight,\n getItemKey: function getItemKey(index) {\n return _this2.getIndexKey(index, _this2.cachedProps);\n }\n });\n } // 2. Find the compare item\n\n\n var originCompareItemIndex = changedItemIndex - 1; // Use next one since there are not more item before removed\n\n if (originCompareItemIndex < 0) {\n originCompareItemIndex = 0;\n } // 3. Find the compare item top\n\n\n var originCompareItemTop = getCompareItemRelativeTop({\n locatedItemRelativeTop: originLocatedItemRelativeTop,\n locatedItemIndex: originItemIndex,\n compareItemIndex: originCompareItemIndex,\n startIndex: originStartIndex,\n endIndex: originEndIndex,\n getItemKey: function getItemKey(index) {\n return _this2.getIndexKey(index, _this2.cachedProps);\n },\n itemElementHeights: this.itemElementHeights\n });\n\n if (nextStatus === \'SWITCH_TO_RAW\') {\n /**\n * We will record current measure relative item top and apply in raw list after list turned\n */\n this.setState({\n cacheScroll: {\n itemIndex: originCompareItemIndex,\n relativeTop: originCompareItemTop\n }\n });\n } else {\n this.internalScrollTo({\n itemIndex: originCompareItemIndex,\n relativeTop: originCompareItemTop\n });\n }\n } else if (nextStatus === \'SWITCH_TO_RAW\') {\n // This is only trigger when height changes that all items can show in raw\n // Let\'s reset back to top\n this.setState({\n cacheScroll: {\n itemIndex: 0,\n relativeTop: 0\n }\n });\n }\n\n this.cachedProps = this.props;\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n raf_default.a.cancel(this.rafId);\n }\n }, {\n key: "internalScrollTo",\n value: function internalScrollTo(relativeScroll) {\n var _this3 = this;\n\n var compareItemIndex = relativeScroll.itemIndex,\n compareItemRelativeTop = relativeScroll.relativeTop;\n var originScrollTop = this.state.scrollTop;\n var _this$props4 = this.props,\n data = _this$props4.data,\n itemHeight = _this$props4.itemHeight,\n height = _this$props4.height; // 1. Find the best match compare item top\n\n var bestSimilarity = Number.MAX_VALUE;\n var bestScrollTop = null;\n var bestItemIndex = null;\n var bestItemOffsetPtg = null;\n var bestStartIndex = null;\n var bestEndIndex = null;\n var missSimilarity = 0;\n var scrollHeight = data.length * itemHeight;\n var clientHeight = this.listRef.current.clientHeight;\n var maxScrollTop = scrollHeight - clientHeight;\n\n for (var i = 0; i < maxScrollTop; i += 1) {\n var scrollTop = getIndexByStartLoc(0, maxScrollTop, originScrollTop, i);\n var scrollPtg = getScrollPercentage({\n scrollTop: scrollTop,\n scrollHeight: scrollHeight,\n clientHeight: clientHeight\n });\n var visibleCount = Math.ceil(height / itemHeight);\n\n var _getRangeIndex3 = getRangeIndex(scrollPtg, data.length, visibleCount),\n itemIndex = _getRangeIndex3.itemIndex,\n itemOffsetPtg = _getRangeIndex3.itemOffsetPtg,\n startIndex = _getRangeIndex3.startIndex,\n endIndex = _getRangeIndex3.endIndex; // No need to check if compare item out of the index to save performance\n\n\n if (startIndex <= compareItemIndex && compareItemIndex <= endIndex) {\n // 1.1 Get measure located item relative top\n var locatedItemRelativeTop = getItemRelativeTop({\n itemIndex: itemIndex,\n itemOffsetPtg: itemOffsetPtg,\n itemElementHeights: this.itemElementHeights,\n scrollPtg: scrollPtg,\n clientHeight: clientHeight,\n getItemKey: this.getIndexKey\n });\n var compareItemTop = getCompareItemRelativeTop({\n locatedItemRelativeTop: locatedItemRelativeTop,\n locatedItemIndex: itemIndex,\n compareItemIndex: compareItemIndex,\n startIndex: startIndex,\n endIndex: endIndex,\n getItemKey: this.getIndexKey,\n itemElementHeights: this.itemElementHeights\n }); // 1.2 Find best match compare item top\n\n var similarity = Math.abs(compareItemTop - compareItemRelativeTop);\n\n if (similarity < bestSimilarity) {\n bestSimilarity = similarity;\n bestScrollTop = scrollTop;\n bestItemIndex = itemIndex;\n bestItemOffsetPtg = itemOffsetPtg;\n bestStartIndex = startIndex;\n bestEndIndex = endIndex;\n missSimilarity = 0;\n } else {\n missSimilarity += 1;\n }\n } // If keeping 10 times not match similarity,\n // check more scrollTop is meaningless.\n // Here boundary is set to 10.\n\n\n if (missSimilarity > 10) {\n break;\n }\n } // 2. Re-scroll if has best scroll match\n\n\n if (bestScrollTop !== null) {\n this.lockScroll = true;\n this.listRef.current.scrollTop = bestScrollTop;\n this.setState({\n status: \'MEASURE_START\',\n scrollTop: bestScrollTop,\n itemIndex: bestItemIndex,\n itemOffsetPtg: bestItemOffsetPtg,\n startIndex: bestStartIndex,\n endIndex: bestEndIndex\n });\n requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n _this3.lockScroll = false;\n });\n });\n }\n }\n }, {\n key: "render",\n value: function render() {\n var _this$state5 = this.state,\n isVirtual = _this$state5.isVirtual,\n itemCount = _this$state5.itemCount;\n\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n style = _this$props5.style,\n className = _this$props5.className,\n _this$props5$componen = _this$props5.component,\n Component = _this$props5$componen === void 0 ? \'div\' : _this$props5$componen,\n height = _this$props5.height,\n itemHeight = _this$props5.itemHeight,\n _this$props5$fullHeig = _this$props5.fullHeight,\n fullHeight = _this$props5$fullHeig === void 0 ? true : _this$props5$fullHeig,\n data = _this$props5.data,\n children = _this$props5.children,\n itemKey = _this$props5.itemKey,\n onSkipRender = _this$props5.onSkipRender,\n disabled = _this$props5.disabled,\n virtual = _this$props5.virtual,\n restProps = List_objectWithoutProperties(_this$props5, ["prefixCls", "style", "className", "component", "height", "itemHeight", "fullHeight", "data", "children", "itemKey", "onSkipRender", "disabled", "virtual"]);\n\n var mergedClassName = classnames_default()(prefixCls, className); // Render pure list if not set height or height is enough for all items\n\n if (!isVirtual) {\n /**\n * Virtual list switch is works on component updated.\n * We should double check here if need cut the content.\n */\n var shouldVirtual = requireVirtual(height, itemHeight, data.length, virtual);\n return react["createElement"](Component, Object.assign({\n style: height ? List_objectSpread(List_objectSpread({}, style), {}, List_defineProperty({}, fullHeight ? \'height\' : \'maxHeight\', height), ScrollStyle) : style,\n className: mergedClassName\n }, restProps, {\n onScroll: this.onRawScroll,\n ref: this.listRef\n }), react["createElement"](es_Filler, {\n prefixCls: prefixCls,\n height: height\n }, this.renderChildren(shouldVirtual ? data.slice(0, Math.ceil(height / itemHeight)) : data, 0, children)));\n } // Use virtual list\n\n\n var mergedStyle = List_objectSpread(List_objectSpread({}, style), {}, {\n height: height\n }, ScrollStyle);\n\n var _this$state6 = this.state,\n status = _this$state6.status,\n startIndex = _this$state6.startIndex,\n endIndex = _this$state6.endIndex,\n startItemTop = _this$state6.startItemTop;\n var contentHeight = itemCount * itemHeight * ITEM_SCALE_RATE;\n return react["createElement"](Component, Object.assign({\n style: mergedStyle,\n className: mergedClassName\n }, restProps, {\n onScroll: this.onScroll,\n ref: this.listRef\n }), react["createElement"](es_Filler, {\n prefixCls: prefixCls,\n height: contentHeight,\n offset: status === \'MEASURE_DONE\' ? startItemTop : 0\n }, this.renderChildren(data.slice(startIndex, endIndex + 1), startIndex, children)));\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps) {\n if (!nextProps.disabled) {\n return {\n itemCount: nextProps.data.length\n };\n }\n\n return null;\n }\n }]);\n\n return List;\n }(react["Component"]);\n\n List.defaultProps = {\n itemHeight: 15,\n data: []\n };\n return List;\n}();\n\n/* harmony default export */ var es_List = (List_List);\n// CONCATENATED MODULE: ./node_modules/rc-virtual-list/es/index.js\n\n/* harmony default export */ var es = __webpack_exports__["a"] = (es_List);\n\n//# sourceURL=webpack:///./node_modules/rc-virtual-list/es/index.js_+_4_modules?')},"+rIm":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar retrieve = _util.retrieve;\nvar defaults = _util.defaults;\nvar extend = _util.extend;\nvar each = _util.each;\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar isRadianAroundZero = _number.isRadianAroundZero;\nvar remRadian = _number.remRadian;\n\nvar _symbol = __webpack_require__(\"oVpE\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar matrixUtil = __webpack_require__(\"Fofx\");\n\nvar _vector = __webpack_require__(\"QBsz\");\n\nvar v2ApplyTransform = _vector.applyTransform;\n\nvar _axisHelper = __webpack_require__(\"aX7z\");\n\nvar shouldShowAllLabels = _axisHelper.shouldShowAllLabels;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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) ------------\x3e (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 * @param {module:zrender/container/Group} group\n * @param {Object} axisModel\n * @param {Object} opt Standard axis parameters.\n * @param {Array.} opt.position [x, y]\n * @param {number} opt.rotation by radian\n * @param {number} [opt.nameDirection=1] 1 or -1 Used when nameLocation is 'middle' or 'center'.\n * @param {number} [opt.tickDirection=1] 1 or -1\n * @param {number} [opt.labelDirection=1] 1 or -1\n * @param {number} [opt.labelOffset=0] Usefull when onZero.\n * @param {string} [opt.axisLabelShow] default get from axisModel.\n * @param {string} [opt.axisName] default get from axisModel.\n * @param {number} [opt.axisNameAvailableWidth]\n * @param {number} [opt.labelRotate] by degree, default get from axisModel.\n * @param {number} [opt.strokeContainThreshold] Default label interval when label\n * @param {number} [opt.nameTruncateMaxWidth]\n */\n\nvar AxisBuilder = function (axisModel, opt) {\n /**\n * @readOnly\n */\n this.opt = opt;\n /**\n * @readOnly\n */\n\n this.axisModel = axisModel; // Default value\n\n defaults(opt, {\n labelOffset: 0,\n nameDirection: 1,\n tickDirection: 1,\n labelDirection: 1,\n silent: true\n });\n /**\n * @readOnly\n */\n\n this.group = new graphic.Group(); // FIXME Not use a seperate text group?\n\n var dumbGroup = new graphic.Group({\n position: opt.position.slice(),\n rotation: opt.rotation\n }); // this.group.add(dumbGroup);\n // this._dumbGroup = dumbGroup;\n\n dumbGroup.updateTransform();\n this._transform = dumbGroup.transform;\n this._dumbGroup = dumbGroup;\n};\n\nAxisBuilder.prototype = {\n constructor: AxisBuilder,\n hasBuilder: function (name) {\n return !!builders[name];\n },\n add: function (name) {\n builders[name].call(this);\n },\n getGroup: function () {\n return this.group;\n }\n};\nvar builders = {\n /**\n * @private\n */\n axisLine: function () {\n var opt = this.opt;\n var axisModel = this.axisModel;\n\n if (!axisModel.get('axisLine.show')) {\n return;\n }\n\n var extent = this.axisModel.axis.getExtent();\n var matrix = this._transform;\n var pt1 = [extent[0], 0];\n var pt2 = [extent[1], 0];\n\n if (matrix) {\n v2ApplyTransform(pt1, pt1, matrix);\n v2ApplyTransform(pt2, pt2, matrix);\n }\n\n var lineStyle = extend({\n lineCap: 'round'\n }, axisModel.getModel('axisLine.lineStyle').getLineStyle());\n this.group.add(new graphic.Line({\n // Id for animation\n anid: 'line',\n subPixelOptimize: true,\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 var arrows = axisModel.get('axisLine.symbol');\n var arrowSize = axisModel.get('axisLine.symbolSize');\n var arrowOffset = axisModel.get('axisLine.symbolOffset') || 0;\n\n if (typeof arrowOffset === 'number') {\n arrowOffset = [arrowOffset, arrowOffset];\n }\n\n if (arrows != null) {\n if (typeof arrows === 'string') {\n // Use the same arrow for start and end point\n arrows = [arrows, arrows];\n }\n\n if (typeof arrowSize === 'string' || typeof arrowSize === 'number') {\n // Use the same size for width and height\n arrowSize = [arrowSize, arrowSize];\n }\n\n var symbolWidth = arrowSize[0];\n var symbolHeight = arrowSize[1];\n 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 = createSymbol(arrows[index], -symbolWidth / 2, -symbolHeight / 2, symbolWidth, symbolHeight, lineStyle.stroke, true); // Calculate arrow position with offset\n\n var r = point.r + point.offset;\n var pos = [pt1[0] + r * Math.cos(opt.rotation), pt1[1] - r * Math.sin(opt.rotation)];\n symbol.attr({\n rotation: point.rotate,\n position: pos,\n silent: true,\n z2: 11\n });\n this.group.add(symbol);\n }\n }, this);\n }\n },\n\n /**\n * @private\n */\n axisTickLabel: function () {\n var axisModel = this.axisModel;\n var opt = this.opt;\n var ticksEls = buildAxisMajorTicks(this, axisModel, opt);\n var labelEls = buildAxisLabel(this, axisModel, opt);\n fixMinMaxLabelShow(axisModel, labelEls, ticksEls);\n buildAxisMinorTicks(this, axisModel, opt);\n },\n\n /**\n * @private\n */\n axisName: function () {\n var opt = this.opt;\n var axisModel = this.axisModel;\n var name = 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 = this.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, // 'middle'\n // 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 = innerTextLayout(opt.rotation, nameRotation != null ? nameRotation : opt.rotation, // Adapt to axis.\n nameDirection);\n } else {\n labelLayout = endTextLayout(opt, 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 = retrieve(opt.nameTruncateMaxWidth, truncateOpt.maxWidth, axisNameAvailableWidth); // FIXME\n // truncate rich text? (consider performance)\n\n var truncatedText = ellipsis != null && maxWidth != null ? formatUtil.truncateText(name, maxWidth, textFont, ellipsis, {\n minChar: 2,\n placeholder: truncateOpt.placeholder\n }) : name;\n var tooltipOpt = axisModel.get('tooltip', true);\n var mainType = axisModel.mainType;\n var formatterParams = {\n componentType: mainType,\n name: name,\n $vars: ['name']\n };\n formatterParams[mainType + 'Index'] = axisModel.componentIndex;\n var textEl = new graphic.Text({\n // Id for animation\n anid: 'name',\n __fullText: name,\n __truncatedText: truncatedText,\n position: pos,\n rotation: labelLayout.rotation,\n silent: isLabelSilent(axisModel),\n z2: 1,\n tooltip: tooltipOpt && tooltipOpt.show ? extend({\n content: name,\n formatter: function () {\n return name;\n },\n formatterParams: formatterParams\n }, tooltipOpt) : null\n });\n graphic.setTextStyle(textEl.style, textStyleModel, {\n text: truncatedText,\n textFont: textFont,\n textFill: textStyleModel.getTextColor() || axisModel.get('axisLine.lineStyle.color'),\n textAlign: textStyleModel.get('align') || labelLayout.textAlign,\n textVerticalAlign: textStyleModel.get('verticalAlign') || labelLayout.textVerticalAlign\n });\n\n if (axisModel.get('triggerEvent')) {\n textEl.eventData = makeAxisEventDataBase(axisModel);\n textEl.eventData.targetType = 'axisName';\n textEl.eventData.name = name;\n } // FIXME\n\n\n this._dumbGroup.add(textEl);\n\n textEl.updateTransform();\n this.group.add(textEl);\n textEl.decomposeTransform();\n }\n};\n\nvar makeAxisEventDataBase = 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 * @public\n * @static\n * @param {Object} opt\n * @param {number} axisRotation in radian\n * @param {number} textRotation in radian\n * @param {number} direction\n * @return {Object} {\n * rotation, // according to axis\n * textAlign,\n * textVerticalAlign\n * }\n */\n\n\nvar innerTextLayout = AxisBuilder.innerTextLayout = function (axisRotation, textRotation, direction) {\n var rotationDiff = remRadian(textRotation - axisRotation);\n var textAlign;\n var textVerticalAlign;\n\n if (isRadianAroundZero(rotationDiff)) {\n // Label is parallel with axis line.\n textVerticalAlign = direction > 0 ? 'top' : 'bottom';\n textAlign = 'center';\n } else if (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\nfunction endTextLayout(opt, textPosition, textRotate, extent) {\n var rotationDiff = remRadian(textRotate - opt.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 (isRadianAroundZero(rotationDiff - PI / 2)) {\n textVerticalAlign = onLeft ? 'bottom' : 'top';\n textAlign = 'center';\n } else if (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\nvar isLabelSilent = 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\nfunction fixMinMaxLabelShow(axisModel, labelEls, tickEls) {\n if (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, labelLayout) {\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 = matrixUtil.identity([]);\n matrixUtil.rotate(mRotationBack, mRotationBack, -current.rotation);\n firstRect.applyTransform(matrixUtil.mul([], mRotationBack, current.getLocalTransform()));\n nextRect.applyTransform(matrixUtil.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, aniid) {\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 v2ApplyTransform(pt1, pt1, tickTransform);\n v2ApplyTransform(pt2, pt2, tickTransform);\n } // Tick line, Not use group transform to have better line draw\n\n\n var tickEl = new graphic.Line({\n // Id for animation\n anid: aniid + '_' + ticksCoords[i].tickValue,\n subPixelOptimize: true,\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 silent: true\n });\n tickEls.push(tickEl);\n }\n\n return tickEls;\n}\n\nfunction buildAxisMajorTicks(axisBuilder, axisModel, opt) {\n var axis = axisModel.axis;\n var tickModel = axisModel.getModel('axisTick');\n\n if (!tickModel.get('show') || 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, axisBuilder._transform, tickEndCoord, defaults(lineStyleModel.getLineStyle(), {\n stroke: axisModel.get('axisLine.lineStyle.color')\n }), 'ticks');\n\n for (var i = 0; i < ticksEls.length; i++) {\n axisBuilder.group.add(ticksEls[i]);\n }\n\n return ticksEls;\n}\n\nfunction buildAxisMinorTicks(axisBuilder, axisModel, opt) {\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 = opt.tickDirection * minorTickModel.get('length');\n var minorTickLineStyle = defaults(lineStyleModel.getLineStyle(), 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], axisBuilder._transform, tickEndCoord, minorTickLineStyle, 'minorticks_' + i);\n\n for (var k = 0; k < minorTicksEls.length; k++) {\n axisBuilder.group.add(minorTicksEls[k]);\n }\n }\n}\n\nfunction buildAxisLabel(axisBuilder, axisModel, opt) {\n var axis = axisModel.axis;\n var show = 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 = (retrieve(opt.labelRotate, labelModel.get('rotate')) || 0) * PI / 180;\n var labelLayout = innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);\n var rawCategoryData = axisModel.getCategories && axisModel.getCategories(true);\n var labelEls = [];\n var silent = isLabelSilent(axisModel);\n var triggerEvent = axisModel.get('triggerEvent');\n each(labels, function (labelItem, index) {\n var tickValue = labelItem.tickValue;\n var formattedLabel = labelItem.formattedLabel;\n var rawLabel = labelItem.rawLabel;\n var itemLabelModel = labelModel;\n\n if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {\n itemLabelModel = new Model(rawCategoryData[tickValue].textStyle, labelModel, axisModel.ecModel);\n }\n\n var textColor = itemLabelModel.getTextColor() || axisModel.get('axisLine.lineStyle.color');\n var tickCoord = axis.dataToCoord(tickValue);\n var pos = [tickCoord, opt.labelOffset + opt.labelDirection * labelMargin];\n var textEl = new graphic.Text({\n // Id for animation\n anid: 'label_' + tickValue,\n position: pos,\n rotation: labelLayout.rotation,\n silent: silent,\n z2: 10\n });\n graphic.setTextStyle(textEl.style, itemLabelModel, {\n text: formattedLabel,\n textAlign: itemLabelModel.getShallow('align', true) || labelLayout.textAlign,\n textVerticalAlign: itemLabelModel.getShallow('verticalAlign', true) || itemLabelModel.getShallow('baseline', true) || labelLayout.textVerticalAlign,\n textFill: typeof textColor === 'function' ? 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 }); // Pack data for mouse event\n\n if (triggerEvent) {\n textEl.eventData = makeAxisEventDataBase(axisModel);\n textEl.eventData.targetType = 'axisLabel';\n textEl.eventData.value = rawLabel;\n } // FIXME\n\n\n axisBuilder._dumbGroup.add(textEl);\n\n textEl.updateTransform();\n labelEls.push(textEl);\n axisBuilder.group.add(textEl);\n textEl.decomposeTransform();\n });\n return labelEls;\n}\n\nvar _default = AxisBuilder;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/AxisBuilder.js?")},"+wW9":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar each = _util.each;\nvar isArray = _util.isArray;\nvar isObject = _util.isObject;\n\nvar compatStyle = __webpack_require__(\"JuEJ\");\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar normalizeToArray = _model.normalizeToArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Compatitable with 2.0\nfunction get(opt, path) {\n path = path.split(',');\n var obj = opt;\n\n for (var i = 0; i < path.length; i++) {\n obj = obj && obj[path[i]];\n\n if (obj == null) {\n break;\n }\n }\n\n return obj;\n}\n\nfunction set(opt, path, val, overwrite) {\n path = path.split(',');\n var obj = opt;\n var key;\n\n for (var i = 0; i < path.length - 1; i++) {\n key = path[i];\n\n if (obj[key] == null) {\n obj[key] = {};\n }\n\n obj = obj[key];\n }\n\n if (overwrite || obj[path[i]] == null) {\n obj[path[i]] = val;\n }\n}\n\nfunction compatLayoutProperties(option) {\n 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'];\n\nfunction _default(option, isTheme) {\n compatStyle(option, isTheme); // Make sure series array for model initialization.\n\n option.series = normalizeToArray(option.series);\n each(option.series, function (seriesOpt) {\n if (!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 } else if (seriesType === 'pie' || seriesType === 'gauge') {\n if (seriesOpt.clockWise != null) {\n seriesOpt.clockwise = seriesOpt.clockWise;\n }\n } else if (seriesType === 'gauge') {\n var pointerColor = get(seriesOpt, 'pointer.color');\n pointerColor != null && set(seriesOpt, 'itemStyle.color', pointerColor);\n }\n\n compatLayoutProperties(seriesOpt);\n }); // dataRange has changed to visualMap\n\n if (option.dataRange) {\n option.visualMap = option.dataRange;\n }\n\n each(COMPATITABLE_COMPONENTS, function (componentName) {\n var options = option[componentName];\n\n if (options) {\n if (!isArray(options)) {\n options = [options];\n }\n\n each(options, function (option) {\n compatLayoutProperties(option);\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/preprocessor/backwardCompat.js?")},"/IIm":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar Eventful = __webpack_require__(\"H6uX\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar interactionMutex = __webpack_require__(\"pP6R\");\n\nvar DataDiffer = __webpack_require__(\"gPAo\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 curry = zrUtil.curry;\nvar each = zrUtil.each;\nvar map = zrUtil.map;\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(0,0,0,0.3)',\n fill: 'rgba(0,0,0,0.1)'\n },\n transformable: true,\n brushMode: 'single',\n removeOnClick: false\n};\nvar baseUID = 0;\n/**\n * @alias module:echarts/component/helper/BrushController\n * @constructor\n * @mixin {module:zrender/mixin/Eventful}\n * @event module:echarts/component/helper/BrushController#brush\n * params:\n * areas: Array., coord relates to container group,\n * If no container specified, to global.\n * opt {\n * isEnd: boolean,\n * removeOnClick: boolean\n * }\n *\n * @param {module:zrender/zrender~ZRender} zr\n */\n\nfunction BrushController(zr) {\n Eventful.call(this);\n /**\n * @type {module:zrender/zrender~ZRender}\n * @private\n */\n\n this._zr = zr;\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = new graphic.Group();\n /**\n * Only for drawing (after enabledBrush).\n * 'line', 'rect', 'polygon' or false\n * If passing false/null/undefined, disable brush.\n * If passing 'auto', determined by panel.defaultBrushType\n * @private\n * @type {string}\n */\n\n this._brushType;\n /**\n * Only for drawing (after enabledBrush).\n *\n * @private\n * @type {Object}\n */\n\n this._brushOption;\n /**\n * @private\n * @type {Object}\n */\n\n this._panels;\n /**\n * @private\n * @type {Array.}\n */\n\n this._track = [];\n /**\n * @private\n * @type {boolean}\n */\n\n this._dragging;\n /**\n * @private\n * @type {Array}\n */\n\n this._covers = [];\n /**\n * @private\n * @type {moudule:zrender/container/Group}\n */\n\n this._creatingCover;\n /**\n * `true` means global panel\n * @private\n * @type {module:zrender/container/Group|boolean}\n */\n\n this._creatingPanel;\n /**\n * @private\n * @type {boolean}\n */\n\n this._enableGlobalPan;\n /**\n * @private\n * @type {boolean}\n */\n\n /**\n * @private\n * @type {string}\n */\n this._uid = 'brushController_' + baseUID++;\n /**\n * @private\n * @type {Object}\n */\n\n this._handlers = {};\n each(pointerHandlers, function (handler, eventName) {\n this._handlers[eventName] = zrUtil.bind(handler, this);\n }, this);\n}\n\nBrushController.prototype = {\n constructor: BrushController,\n\n /**\n * If set to null/undefined/false, select disabled.\n * @param {Object} brushOption\n * @param {string|boolean} brushOption.brushType 'line', 'rect', 'polygon' or false\n * If passing false/null/undefined, disable brush.\n * If passing 'auto', determined by panel.defaultBrushType.\n * ('auto' can not be used in global panel)\n * @param {number} [brushOption.brushMode='single'] 'single' or 'multiple'\n * @param {boolean} [brushOption.transformable=true]\n * @param {boolean} [brushOption.removeOnClick=false]\n * @param {Object} [brushOption.brushStyle]\n * @param {number} [brushOption.brushStyle.width]\n * @param {number} [brushOption.brushStyle.lineWidth]\n * @param {string} [brushOption.brushStyle.stroke]\n * @param {string} [brushOption.brushStyle.fill]\n * @param {number} [brushOption.z]\n */\n enableBrush: function (brushOption) {\n this._brushType && doDisableBrush(this);\n brushOption.brushType && doEnableBrush(this, brushOption);\n return this;\n },\n\n /**\n * @param {Array.} panelOpts If not pass, it is global brush.\n * Each items: {\n * panelId, // mandatory.\n * clipPath, // mandatory. function.\n * isTargetByCursor, // mandatory. function.\n * defaultBrushType, // optional, only used when brushType is 'auto'.\n * getLinearBrushOtherExtent, // optional. function.\n * }\n */\n setPanels: function (panelOpts) {\n if (panelOpts && panelOpts.length) {\n var panels = this._panels = {};\n zrUtil.each(panelOpts, function (panelOpts) {\n panels[panelOpts.panelId] = zrUtil.clone(panelOpts);\n });\n } else {\n this._panels = null;\n }\n\n return this;\n },\n\n /**\n * @param {Object} [opt]\n * @return {boolean} [opt.enableGlobalPan=false]\n */\n mount: function (opt) {\n opt = opt || {};\n this._enableGlobalPan = opt.enableGlobalPan;\n var thisGroup = this.group;\n\n this._zr.add(thisGroup);\n\n thisGroup.attr({\n position: opt.position || [0, 0],\n rotation: opt.rotation || 0,\n scale: opt.scale || [1, 1]\n });\n this._transform = thisGroup.getLocalTransform();\n return this;\n },\n eachCover: function (cb, context) {\n each(this._covers, cb, context);\n },\n\n /**\n * Update covers.\n * @param {Array.} brushOptionList Like:\n * [\n * {id: 'xx', brushType: 'line', range: [23, 44], brushStyle, transformable},\n * {id: 'yy', brushType: 'rect', range: [[23, 44], [23, 54]]},\n * ...\n * ]\n * `brushType` is required in each cover info. (can not be 'auto')\n * `id` is not mandatory.\n * `brushStyle`, `transformable` is not mandatory, use DEFAULT_BRUSH_OPT by default.\n * If brushOptionList is null/undefined, all covers removed.\n */\n updateCovers: function (brushOptionList) {\n brushOptionList = zrUtil.map(brushOptionList, function (brushOption) {\n return zrUtil.merge(zrUtil.clone(DEFAULT_BRUSH_OPT), brushOption, 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 DataDiffer(oldCovers, brushOptionList, 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 newBrushOption = brushOptionList[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 = newBrushOption, oldCovers[oldIndex]) : endCreating(controller, createCover(controller, newBrushOption));\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 unmount: function () {\n this.enableBrush(false); // container may 'removeAll' outside.\n\n clearCovers(this);\n\n this._zr.remove(this.group);\n\n return this;\n },\n dispose: function () {\n this.unmount();\n this.off();\n }\n};\nzrUtil.mixin(BrushController, Eventful);\n\nfunction doEnableBrush(controller, brushOption) {\n var zr = controller._zr; // Consider roam, which takes globalPan too.\n\n if (!controller._enableGlobalPan) {\n interactionMutex.take(zr, MUTEX_RESOURCE_KEY, controller._uid);\n }\n\n mountHandlers(zr, controller._handlers);\n controller._brushType = brushOption.brushType;\n controller._brushOption = zrUtil.merge(zrUtil.clone(DEFAULT_BRUSH_OPT), brushOption, true);\n}\n\nfunction doDisableBrush(controller) {\n var zr = controller._zr;\n interactionMutex.release(zr, MUTEX_RESOURCE_KEY, controller._uid);\n unmountHandlers(zr, controller._handlers);\n controller._brushType = controller._brushOption = null;\n}\n\nfunction mountHandlers(zr, handlers) {\n each(handlers, function (handler, eventName) {\n zr.on(eventName, handler);\n });\n}\n\nfunction unmountHandlers(zr, handlers) {\n each(handlers, function (handler, eventName) {\n zr.off(eventName, handler);\n });\n}\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 true; // Global panel\n }\n\n var panel;\n var transform = controller._transform;\n 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 true; // 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] : true;\n}\n\nfunction clearCovers(controller) {\n var covers = controller._covers;\n var originalLength = covers.length;\n 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 = map(controller._covers, function (cover) {\n var brushOption = cover.__brushOption;\n var range = zrUtil.clone(brushOption.range);\n return {\n brushType: brushOption.brushType,\n panelId: brushOption.panelId,\n range: range\n };\n });\n controller.trigger('brush', 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\nfunction createBaseRectCover(doDrift, controller, brushOption, edgeNames) {\n var cover = new graphic.Group();\n cover.add(new graphic.Rect({\n name: 'main',\n style: makeStyle(brushOption),\n silent: true,\n draggable: true,\n cursor: 'move',\n drift: curry(doDrift, controller, cover, 'nswe'),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n each(edgeNames, function (name) {\n cover.add(new graphic.Rect({\n name: name,\n style: {\n opacity: 0\n },\n draggable: true,\n silent: true,\n invisible: true,\n drift: curry(doDrift, controller, cover, name),\n ondragend: 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 each(['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw'], function (name) {\n var el = cover.childOfName(name);\n var globalDir = getGlobalDirection(controller, name);\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 zrUtil.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]], // x range\n [min[1], max[1]] // y range\n ];\n}\n\nfunction getTransform(controller) {\n return graphic.getTransform(controller.group);\n}\n\nfunction getGlobalDirection(controller, localDirection) {\n if (localDirection.length > 1) {\n localDirection = localDirection.split('');\n var globalDir = [getGlobalDirection(controller, localDirection[0]), getGlobalDirection(controller, localDirection[1])];\n (globalDir[0] === 'e' || globalDir[0] === 'w') && globalDir.reverse();\n return globalDir.join('');\n } else {\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 globalDir = graphic.transformDirection(map[localDirection], getTransform(controller));\n return inverseMap[globalDir];\n }\n}\n\nfunction driftRect(toRectRange, fromRectRange, controller, cover, name, dx, dy, e) {\n var brushOption = cover.__brushOption;\n var rectRange = toRectRange(brushOption.range);\n var localDelta = toLocalDelta(controller, dx, dy);\n each(name.split(''), function (namePart) {\n var ind = DIRECTION_MAP[namePart];\n rectRange[ind[0]][ind[1]] += localDelta[ind[0]];\n });\n brushOption.range = 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, e) {\n var range = cover.__brushOption.range;\n var localDelta = toLocalDelta(controller, dx, dy);\n 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 !== true ? panel.clipPath(data, controller._transform) : zrUtil.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)) {\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 === true || 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 = zrUtil.clone(thisBrushOption);\n brushOption.brushType = determineBrushType(brushOption.brushType, panel);\n brushOption.panelId = panel === true ? 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 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 mose 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 * @type {Object}\n */\n\n\nvar coverRenderers = {\n lineX: getLineRenderer(0),\n lineY: getLineRenderer(1),\n rect: {\n createCover: function (controller, brushOption) {\n return createBaseRectCover(curry(driftRect, function (range) {\n return range;\n }, function (range) {\n return range;\n }), controller, brushOption, ['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw']);\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 graphic.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 graphic.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 graphic.Polygon({\n name: 'main',\n draggable: true,\n drift: curry(driftPolygon, controller, cover),\n ondragend: 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(curry(driftRect, function (range) {\n var rectRange = [range, [0, 100]];\n xyIndex && rectRange.reverse();\n return rectRange;\n }, function (rectRange) {\n return rectRange[xyIndex];\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 !== true && panel.getLinearBrushOtherExtent) {\n otherExtent = panel.getLinearBrushOtherExtent(xyIndex, controller._transform);\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\nvar _default = BrushController;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/BrushController.js?")},"/MfK":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/DeleteOutlined.js\n// This icon file is generated automatically.\nvar DeleteOutlined_DeleteOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z" } }] }, "name": "delete", "theme": "outlined" };\n/* harmony default export */ var asn_DeleteOutlined = (DeleteOutlined_DeleteOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/DeleteOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_DeleteOutlined_DeleteOutlined = function DeleteOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_DeleteOutlined\n }));\n};\n\nicons_DeleteOutlined_DeleteOutlined.displayName = \'DeleteOutlined\';\n/* harmony default export */ var icons_DeleteOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_DeleteOutlined_DeleteOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/DeleteOutlined.js_+_1_modules?')},"/SeX":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 RadiusAxis = __webpack_require__(\"knOB\");\n\nvar AngleAxis = __webpack_require__(\"qZFw\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/polar/Polar\n */\n\n/**\n * @alias {module:echarts/coord/polar/Polar}\n * @constructor\n * @param {string} name\n */\nvar Polar = function (name) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * x of polar center\n * @type {number}\n */\n\n this.cx = 0;\n /**\n * y of polar center\n * @type {number}\n */\n\n this.cy = 0;\n /**\n * @type {module:echarts/coord/polar/RadiusAxis}\n * @private\n */\n\n this._radiusAxis = new RadiusAxis();\n /**\n * @type {module:echarts/coord/polar/AngleAxis}\n * @private\n */\n\n this._angleAxis = new AngleAxis();\n this._radiusAxis.polar = this._angleAxis.polar = this;\n};\n\nPolar.prototype = {\n type: 'polar',\n axisPointerEnabled: true,\n constructor: Polar,\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['radius', 'angle'],\n\n /**\n * @type {module:echarts/coord/PolarModel}\n */\n model: null,\n\n /**\n * If contain coord\n * @param {Array.} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var coord = this.pointToCoord(point);\n return this._radiusAxis.contain(coord[0]) && this._angleAxis.contain(coord[1]);\n },\n\n /**\n * If contain data\n * @param {Array.} data\n * @return {boolean}\n */\n containData: function (data) {\n return this._radiusAxis.containData(data[0]) && this._angleAxis.containData(data[1]);\n },\n\n /**\n * @param {string} dim\n * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n getAxis: function (dim) {\n return this['_' + dim + 'Axis'];\n },\n\n /**\n * @return {Array.}\n */\n getAxes: function () {\n return [this._radiusAxis, this._angleAxis];\n },\n\n /**\n * Get axes by type of scale\n * @param {string} scaleType\n * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n 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 /**\n * @return {module:echarts/coord/polar/AngleAxis}\n */\n getAngleAxis: function () {\n return this._angleAxis;\n },\n\n /**\n * @return {module:echarts/coord/polar/RadiusAxis}\n */\n getRadiusAxis: function () {\n return this._radiusAxis;\n },\n\n /**\n * @param {module:echarts/coord/polar/Axis}\n * @return {module:echarts/coord/polar/Axis}\n */\n getOtherAxis: function (axis) {\n var angleAxis = this._angleAxis;\n return axis === angleAxis ? this._radiusAxis : angleAxis;\n },\n\n /**\n * Base axis will be used on stacking.\n *\n * @return {module:echarts/coord/polar/Axis}\n */\n getBaseAxis: function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAngleAxis();\n },\n\n /**\n * @param {string} [dim] 'radius' or 'angle' or 'auto' or null/undefined\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n 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 /**\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 * @param {Array.} data\n * @param {boolean} [clamp=false]\n * @return {Array.}\n */\n dataToPoint: function (data, clamp) {\n return this.coordToPoint([this._radiusAxis.dataToRadius(data[0], clamp), this._angleAxis.dataToAngle(data[1], clamp)]);\n },\n\n /**\n * Convert a (x, y) point to data\n * @param {Array.} point\n * @param {boolean} [clamp=false]\n * @return {Array.}\n */\n 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 /**\n * Convert a (x, y) point to (radius, angle) coord\n * @param {Array.} point\n * @return {Array.}\n */\n 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 /**\n * Convert a (radius, angle) coord to (x, y) point\n * @param {Array.} coord\n * @return {Array.}\n */\n 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 /**\n * Get ring area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n * @return {Ring}\n */\n 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;\n var d2 = dx * dx + dy * dy;\n var r = this.r;\n var r0 = this.r0;\n return d2 <= r * r && d2 >= r0 * r0;\n }\n };\n }\n};\nvar _default = Polar;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/Polar.js?")},"/UlZ":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return MINIMAP_GUTTER_WIDTH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ConfigurationChangedEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return ValidatedEditorOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return TextEditorCursorStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return EditorFontLigatures; });\n/* unused harmony export EditorLayoutInfoComputer */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return filterValidationDecorations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return EDITOR_FONT_DEFAULTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return EDITOR_MODEL_DEFAULTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return editorOptionsRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return EditorOptions; });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"3/fG\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"MNsG\");\n/* harmony import */ var _model_wordHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"0JNc\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(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))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\n\r\n\r\n/**\r\n * @internal\r\n * The width of the minimap gutter, in pixels.\r\n */\r\nvar MINIMAP_GUTTER_WIDTH = 8;\r\n//#endregion\r\n/**\r\n * An event describing that the configuration of the editor has changed.\r\n */\r\nvar ConfigurationChangedEvent = /** @class */ (function () {\r\n /**\r\n * @internal\r\n */\r\n function ConfigurationChangedEvent(values) {\r\n this._values = values;\r\n }\r\n ConfigurationChangedEvent.prototype.hasChanged = function (id) {\r\n return this._values[id];\r\n };\r\n return ConfigurationChangedEvent;\r\n}());\r\n\r\n/**\r\n * @internal\r\n */\r\nvar ValidatedEditorOptions = /** @class */ (function () {\r\n function ValidatedEditorOptions() {\r\n this._values = [];\r\n }\r\n ValidatedEditorOptions.prototype._read = function (option) {\r\n return this._values[option];\r\n };\r\n ValidatedEditorOptions.prototype.get = function (id) {\r\n return this._values[id];\r\n };\r\n ValidatedEditorOptions.prototype._write = function (option, value) {\r\n this._values[option] = value;\r\n };\r\n return ValidatedEditorOptions;\r\n}());\r\n\r\n/**\r\n * @internal\r\n */\r\nvar BaseEditorOption = /** @class */ (function () {\r\n function BaseEditorOption(id, name, defaultValue, schema) {\r\n this.id = id;\r\n this.name = name;\r\n this.defaultValue = defaultValue;\r\n this.schema = schema;\r\n }\r\n BaseEditorOption.prototype.compute = function (env, options, value) {\r\n return value;\r\n };\r\n return BaseEditorOption;\r\n}());\r\n/**\r\n * @internal\r\n */\r\nvar ComputedEditorOption = /** @class */ (function () {\r\n function ComputedEditorOption(id, deps) {\r\n if (deps === void 0) { deps = null; }\r\n this.schema = undefined;\r\n this.id = id;\r\n this.name = '_never_';\r\n this.defaultValue = undefined;\r\n this.deps = deps;\r\n }\r\n ComputedEditorOption.prototype.validate = function (input) {\r\n return this.defaultValue;\r\n };\r\n return ComputedEditorOption;\r\n}());\r\nvar SimpleEditorOption = /** @class */ (function () {\r\n function SimpleEditorOption(id, name, defaultValue, schema) {\r\n this.id = id;\r\n this.name = name;\r\n this.defaultValue = defaultValue;\r\n this.schema = schema;\r\n }\r\n SimpleEditorOption.prototype.validate = function (input) {\r\n if (typeof input === 'undefined') {\r\n return this.defaultValue;\r\n }\r\n return input;\r\n };\r\n SimpleEditorOption.prototype.compute = function (env, options, value) {\r\n return value;\r\n };\r\n return SimpleEditorOption;\r\n}());\r\nvar EditorBooleanOption = /** @class */ (function (_super) {\r\n __extends(EditorBooleanOption, _super);\r\n function EditorBooleanOption(id, name, defaultValue, schema) {\r\n if (schema === void 0) { schema = undefined; }\r\n var _this = this;\r\n if (typeof schema !== 'undefined') {\r\n schema.type = 'boolean';\r\n schema.default = defaultValue;\r\n }\r\n _this = _super.call(this, id, name, defaultValue, schema) || this;\r\n return _this;\r\n }\r\n EditorBooleanOption.boolean = function (value, defaultValue) {\r\n if (typeof value === 'undefined') {\r\n return defaultValue;\r\n }\r\n if (value === 'false') {\r\n // treat the string 'false' as false\r\n return false;\r\n }\r\n return Boolean(value);\r\n };\r\n EditorBooleanOption.prototype.validate = function (input) {\r\n return EditorBooleanOption.boolean(input, this.defaultValue);\r\n };\r\n return EditorBooleanOption;\r\n}(SimpleEditorOption));\r\nvar EditorIntOption = /** @class */ (function (_super) {\r\n __extends(EditorIntOption, _super);\r\n function EditorIntOption(id, name, defaultValue, minimum, maximum, schema) {\r\n if (schema === void 0) { schema = undefined; }\r\n var _this = this;\r\n if (typeof schema !== 'undefined') {\r\n schema.type = 'integer';\r\n schema.default = defaultValue;\r\n schema.minimum = minimum;\r\n schema.maximum = maximum;\r\n }\r\n _this = _super.call(this, id, name, defaultValue, schema) || this;\r\n _this.minimum = minimum;\r\n _this.maximum = maximum;\r\n return _this;\r\n }\r\n EditorIntOption.clampedInt = function (value, defaultValue, minimum, maximum) {\r\n var r;\r\n if (typeof value === 'undefined') {\r\n r = defaultValue;\r\n }\r\n else {\r\n r = parseInt(value, 10);\r\n if (isNaN(r)) {\r\n r = defaultValue;\r\n }\r\n }\r\n r = Math.max(minimum, r);\r\n r = Math.min(maximum, r);\r\n return r | 0;\r\n };\r\n EditorIntOption.prototype.validate = function (input) {\r\n return EditorIntOption.clampedInt(input, this.defaultValue, this.minimum, this.maximum);\r\n };\r\n return EditorIntOption;\r\n}(SimpleEditorOption));\r\nvar EditorFloatOption = /** @class */ (function (_super) {\r\n __extends(EditorFloatOption, _super);\r\n function EditorFloatOption(id, name, defaultValue, validationFn, schema) {\r\n var _this = this;\r\n if (typeof schema !== 'undefined') {\r\n schema.type = 'number';\r\n schema.default = defaultValue;\r\n }\r\n _this = _super.call(this, id, name, defaultValue, schema) || this;\r\n _this.validationFn = validationFn;\r\n return _this;\r\n }\r\n EditorFloatOption.clamp = function (n, min, max) {\r\n if (n < min) {\r\n return min;\r\n }\r\n if (n > max) {\r\n return max;\r\n }\r\n return n;\r\n };\r\n EditorFloatOption.float = function (value, defaultValue) {\r\n if (typeof value === 'number') {\r\n return value;\r\n }\r\n if (typeof value === 'undefined') {\r\n return defaultValue;\r\n }\r\n var r = parseFloat(value);\r\n return (isNaN(r) ? defaultValue : r);\r\n };\r\n EditorFloatOption.prototype.validate = function (input) {\r\n return this.validationFn(EditorFloatOption.float(input, this.defaultValue));\r\n };\r\n return EditorFloatOption;\r\n}(SimpleEditorOption));\r\nvar EditorStringOption = /** @class */ (function (_super) {\r\n __extends(EditorStringOption, _super);\r\n function EditorStringOption(id, name, defaultValue, schema) {\r\n if (schema === void 0) { schema = undefined; }\r\n var _this = this;\r\n if (typeof schema !== 'undefined') {\r\n schema.type = 'string';\r\n schema.default = defaultValue;\r\n }\r\n _this = _super.call(this, id, name, defaultValue, schema) || this;\r\n return _this;\r\n }\r\n EditorStringOption.string = function (value, defaultValue) {\r\n if (typeof value !== 'string') {\r\n return defaultValue;\r\n }\r\n return value;\r\n };\r\n EditorStringOption.prototype.validate = function (input) {\r\n return EditorStringOption.string(input, this.defaultValue);\r\n };\r\n return EditorStringOption;\r\n}(SimpleEditorOption));\r\nvar EditorStringEnumOption = /** @class */ (function (_super) {\r\n __extends(EditorStringEnumOption, _super);\r\n function EditorStringEnumOption(id, name, defaultValue, allowedValues, schema) {\r\n if (schema === void 0) { schema = undefined; }\r\n var _this = this;\r\n if (typeof schema !== 'undefined') {\r\n schema.type = 'string';\r\n schema.enum = allowedValues;\r\n schema.default = defaultValue;\r\n }\r\n _this = _super.call(this, id, name, defaultValue, schema) || this;\r\n _this._allowedValues = allowedValues;\r\n return _this;\r\n }\r\n EditorStringEnumOption.stringSet = function (value, defaultValue, allowedValues) {\r\n if (typeof value !== 'string') {\r\n return defaultValue;\r\n }\r\n if (allowedValues.indexOf(value) === -1) {\r\n return defaultValue;\r\n }\r\n return value;\r\n };\r\n EditorStringEnumOption.prototype.validate = function (input) {\r\n return EditorStringEnumOption.stringSet(input, this.defaultValue, this._allowedValues);\r\n };\r\n return EditorStringEnumOption;\r\n}(SimpleEditorOption));\r\nvar EditorEnumOption = /** @class */ (function (_super) {\r\n __extends(EditorEnumOption, _super);\r\n function EditorEnumOption(id, name, defaultValue, defaultStringValue, allowedValues, convert, schema) {\r\n if (schema === void 0) { schema = undefined; }\r\n var _this = this;\r\n if (typeof schema !== 'undefined') {\r\n schema.type = 'string';\r\n schema.enum = allowedValues;\r\n schema.default = defaultStringValue;\r\n }\r\n _this = _super.call(this, id, name, defaultValue, schema) || this;\r\n _this._allowedValues = allowedValues;\r\n _this._convert = convert;\r\n return _this;\r\n }\r\n EditorEnumOption.prototype.validate = function (input) {\r\n if (typeof input !== 'string') {\r\n return this.defaultValue;\r\n }\r\n if (this._allowedValues.indexOf(input) === -1) {\r\n return this.defaultValue;\r\n }\r\n return this._convert(input);\r\n };\r\n return EditorEnumOption;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region autoIndent\r\nfunction _autoIndentFromString(autoIndent) {\r\n switch (autoIndent) {\r\n case 'none': return 0 /* None */;\r\n case 'keep': return 1 /* Keep */;\r\n case 'brackets': return 2 /* Brackets */;\r\n case 'advanced': return 3 /* Advanced */;\r\n case 'full': return 4 /* Full */;\r\n }\r\n}\r\n//#endregion\r\n//#region accessibilitySupport\r\nvar EditorAccessibilitySupport = /** @class */ (function (_super) {\r\n __extends(EditorAccessibilitySupport, _super);\r\n function EditorAccessibilitySupport() {\r\n return _super.call(this, 2 /* accessibilitySupport */, 'accessibilitySupport', 0 /* Unknown */, {\r\n type: 'string',\r\n enum: ['auto', 'on', 'off'],\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('accessibilitySupport.auto', \"The editor will use platform APIs to detect when a Screen Reader is attached.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('accessibilitySupport.on', \"The editor will be permanently optimized for usage with a Screen Reader.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('accessibilitySupport.off', \"The editor will never be optimized for usage with a Screen Reader.\"),\r\n ],\r\n default: 'auto',\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('accessibilitySupport', \"Controls whether the editor should run in a mode where it is optimized for screen readers.\")\r\n }) || this;\r\n }\r\n EditorAccessibilitySupport.prototype.validate = function (input) {\r\n switch (input) {\r\n case 'auto': return 0 /* Unknown */;\r\n case 'off': return 1 /* Disabled */;\r\n case 'on': return 2 /* Enabled */;\r\n }\r\n return this.defaultValue;\r\n };\r\n EditorAccessibilitySupport.prototype.compute = function (env, options, value) {\r\n if (value === 0 /* Unknown */) {\r\n // The editor reads the `accessibilitySupport` from the environment\r\n return env.accessibilitySupport;\r\n }\r\n return value;\r\n };\r\n return EditorAccessibilitySupport;\r\n}(BaseEditorOption));\r\nvar EditorComments = /** @class */ (function (_super) {\r\n __extends(EditorComments, _super);\r\n function EditorComments() {\r\n var _this = this;\r\n var defaults = {\r\n insertSpace: true,\r\n };\r\n _this = _super.call(this, 13 /* comments */, 'comments', defaults, {\r\n 'editor.comments.insertSpace': {\r\n type: 'boolean',\r\n default: defaults.insertSpace,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('comments.insertSpace', \"Controls whether a space character is inserted when commenting.\")\r\n },\r\n }) || this;\r\n return _this;\r\n }\r\n EditorComments.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n insertSpace: EditorBooleanOption.boolean(input.insertSpace, this.defaultValue.insertSpace),\r\n };\r\n };\r\n return EditorComments;\r\n}(BaseEditorOption));\r\nfunction _cursorBlinkingStyleFromString(cursorBlinkingStyle) {\r\n switch (cursorBlinkingStyle) {\r\n case 'blink': return 1 /* Blink */;\r\n case 'smooth': return 2 /* Smooth */;\r\n case 'phase': return 3 /* Phase */;\r\n case 'expand': return 4 /* Expand */;\r\n case 'solid': return 5 /* Solid */;\r\n }\r\n}\r\n//#endregion\r\n//#region cursorStyle\r\n/**\r\n * The style in which the editor's cursor should be rendered.\r\n */\r\nvar TextEditorCursorStyle;\r\n(function (TextEditorCursorStyle) {\r\n /**\r\n * As a vertical line (sitting between two characters).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle[\"Line\"] = 1] = \"Line\";\r\n /**\r\n * As a block (sitting on top of a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle[\"Block\"] = 2] = \"Block\";\r\n /**\r\n * As a horizontal line (sitting under a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle[\"Underline\"] = 3] = \"Underline\";\r\n /**\r\n * As a thin vertical line (sitting between two characters).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle[\"LineThin\"] = 4] = \"LineThin\";\r\n /**\r\n * As an outlined block (sitting on top of a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle[\"BlockOutline\"] = 5] = \"BlockOutline\";\r\n /**\r\n * As a thin horizontal line (sitting under a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle[\"UnderlineThin\"] = 6] = \"UnderlineThin\";\r\n})(TextEditorCursorStyle || (TextEditorCursorStyle = {}));\r\nfunction _cursorStyleFromString(cursorStyle) {\r\n switch (cursorStyle) {\r\n case 'line': return TextEditorCursorStyle.Line;\r\n case 'block': return TextEditorCursorStyle.Block;\r\n case 'underline': return TextEditorCursorStyle.Underline;\r\n case 'line-thin': return TextEditorCursorStyle.LineThin;\r\n case 'block-outline': return TextEditorCursorStyle.BlockOutline;\r\n case 'underline-thin': return TextEditorCursorStyle.UnderlineThin;\r\n }\r\n}\r\n//#endregion\r\n//#region editorClassName\r\nvar EditorClassName = /** @class */ (function (_super) {\r\n __extends(EditorClassName, _super);\r\n function EditorClassName() {\r\n return _super.call(this, 104 /* editorClassName */, [55 /* mouseStyle */, 26 /* extraEditorClassName */]) || this;\r\n }\r\n EditorClassName.prototype.compute = function (env, options, _) {\r\n var className = 'monaco-editor';\r\n if (options.get(26 /* extraEditorClassName */)) {\r\n className += ' ' + options.get(26 /* extraEditorClassName */);\r\n }\r\n if (env.extraEditorClassName) {\r\n className += ' ' + env.extraEditorClassName;\r\n }\r\n if (options.get(55 /* mouseStyle */) === 'default') {\r\n className += ' mouse-default';\r\n }\r\n else if (options.get(55 /* mouseStyle */) === 'copy') {\r\n className += ' mouse-copy';\r\n }\r\n if (options.get(85 /* showUnused */)) {\r\n className += ' showUnused';\r\n }\r\n return className;\r\n };\r\n return EditorClassName;\r\n}(ComputedEditorOption));\r\n//#endregion\r\n//#region emptySelectionClipboard\r\nvar EditorEmptySelectionClipboard = /** @class */ (function (_super) {\r\n __extends(EditorEmptySelectionClipboard, _super);\r\n function EditorEmptySelectionClipboard() {\r\n return _super.call(this, 25 /* emptySelectionClipboard */, 'emptySelectionClipboard', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('emptySelectionClipboard', \"Controls whether copying without a selection copies the current line.\") }) || this;\r\n }\r\n EditorEmptySelectionClipboard.prototype.compute = function (env, options, value) {\r\n return value && env.emptySelectionClipboard;\r\n };\r\n return EditorEmptySelectionClipboard;\r\n}(EditorBooleanOption));\r\nvar EditorFind = /** @class */ (function (_super) {\r\n __extends(EditorFind, _super);\r\n function EditorFind() {\r\n var _this = this;\r\n var defaults = {\r\n seedSearchStringFromSelection: true,\r\n autoFindInSelection: 'never',\r\n globalFindClipboard: false,\r\n addExtraSpaceOnTop: true\r\n };\r\n _this = _super.call(this, 28 /* find */, 'find', defaults, {\r\n 'editor.find.seedSearchStringFromSelection': {\r\n type: 'boolean',\r\n default: defaults.seedSearchStringFromSelection,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('find.seedSearchStringFromSelection', \"Controls whether the search string in the Find Widget is seeded from the editor selection.\")\r\n },\r\n 'editor.find.autoFindInSelection': {\r\n type: 'string',\r\n enum: ['never', 'always', 'multiline'],\r\n default: defaults.autoFindInSelection,\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.find.autoFindInSelection.never', 'Never turn on Find in selection automatically (default)'),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.find.autoFindInSelection.always', 'Always turn on Find in selection automatically'),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.find.autoFindInSelection.multiline', 'Turn on Find in selection automatically when multiple lines of content are selected.')\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('find.autoFindInSelection', \"Controls whether the find operation is carried out on selected text or the entire file in the editor.\")\r\n },\r\n 'editor.find.globalFindClipboard': {\r\n type: 'boolean',\r\n default: defaults.globalFindClipboard,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('find.globalFindClipboard', \"Controls whether the Find Widget should read or modify the shared find clipboard on macOS.\"),\r\n included: _base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isMacintosh */ \"e\"]\r\n },\r\n 'editor.find.addExtraSpaceOnTop': {\r\n type: 'boolean',\r\n default: defaults.addExtraSpaceOnTop,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('find.addExtraSpaceOnTop', \"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.\")\r\n }\r\n }) || this;\r\n return _this;\r\n }\r\n EditorFind.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n seedSearchStringFromSelection: EditorBooleanOption.boolean(input.seedSearchStringFromSelection, this.defaultValue.seedSearchStringFromSelection),\r\n autoFindInSelection: typeof _input.autoFindInSelection === 'boolean'\r\n ? (_input.autoFindInSelection ? 'always' : 'never')\r\n : EditorStringEnumOption.stringSet(input.autoFindInSelection, this.defaultValue.autoFindInSelection, ['never', 'always', 'multiline']),\r\n globalFindClipboard: EditorBooleanOption.boolean(input.globalFindClipboard, this.defaultValue.globalFindClipboard),\r\n addExtraSpaceOnTop: EditorBooleanOption.boolean(input.addExtraSpaceOnTop, this.defaultValue.addExtraSpaceOnTop)\r\n };\r\n };\r\n return EditorFind;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region fontLigatures\r\n/**\r\n * @internal\r\n */\r\nvar EditorFontLigatures = /** @class */ (function (_super) {\r\n __extends(EditorFontLigatures, _super);\r\n function EditorFontLigatures() {\r\n return _super.call(this, 35 /* fontLigatures */, 'fontLigatures', EditorFontLigatures.OFF, {\r\n anyOf: [\r\n {\r\n type: 'boolean',\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fontLigatures', \"Enables/Disables font ligatures.\"),\r\n },\r\n {\r\n type: 'string',\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fontFeatureSettings', \"Explicit font-feature-settings.\")\r\n }\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fontLigaturesGeneral', \"Configures font ligatures.\"),\r\n default: false\r\n }) || this;\r\n }\r\n EditorFontLigatures.prototype.validate = function (input) {\r\n if (typeof input === 'undefined') {\r\n return this.defaultValue;\r\n }\r\n if (typeof input === 'string') {\r\n if (input === 'false') {\r\n return EditorFontLigatures.OFF;\r\n }\r\n if (input === 'true') {\r\n return EditorFontLigatures.ON;\r\n }\r\n return input;\r\n }\r\n if (Boolean(input)) {\r\n return EditorFontLigatures.ON;\r\n }\r\n return EditorFontLigatures.OFF;\r\n };\r\n EditorFontLigatures.OFF = '\"liga\" off, \"calt\" off';\r\n EditorFontLigatures.ON = '\"liga\" on, \"calt\" on';\r\n return EditorFontLigatures;\r\n}(BaseEditorOption));\r\n\r\n//#endregion\r\n//#region fontInfo\r\nvar EditorFontInfo = /** @class */ (function (_super) {\r\n __extends(EditorFontInfo, _super);\r\n function EditorFontInfo() {\r\n return _super.call(this, 34 /* fontInfo */) || this;\r\n }\r\n EditorFontInfo.prototype.compute = function (env, options, _) {\r\n return env.fontInfo;\r\n };\r\n return EditorFontInfo;\r\n}(ComputedEditorOption));\r\n//#endregion\r\n//#region fontSize\r\nvar EditorFontSize = /** @class */ (function (_super) {\r\n __extends(EditorFontSize, _super);\r\n function EditorFontSize() {\r\n return _super.call(this, 36 /* fontSize */, 'fontSize', EDITOR_FONT_DEFAULTS.fontSize, {\r\n type: 'number',\r\n minimum: 6,\r\n maximum: 100,\r\n default: EDITOR_FONT_DEFAULTS.fontSize,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fontSize', \"Controls the font size in pixels.\")\r\n }) || this;\r\n }\r\n EditorFontSize.prototype.validate = function (input) {\r\n var r = EditorFloatOption.float(input, this.defaultValue);\r\n if (r === 0) {\r\n return EDITOR_FONT_DEFAULTS.fontSize;\r\n }\r\n return EditorFloatOption.clamp(r, 6, 100);\r\n };\r\n EditorFontSize.prototype.compute = function (env, options, value) {\r\n // The final fontSize respects the editor zoom level.\r\n // So take the result from env.fontInfo\r\n return env.fontInfo.fontSize;\r\n };\r\n return EditorFontSize;\r\n}(SimpleEditorOption));\r\nvar EditorGoToLocation = /** @class */ (function (_super) {\r\n __extends(EditorGoToLocation, _super);\r\n function EditorGoToLocation() {\r\n var _this = this;\r\n var defaults = {\r\n multiple: 'peek',\r\n multipleDefinitions: 'peek',\r\n multipleTypeDefinitions: 'peek',\r\n multipleDeclarations: 'peek',\r\n multipleImplementations: 'peek',\r\n multipleReferences: 'peek',\r\n alternativeDefinitionCommand: 'editor.action.goToReferences',\r\n alternativeTypeDefinitionCommand: 'editor.action.goToReferences',\r\n alternativeDeclarationCommand: 'editor.action.goToReferences',\r\n alternativeImplementationCommand: '',\r\n alternativeReferenceCommand: '',\r\n };\r\n var jsonSubset = {\r\n type: 'string',\r\n enum: ['peek', 'gotoAndPeek', 'goto'],\r\n default: defaults.multiple,\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.gotoLocation.multiple.peek', 'Show peek view of the results (default)'),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.gotoLocation.multiple.gotoAndPeek', 'Go to the primary result and show a peek view'),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.gotoLocation.multiple.goto', 'Go to the primary result and enable peek-less navigation to others')\r\n ]\r\n };\r\n _this = _super.call(this, 41 /* gotoLocation */, 'gotoLocation', defaults, {\r\n 'editor.gotoLocation.multiple': {\r\n deprecationMessage: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.gotoLocation.multiple.deprecated', \"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.\"),\r\n },\r\n 'editor.gotoLocation.multipleDefinitions': __assign({ description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.editor.gotoLocation.multipleDefinitions', \"Controls the behavior the 'Go to Definition'-command when multiple target locations exist.\") }, jsonSubset),\r\n 'editor.gotoLocation.multipleTypeDefinitions': __assign({ description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.editor.gotoLocation.multipleTypeDefinitions', \"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.\") }, jsonSubset),\r\n 'editor.gotoLocation.multipleDeclarations': __assign({ description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.editor.gotoLocation.multipleDeclarations', \"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.\") }, jsonSubset),\r\n 'editor.gotoLocation.multipleImplementations': __assign({ description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.editor.gotoLocation.multipleImplemenattions', \"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.\") }, jsonSubset),\r\n 'editor.gotoLocation.multipleReferences': __assign({ description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.editor.gotoLocation.multipleReferences', \"Controls the behavior the 'Go to References'-command when multiple target locations exist.\") }, jsonSubset),\r\n 'editor.gotoLocation.alternativeDefinitionCommand': {\r\n type: 'string',\r\n default: defaults.alternativeDefinitionCommand,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('alternativeDefinitionCommand', \"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.\")\r\n },\r\n 'editor.gotoLocation.alternativeTypeDefinitionCommand': {\r\n type: 'string',\r\n default: defaults.alternativeTypeDefinitionCommand,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('alternativeTypeDefinitionCommand', \"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.\")\r\n },\r\n 'editor.gotoLocation.alternativeDeclarationCommand': {\r\n type: 'string',\r\n default: defaults.alternativeDeclarationCommand,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('alternativeDeclarationCommand', \"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.\")\r\n },\r\n 'editor.gotoLocation.alternativeImplementationCommand': {\r\n type: 'string',\r\n default: defaults.alternativeImplementationCommand,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('alternativeImplementationCommand', \"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.\")\r\n },\r\n 'editor.gotoLocation.alternativeReferenceCommand': {\r\n type: 'string',\r\n default: defaults.alternativeReferenceCommand,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('alternativeReferenceCommand', \"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.\")\r\n },\r\n }) || this;\r\n return _this;\r\n }\r\n EditorGoToLocation.prototype.validate = function (_input) {\r\n var _a, _b, _c, _d, _e;\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n multiple: EditorStringEnumOption.stringSet(input.multiple, this.defaultValue.multiple, ['peek', 'gotoAndPeek', 'goto']),\r\n multipleDefinitions: (_a = input.multipleDefinitions) !== null && _a !== void 0 ? _a : EditorStringEnumOption.stringSet(input.multipleDefinitions, 'peek', ['peek', 'gotoAndPeek', 'goto']),\r\n multipleTypeDefinitions: (_b = input.multipleTypeDefinitions) !== null && _b !== void 0 ? _b : EditorStringEnumOption.stringSet(input.multipleTypeDefinitions, 'peek', ['peek', 'gotoAndPeek', 'goto']),\r\n multipleDeclarations: (_c = input.multipleDeclarations) !== null && _c !== void 0 ? _c : EditorStringEnumOption.stringSet(input.multipleDeclarations, 'peek', ['peek', 'gotoAndPeek', 'goto']),\r\n multipleImplementations: (_d = input.multipleImplementations) !== null && _d !== void 0 ? _d : EditorStringEnumOption.stringSet(input.multipleImplementations, 'peek', ['peek', 'gotoAndPeek', 'goto']),\r\n multipleReferences: (_e = input.multipleReferences) !== null && _e !== void 0 ? _e : EditorStringEnumOption.stringSet(input.multipleReferences, 'peek', ['peek', 'gotoAndPeek', 'goto']),\r\n alternativeDefinitionCommand: EditorStringOption.string(input.alternativeDefinitionCommand, this.defaultValue.alternativeDefinitionCommand),\r\n alternativeTypeDefinitionCommand: EditorStringOption.string(input.alternativeTypeDefinitionCommand, this.defaultValue.alternativeTypeDefinitionCommand),\r\n alternativeDeclarationCommand: EditorStringOption.string(input.alternativeDeclarationCommand, this.defaultValue.alternativeDeclarationCommand),\r\n alternativeImplementationCommand: EditorStringOption.string(input.alternativeImplementationCommand, this.defaultValue.alternativeImplementationCommand),\r\n alternativeReferenceCommand: EditorStringOption.string(input.alternativeReferenceCommand, this.defaultValue.alternativeReferenceCommand),\r\n };\r\n };\r\n return EditorGoToLocation;\r\n}(BaseEditorOption));\r\nvar EditorHover = /** @class */ (function (_super) {\r\n __extends(EditorHover, _super);\r\n function EditorHover() {\r\n var _this = this;\r\n var defaults = {\r\n enabled: true,\r\n delay: 300,\r\n sticky: true\r\n };\r\n _this = _super.call(this, 44 /* hover */, 'hover', defaults, {\r\n 'editor.hover.enabled': {\r\n type: 'boolean',\r\n default: defaults.enabled,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('hover.enabled', \"Controls whether the hover is shown.\")\r\n },\r\n 'editor.hover.delay': {\r\n type: 'number',\r\n default: defaults.delay,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('hover.delay', \"Controls the delay in milliseconds after which the hover is shown.\")\r\n },\r\n 'editor.hover.sticky': {\r\n type: 'boolean',\r\n default: defaults.sticky,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('hover.sticky', \"Controls whether the hover should remain visible when mouse is moved over it.\")\r\n },\r\n }) || this;\r\n return _this;\r\n }\r\n EditorHover.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n enabled: EditorBooleanOption.boolean(input.enabled, this.defaultValue.enabled),\r\n delay: EditorIntOption.clampedInt(input.delay, this.defaultValue.delay, 0, 10000),\r\n sticky: EditorBooleanOption.boolean(input.sticky, this.defaultValue.sticky)\r\n };\r\n };\r\n return EditorHover;\r\n}(BaseEditorOption));\r\n/**\r\n * @internal\r\n */\r\nvar EditorLayoutInfoComputer = /** @class */ (function (_super) {\r\n __extends(EditorLayoutInfoComputer, _super);\r\n function EditorLayoutInfoComputer() {\r\n return _super.call(this, 107 /* layoutInfo */, [40 /* glyphMargin */, 48 /* lineDecorationsWidth */, 30 /* folding */, 54 /* minimap */, 78 /* scrollbar */, 50 /* lineNumbers */]) || this;\r\n }\r\n EditorLayoutInfoComputer.prototype.compute = function (env, options, _) {\r\n return EditorLayoutInfoComputer.computeLayout(options, {\r\n outerWidth: env.outerWidth,\r\n outerHeight: env.outerHeight,\r\n lineHeight: env.fontInfo.lineHeight,\r\n lineNumbersDigitCount: env.lineNumbersDigitCount,\r\n typicalHalfwidthCharacterWidth: env.fontInfo.typicalHalfwidthCharacterWidth,\r\n maxDigitWidth: env.fontInfo.maxDigitWidth,\r\n pixelRatio: env.pixelRatio\r\n });\r\n };\r\n EditorLayoutInfoComputer.computeLayout = function (options, env) {\r\n var outerWidth = env.outerWidth | 0;\r\n var outerHeight = env.outerHeight | 0;\r\n var lineHeight = env.lineHeight | 0;\r\n var lineNumbersDigitCount = env.lineNumbersDigitCount | 0;\r\n var typicalHalfwidthCharacterWidth = env.typicalHalfwidthCharacterWidth;\r\n var maxDigitWidth = env.maxDigitWidth;\r\n var pixelRatio = env.pixelRatio;\r\n var showGlyphMargin = options.get(40 /* glyphMargin */);\r\n var showLineNumbers = (options.get(50 /* lineNumbers */).renderType !== 0 /* Off */);\r\n var lineNumbersMinChars = options.get(51 /* lineNumbersMinChars */) | 0;\r\n var minimap = options.get(54 /* minimap */);\r\n var minimapEnabled = minimap.enabled;\r\n var minimapSide = minimap.side;\r\n var minimapRenderCharacters = minimap.renderCharacters;\r\n var minimapScale = (pixelRatio >= 2 ? Math.round(minimap.scale * 2) : minimap.scale);\r\n var minimapMaxColumn = minimap.maxColumn | 0;\r\n var scrollbar = options.get(78 /* scrollbar */);\r\n var verticalScrollbarWidth = scrollbar.verticalScrollbarSize | 0;\r\n var verticalScrollbarHasArrows = scrollbar.verticalHasArrows;\r\n var scrollbarArrowSize = scrollbar.arrowSize | 0;\r\n var horizontalScrollbarHeight = scrollbar.horizontalScrollbarSize | 0;\r\n var rawLineDecorationsWidth = options.get(48 /* lineDecorationsWidth */);\r\n var folding = options.get(30 /* folding */);\r\n var lineDecorationsWidth;\r\n if (typeof rawLineDecorationsWidth === 'string' && /^\\d+(\\.\\d+)?ch$/.test(rawLineDecorationsWidth)) {\r\n var multiple = parseFloat(rawLineDecorationsWidth.substr(0, rawLineDecorationsWidth.length - 2));\r\n lineDecorationsWidth = EditorIntOption.clampedInt(multiple * typicalHalfwidthCharacterWidth, 0, 0, 1000);\r\n }\r\n else {\r\n lineDecorationsWidth = EditorIntOption.clampedInt(rawLineDecorationsWidth, 0, 0, 1000);\r\n }\r\n if (folding) {\r\n lineDecorationsWidth += 16;\r\n }\r\n var lineNumbersWidth = 0;\r\n if (showLineNumbers) {\r\n var digitCount = Math.max(lineNumbersDigitCount, lineNumbersMinChars);\r\n lineNumbersWidth = Math.round(digitCount * maxDigitWidth);\r\n }\r\n var glyphMarginWidth = 0;\r\n if (showGlyphMargin) {\r\n glyphMarginWidth = lineHeight;\r\n }\r\n var glyphMarginLeft = 0;\r\n var lineNumbersLeft = glyphMarginLeft + glyphMarginWidth;\r\n var decorationsLeft = lineNumbersLeft + lineNumbersWidth;\r\n var contentLeft = decorationsLeft + lineDecorationsWidth;\r\n var remainingWidth = outerWidth - glyphMarginWidth - lineNumbersWidth - lineDecorationsWidth;\r\n var renderMinimap;\r\n var minimapLeft;\r\n var minimapWidth;\r\n var contentWidth;\r\n if (!minimapEnabled) {\r\n minimapLeft = 0;\r\n minimapWidth = 0;\r\n renderMinimap = 0 /* None */;\r\n contentWidth = remainingWidth;\r\n }\r\n else {\r\n // The minimapScale is also the pixel width of each character. Adjust\r\n // for the pixel ratio of the screen.\r\n var minimapCharWidth = minimapScale / pixelRatio;\r\n renderMinimap = minimapRenderCharacters ? 1 /* Text */ : 2 /* Blocks */;\r\n // Given:\r\n // (leaving 2px for the cursor to have space after the last character)\r\n // viewportColumn = (contentWidth - verticalScrollbarWidth - 2) / typicalHalfwidthCharacterWidth\r\n // minimapWidth = viewportColumn * minimapCharWidth\r\n // contentWidth = remainingWidth - minimapWidth\r\n // What are good values for contentWidth and minimapWidth ?\r\n // minimapWidth = ((contentWidth - verticalScrollbarWidth - 2) / typicalHalfwidthCharacterWidth) * minimapCharWidth\r\n // typicalHalfwidthCharacterWidth * minimapWidth = (contentWidth - verticalScrollbarWidth - 2) * minimapCharWidth\r\n // typicalHalfwidthCharacterWidth * minimapWidth = (remainingWidth - minimapWidth - verticalScrollbarWidth - 2) * minimapCharWidth\r\n // (typicalHalfwidthCharacterWidth + minimapCharWidth) * minimapWidth = (remainingWidth - verticalScrollbarWidth - 2) * minimapCharWidth\r\n // minimapWidth = ((remainingWidth - verticalScrollbarWidth - 2) * minimapCharWidth) / (typicalHalfwidthCharacterWidth + minimapCharWidth)\r\n minimapWidth = Math.max(0, Math.floor(((remainingWidth - verticalScrollbarWidth - 2) * minimapCharWidth) / (typicalHalfwidthCharacterWidth + minimapCharWidth))) + MINIMAP_GUTTER_WIDTH;\r\n var minimapColumns = minimapWidth / minimapCharWidth;\r\n if (minimapColumns > minimapMaxColumn) {\r\n minimapWidth = Math.floor(minimapMaxColumn * minimapCharWidth);\r\n }\r\n contentWidth = remainingWidth - minimapWidth;\r\n if (minimapSide === 'left') {\r\n minimapLeft = 0;\r\n glyphMarginLeft += minimapWidth;\r\n lineNumbersLeft += minimapWidth;\r\n decorationsLeft += minimapWidth;\r\n contentLeft += minimapWidth;\r\n }\r\n else {\r\n minimapLeft = outerWidth - minimapWidth - verticalScrollbarWidth;\r\n }\r\n }\r\n // (leaving 2px for the cursor to have space after the last character)\r\n var viewportColumn = Math.max(1, Math.floor((contentWidth - verticalScrollbarWidth - 2) / typicalHalfwidthCharacterWidth));\r\n var verticalArrowSize = (verticalScrollbarHasArrows ? scrollbarArrowSize : 0);\r\n return {\r\n width: outerWidth,\r\n height: outerHeight,\r\n glyphMarginLeft: glyphMarginLeft,\r\n glyphMarginWidth: glyphMarginWidth,\r\n lineNumbersLeft: lineNumbersLeft,\r\n lineNumbersWidth: lineNumbersWidth,\r\n decorationsLeft: decorationsLeft,\r\n decorationsWidth: lineDecorationsWidth,\r\n contentLeft: contentLeft,\r\n contentWidth: contentWidth,\r\n renderMinimap: renderMinimap,\r\n minimapLeft: minimapLeft,\r\n minimapWidth: minimapWidth,\r\n viewportColumn: viewportColumn,\r\n verticalScrollbarWidth: verticalScrollbarWidth,\r\n horizontalScrollbarHeight: horizontalScrollbarHeight,\r\n overviewRuler: {\r\n top: verticalArrowSize,\r\n width: verticalScrollbarWidth,\r\n height: (outerHeight - 2 * verticalArrowSize),\r\n right: 0\r\n }\r\n };\r\n };\r\n return EditorLayoutInfoComputer;\r\n}(ComputedEditorOption));\r\n\r\nvar EditorLightbulb = /** @class */ (function (_super) {\r\n __extends(EditorLightbulb, _super);\r\n function EditorLightbulb() {\r\n var _this = this;\r\n var defaults = { enabled: true };\r\n _this = _super.call(this, 47 /* lightbulb */, 'lightbulb', defaults, {\r\n 'editor.lightbulb.enabled': {\r\n type: 'boolean',\r\n default: defaults.enabled,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('codeActions', \"Enables the code action lightbulb in the editor.\")\r\n },\r\n }) || this;\r\n return _this;\r\n }\r\n EditorLightbulb.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n enabled: EditorBooleanOption.boolean(input.enabled, this.defaultValue.enabled)\r\n };\r\n };\r\n return EditorLightbulb;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region lineHeight\r\nvar EditorLineHeight = /** @class */ (function (_super) {\r\n __extends(EditorLineHeight, _super);\r\n function EditorLineHeight() {\r\n return _super.call(this, 49 /* lineHeight */, 'lineHeight', EDITOR_FONT_DEFAULTS.lineHeight, 0, 150, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('lineHeight', \"Controls the line height. Use 0 to compute the line height from the font size.\") }) || this;\r\n }\r\n EditorLineHeight.prototype.compute = function (env, options, value) {\r\n // The lineHeight is computed from the fontSize if it is 0.\r\n // Moreover, the final lineHeight respects the editor zoom level.\r\n // So take the result from env.fontInfo\r\n return env.fontInfo.lineHeight;\r\n };\r\n return EditorLineHeight;\r\n}(EditorIntOption));\r\nvar EditorMinimap = /** @class */ (function (_super) {\r\n __extends(EditorMinimap, _super);\r\n function EditorMinimap() {\r\n var _this = this;\r\n var defaults = {\r\n enabled: true,\r\n side: 'right',\r\n showSlider: 'mouseover',\r\n renderCharacters: true,\r\n maxColumn: 120,\r\n scale: 1,\r\n };\r\n _this = _super.call(this, 54 /* minimap */, 'minimap', defaults, {\r\n 'editor.minimap.enabled': {\r\n type: 'boolean',\r\n default: defaults.enabled,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('minimap.enabled', \"Controls whether the minimap is shown.\")\r\n },\r\n 'editor.minimap.side': {\r\n type: 'string',\r\n enum: ['left', 'right'],\r\n default: defaults.side,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('minimap.side', \"Controls the side where to render the minimap.\")\r\n },\r\n 'editor.minimap.showSlider': {\r\n type: 'string',\r\n enum: ['always', 'mouseover'],\r\n default: defaults.showSlider,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('minimap.showSlider', \"Controls when the minimap slider is shown.\")\r\n },\r\n 'editor.minimap.scale': {\r\n type: 'number',\r\n default: defaults.scale,\r\n minimum: 1,\r\n maximum: 3,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('minimap.scale', \"Scale of content drawn in the minimap.\")\r\n },\r\n 'editor.minimap.renderCharacters': {\r\n type: 'boolean',\r\n default: defaults.renderCharacters,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('minimap.renderCharacters', \"Render the actual characters on a line as opposed to color blocks.\")\r\n },\r\n 'editor.minimap.maxColumn': {\r\n type: 'number',\r\n default: defaults.maxColumn,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('minimap.maxColumn', \"Limit the width of the minimap to render at most a certain number of columns.\")\r\n },\r\n }) || this;\r\n return _this;\r\n }\r\n EditorMinimap.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n enabled: EditorBooleanOption.boolean(input.enabled, this.defaultValue.enabled),\r\n side: EditorStringEnumOption.stringSet(input.side, this.defaultValue.side, ['right', 'left']),\r\n showSlider: EditorStringEnumOption.stringSet(input.showSlider, this.defaultValue.showSlider, ['always', 'mouseover']),\r\n renderCharacters: EditorBooleanOption.boolean(input.renderCharacters, this.defaultValue.renderCharacters),\r\n scale: EditorIntOption.clampedInt(input.scale, 1, 1, 3),\r\n maxColumn: EditorIntOption.clampedInt(input.maxColumn, this.defaultValue.maxColumn, 1, 10000),\r\n };\r\n };\r\n return EditorMinimap;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region multiCursorModifier\r\nfunction _multiCursorModifierFromString(multiCursorModifier) {\r\n if (multiCursorModifier === 'ctrlCmd') {\r\n return (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isMacintosh */ \"e\"] ? 'metaKey' : 'ctrlKey');\r\n }\r\n return 'altKey';\r\n}\r\nvar EditorParameterHints = /** @class */ (function (_super) {\r\n __extends(EditorParameterHints, _super);\r\n function EditorParameterHints() {\r\n var _this = this;\r\n var defaults = {\r\n enabled: true,\r\n cycle: false\r\n };\r\n _this = _super.call(this, 64 /* parameterHints */, 'parameterHints', defaults, {\r\n 'editor.parameterHints.enabled': {\r\n type: 'boolean',\r\n default: defaults.enabled,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('parameterHints.enabled', \"Enables a pop-up that shows parameter documentation and type information as you type.\")\r\n },\r\n 'editor.parameterHints.cycle': {\r\n type: 'boolean',\r\n default: defaults.cycle,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('parameterHints.cycle', \"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.\")\r\n },\r\n }) || this;\r\n return _this;\r\n }\r\n EditorParameterHints.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n enabled: EditorBooleanOption.boolean(input.enabled, this.defaultValue.enabled),\r\n cycle: EditorBooleanOption.boolean(input.cycle, this.defaultValue.cycle)\r\n };\r\n };\r\n return EditorParameterHints;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region pixelRatio\r\nvar EditorPixelRatio = /** @class */ (function (_super) {\r\n __extends(EditorPixelRatio, _super);\r\n function EditorPixelRatio() {\r\n return _super.call(this, 105 /* pixelRatio */) || this;\r\n }\r\n EditorPixelRatio.prototype.compute = function (env, options, _) {\r\n return env.pixelRatio;\r\n };\r\n return EditorPixelRatio;\r\n}(ComputedEditorOption));\r\nvar EditorQuickSuggestions = /** @class */ (function (_super) {\r\n __extends(EditorQuickSuggestions, _super);\r\n function EditorQuickSuggestions() {\r\n var _this = this;\r\n var defaults = {\r\n other: true,\r\n comments: false,\r\n strings: false\r\n };\r\n _this = _super.call(this, 66 /* quickSuggestions */, 'quickSuggestions', defaults, {\r\n anyOf: [\r\n {\r\n type: 'boolean',\r\n },\r\n {\r\n type: 'object',\r\n properties: {\r\n strings: {\r\n type: 'boolean',\r\n default: defaults.strings,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('quickSuggestions.strings', \"Enable quick suggestions inside strings.\")\r\n },\r\n comments: {\r\n type: 'boolean',\r\n default: defaults.comments,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('quickSuggestions.comments', \"Enable quick suggestions inside comments.\")\r\n },\r\n other: {\r\n type: 'boolean',\r\n default: defaults.other,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('quickSuggestions.other', \"Enable quick suggestions outside of strings and comments.\")\r\n },\r\n }\r\n }\r\n ],\r\n default: defaults,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('quickSuggestions', \"Controls whether suggestions should automatically show up while typing.\")\r\n }) || this;\r\n _this.defaultValue = defaults;\r\n return _this;\r\n }\r\n EditorQuickSuggestions.prototype.validate = function (_input) {\r\n if (typeof _input === 'boolean') {\r\n return _input;\r\n }\r\n if (typeof _input === 'object') {\r\n var input = _input;\r\n var opts = {\r\n other: EditorBooleanOption.boolean(input.other, this.defaultValue.other),\r\n comments: EditorBooleanOption.boolean(input.comments, this.defaultValue.comments),\r\n strings: EditorBooleanOption.boolean(input.strings, this.defaultValue.strings),\r\n };\r\n if (opts.other && opts.comments && opts.strings) {\r\n return true; // all on\r\n }\r\n else if (!opts.other && !opts.comments && !opts.strings) {\r\n return false; // all off\r\n }\r\n else {\r\n return opts;\r\n }\r\n }\r\n return this.defaultValue;\r\n };\r\n return EditorQuickSuggestions;\r\n}(BaseEditorOption));\r\nvar EditorRenderLineNumbersOption = /** @class */ (function (_super) {\r\n __extends(EditorRenderLineNumbersOption, _super);\r\n function EditorRenderLineNumbersOption() {\r\n return _super.call(this, 50 /* lineNumbers */, 'lineNumbers', { renderType: 1 /* On */, renderFn: null }, {\r\n type: 'string',\r\n enum: ['off', 'on', 'relative', 'interval'],\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('lineNumbers.off', \"Line numbers are not rendered.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('lineNumbers.on', \"Line numbers are rendered as absolute number.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('lineNumbers.relative', \"Line numbers are rendered as distance in lines to cursor position.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('lineNumbers.interval', \"Line numbers are rendered every 10 lines.\")\r\n ],\r\n default: 'on',\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('lineNumbers', \"Controls the display of line numbers.\")\r\n }) || this;\r\n }\r\n EditorRenderLineNumbersOption.prototype.validate = function (lineNumbers) {\r\n var renderType = this.defaultValue.renderType;\r\n var renderFn = this.defaultValue.renderFn;\r\n if (typeof lineNumbers !== 'undefined') {\r\n if (typeof lineNumbers === 'function') {\r\n renderType = 4 /* Custom */;\r\n renderFn = lineNumbers;\r\n }\r\n else if (lineNumbers === 'interval') {\r\n renderType = 3 /* Interval */;\r\n }\r\n else if (lineNumbers === 'relative') {\r\n renderType = 2 /* Relative */;\r\n }\r\n else if (lineNumbers === 'on') {\r\n renderType = 1 /* On */;\r\n }\r\n else {\r\n renderType = 0 /* Off */;\r\n }\r\n }\r\n return {\r\n renderType: renderType,\r\n renderFn: renderFn\r\n };\r\n };\r\n return EditorRenderLineNumbersOption;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region renderValidationDecorations\r\n/**\r\n * @internal\r\n */\r\nfunction filterValidationDecorations(options) {\r\n var renderValidationDecorations = options.get(73 /* renderValidationDecorations */);\r\n if (renderValidationDecorations === 'editable') {\r\n return options.get(68 /* readOnly */);\r\n }\r\n return renderValidationDecorations === 'on' ? false : true;\r\n}\r\n//#endregion\r\n//#region rulers\r\nvar EditorRulers = /** @class */ (function (_super) {\r\n __extends(EditorRulers, _super);\r\n function EditorRulers() {\r\n var _this = this;\r\n var defaults = [];\r\n _this = _super.call(this, 77 /* rulers */, 'rulers', defaults, {\r\n type: 'array',\r\n items: {\r\n type: 'number'\r\n },\r\n default: defaults,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('rulers', \"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.\")\r\n }) || this;\r\n return _this;\r\n }\r\n EditorRulers.prototype.validate = function (input) {\r\n if (Array.isArray(input)) {\r\n var rulers = [];\r\n for (var _i = 0, input_1 = input; _i < input_1.length; _i++) {\r\n var value = input_1[_i];\r\n rulers.push(EditorIntOption.clampedInt(value, 0, 0, 10000));\r\n }\r\n rulers.sort(function (a, b) { return a - b; });\r\n return rulers;\r\n }\r\n return this.defaultValue;\r\n };\r\n return EditorRulers;\r\n}(SimpleEditorOption));\r\nfunction _scrollbarVisibilityFromString(visibility, defaultValue) {\r\n if (typeof visibility !== 'string') {\r\n return defaultValue;\r\n }\r\n switch (visibility) {\r\n case 'hidden': return 2 /* Hidden */;\r\n case 'visible': return 3 /* Visible */;\r\n default: return 1 /* Auto */;\r\n }\r\n}\r\nvar EditorScrollbar = /** @class */ (function (_super) {\r\n __extends(EditorScrollbar, _super);\r\n function EditorScrollbar() {\r\n return _super.call(this, 78 /* scrollbar */, 'scrollbar', {\r\n vertical: 1 /* Auto */,\r\n horizontal: 1 /* Auto */,\r\n arrowSize: 11,\r\n useShadows: true,\r\n verticalHasArrows: false,\r\n horizontalHasArrows: false,\r\n horizontalScrollbarSize: 10,\r\n horizontalSliderSize: 10,\r\n verticalScrollbarSize: 14,\r\n verticalSliderSize: 14,\r\n handleMouseWheel: true,\r\n alwaysConsumeMouseWheel: true\r\n }) || this;\r\n }\r\n EditorScrollbar.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n var horizontalScrollbarSize = EditorIntOption.clampedInt(input.horizontalScrollbarSize, this.defaultValue.horizontalScrollbarSize, 0, 1000);\r\n var verticalScrollbarSize = EditorIntOption.clampedInt(input.verticalScrollbarSize, this.defaultValue.verticalScrollbarSize, 0, 1000);\r\n return {\r\n arrowSize: EditorIntOption.clampedInt(input.arrowSize, this.defaultValue.arrowSize, 0, 1000),\r\n vertical: _scrollbarVisibilityFromString(input.vertical, this.defaultValue.vertical),\r\n horizontal: _scrollbarVisibilityFromString(input.horizontal, this.defaultValue.horizontal),\r\n useShadows: EditorBooleanOption.boolean(input.useShadows, this.defaultValue.useShadows),\r\n verticalHasArrows: EditorBooleanOption.boolean(input.verticalHasArrows, this.defaultValue.verticalHasArrows),\r\n horizontalHasArrows: EditorBooleanOption.boolean(input.horizontalHasArrows, this.defaultValue.horizontalHasArrows),\r\n handleMouseWheel: EditorBooleanOption.boolean(input.handleMouseWheel, this.defaultValue.handleMouseWheel),\r\n alwaysConsumeMouseWheel: EditorBooleanOption.boolean(input.alwaysConsumeMouseWheel, this.defaultValue.alwaysConsumeMouseWheel),\r\n horizontalScrollbarSize: horizontalScrollbarSize,\r\n horizontalSliderSize: EditorIntOption.clampedInt(input.horizontalSliderSize, horizontalScrollbarSize, 0, 1000),\r\n verticalScrollbarSize: verticalScrollbarSize,\r\n verticalSliderSize: EditorIntOption.clampedInt(input.verticalSliderSize, verticalScrollbarSize, 0, 1000),\r\n };\r\n };\r\n return EditorScrollbar;\r\n}(BaseEditorOption));\r\nvar EditorSuggest = /** @class */ (function (_super) {\r\n __extends(EditorSuggest, _super);\r\n function EditorSuggest() {\r\n var _this = this;\r\n var defaults = {\r\n insertMode: 'insert',\r\n insertHighlight: false,\r\n filterGraceful: true,\r\n snippetsPreventQuickSuggestions: true,\r\n localityBonus: false,\r\n shareSuggestSelections: false,\r\n showIcons: true,\r\n maxVisibleSuggestions: 12,\r\n showMethods: true,\r\n showFunctions: true,\r\n showConstructors: true,\r\n showFields: true,\r\n showVariables: true,\r\n showClasses: true,\r\n showStructs: true,\r\n showInterfaces: true,\r\n showModules: true,\r\n showProperties: true,\r\n showEvents: true,\r\n showOperators: true,\r\n showUnits: true,\r\n showValues: true,\r\n showConstants: true,\r\n showEnums: true,\r\n showEnumMembers: true,\r\n showKeywords: true,\r\n showWords: true,\r\n showColors: true,\r\n showFiles: true,\r\n showReferences: true,\r\n showFolders: true,\r\n showTypeParameters: true,\r\n showSnippets: true,\r\n hideStatusBar: true\r\n };\r\n _this = _super.call(this, 89 /* suggest */, 'suggest', defaults, {\r\n 'editor.suggest.insertMode': {\r\n type: 'string',\r\n enum: ['insert', 'replace'],\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.insertMode.insert', \"Insert suggestion without overwriting text right of the cursor.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.insertMode.replace', \"Insert suggestion and overwrite text right of the cursor.\"),\r\n ],\r\n default: defaults.insertMode,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.insertMode', \"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.\")\r\n },\r\n 'editor.suggest.insertHighlight': {\r\n type: 'boolean',\r\n default: defaults.insertHighlight,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.insertHighlight', \"Controls whether unexpected text modifications while accepting completions should be highlighted, e.g `insertMode` is `replace` but the completion only supports `insert`.\")\r\n },\r\n 'editor.suggest.filterGraceful': {\r\n type: 'boolean',\r\n default: defaults.filterGraceful,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.filterGraceful', \"Controls whether filtering and sorting suggestions accounts for small typos.\")\r\n },\r\n 'editor.suggest.localityBonus': {\r\n type: 'boolean',\r\n default: defaults.localityBonus,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.localityBonus', \"Controls whether sorting favours words that appear close to the cursor.\")\r\n },\r\n 'editor.suggest.shareSuggestSelections': {\r\n type: 'boolean',\r\n default: defaults.shareSuggestSelections,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.shareSuggestSelections', \"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).\")\r\n },\r\n 'editor.suggest.snippetsPreventQuickSuggestions': {\r\n type: 'boolean',\r\n default: defaults.snippetsPreventQuickSuggestions,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.snippetsPreventQuickSuggestions', \"Controls whether an active snippet prevents quick suggestions.\")\r\n },\r\n 'editor.suggest.showIcons': {\r\n type: 'boolean',\r\n default: defaults.showIcons,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.showIcons', \"Controls whether to show or hide icons in suggestions.\")\r\n },\r\n 'editor.suggest.maxVisibleSuggestions': {\r\n type: 'number',\r\n default: defaults.maxVisibleSuggestions,\r\n minimum: 1,\r\n maximum: 15,\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggest.maxVisibleSuggestions', \"Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).\")\r\n },\r\n 'editor.suggest.filteredTypes': {\r\n type: 'object',\r\n deprecationMessage: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('deprecated', \"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.\")\r\n },\r\n 'editor.suggest.showMethods': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showMethods', \"When enabled IntelliSense shows `method`-suggestions.\")\r\n },\r\n 'editor.suggest.showFunctions': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showFunctions', \"When enabled IntelliSense shows `function`-suggestions.\")\r\n },\r\n 'editor.suggest.showConstructors': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showConstructors', \"When enabled IntelliSense shows `constructor`-suggestions.\")\r\n },\r\n 'editor.suggest.showFields': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showFields', \"When enabled IntelliSense shows `field`-suggestions.\")\r\n },\r\n 'editor.suggest.showVariables': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showVariables', \"When enabled IntelliSense shows `variable`-suggestions.\")\r\n },\r\n 'editor.suggest.showClasses': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showClasss', \"When enabled IntelliSense shows `class`-suggestions.\")\r\n },\r\n 'editor.suggest.showStructs': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showStructs', \"When enabled IntelliSense shows `struct`-suggestions.\")\r\n },\r\n 'editor.suggest.showInterfaces': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showInterfaces', \"When enabled IntelliSense shows `interface`-suggestions.\")\r\n },\r\n 'editor.suggest.showModules': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showModules', \"When enabled IntelliSense shows `module`-suggestions.\")\r\n },\r\n 'editor.suggest.showProperties': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showPropertys', \"When enabled IntelliSense shows `property`-suggestions.\")\r\n },\r\n 'editor.suggest.showEvents': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showEvents', \"When enabled IntelliSense shows `event`-suggestions.\")\r\n },\r\n 'editor.suggest.showOperators': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showOperators', \"When enabled IntelliSense shows `operator`-suggestions.\")\r\n },\r\n 'editor.suggest.showUnits': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showUnits', \"When enabled IntelliSense shows `unit`-suggestions.\")\r\n },\r\n 'editor.suggest.showValues': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showValues', \"When enabled IntelliSense shows `value`-suggestions.\")\r\n },\r\n 'editor.suggest.showConstants': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showConstants', \"When enabled IntelliSense shows `constant`-suggestions.\")\r\n },\r\n 'editor.suggest.showEnums': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showEnums', \"When enabled IntelliSense shows `enum`-suggestions.\")\r\n },\r\n 'editor.suggest.showEnumMembers': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showEnumMembers', \"When enabled IntelliSense shows `enumMember`-suggestions.\")\r\n },\r\n 'editor.suggest.showKeywords': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showKeywords', \"When enabled IntelliSense shows `keyword`-suggestions.\")\r\n },\r\n 'editor.suggest.showWords': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showTexts', \"When enabled IntelliSense shows `text`-suggestions.\")\r\n },\r\n 'editor.suggest.showColors': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showColors', \"When enabled IntelliSense shows `color`-suggestions.\")\r\n },\r\n 'editor.suggest.showFiles': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showFiles', \"When enabled IntelliSense shows `file`-suggestions.\")\r\n },\r\n 'editor.suggest.showReferences': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showReferences', \"When enabled IntelliSense shows `reference`-suggestions.\")\r\n },\r\n 'editor.suggest.showCustomcolors': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showCustomcolors', \"When enabled IntelliSense shows `customcolor`-suggestions.\")\r\n },\r\n 'editor.suggest.showFolders': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showFolders', \"When enabled IntelliSense shows `folder`-suggestions.\")\r\n },\r\n 'editor.suggest.showTypeParameters': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showTypeParameters', \"When enabled IntelliSense shows `typeParameter`-suggestions.\")\r\n },\r\n 'editor.suggest.showSnippets': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.showSnippets', \"When enabled IntelliSense shows `snippet`-suggestions.\")\r\n },\r\n 'editor.suggest.hideStatusBar': {\r\n type: 'boolean',\r\n default: true,\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.suggest.hideStatusBar', \"Controls the visibility of the status bar at the bottom of the suggest widget.\")\r\n }\r\n }) || this;\r\n return _this;\r\n }\r\n EditorSuggest.prototype.validate = function (_input) {\r\n if (typeof _input !== 'object') {\r\n return this.defaultValue;\r\n }\r\n var input = _input;\r\n return {\r\n insertMode: EditorStringEnumOption.stringSet(input.insertMode, this.defaultValue.insertMode, ['insert', 'replace']),\r\n insertHighlight: EditorBooleanOption.boolean(input.insertHighlight, this.defaultValue.insertHighlight),\r\n filterGraceful: EditorBooleanOption.boolean(input.filterGraceful, this.defaultValue.filterGraceful),\r\n snippetsPreventQuickSuggestions: EditorBooleanOption.boolean(input.snippetsPreventQuickSuggestions, this.defaultValue.filterGraceful),\r\n localityBonus: EditorBooleanOption.boolean(input.localityBonus, this.defaultValue.localityBonus),\r\n shareSuggestSelections: EditorBooleanOption.boolean(input.shareSuggestSelections, this.defaultValue.shareSuggestSelections),\r\n showIcons: EditorBooleanOption.boolean(input.showIcons, this.defaultValue.showIcons),\r\n maxVisibleSuggestions: EditorIntOption.clampedInt(input.maxVisibleSuggestions, this.defaultValue.maxVisibleSuggestions, 1, 15),\r\n showMethods: EditorBooleanOption.boolean(input.showMethods, this.defaultValue.showMethods),\r\n showFunctions: EditorBooleanOption.boolean(input.showFunctions, this.defaultValue.showFunctions),\r\n showConstructors: EditorBooleanOption.boolean(input.showConstructors, this.defaultValue.showConstructors),\r\n showFields: EditorBooleanOption.boolean(input.showFields, this.defaultValue.showFields),\r\n showVariables: EditorBooleanOption.boolean(input.showVariables, this.defaultValue.showVariables),\r\n showClasses: EditorBooleanOption.boolean(input.showClasses, this.defaultValue.showClasses),\r\n showStructs: EditorBooleanOption.boolean(input.showStructs, this.defaultValue.showStructs),\r\n showInterfaces: EditorBooleanOption.boolean(input.showInterfaces, this.defaultValue.showInterfaces),\r\n showModules: EditorBooleanOption.boolean(input.showModules, this.defaultValue.showModules),\r\n showProperties: EditorBooleanOption.boolean(input.showProperties, this.defaultValue.showProperties),\r\n showEvents: EditorBooleanOption.boolean(input.showEvents, this.defaultValue.showEvents),\r\n showOperators: EditorBooleanOption.boolean(input.showOperators, this.defaultValue.showOperators),\r\n showUnits: EditorBooleanOption.boolean(input.showUnits, this.defaultValue.showUnits),\r\n showValues: EditorBooleanOption.boolean(input.showValues, this.defaultValue.showValues),\r\n showConstants: EditorBooleanOption.boolean(input.showConstants, this.defaultValue.showConstants),\r\n showEnums: EditorBooleanOption.boolean(input.showEnums, this.defaultValue.showEnums),\r\n showEnumMembers: EditorBooleanOption.boolean(input.showEnumMembers, this.defaultValue.showEnumMembers),\r\n showKeywords: EditorBooleanOption.boolean(input.showKeywords, this.defaultValue.showKeywords),\r\n showWords: EditorBooleanOption.boolean(input.showWords, this.defaultValue.showWords),\r\n showColors: EditorBooleanOption.boolean(input.showColors, this.defaultValue.showColors),\r\n showFiles: EditorBooleanOption.boolean(input.showFiles, this.defaultValue.showFiles),\r\n showReferences: EditorBooleanOption.boolean(input.showReferences, this.defaultValue.showReferences),\r\n showFolders: EditorBooleanOption.boolean(input.showFolders, this.defaultValue.showFolders),\r\n showTypeParameters: EditorBooleanOption.boolean(input.showTypeParameters, this.defaultValue.showTypeParameters),\r\n showSnippets: EditorBooleanOption.boolean(input.showSnippets, this.defaultValue.showSnippets),\r\n hideStatusBar: EditorBooleanOption.boolean(input.hideStatusBar, this.defaultValue.hideStatusBar),\r\n };\r\n };\r\n return EditorSuggest;\r\n}(BaseEditorOption));\r\n//#endregion\r\n//#region tabFocusMode\r\nvar EditorTabFocusMode = /** @class */ (function (_super) {\r\n __extends(EditorTabFocusMode, _super);\r\n function EditorTabFocusMode() {\r\n return _super.call(this, 106 /* tabFocusMode */, [68 /* readOnly */]) || this;\r\n }\r\n EditorTabFocusMode.prototype.compute = function (env, options, _) {\r\n var readOnly = options.get(68 /* readOnly */);\r\n return (readOnly ? true : env.tabFocusMode);\r\n };\r\n return EditorTabFocusMode;\r\n}(ComputedEditorOption));\r\nfunction _wrappingIndentFromString(wrappingIndent) {\r\n switch (wrappingIndent) {\r\n case 'none': return 0 /* None */;\r\n case 'same': return 1 /* Same */;\r\n case 'indent': return 2 /* Indent */;\r\n case 'deepIndent': return 3 /* DeepIndent */;\r\n }\r\n}\r\nvar EditorWrappingInfoComputer = /** @class */ (function (_super) {\r\n __extends(EditorWrappingInfoComputer, _super);\r\n function EditorWrappingInfoComputer() {\r\n return _super.call(this, 108 /* wrappingInfo */, [97 /* wordWrap */, 100 /* wordWrapColumn */, 101 /* wordWrapMinified */, 107 /* layoutInfo */, 2 /* accessibilitySupport */]) || this;\r\n }\r\n EditorWrappingInfoComputer.prototype.compute = function (env, options, _) {\r\n var wordWrap = options.get(97 /* wordWrap */);\r\n var wordWrapColumn = options.get(100 /* wordWrapColumn */);\r\n var wordWrapMinified = options.get(101 /* wordWrapMinified */);\r\n var layoutInfo = options.get(107 /* layoutInfo */);\r\n var accessibilitySupport = options.get(2 /* accessibilitySupport */);\r\n var bareWrappingInfo = null;\r\n {\r\n if (accessibilitySupport === 2 /* Enabled */) {\r\n // See https://github.com/Microsoft/vscode/issues/27766\r\n // Never enable wrapping when a screen reader is attached\r\n // because arrow down etc. will not move the cursor in the way\r\n // a screen reader expects.\r\n bareWrappingInfo = {\r\n isWordWrapMinified: false,\r\n isViewportWrapping: false,\r\n wrappingColumn: -1\r\n };\r\n }\r\n else if (wordWrapMinified && env.isDominatedByLongLines) {\r\n // Force viewport width wrapping if model is dominated by long lines\r\n bareWrappingInfo = {\r\n isWordWrapMinified: true,\r\n isViewportWrapping: true,\r\n wrappingColumn: Math.max(1, layoutInfo.viewportColumn)\r\n };\r\n }\r\n else if (wordWrap === 'on') {\r\n bareWrappingInfo = {\r\n isWordWrapMinified: false,\r\n isViewportWrapping: true,\r\n wrappingColumn: Math.max(1, layoutInfo.viewportColumn)\r\n };\r\n }\r\n else if (wordWrap === 'bounded') {\r\n bareWrappingInfo = {\r\n isWordWrapMinified: false,\r\n isViewportWrapping: true,\r\n wrappingColumn: Math.min(Math.max(1, layoutInfo.viewportColumn), wordWrapColumn)\r\n };\r\n }\r\n else if (wordWrap === 'wordWrapColumn') {\r\n bareWrappingInfo = {\r\n isWordWrapMinified: false,\r\n isViewportWrapping: false,\r\n wrappingColumn: wordWrapColumn\r\n };\r\n }\r\n else {\r\n bareWrappingInfo = {\r\n isWordWrapMinified: false,\r\n isViewportWrapping: false,\r\n wrappingColumn: -1\r\n };\r\n }\r\n }\r\n return {\r\n isDominatedByLongLines: env.isDominatedByLongLines,\r\n isWordWrapMinified: bareWrappingInfo.isWordWrapMinified,\r\n isViewportWrapping: bareWrappingInfo.isViewportWrapping,\r\n wrappingColumn: bareWrappingInfo.wrappingColumn,\r\n };\r\n };\r\n return EditorWrappingInfoComputer;\r\n}(ComputedEditorOption));\r\n//#endregion\r\nvar DEFAULT_WINDOWS_FONT_FAMILY = 'Consolas, \\'Courier New\\', monospace';\r\nvar DEFAULT_MAC_FONT_FAMILY = 'Menlo, Monaco, \\'Courier New\\', monospace';\r\nvar DEFAULT_LINUX_FONT_FAMILY = '\\'Droid Sans Mono\\', \\'monospace\\', monospace, \\'Droid Sans Fallback\\'';\r\n/**\r\n * @internal\r\n */\r\nvar EDITOR_FONT_DEFAULTS = {\r\n fontFamily: (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isMacintosh */ \"e\"] ? DEFAULT_MAC_FONT_FAMILY : (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isLinux */ \"d\"] ? DEFAULT_LINUX_FONT_FAMILY : DEFAULT_WINDOWS_FONT_FAMILY)),\r\n fontWeight: 'normal',\r\n fontSize: (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isMacintosh */ \"e\"] ? 12 : 14),\r\n lineHeight: 0,\r\n letterSpacing: 0,\r\n};\r\n/**\r\n * @internal\r\n */\r\nvar EDITOR_MODEL_DEFAULTS = {\r\n tabSize: 4,\r\n indentSize: 4,\r\n insertSpaces: true,\r\n detectIndentation: true,\r\n trimAutoWhitespace: true,\r\n largeFileOptimizations: true\r\n};\r\n/**\r\n * @internal\r\n */\r\nvar editorOptionsRegistry = [];\r\nfunction register(option) {\r\n editorOptionsRegistry[option.id] = option;\r\n return option;\r\n}\r\n/**\r\n * WORKAROUND: TS emits \"any\" for complex editor options values (anything except string, bool, enum, etc. ends up being \"any\")\r\n * @monacodtsreplace\r\n * /accessibilitySupport, any/accessibilitySupport, AccessibilitySupport/\r\n * /comments, any/comments, EditorCommentsOptions/\r\n * /find, any/find, EditorFindOptions/\r\n * /fontInfo, any/fontInfo, FontInfo/\r\n * /gotoLocation, any/gotoLocation, GoToLocationOptions/\r\n * /hover, any/hover, EditorHoverOptions/\r\n * /lightbulb, any/lightbulb, EditorLightbulbOptions/\r\n * /minimap, any/minimap, EditorMinimapOptions/\r\n * /parameterHints, any/parameterHints, InternalParameterHintOptions/\r\n * /quickSuggestions, any/quickSuggestions, ValidQuickSuggestionsOptions/\r\n * /suggest, any/suggest, InternalSuggestOptions/\r\n */\r\nvar EditorOptions = {\r\n acceptSuggestionOnCommitCharacter: register(new EditorBooleanOption(0 /* acceptSuggestionOnCommitCharacter */, 'acceptSuggestionOnCommitCharacter', true, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('acceptSuggestionOnCommitCharacter', \"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.\") })),\r\n acceptSuggestionOnEnter: register(new EditorStringEnumOption(1 /* acceptSuggestionOnEnter */, 'acceptSuggestionOnEnter', 'on', ['on', 'smart', 'off'], {\r\n markdownEnumDescriptions: [\r\n '',\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('acceptSuggestionOnEnterSmart', \"Only accept a suggestion with `Enter` when it makes a textual change.\"),\r\n ''\r\n ],\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('acceptSuggestionOnEnter', \"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.\")\r\n })),\r\n accessibilitySupport: register(new EditorAccessibilitySupport()),\r\n accessibilityPageSize: register(new EditorIntOption(3 /* accessibilityPageSize */, 'accessibilityPageSize', 10, 1, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('accessibilityPageSize', \"Controls the number of lines in the editor that can be read out by a screen reader. Warning: this has a performance implication for numbers larger than the default.\") })),\r\n ariaLabel: register(new EditorStringOption(4 /* ariaLabel */, 'ariaLabel', _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editorViewAccessibleLabel', \"Editor content\"))),\r\n autoClosingBrackets: register(new EditorStringEnumOption(5 /* autoClosingBrackets */, 'autoClosingBrackets', 'languageDefined', ['always', 'languageDefined', 'beforeWhitespace', 'never'], {\r\n enumDescriptions: [\r\n '',\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoClosingBrackets.languageDefined', \"Use language configurations to determine when to autoclose brackets.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoClosingBrackets.beforeWhitespace', \"Autoclose brackets only when the cursor is to the left of whitespace.\"),\r\n '',\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('autoClosingBrackets', \"Controls whether the editor should automatically close brackets after the user adds an opening bracket.\")\r\n })),\r\n autoClosingOvertype: register(new EditorStringEnumOption(6 /* autoClosingOvertype */, 'autoClosingOvertype', 'auto', ['always', 'auto', 'never'], {\r\n enumDescriptions: [\r\n '',\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoClosingOvertype.auto', \"Type over closing quotes or brackets only if they were automatically inserted.\"),\r\n '',\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('autoClosingOvertype', \"Controls whether the editor should type over closing quotes or brackets.\")\r\n })),\r\n autoClosingQuotes: register(new EditorStringEnumOption(7 /* autoClosingQuotes */, 'autoClosingQuotes', 'languageDefined', ['always', 'languageDefined', 'beforeWhitespace', 'never'], {\r\n enumDescriptions: [\r\n '',\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoClosingQuotes.languageDefined', \"Use language configurations to determine when to autoclose quotes.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoClosingQuotes.beforeWhitespace', \"Autoclose quotes only when the cursor is to the left of whitespace.\"),\r\n '',\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('autoClosingQuotes', \"Controls whether the editor should automatically close quotes after the user adds an opening quote.\")\r\n })),\r\n autoIndent: register(new EditorEnumOption(8 /* autoIndent */, 'autoIndent', 4 /* Full */, 'full', ['none', 'keep', 'brackets', 'advanced', 'full'], _autoIndentFromString, {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoIndent.none', \"The editor will not insert indentation automatically.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoIndent.keep', \"The editor will keep the current line's indentation.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoIndent.brackets', \"The editor will keep the current line's indentation and honor language defined brackets.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoIndent.advanced', \"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoIndent.full', \"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('autoIndent', \"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.\")\r\n })),\r\n automaticLayout: register(new EditorBooleanOption(9 /* automaticLayout */, 'automaticLayout', false)),\r\n autoSurround: register(new EditorStringEnumOption(10 /* autoSurround */, 'autoSurround', 'languageDefined', ['languageDefined', 'quotes', 'brackets', 'never'], {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoSurround.languageDefined', \"Use language configurations to determine when to automatically surround selections.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoSurround.quotes', \"Surround with quotes but not brackets.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('editor.autoSurround.brackets', \"Surround with brackets but not quotes.\"),\r\n ''\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('autoSurround', \"Controls whether the editor should automatically surround selections.\")\r\n })),\r\n codeLens: register(new EditorBooleanOption(11 /* codeLens */, 'codeLens', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('codeLens', \"Controls whether the editor shows CodeLens.\") })),\r\n colorDecorators: register(new EditorBooleanOption(12 /* colorDecorators */, 'colorDecorators', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('colorDecorators', \"Controls whether the editor should render the inline color decorators and color picker.\") })),\r\n comments: register(new EditorComments()),\r\n contextmenu: register(new EditorBooleanOption(14 /* contextmenu */, 'contextmenu', true)),\r\n copyWithSyntaxHighlighting: register(new EditorBooleanOption(15 /* copyWithSyntaxHighlighting */, 'copyWithSyntaxHighlighting', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('copyWithSyntaxHighlighting', \"Controls whether syntax highlighting should be copied into the clipboard.\") })),\r\n cursorBlinking: register(new EditorEnumOption(16 /* cursorBlinking */, 'cursorBlinking', 1 /* Blink */, 'blink', ['blink', 'smooth', 'phase', 'expand', 'solid'], _cursorBlinkingStyleFromString, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorBlinking', \"Control the cursor animation style.\") })),\r\n cursorSmoothCaretAnimation: register(new EditorBooleanOption(17 /* cursorSmoothCaretAnimation */, 'cursorSmoothCaretAnimation', false, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorSmoothCaretAnimation', \"Controls whether the smooth caret animation should be enabled.\") })),\r\n cursorStyle: register(new EditorEnumOption(18 /* cursorStyle */, 'cursorStyle', TextEditorCursorStyle.Line, 'line', ['line', 'block', 'underline', 'line-thin', 'block-outline', 'underline-thin'], _cursorStyleFromString, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorStyle', \"Controls the cursor style.\") })),\r\n cursorSurroundingLines: register(new EditorIntOption(19 /* cursorSurroundingLines */, 'cursorSurroundingLines', 0, 0, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorSurroundingLines', \"Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or `scrollOffset` in some other editors.\") })),\r\n cursorSurroundingLinesStyle: register(new EditorStringEnumOption(20 /* cursorSurroundingLinesStyle */, 'cursorSurroundingLinesStyle', 'default', ['default', 'all'], {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorSurroundingLinesStyle.default', \"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorSurroundingLinesStyle.all', \"`cursorSurroundingLines` is enforced always.\")\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorSurroundingLinesStyle', \"Controls when `cursorSurroundingLines` should be enforced.\")\r\n })),\r\n cursorWidth: register(new EditorIntOption(21 /* cursorWidth */, 'cursorWidth', 0, 0, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('cursorWidth', \"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.\") })),\r\n disableLayerHinting: register(new EditorBooleanOption(22 /* disableLayerHinting */, 'disableLayerHinting', false)),\r\n disableMonospaceOptimizations: register(new EditorBooleanOption(23 /* disableMonospaceOptimizations */, 'disableMonospaceOptimizations', false)),\r\n dragAndDrop: register(new EditorBooleanOption(24 /* dragAndDrop */, 'dragAndDrop', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('dragAndDrop', \"Controls whether the editor should allow moving selections via drag and drop.\") })),\r\n emptySelectionClipboard: register(new EditorEmptySelectionClipboard()),\r\n extraEditorClassName: register(new EditorStringOption(26 /* extraEditorClassName */, 'extraEditorClassName', '')),\r\n fastScrollSensitivity: register(new EditorFloatOption(27 /* fastScrollSensitivity */, 'fastScrollSensitivity', 5, function (x) { return (x <= 0 ? 5 : x); }, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fastScrollSensitivity', \"Scrolling speed multiplier when pressing `Alt`.\") })),\r\n find: register(new EditorFind()),\r\n fixedOverflowWidgets: register(new EditorBooleanOption(29 /* fixedOverflowWidgets */, 'fixedOverflowWidgets', false)),\r\n folding: register(new EditorBooleanOption(30 /* folding */, 'folding', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('folding', \"Controls whether the editor has code folding enabled.\") })),\r\n foldingStrategy: register(new EditorStringEnumOption(31 /* foldingStrategy */, 'foldingStrategy', 'auto', ['auto', 'indentation'], { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('foldingStrategy', \"Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy.\") })),\r\n foldingHighlight: register(new EditorBooleanOption(32 /* foldingHighlight */, 'foldingHighlight', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('foldingHighlight', \"Controls whether the editor should highlight folded ranges.\") })),\r\n fontFamily: register(new EditorStringOption(33 /* fontFamily */, 'fontFamily', EDITOR_FONT_DEFAULTS.fontFamily, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fontFamily', \"Controls the font family.\") })),\r\n fontInfo: register(new EditorFontInfo()),\r\n fontLigatures2: register(new EditorFontLigatures()),\r\n fontSize: register(new EditorFontSize()),\r\n fontWeight: register(new EditorStringOption(37 /* fontWeight */, 'fontWeight', EDITOR_FONT_DEFAULTS.fontWeight, {\r\n enum: ['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('fontWeight', \"Controls the font weight.\")\r\n })),\r\n formatOnPaste: register(new EditorBooleanOption(38 /* formatOnPaste */, 'formatOnPaste', false, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('formatOnPaste', \"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.\") })),\r\n formatOnType: register(new EditorBooleanOption(39 /* formatOnType */, 'formatOnType', false, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('formatOnType', \"Controls whether the editor should automatically format the line after typing.\") })),\r\n glyphMargin: register(new EditorBooleanOption(40 /* glyphMargin */, 'glyphMargin', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('glyphMargin', \"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.\") })),\r\n gotoLocation: register(new EditorGoToLocation()),\r\n hideCursorInOverviewRuler: register(new EditorBooleanOption(42 /* hideCursorInOverviewRuler */, 'hideCursorInOverviewRuler', false, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('hideCursorInOverviewRuler', \"Controls whether the cursor should be hidden in the overview ruler.\") })),\r\n highlightActiveIndentGuide: register(new EditorBooleanOption(43 /* highlightActiveIndentGuide */, 'highlightActiveIndentGuide', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('highlightActiveIndentGuide', \"Controls whether the editor should highlight the active indent guide.\") })),\r\n hover: register(new EditorHover()),\r\n inDiffEditor: register(new EditorBooleanOption(45 /* inDiffEditor */, 'inDiffEditor', false)),\r\n letterSpacing: register(new EditorFloatOption(46 /* letterSpacing */, 'letterSpacing', EDITOR_FONT_DEFAULTS.letterSpacing, function (x) { return EditorFloatOption.clamp(x, -5, 20); }, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('letterSpacing', \"Controls the letter spacing in pixels.\") })),\r\n lightbulb: register(new EditorLightbulb()),\r\n lineDecorationsWidth: register(new SimpleEditorOption(48 /* lineDecorationsWidth */, 'lineDecorationsWidth', 10)),\r\n lineHeight: register(new EditorLineHeight()),\r\n lineNumbers: register(new EditorRenderLineNumbersOption()),\r\n lineNumbersMinChars: register(new EditorIntOption(51 /* lineNumbersMinChars */, 'lineNumbersMinChars', 5, 1, 300)),\r\n links: register(new EditorBooleanOption(52 /* links */, 'links', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('links', \"Controls whether the editor should detect links and make them clickable.\") })),\r\n matchBrackets: register(new EditorStringEnumOption(53 /* matchBrackets */, 'matchBrackets', 'always', ['always', 'near', 'never'], { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('matchBrackets', \"Highlight matching brackets.\") })),\r\n minimap: register(new EditorMinimap()),\r\n mouseStyle: register(new EditorStringEnumOption(55 /* mouseStyle */, 'mouseStyle', 'text', ['text', 'default', 'copy'])),\r\n mouseWheelScrollSensitivity: register(new EditorFloatOption(56 /* mouseWheelScrollSensitivity */, 'mouseWheelScrollSensitivity', 1, function (x) { return (x === 0 ? 1 : x); }, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('mouseWheelScrollSensitivity', \"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.\") })),\r\n mouseWheelZoom: register(new EditorBooleanOption(57 /* mouseWheelZoom */, 'mouseWheelZoom', false, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('mouseWheelZoom', \"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.\") })),\r\n multiCursorMergeOverlapping: register(new EditorBooleanOption(58 /* multiCursorMergeOverlapping */, 'multiCursorMergeOverlapping', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('multiCursorMergeOverlapping', \"Merge multiple cursors when they are overlapping.\") })),\r\n multiCursorModifier: register(new EditorEnumOption(59 /* multiCursorModifier */, 'multiCursorModifier', 'altKey', 'alt', ['ctrlCmd', 'alt'], _multiCursorModifierFromString, {\r\n markdownEnumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('multiCursorModifier.ctrlCmd', \"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('multiCursorModifier.alt', \"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")\r\n ],\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]({\r\n key: 'multiCursorModifier',\r\n comment: [\r\n '- `ctrlCmd` refers to a value the setting can take and should not be localized.',\r\n '- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.'\r\n ]\r\n }, \"The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).\")\r\n })),\r\n multiCursorPaste: register(new EditorStringEnumOption(60 /* multiCursorPaste */, 'multiCursorPaste', 'spread', ['spread', 'full'], {\r\n markdownEnumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('multiCursorPaste.spread', \"Each cursor pastes a single line of the text.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('multiCursorPaste.full', \"Each cursor pastes the full text.\")\r\n ],\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('multiCursorPaste', \"Controls pasting when the line count of the pasted text matches the cursor count.\")\r\n })),\r\n occurrencesHighlight: register(new EditorBooleanOption(61 /* occurrencesHighlight */, 'occurrencesHighlight', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('occurrencesHighlight', \"Controls whether the editor should highlight semantic symbol occurrences.\") })),\r\n overviewRulerBorder: register(new EditorBooleanOption(62 /* overviewRulerBorder */, 'overviewRulerBorder', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('overviewRulerBorder', \"Controls whether a border should be drawn around the overview ruler.\") })),\r\n overviewRulerLanes: register(new EditorIntOption(63 /* overviewRulerLanes */, 'overviewRulerLanes', 3, 0, 3)),\r\n parameterHints: register(new EditorParameterHints()),\r\n peekWidgetDefaultFocus: register(new EditorStringEnumOption(65 /* peekWidgetDefaultFocus */, 'peekWidgetDefaultFocus', 'tree', ['tree', 'editor'], {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('peekWidgetDefaultFocus.tree', \"Focus the tree when opening peek\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('peekWidgetDefaultFocus.editor', \"Focus the editor when opening peek\")\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('peekWidgetDefaultFocus', \"Controls whether to focus the inline editor or the tree in the peek widget.\")\r\n })),\r\n quickSuggestions: register(new EditorQuickSuggestions()),\r\n quickSuggestionsDelay: register(new EditorIntOption(67 /* quickSuggestionsDelay */, 'quickSuggestionsDelay', 10, 0, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('quickSuggestionsDelay', \"Controls the delay in milliseconds after which quick suggestions will show up.\") })),\r\n readOnly: register(new EditorBooleanOption(68 /* readOnly */, 'readOnly', false)),\r\n renderControlCharacters: register(new EditorBooleanOption(69 /* renderControlCharacters */, 'renderControlCharacters', false, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderControlCharacters', \"Controls whether the editor should render control characters.\") })),\r\n renderIndentGuides: register(new EditorBooleanOption(70 /* renderIndentGuides */, 'renderIndentGuides', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderIndentGuides', \"Controls whether the editor should render indent guides.\") })),\r\n renderFinalNewline: register(new EditorBooleanOption(71 /* renderFinalNewline */, 'renderFinalNewline', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderFinalNewline', \"Render last line number when the file ends with a newline.\") })),\r\n renderLineHighlight: register(new EditorStringEnumOption(72 /* renderLineHighlight */, 'renderLineHighlight', 'line', ['none', 'gutter', 'line', 'all'], {\r\n enumDescriptions: [\r\n '',\r\n '',\r\n '',\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderLineHighlight.all', \"Highlights both the gutter and the current line.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderLineHighlight', \"Controls how the editor should render the current line highlight.\")\r\n })),\r\n renderValidationDecorations: register(new EditorStringEnumOption(73 /* renderValidationDecorations */, 'renderValidationDecorations', 'editable', ['editable', 'on', 'off'])),\r\n renderWhitespace: register(new EditorStringEnumOption(74 /* renderWhitespace */, 'renderWhitespace', 'none', ['none', 'boundary', 'selection', 'all'], {\r\n enumDescriptions: [\r\n '',\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderWhitespace.boundary', \"Render whitespace characters except for single spaces between words.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderWhitespace.selection', \"Render whitespace characters only on selected text.\"),\r\n ''\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('renderWhitespace', \"Controls how the editor should render whitespace characters.\")\r\n })),\r\n revealHorizontalRightPadding: register(new EditorIntOption(75 /* revealHorizontalRightPadding */, 'revealHorizontalRightPadding', 30, 0, 1000)),\r\n roundedSelection: register(new EditorBooleanOption(76 /* roundedSelection */, 'roundedSelection', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('roundedSelection', \"Controls whether selections should have rounded corners.\") })),\r\n rulers: register(new EditorRulers()),\r\n scrollbar: register(new EditorScrollbar()),\r\n scrollBeyondLastColumn: register(new EditorIntOption(79 /* scrollBeyondLastColumn */, 'scrollBeyondLastColumn', 5, 0, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('scrollBeyondLastColumn', \"Controls the number of extra characters beyond which the editor will scroll horizontally.\") })),\r\n scrollBeyondLastLine: register(new EditorBooleanOption(80 /* scrollBeyondLastLine */, 'scrollBeyondLastLine', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('scrollBeyondLastLine', \"Controls whether the editor will scroll beyond the last line.\") })),\r\n selectionClipboard: register(new EditorBooleanOption(81 /* selectionClipboard */, 'selectionClipboard', true, {\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('selectionClipboard', \"Controls whether the Linux primary clipboard should be supported.\"),\r\n included: _base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isLinux */ \"d\"]\r\n })),\r\n selectionHighlight: register(new EditorBooleanOption(82 /* selectionHighlight */, 'selectionHighlight', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('selectionHighlight', \"Controls whether the editor should highlight matches similar to the selection.\") })),\r\n selectOnLineNumbers: register(new EditorBooleanOption(83 /* selectOnLineNumbers */, 'selectOnLineNumbers', true)),\r\n showFoldingControls: register(new EditorStringEnumOption(84 /* showFoldingControls */, 'showFoldingControls', 'mouseover', ['always', 'mouseover'], { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('showFoldingControls', \"Controls whether the fold controls on the gutter are automatically hidden.\") })),\r\n showUnused: register(new EditorBooleanOption(85 /* showUnused */, 'showUnused', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('showUnused', \"Controls fading out of unused code.\") })),\r\n snippetSuggestions: register(new EditorStringEnumOption(86 /* snippetSuggestions */, 'snippetSuggestions', 'inline', ['top', 'bottom', 'inline', 'none'], {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('snippetSuggestions.top', \"Show snippet suggestions on top of other suggestions.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('snippetSuggestions.bottom', \"Show snippet suggestions below other suggestions.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('snippetSuggestions.inline', \"Show snippets suggestions with other suggestions.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('snippetSuggestions.none', \"Do not show snippet suggestions.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('snippetSuggestions', \"Controls whether snippets are shown with other suggestions and how they are sorted.\")\r\n })),\r\n smoothScrolling: register(new EditorBooleanOption(87 /* smoothScrolling */, 'smoothScrolling', false, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('smoothScrolling', \"Controls whether the editor will scroll using an animation.\") })),\r\n stopRenderingLineAfter: register(new EditorIntOption(88 /* stopRenderingLineAfter */, 'stopRenderingLineAfter', 10000, -1, 1073741824 /* MAX_SAFE_SMALL_INTEGER */)),\r\n suggest: register(new EditorSuggest()),\r\n suggestFontSize: register(new EditorIntOption(90 /* suggestFontSize */, 'suggestFontSize', 0, 0, 1000, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestFontSize', \"Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.\") })),\r\n suggestLineHeight: register(new EditorIntOption(91 /* suggestLineHeight */, 'suggestLineHeight', 0, 0, 1000, { markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestLineHeight', \"Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.\") })),\r\n suggestOnTriggerCharacters: register(new EditorBooleanOption(92 /* suggestOnTriggerCharacters */, 'suggestOnTriggerCharacters', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestOnTriggerCharacters', \"Controls whether suggestions should automatically show up when typing trigger characters.\") })),\r\n suggestSelection: register(new EditorStringEnumOption(93 /* suggestSelection */, 'suggestSelection', 'recentlyUsed', ['first', 'recentlyUsed', 'recentlyUsedByPrefix'], {\r\n markdownEnumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestSelection.first', \"Always select the first suggestion.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestSelection.recentlyUsed', \"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestSelection.recentlyUsedByPrefix', \"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('suggestSelection', \"Controls how suggestions are pre-selected when showing the suggest list.\")\r\n })),\r\n tabCompletion: register(new EditorStringEnumOption(94 /* tabCompletion */, 'tabCompletion', 'off', ['on', 'off', 'onlySnippets'], {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('tabCompletion.on', \"Tab complete will insert the best matching suggestion when pressing tab.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('tabCompletion.off', \"Disable tab completions.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('tabCompletion.onlySnippets', \"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('tabCompletion', \"Enables tab completions.\")\r\n })),\r\n useTabStops: register(new EditorBooleanOption(95 /* useTabStops */, 'useTabStops', true, { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('useTabStops', \"Inserting and deleting whitespace follows tab stops.\") })),\r\n wordSeparators: register(new EditorStringOption(96 /* wordSeparators */, 'wordSeparators', _model_wordHelper_js__WEBPACK_IMPORTED_MODULE_2__[/* USUAL_WORD_SEPARATORS */ \"b\"], { description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wordSeparators', \"Characters that will be used as word separators when doing word related navigations or operations.\") })),\r\n wordWrap: register(new EditorStringEnumOption(97 /* wordWrap */, 'wordWrap', 'off', ['off', 'on', 'wordWrapColumn', 'bounded'], {\r\n markdownEnumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wordWrap.off', \"Lines will never wrap.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wordWrap.on', \"Lines will wrap at the viewport width.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]({\r\n key: 'wordWrap.wordWrapColumn',\r\n comment: [\r\n '- `editor.wordWrapColumn` refers to a different setting and should not be localized.'\r\n ]\r\n }, \"Lines will wrap at `#editor.wordWrapColumn#`.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]({\r\n key: 'wordWrap.bounded',\r\n comment: [\r\n '- viewport means the edge of the visible window size.',\r\n '- `editor.wordWrapColumn` refers to a different setting and should not be localized.'\r\n ]\r\n }, \"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]({\r\n key: 'wordWrap',\r\n comment: [\r\n '- \\'off\\', \\'on\\', \\'wordWrapColumn\\' and \\'bounded\\' refer to values the setting can take and should not be localized.',\r\n '- `editor.wordWrapColumn` refers to a different setting and should not be localized.'\r\n ]\r\n }, \"Controls how lines should wrap.\")\r\n })),\r\n wordWrapBreakAfterCharacters: register(new EditorStringOption(98 /* wordWrapBreakAfterCharacters */, 'wordWrapBreakAfterCharacters', ' \\t})]?|/&.,;\xa2\xb0\u2032\u2033\u2030\u2103\u3001\u3002\uff61\uff64\uffe0\uff0c\uff0e\uff1a\uff1b\uff1f\uff01\uff05\u30fb\uff65\u309d\u309e\u30fd\u30fe\u30fc\u30a1\u30a3\u30a5\u30a7\u30a9\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308e\u3095\u3096\u31f0\u31f1\u31f2\u31f3\u31f4\u31f5\u31f6\u31f7\u31f8\u31f9\u31fa\u31fb\u31fc\u31fd\u31fe\u31ff\u3005\u303b\uff67\uff68\uff69\uff6a\uff6b\uff6c\uff6d\uff6e\uff6f\uff70\u201d\u3009\u300b\u300d\u300f\u3011\u3015\uff09\uff3d\uff5d\uff63')),\r\n wordWrapBreakBeforeCharacters: register(new EditorStringOption(99 /* wordWrapBreakBeforeCharacters */, 'wordWrapBreakBeforeCharacters', '([{\u2018\u201c\u3008\u300a\u300c\u300e\u3010\u3014\uff08\uff3b\uff5b\uff62\xa3\xa5\uff04\uffe1\uffe5+\uff0b')),\r\n wordWrapColumn: register(new EditorIntOption(100 /* wordWrapColumn */, 'wordWrapColumn', 80, 1, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, {\r\n markdownDescription: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]({\r\n key: 'wordWrapColumn',\r\n comment: [\r\n '- `editor.wordWrap` refers to a different setting and should not be localized.',\r\n '- \\'wordWrapColumn\\' and \\'bounded\\' refer to values the different setting can take and should not be localized.'\r\n ]\r\n }, \"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.\")\r\n })),\r\n wordWrapMinified: register(new EditorBooleanOption(101 /* wordWrapMinified */, 'wordWrapMinified', true)),\r\n wrappingIndent: register(new EditorEnumOption(102 /* wrappingIndent */, 'wrappingIndent', 1 /* Same */, 'same', ['none', 'same', 'indent', 'deepIndent'], _wrappingIndentFromString, {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingIndent.none', \"No indentation. Wrapped lines begin at column 1.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingIndent.same', \"Wrapped lines get the same indentation as the parent.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingIndent.indent', \"Wrapped lines get +1 indentation toward the parent.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingIndent.deepIndent', \"Wrapped lines get +2 indentation toward the parent.\"),\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingIndent', \"Controls the indentation of wrapped lines.\"),\r\n })),\r\n wrappingStrategy: register(new EditorStringEnumOption(103 /* wrappingStrategy */, 'wrappingStrategy', 'simple', ['simple', 'advanced'], {\r\n enumDescriptions: [\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingStrategy.simple', \"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.\"),\r\n _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingStrategy.advanced', \"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.\")\r\n ],\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('wrappingStrategy', \"Controls the algorithm that computes wrapping points.\")\r\n })),\r\n // Leave these at the end (because they have dependencies!)\r\n editorClassName: register(new EditorClassName()),\r\n pixelRatio: register(new EditorPixelRatio()),\r\n tabFocusMode: register(new EditorTabFocusMode()),\r\n layoutInfo: register(new EditorLayoutInfoComputer()),\r\n wrappingInfo: register(new EditorWrappingInfoComputer())\r\n};\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js?")},"/WM3":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Gradient = __webpack_require__(\"QuXc\");\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar isFunction = _util.isFunction;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = {\n createOnAllSeries: true,\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var colorAccessPath = (seriesModel.visualColorAccessPath || 'itemStyle.color').split('.'); // Set in itemStyle\n\n var color = seriesModel.get(colorAccessPath);\n var colorCallback = isFunction(color) && !(color instanceof Gradient) ? color : null; // Default color\n\n if (!color || colorCallback) {\n color = seriesModel.getColorFromPalette( // TODO series count changed.\n seriesModel.name, null, ecModel.getSeriesCount());\n }\n\n data.setVisual('color', color);\n var borderColorAccessPath = (seriesModel.visualBorderColorAccessPath || 'itemStyle.borderColor').split('.');\n var borderColor = seriesModel.get(borderColorAccessPath);\n data.setVisual('borderColor', borderColor); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n if (colorCallback) {\n data.each(function (idx) {\n data.setItemVisual(idx, 'color', colorCallback(seriesModel.getDataParams(idx)));\n });\n } // itemStyle in each data item\n\n\n var dataEach = function (data, idx) {\n var itemModel = data.getItemModel(idx);\n var color = itemModel.get(colorAccessPath, true);\n var borderColor = itemModel.get(borderColorAccessPath, true);\n\n if (color != null) {\n data.setItemVisual(idx, 'color', color);\n }\n\n if (borderColor != null) {\n data.setItemVisual(idx, 'borderColor', borderColor);\n }\n };\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/seriesColor.js?")},"/cAr":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'msdax',\r\n extensions: ['.dax', '.msdax'],\r\n aliases: ['DAX', 'MSDAX'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 188).then(__webpack_require__.bind(null, \"8m5U\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js?")},"/cxE":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export ErrorHandler */\n/* unused harmony export errorHandler */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return onUnexpectedError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return onUnexpectedExternalError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return transformErrorForSerialization; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isPromiseCanceledError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return canceled; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return illegalArgument; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return illegalState; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n// Avoid circular dependency on EventEmitter by implementing a subset of the interface.\r\nvar ErrorHandler = /** @class */ (function () {\r\n function ErrorHandler() {\r\n this.listeners = [];\r\n this.unexpectedErrorHandler = function (e) {\r\n setTimeout(function () {\r\n if (e.stack) {\r\n throw new Error(e.message + \'\\n\\n\' + e.stack);\r\n }\r\n throw e;\r\n }, 0);\r\n };\r\n }\r\n ErrorHandler.prototype.emit = function (e) {\r\n this.listeners.forEach(function (listener) {\r\n listener(e);\r\n });\r\n };\r\n ErrorHandler.prototype.onUnexpectedError = function (e) {\r\n this.unexpectedErrorHandler(e);\r\n this.emit(e);\r\n };\r\n // For external errors, we don\'t want the listeners to be called\r\n ErrorHandler.prototype.onUnexpectedExternalError = function (e) {\r\n this.unexpectedErrorHandler(e);\r\n };\r\n return ErrorHandler;\r\n}());\r\n\r\nvar errorHandler = new ErrorHandler();\r\nfunction onUnexpectedError(e) {\r\n // ignore errors from cancelled promises\r\n if (!isPromiseCanceledError(e)) {\r\n errorHandler.onUnexpectedError(e);\r\n }\r\n return undefined;\r\n}\r\nfunction onUnexpectedExternalError(e) {\r\n // ignore errors from cancelled promises\r\n if (!isPromiseCanceledError(e)) {\r\n errorHandler.onUnexpectedExternalError(e);\r\n }\r\n return undefined;\r\n}\r\nfunction transformErrorForSerialization(error) {\r\n if (error instanceof Error) {\r\n var name_1 = error.name, message = error.message;\r\n var stack = error.stacktrace || error.stack;\r\n return {\r\n $isError: true,\r\n name: name_1,\r\n message: message,\r\n stack: stack\r\n };\r\n }\r\n // return as is\r\n return error;\r\n}\r\nvar canceledName = \'Canceled\';\r\n/**\r\n * Checks if the given error is a promise in canceled state\r\n */\r\nfunction isPromiseCanceledError(error) {\r\n return error instanceof Error && error.name === canceledName && error.message === canceledName;\r\n}\r\n/**\r\n * Returns an error that signals cancellation.\r\n */\r\nfunction canceled() {\r\n var error = new Error(canceledName);\r\n error.name = error.message;\r\n return error;\r\n}\r\nfunction illegalArgument(name) {\r\n if (name) {\r\n return new Error("Illegal argument: " + name);\r\n }\r\n else {\r\n return new Error(\'Illegal argument\');\r\n }\r\n}\r\nfunction illegalState(name) {\r\n if (name) {\r\n return new Error("Illegal state: " + name);\r\n }\r\n else {\r\n return new Error(\'Illegal state\');\r\n }\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/errors.js?')},"/d5a":function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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, value) {\n return Math.round(frame.length / 2);\n};\n\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\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; // Only cartesian2d support down sampling\n\n if (coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent(); // Coordinste system has been resized\n\n var size = extent[1] - extent[0];\n var rate = Math.round(data.count() / size);\n\n if (rate > 1) {\n var sampler;\n\n if (typeof sampling === 'string') {\n sampler = samplers[sampling];\n } else if (typeof sampling === 'function') {\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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/dataSample.js?")},"/ezw":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Title.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\n/* eslint-disable jsx-a11y/heading-has-content */\n\n\n\nvar Title_Title = function Title(_ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n width = _ref.width,\n style = _ref.style;\n return /*#__PURE__*/react["createElement"]("h3", {\n className: classnames_default()(prefixCls, className),\n style: _extends({\n width: width\n }, style)\n });\n};\n\n/* harmony default export */ var skeleton_Title = (Title_Title);\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Paragraph.js\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\nvar Paragraph_Paragraph = function Paragraph(props) {\n var getWidth = function getWidth(index) {\n var width = props.width,\n _props$rows = props.rows,\n rows = _props$rows === void 0 ? 2 : _props$rows;\n\n if (Array.isArray(width)) {\n return width[index];\n } // last paragraph\n\n\n if (rows - 1 === index) {\n return width;\n }\n\n return undefined;\n };\n\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n rows = props.rows;\n\n var rowList = _toConsumableArray(Array(rows)).map(function (_, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n react["createElement"]("li", {\n key: index,\n style: {\n width: getWidth(index)\n }\n })\n );\n });\n\n return /*#__PURE__*/react["createElement"]("ul", {\n className: classnames_default()(prefixCls, className),\n style: style\n }, rowList);\n};\n\n/* harmony default export */ var skeleton_Paragraph = (Paragraph_Paragraph);\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Element.js\nfunction Element_extends() { Element_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; }; return Element_extends.apply(this, arguments); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nvar Element_Element = function Element(props) {\n var _classNames, _classNames2;\n\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n size = props.size,\n shape = props.shape;\n var sizeCls = classnames_default()((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-lg"), size === \'large\'), _defineProperty(_classNames, "".concat(prefixCls, "-sm"), size === \'small\'), _classNames));\n var shapeCls = classnames_default()((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-circle"), shape === \'circle\'), _defineProperty(_classNames2, "".concat(prefixCls, "-square"), shape === \'square\'), _defineProperty(_classNames2, "".concat(prefixCls, "-round"), shape === \'round\'), _classNames2));\n var sizeStyle = typeof size === \'number\' ? {\n width: size,\n height: size,\n lineHeight: "".concat(size, "px")\n } : {};\n return /*#__PURE__*/react["createElement"]("span", {\n className: classnames_default()(prefixCls, className, sizeCls, shapeCls),\n style: Element_extends(Element_extends({}, sizeStyle), style)\n });\n};\n\n/* harmony default export */ var skeleton_Element = (Element_Element);\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar es = __webpack_require__("BGR+");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Avatar.js\nfunction Avatar_extends() { Avatar_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; }; return Avatar_extends.apply(this, arguments); }\n\nfunction Avatar_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\nvar Avatar_SkeletonAvatar = function SkeletonAvatar(props) {\n var renderSkeletonAvatar = function renderSkeletonAvatar(_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active;\n var prefixCls = getPrefixCls(\'skeleton\', customizePrefixCls);\n var otherProps = Object(es["a" /* default */])(props, [\'prefixCls\']);\n var cls = classnames_default()(prefixCls, className, "".concat(prefixCls, "-element"), Avatar_defineProperty({}, "".concat(prefixCls, "-active"), active));\n return /*#__PURE__*/react["createElement"]("div", {\n className: cls\n }, /*#__PURE__*/react["createElement"](skeleton_Element, Avatar_extends({\n prefixCls: "".concat(prefixCls, "-avatar")\n }, otherProps)));\n };\n\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, renderSkeletonAvatar);\n};\n\nAvatar_SkeletonAvatar.defaultProps = {\n size: \'default\',\n shape: \'circle\'\n};\n/* harmony default export */ var Avatar = (Avatar_SkeletonAvatar);\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Button.js\nfunction Button_extends() { Button_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; }; return Button_extends.apply(this, arguments); }\n\nfunction Button_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\nvar Button_SkeletonButton = function SkeletonButton(props) {\n var renderSkeletonButton = function renderSkeletonButton(_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active;\n var prefixCls = getPrefixCls(\'skeleton\', customizePrefixCls);\n var otherProps = Object(es["a" /* default */])(props, [\'prefixCls\']);\n var cls = classnames_default()(prefixCls, className, "".concat(prefixCls, "-element"), Button_defineProperty({}, "".concat(prefixCls, "-active"), active));\n return /*#__PURE__*/react["createElement"]("div", {\n className: cls\n }, /*#__PURE__*/react["createElement"](skeleton_Element, Button_extends({\n prefixCls: "".concat(prefixCls, "-button")\n }, otherProps)));\n };\n\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, renderSkeletonButton);\n};\n\nButton_SkeletonButton.defaultProps = {\n size: \'default\'\n};\n/* harmony default export */ var Button = (Button_SkeletonButton);\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Input.js\nfunction Input_extends() { Input_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; }; return Input_extends.apply(this, arguments); }\n\nfunction Input_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\nvar Input_SkeletonInput = function SkeletonInput(props) {\n var renderSkeletonInput = function renderSkeletonInput(_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active;\n var prefixCls = getPrefixCls(\'skeleton\', customizePrefixCls);\n var otherProps = Object(es["a" /* default */])(props, [\'prefixCls\']);\n var cls = classnames_default()(prefixCls, className, "".concat(prefixCls, "-element"), Input_defineProperty({}, "".concat(prefixCls, "-active"), active));\n return /*#__PURE__*/react["createElement"]("div", {\n className: cls\n }, /*#__PURE__*/react["createElement"](skeleton_Element, Input_extends({\n prefixCls: "".concat(prefixCls, "-input")\n }, otherProps)));\n };\n\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, renderSkeletonInput);\n};\n\nInput_SkeletonInput.defaultProps = {\n size: \'default\'\n};\n/* harmony default export */ var Input = (Input_SkeletonInput);\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/Skeleton.js\nfunction Skeleton_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Skeleton_extends() { Skeleton_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; }; return Skeleton_extends.apply(this, arguments); }\n\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\n\n\n\nfunction getComponentProps(prop) {\n if (prop && _typeof(prop) === \'object\') {\n return prop;\n }\n\n return {};\n}\n\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n // Square avatar\n return {\n size: \'large\',\n shape: \'square\'\n };\n }\n\n return {\n size: \'large\',\n shape: \'circle\'\n };\n}\n\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return {\n width: \'38%\'\n };\n }\n\n if (hasAvatar && hasParagraph) {\n return {\n width: \'50%\'\n };\n }\n\n return {};\n}\n\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n var basicProps = {}; // Width\n\n if (!hasAvatar || !hasTitle) {\n basicProps.width = \'61%\';\n } // Rows\n\n\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n\n return basicProps;\n}\n\nvar Skeleton_Skeleton = function Skeleton(props) {\n var renderSkeleton = function renderSkeleton(_ref) {\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var customizePrefixCls = props.prefixCls,\n loading = props.loading,\n className = props.className,\n children = props.children,\n avatar = props.avatar,\n title = props.title,\n paragraph = props.paragraph,\n active = props.active,\n round = props.round;\n var prefixCls = getPrefixCls(\'skeleton\', customizePrefixCls);\n\n if (loading || !(\'loading\' in props)) {\n var _classNames;\n\n var hasAvatar = !!avatar;\n var hasTitle = !!title;\n var hasParagraph = !!paragraph; // Avatar\n\n var avatarNode;\n\n if (hasAvatar) {\n var avatarProps = Skeleton_extends(Skeleton_extends({\n prefixCls: "".concat(prefixCls, "-avatar")\n }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar)); // We direct use SkeletonElement as avatar in skeleton internal.\n\n\n avatarNode = /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-header")\n }, /*#__PURE__*/react["createElement"](skeleton_Element, avatarProps));\n }\n\n var contentNode;\n\n if (hasTitle || hasParagraph) {\n // Title\n var $title;\n\n if (hasTitle) {\n var titleProps = Skeleton_extends(Skeleton_extends({\n prefixCls: "".concat(prefixCls, "-title")\n }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title));\n\n $title = /*#__PURE__*/react["createElement"](skeleton_Title, titleProps);\n } // Paragraph\n\n\n var paragraphNode;\n\n if (hasParagraph) {\n var paragraphProps = Skeleton_extends(Skeleton_extends({\n prefixCls: "".concat(prefixCls, "-paragraph")\n }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph));\n\n paragraphNode = /*#__PURE__*/react["createElement"](skeleton_Paragraph, paragraphProps);\n }\n\n contentNode = /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-content")\n }, $title, paragraphNode);\n }\n\n var cls = classnames_default()(prefixCls, className, (_classNames = {}, Skeleton_defineProperty(_classNames, "".concat(prefixCls, "-with-avatar"), hasAvatar), Skeleton_defineProperty(_classNames, "".concat(prefixCls, "-active"), active), Skeleton_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), Skeleton_defineProperty(_classNames, "".concat(prefixCls, "-round"), round), _classNames));\n return /*#__PURE__*/react["createElement"]("div", {\n className: cls\n }, avatarNode, contentNode);\n }\n\n return children;\n };\n\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, renderSkeleton);\n};\n\nSkeleton_Skeleton.defaultProps = {\n avatar: false,\n title: true,\n paragraph: true\n};\nSkeleton_Skeleton.Button = Button;\nSkeleton_Skeleton.Avatar = Avatar;\nSkeleton_Skeleton.Input = Input;\n/* harmony default export */ var skeleton_Skeleton = (Skeleton_Skeleton);\n// CONCATENATED MODULE: ./node_modules/antd/es/skeleton/index.js\n\n/* harmony default export */ var skeleton = __webpack_exports__["a"] = (skeleton_Skeleton);\n\n//# sourceURL=webpack:///./node_modules/antd/es/skeleton/index.js_+_7_modules?')},"/iHx":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 textContain = __webpack_require__(\"6GrX\");\n\nvar graphicUtil = __webpack_require__(\"IwbS\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PATH_COLOR = ['textStyle', 'color'];\nvar _default = {\n /**\n * Get color property or get color from option.textStyle.color\n * @param {boolean} [isEmphasis]\n * @return {string}\n */\n getTextColor: function (isEmphasis) {\n var ecModel = this.ecModel;\n return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);\n },\n\n /**\n * Create font string from fontStyle, fontWeight, fontSize, fontFamily\n * @return {string}\n */\n getFont: function () {\n return graphicUtil.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 getTextRect: function (text) {\n return textContain.getBoundingRect(text, this.getFont(), this.getShallow('align'), this.getShallow('verticalAlign') || this.getShallow('baseline'), this.getShallow('padding'), this.getShallow('lineHeight'), this.getShallow('rich'), this.getShallow('truncateText'));\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/textStyle.js?")},"/kV6":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return KeyCodeUtils; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return KeyChord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return createKeybinding; });\n/* unused harmony export createSimpleKeybinding */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return SimpleKeybinding; });\n/* unused harmony export ChordKeybinding */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return ResolvedKeybindingPart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return ResolvedKeybinding; });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"/cxE\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar KeyCodeStrMap = /** @class */ (function () {\r\n function KeyCodeStrMap() {\r\n this._keyCodeToStr = [];\r\n this._strToKeyCode = Object.create(null);\r\n }\r\n KeyCodeStrMap.prototype.define = function (keyCode, str) {\r\n this._keyCodeToStr[keyCode] = str;\r\n this._strToKeyCode[str.toLowerCase()] = keyCode;\r\n };\r\n KeyCodeStrMap.prototype.keyCodeToStr = function (keyCode) {\r\n return this._keyCodeToStr[keyCode];\r\n };\r\n KeyCodeStrMap.prototype.strToKeyCode = function (str) {\r\n return this._strToKeyCode[str.toLowerCase()] || 0 /* Unknown */;\r\n };\r\n return KeyCodeStrMap;\r\n}());\r\nvar uiMap = new KeyCodeStrMap();\r\nvar userSettingsUSMap = new KeyCodeStrMap();\r\nvar userSettingsGeneralMap = new KeyCodeStrMap();\r\n(function () {\r\n function define(keyCode, uiLabel, usUserSettingsLabel, generalUserSettingsLabel) {\r\n if (usUserSettingsLabel === void 0) { usUserSettingsLabel = uiLabel; }\r\n if (generalUserSettingsLabel === void 0) { generalUserSettingsLabel = usUserSettingsLabel; }\r\n uiMap.define(keyCode, uiLabel);\r\n userSettingsUSMap.define(keyCode, usUserSettingsLabel);\r\n userSettingsGeneralMap.define(keyCode, generalUserSettingsLabel);\r\n }\r\n define(0 /* Unknown */, 'unknown');\r\n define(1 /* Backspace */, 'Backspace');\r\n define(2 /* Tab */, 'Tab');\r\n define(3 /* Enter */, 'Enter');\r\n define(4 /* Shift */, 'Shift');\r\n define(5 /* Ctrl */, 'Ctrl');\r\n define(6 /* Alt */, 'Alt');\r\n define(7 /* PauseBreak */, 'PauseBreak');\r\n define(8 /* CapsLock */, 'CapsLock');\r\n define(9 /* Escape */, 'Escape');\r\n define(10 /* Space */, 'Space');\r\n define(11 /* PageUp */, 'PageUp');\r\n define(12 /* PageDown */, 'PageDown');\r\n define(13 /* End */, 'End');\r\n define(14 /* Home */, 'Home');\r\n define(15 /* LeftArrow */, 'LeftArrow', 'Left');\r\n define(16 /* UpArrow */, 'UpArrow', 'Up');\r\n define(17 /* RightArrow */, 'RightArrow', 'Right');\r\n define(18 /* DownArrow */, 'DownArrow', 'Down');\r\n define(19 /* Insert */, 'Insert');\r\n define(20 /* Delete */, 'Delete');\r\n define(21 /* KEY_0 */, '0');\r\n define(22 /* KEY_1 */, '1');\r\n define(23 /* KEY_2 */, '2');\r\n define(24 /* KEY_3 */, '3');\r\n define(25 /* KEY_4 */, '4');\r\n define(26 /* KEY_5 */, '5');\r\n define(27 /* KEY_6 */, '6');\r\n define(28 /* KEY_7 */, '7');\r\n define(29 /* KEY_8 */, '8');\r\n define(30 /* KEY_9 */, '9');\r\n define(31 /* KEY_A */, 'A');\r\n define(32 /* KEY_B */, 'B');\r\n define(33 /* KEY_C */, 'C');\r\n define(34 /* KEY_D */, 'D');\r\n define(35 /* KEY_E */, 'E');\r\n define(36 /* KEY_F */, 'F');\r\n define(37 /* KEY_G */, 'G');\r\n define(38 /* KEY_H */, 'H');\r\n define(39 /* KEY_I */, 'I');\r\n define(40 /* KEY_J */, 'J');\r\n define(41 /* KEY_K */, 'K');\r\n define(42 /* KEY_L */, 'L');\r\n define(43 /* KEY_M */, 'M');\r\n define(44 /* KEY_N */, 'N');\r\n define(45 /* KEY_O */, 'O');\r\n define(46 /* KEY_P */, 'P');\r\n define(47 /* KEY_Q */, 'Q');\r\n define(48 /* KEY_R */, 'R');\r\n define(49 /* KEY_S */, 'S');\r\n define(50 /* KEY_T */, 'T');\r\n define(51 /* KEY_U */, 'U');\r\n define(52 /* KEY_V */, 'V');\r\n define(53 /* KEY_W */, 'W');\r\n define(54 /* KEY_X */, 'X');\r\n define(55 /* KEY_Y */, 'Y');\r\n define(56 /* KEY_Z */, 'Z');\r\n define(57 /* Meta */, 'Meta');\r\n define(58 /* ContextMenu */, 'ContextMenu');\r\n define(59 /* F1 */, 'F1');\r\n define(60 /* F2 */, 'F2');\r\n define(61 /* F3 */, 'F3');\r\n define(62 /* F4 */, 'F4');\r\n define(63 /* F5 */, 'F5');\r\n define(64 /* F6 */, 'F6');\r\n define(65 /* F7 */, 'F7');\r\n define(66 /* F8 */, 'F8');\r\n define(67 /* F9 */, 'F9');\r\n define(68 /* F10 */, 'F10');\r\n define(69 /* F11 */, 'F11');\r\n define(70 /* F12 */, 'F12');\r\n define(71 /* F13 */, 'F13');\r\n define(72 /* F14 */, 'F14');\r\n define(73 /* F15 */, 'F15');\r\n define(74 /* F16 */, 'F16');\r\n define(75 /* F17 */, 'F17');\r\n define(76 /* F18 */, 'F18');\r\n define(77 /* F19 */, 'F19');\r\n define(78 /* NumLock */, 'NumLock');\r\n define(79 /* ScrollLock */, 'ScrollLock');\r\n define(80 /* US_SEMICOLON */, ';', ';', 'OEM_1');\r\n define(81 /* US_EQUAL */, '=', '=', 'OEM_PLUS');\r\n define(82 /* US_COMMA */, ',', ',', 'OEM_COMMA');\r\n define(83 /* US_MINUS */, '-', '-', 'OEM_MINUS');\r\n define(84 /* US_DOT */, '.', '.', 'OEM_PERIOD');\r\n define(85 /* US_SLASH */, '/', '/', 'OEM_2');\r\n define(86 /* US_BACKTICK */, '`', '`', 'OEM_3');\r\n define(110 /* ABNT_C1 */, 'ABNT_C1');\r\n define(111 /* ABNT_C2 */, 'ABNT_C2');\r\n define(87 /* US_OPEN_SQUARE_BRACKET */, '[', '[', 'OEM_4');\r\n define(88 /* US_BACKSLASH */, '\\\\', '\\\\', 'OEM_5');\r\n define(89 /* US_CLOSE_SQUARE_BRACKET */, ']', ']', 'OEM_6');\r\n define(90 /* US_QUOTE */, '\\'', '\\'', 'OEM_7');\r\n define(91 /* OEM_8 */, 'OEM_8');\r\n define(92 /* OEM_102 */, 'OEM_102');\r\n define(93 /* NUMPAD_0 */, 'NumPad0');\r\n define(94 /* NUMPAD_1 */, 'NumPad1');\r\n define(95 /* NUMPAD_2 */, 'NumPad2');\r\n define(96 /* NUMPAD_3 */, 'NumPad3');\r\n define(97 /* NUMPAD_4 */, 'NumPad4');\r\n define(98 /* NUMPAD_5 */, 'NumPad5');\r\n define(99 /* NUMPAD_6 */, 'NumPad6');\r\n define(100 /* NUMPAD_7 */, 'NumPad7');\r\n define(101 /* NUMPAD_8 */, 'NumPad8');\r\n define(102 /* NUMPAD_9 */, 'NumPad9');\r\n define(103 /* NUMPAD_MULTIPLY */, 'NumPad_Multiply');\r\n define(104 /* NUMPAD_ADD */, 'NumPad_Add');\r\n define(105 /* NUMPAD_SEPARATOR */, 'NumPad_Separator');\r\n define(106 /* NUMPAD_SUBTRACT */, 'NumPad_Subtract');\r\n define(107 /* NUMPAD_DECIMAL */, 'NumPad_Decimal');\r\n define(108 /* NUMPAD_DIVIDE */, 'NumPad_Divide');\r\n})();\r\nvar KeyCodeUtils;\r\n(function (KeyCodeUtils) {\r\n function toString(keyCode) {\r\n return uiMap.keyCodeToStr(keyCode);\r\n }\r\n KeyCodeUtils.toString = toString;\r\n function fromString(key) {\r\n return uiMap.strToKeyCode(key);\r\n }\r\n KeyCodeUtils.fromString = fromString;\r\n function toUserSettingsUS(keyCode) {\r\n return userSettingsUSMap.keyCodeToStr(keyCode);\r\n }\r\n KeyCodeUtils.toUserSettingsUS = toUserSettingsUS;\r\n function toUserSettingsGeneral(keyCode) {\r\n return userSettingsGeneralMap.keyCodeToStr(keyCode);\r\n }\r\n KeyCodeUtils.toUserSettingsGeneral = toUserSettingsGeneral;\r\n function fromUserSettings(key) {\r\n return userSettingsUSMap.strToKeyCode(key) || userSettingsGeneralMap.strToKeyCode(key);\r\n }\r\n KeyCodeUtils.fromUserSettings = fromUserSettings;\r\n})(KeyCodeUtils || (KeyCodeUtils = {}));\r\nfunction KeyChord(firstPart, secondPart) {\r\n var chordPart = ((secondPart & 0x0000FFFF) << 16) >>> 0;\r\n return (firstPart | chordPart) >>> 0;\r\n}\r\nfunction createKeybinding(keybinding, OS) {\r\n if (keybinding === 0) {\r\n return null;\r\n }\r\n var firstPart = (keybinding & 0x0000FFFF) >>> 0;\r\n var chordPart = (keybinding & 0xFFFF0000) >>> 16;\r\n if (chordPart !== 0) {\r\n return new ChordKeybinding([\r\n createSimpleKeybinding(firstPart, OS),\r\n createSimpleKeybinding(chordPart, OS)\r\n ]);\r\n }\r\n return new ChordKeybinding([createSimpleKeybinding(firstPart, OS)]);\r\n}\r\nfunction createSimpleKeybinding(keybinding, OS) {\r\n var ctrlCmd = (keybinding & 2048 /* CtrlCmd */ ? true : false);\r\n var winCtrl = (keybinding & 256 /* WinCtrl */ ? true : false);\r\n var ctrlKey = (OS === 2 /* Macintosh */ ? winCtrl : ctrlCmd);\r\n var shiftKey = (keybinding & 1024 /* Shift */ ? true : false);\r\n var altKey = (keybinding & 512 /* Alt */ ? true : false);\r\n var metaKey = (OS === 2 /* Macintosh */ ? ctrlCmd : winCtrl);\r\n var keyCode = (keybinding & 255 /* KeyCode */);\r\n return new SimpleKeybinding(ctrlKey, shiftKey, altKey, metaKey, keyCode);\r\n}\r\nvar SimpleKeybinding = /** @class */ (function () {\r\n function SimpleKeybinding(ctrlKey, shiftKey, altKey, metaKey, keyCode) {\r\n this.ctrlKey = ctrlKey;\r\n this.shiftKey = shiftKey;\r\n this.altKey = altKey;\r\n this.metaKey = metaKey;\r\n this.keyCode = keyCode;\r\n }\r\n SimpleKeybinding.prototype.equals = function (other) {\r\n return (this.ctrlKey === other.ctrlKey\r\n && this.shiftKey === other.shiftKey\r\n && this.altKey === other.altKey\r\n && this.metaKey === other.metaKey\r\n && this.keyCode === other.keyCode);\r\n };\r\n SimpleKeybinding.prototype.isModifierKey = function () {\r\n return (this.keyCode === 0 /* Unknown */\r\n || this.keyCode === 5 /* Ctrl */\r\n || this.keyCode === 57 /* Meta */\r\n || this.keyCode === 6 /* Alt */\r\n || this.keyCode === 4 /* Shift */);\r\n };\r\n SimpleKeybinding.prototype.toChord = function () {\r\n return new ChordKeybinding([this]);\r\n };\r\n /**\r\n * Does this keybinding refer to the key code of a modifier and it also has the modifier flag?\r\n */\r\n SimpleKeybinding.prototype.isDuplicateModifierCase = function () {\r\n return ((this.ctrlKey && this.keyCode === 5 /* Ctrl */)\r\n || (this.shiftKey && this.keyCode === 4 /* Shift */)\r\n || (this.altKey && this.keyCode === 6 /* Alt */)\r\n || (this.metaKey && this.keyCode === 57 /* Meta */));\r\n };\r\n return SimpleKeybinding;\r\n}());\r\n\r\nvar ChordKeybinding = /** @class */ (function () {\r\n function ChordKeybinding(parts) {\r\n if (parts.length === 0) {\r\n throw Object(_errors_js__WEBPACK_IMPORTED_MODULE_0__[/* illegalArgument */ \"b\"])(\"parts\");\r\n }\r\n this.parts = parts;\r\n }\r\n ChordKeybinding.prototype.equals = function (other) {\r\n if (other === null) {\r\n return false;\r\n }\r\n if (this.parts.length !== other.parts.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < this.parts.length; i++) {\r\n if (!this.parts[i].equals(other.parts[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n return ChordKeybinding;\r\n}());\r\n\r\nvar ResolvedKeybindingPart = /** @class */ (function () {\r\n function ResolvedKeybindingPart(ctrlKey, shiftKey, altKey, metaKey, kbLabel, kbAriaLabel) {\r\n this.ctrlKey = ctrlKey;\r\n this.shiftKey = shiftKey;\r\n this.altKey = altKey;\r\n this.metaKey = metaKey;\r\n this.keyLabel = kbLabel;\r\n this.keyAriaLabel = kbAriaLabel;\r\n }\r\n return ResolvedKeybindingPart;\r\n}());\r\n\r\n/**\r\n * A resolved keybinding. Can be a simple keybinding or a chord keybinding.\r\n */\r\nvar ResolvedKeybinding = /** @class */ (function () {\r\n function ResolvedKeybinding() {\r\n }\r\n return ResolvedKeybinding;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js?")},"/kpp":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Col; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _RowContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("o/2+");\n/* harmony import */ var _config_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("H84U");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\nfunction parseFlex(flex) {\n if (typeof flex === \'number\') {\n return "".concat(flex, " ").concat(flex, " auto");\n }\n\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return "0 0 ".concat(flex);\n }\n\n return flex;\n}\n\nvar Col = /*#__PURE__*/function (_React$Component) {\n _inherits(Col, _React$Component);\n\n var _super = _createSuper(Col);\n\n function Col() {\n var _this;\n\n _classCallCheck(this, Col);\n\n _this = _super.apply(this, arguments);\n\n _this.renderCol = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n var customizePrefixCls = props.prefixCls,\n span = props.span,\n order = props.order,\n offset = props.offset,\n push = props.push,\n pull = props.pull,\n className = props.className,\n children = props.children,\n flex = props.flex,\n style = props.style,\n others = __rest(props, ["prefixCls", "span", "order", "offset", "push", "pull", "className", "children", "flex", "style"]);\n\n var prefixCls = getPrefixCls(\'col\', customizePrefixCls);\n var sizeClassObj = {};\n [\'xs\', \'sm\', \'md\', \'lg\', \'xl\', \'xxl\'].forEach(function (size) {\n var _extends2;\n\n var sizeProps = {};\n var propSize = props[size];\n\n if (typeof propSize === \'number\') {\n sizeProps.span = propSize;\n } else if (_typeof(propSize) === \'object\') {\n sizeProps = propSize || {};\n }\n\n delete others[size];\n sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-").concat(sizeProps.span), sizeProps.span !== undefined), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-order-").concat(sizeProps.order), sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-offset-").concat(sizeProps.offset), sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-push-").concat(sizeProps.push), sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, "".concat(prefixCls, "-").concat(size, "-pull-").concat(sizeProps.pull), sizeProps.pull || sizeProps.pull === 0), _defineProperty(_extends2, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _extends2));\n });\n var classes = classnames__WEBPACK_IMPORTED_MODULE_1___default()(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-").concat(span), span !== undefined), _defineProperty(_classNames, "".concat(prefixCls, "-order-").concat(order), order), _defineProperty(_classNames, "".concat(prefixCls, "-offset-").concat(offset), offset), _defineProperty(_classNames, "".concat(prefixCls, "-push-").concat(push), push), _defineProperty(_classNames, "".concat(prefixCls, "-pull-").concat(pull), pull), _classNames), className, sizeClassObj);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_RowContext__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Consumer, null, function (_ref2) {\n var gutter = _ref2.gutter;\n\n var mergedStyle = _extends({}, style);\n\n if (gutter) {\n mergedStyle = _extends(_extends(_extends({}, gutter[0] > 0 ? {\n paddingLeft: gutter[0] / 2,\n paddingRight: gutter[0] / 2\n } : {}), gutter[1] > 0 ? {\n paddingTop: gutter[1] / 2,\n paddingBottom: gutter[1] / 2\n } : {}), mergedStyle);\n }\n\n if (flex) {\n mergedStyle.flex = parseFlex(flex);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", _extends({}, others, {\n style: mergedStyle,\n className: classes\n }), children);\n });\n };\n\n return _this;\n }\n\n _createClass(Col, [{\n key: "render",\n value: function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_config_provider__WEBPACK_IMPORTED_MODULE_3__[/* ConfigConsumer */ "a"], null, this.renderCol);\n }\n }]);\n\n return Col;\n}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/grid/col.js?')},"/oaI":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/media/gotoErrorWidget.css?")},"/ry/":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar SeriesModel = __webpack_require__(\"T4UG\");\n\nvar _whiskerBoxCommon = __webpack_require__(\"5GhG\");\n\nvar seriesModelMixin = _whiskerBoxCommon.seriesModelMixin;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 BoxplotSeries = SeriesModel.extend({\n type: 'series.boxplot',\n dependencies: ['xAxis', 'yAxis', 'grid'],\n // TODO\n // box width represents group size, so dimension should have 'size'.\n\n /**\n * @see \n * The meanings of 'min' and 'max' depend on user,\n * and echarts do not need to know it.\n * @readOnly\n */\n 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\n /**\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * @override\n */\n defaultOption: {\n zlevel: 0,\n // \u4e00\u7ea7\u5c42\u53e0\n z: 2,\n // \u4e8c\u7ea7\u5c42\u53e0\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n layout: null,\n // 'horizontal' or 'vertical'\n boxWidth: [7, 50],\n // [min, max] can be percent of band width.\n itemStyle: {\n color: '#fff',\n borderWidth: 1\n },\n emphasis: {\n itemStyle: {\n borderWidth: 2,\n shadowBlur: 5,\n shadowOffsetX: 2,\n shadowOffsetY: 2,\n shadowColor: 'rgba(0,0,0,0.4)'\n }\n },\n animationEasing: 'elasticOut',\n animationDuration: 800\n }\n});\nzrUtil.mixin(BoxplotSeries, seriesModelMixin, true);\nvar _default = BoxplotSeries;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js?")},"/stD":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar featureManager = __webpack_require__(\"IUWy\");\n\nvar lang = __webpack_require__(\"Kagy\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 brushLang = lang.toolbox.brush;\n\nfunction Brush(model, ecModel, api) {\n this.model = model;\n this.ecModel = ecModel;\n this.api = api;\n /**\n * @private\n * @type {string}\n */\n\n this._brushType;\n /**\n * @private\n * @type {string}\n */\n\n this._brushMode;\n}\n\nBrush.defaultOption = {\n show: true,\n type: ['rect', 'polygon', 'lineX', 'lineY', 'keep', 'clear'],\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 // jshint ignore:line\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 // jshint ignore:line\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 // jshint ignore:line\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 // jshint ignore:line\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 // jshint ignore:line\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: zrUtil.clone(brushLang.title)\n};\nvar proto = Brush.prototype; // proto.updateLayout = function (featureModel, ecModel, api) {\n\n/* eslint-disable */\n\nproto.render =\n/* eslint-enable */\nproto.updateView = 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 |= brushModel.areas.length;\n });\n this._brushType = brushType;\n this._brushMode = brushMode;\n zrUtil.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\nproto.getIcons = function () {\n var model = this.model;\n var availableIcons = model.get('icon', true);\n var icons = {};\n zrUtil.each(model.get('type', true), function (type) {\n if (availableIcons[type]) {\n icons[type] = availableIcons[type];\n }\n });\n return icons;\n};\n\nproto.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\nfeatureManager.register('brush', Brush);\nvar _default = Brush;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/Brush.js?")},"/wGt":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__("Ff2n");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/PortalWrapper.js + 3 modules\nvar PortalWrapper = __webpack_require__("1W/9");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nvar assertThisInitialized = __webpack_require__("JX7q");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/getScrollBarSize.js\nvar getScrollBarSize = __webpack_require__("qx4F");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// CONCATENATED MODULE: ./node_modules/rc-drawer/es/utils.js\nfunction dataToArray(vars) {\n if (Array.isArray(vars)) {\n return vars;\n }\n\n return [vars];\n}\nvar transitionEndObject = {\n transition: \'transitionend\',\n WebkitTransition: \'webkitTransitionEnd\',\n MozTransition: \'transitionend\',\n OTransition: \'oTransitionEnd otransitionend\'\n};\nvar transitionStr = Object.keys(transitionEndObject).filter(function (key) {\n if (typeof document === \'undefined\') {\n return false;\n }\n\n var html = document.getElementsByTagName(\'html\')[0];\n return key in (html ? html.style : {});\n})[0];\nvar transitionEnd = transitionEndObject[transitionStr];\nfunction addEventListener(target, eventType, callback, options) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n // tslint:disable-line\n target.attachEvent("on".concat(eventType), callback); // tslint:disable-line\n }\n}\nfunction removeEventListener(target, eventType, callback, options) {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n // tslint:disable-line\n target.detachEvent("on".concat(eventType), callback); // tslint:disable-line\n }\n}\nfunction transformArguments(arg, cb) {\n var result = typeof arg === \'function\' ? arg(cb) : arg;\n\n if (Array.isArray(result)) {\n if (result.length === 2) {\n return result;\n }\n\n return [result[0], result[1]];\n }\n\n return [result];\n}\nvar isNumeric = function isNumeric(value) {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\nvar windowIsUndefined = !(typeof window !== \'undefined\' && window.document && window.document.createElement);\nvar getTouchParentScroll = function getTouchParentScroll(root, currentTarget, differX, differY) {\n if (!currentTarget || currentTarget === document || currentTarget instanceof Document) {\n return false;\n } // root \u4e3a drawer-content \u8bbe\u5b9a\u4e86 overflow, \u5224\u65ad\u4e3a root \u7684 parent \u65f6\u7ed3\u675f\u6eda\u52a8\uff1b\n\n\n if (currentTarget === root.parentNode) {\n return true;\n }\n\n var isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);\n var isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);\n var scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;\n var scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;\n var style = document.defaultView.getComputedStyle(currentTarget);\n var overflowY = style.overflowY === \'auto\' || style.overflowY === \'scroll\';\n var overflowX = style.overflowX === \'auto\' || style.overflowX === \'scroll\';\n var y = scrollY && overflowY;\n var x = scrollX && overflowX;\n\n if (isY && (!y || y && (currentTarget.scrollTop >= scrollY && differY < 0 || currentTarget.scrollTop <= 0 && differY > 0)) || isX && (!x || x && (currentTarget.scrollLeft >= scrollX && differX < 0 || currentTarget.scrollLeft <= 0 && differX > 0))) {\n return getTouchParentScroll(root, currentTarget.parentNode, differX, differY);\n }\n\n return false;\n};\n// CONCATENATED MODULE: ./node_modules/rc-drawer/es/DrawerChild.js\n\n\n\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\n\nvar currentDrawer = {};\n\nvar DrawerChild_DrawerChild =\n/** @class */\nfunction () {\n var DrawerChild = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(DrawerChild, _React$Component);\n\n var _super = _createSuper(DrawerChild);\n\n function DrawerChild(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, DrawerChild);\n\n _this = _super.call(this, props);\n\n _this.domFocus = function () {\n if (_this.dom) {\n _this.dom.focus();\n }\n };\n\n _this.removeStartHandler = function (e) {\n if (e.touches.length > 1) {\n return;\n }\n\n _this.startPos = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY\n };\n };\n\n _this.removeMoveHandler = function (e) {\n if (e.changedTouches.length > 1) {\n return;\n }\n\n var currentTarget = e.currentTarget;\n var differX = e.changedTouches[0].clientX - _this.startPos.x;\n var differY = e.changedTouches[0].clientY - _this.startPos.y;\n\n if ((currentTarget === _this.maskDom || currentTarget === _this.handlerDom || currentTarget === _this.contentDom && getTouchParentScroll(currentTarget, e.target, differX, differY)) && e.cancelable) {\n e.preventDefault();\n }\n };\n\n _this.transitionEnd = function (e) {\n var dom = e.target;\n removeEventListener(dom, transitionEnd, _this.transitionEnd);\n dom.style.transition = \'\';\n };\n\n _this.onKeyDown = function (e) {\n if (e.keyCode === KeyCode["a" /* default */].ESC) {\n var onClose = _this.props.onClose;\n e.stopPropagation();\n\n if (onClose) {\n onClose(e);\n }\n }\n };\n\n _this.onWrapperTransitionEnd = function (e) {\n var _this$props = _this.props,\n open = _this$props.open,\n afterVisibleChange = _this$props.afterVisibleChange;\n\n if (e.target === _this.contentWrapper && e.propertyName.match(/transform$/)) {\n _this.dom.style.transition = \'\';\n\n if (!open && _this.getCurrentDrawerSome()) {\n document.body.style.overflowX = \'\';\n\n if (_this.maskDom) {\n _this.maskDom.style.left = \'\';\n _this.maskDom.style.width = \'\';\n }\n }\n\n if (afterVisibleChange) {\n afterVisibleChange(!!open);\n }\n }\n };\n\n _this.openLevelTransition = function () {\n var _this$props2 = _this.props,\n open = _this$props2.open,\n width = _this$props2.width,\n height = _this$props2.height;\n\n var _this$getHorizontalBo = _this.getHorizontalBoolAndPlacementName(),\n isHorizontal = _this$getHorizontalBo.isHorizontal,\n placementName = _this$getHorizontalBo.placementName;\n\n var contentValue = _this.contentDom ? _this.contentDom.getBoundingClientRect()[isHorizontal ? \'width\' : \'height\'] : 0;\n var value = (isHorizontal ? width : height) || contentValue;\n\n _this.setLevelAndScrolling(open, placementName, value);\n };\n\n _this.setLevelTransform = function (open, placementName, value, right) {\n var _this$props3 = _this.props,\n placement = _this$props3.placement,\n levelMove = _this$props3.levelMove,\n duration = _this$props3.duration,\n ease = _this$props3.ease,\n showMask = _this$props3.showMask; // router \u5207\u6362\u65f6\u53ef\u80fd\u4f1a\u5bfc\u81f3\u9875\u9762\u5931\u53bb\u6eda\u52a8\u6761\uff0c\u6240\u4ee5\u9700\u8981\u65f6\u65f6\u83b7\u53d6\u3002\n\n _this.levelDom.forEach(function (dom) {\n dom.style.transition = "transform ".concat(duration, " ").concat(ease);\n addEventListener(dom, transitionEnd, _this.transitionEnd);\n var levelValue = open ? value : 0;\n\n if (levelMove) {\n var $levelMove = transformArguments(levelMove, {\n target: dom,\n open: open\n });\n levelValue = open ? $levelMove[0] : $levelMove[1] || 0;\n }\n\n var $value = typeof levelValue === \'number\' ? "".concat(levelValue, "px") : levelValue;\n var placementPos = placement === \'left\' || placement === \'top\' ? $value : "-".concat($value);\n placementPos = showMask && placement === \'right\' && right ? "calc(".concat(placementPos, " + ").concat(right, "px)") : placementPos;\n dom.style.transform = levelValue ? "".concat(placementName, "(").concat(placementPos, ")") : \'\';\n });\n };\n\n _this.setLevelAndScrolling = function (open, placementName, value) {\n var onChange = _this.props.onChange;\n\n if (!windowIsUndefined) {\n var right = document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth ? Object(getScrollBarSize["a" /* default */])(true) : 0;\n\n _this.setLevelTransform(open, placementName, value, right);\n\n _this.toggleScrollingToDrawerAndBody(right);\n }\n\n if (onChange) {\n onChange(open);\n }\n };\n\n _this.toggleScrollingToDrawerAndBody = function (right) {\n var _this$props4 = _this.props,\n getOpenCount = _this$props4.getOpenCount,\n getContainer = _this$props4.getContainer,\n showMask = _this$props4.showMask,\n open = _this$props4.open;\n var container = getContainer && getContainer();\n var openCount = getOpenCount && getOpenCount(); // \u5904\u7406 body \u6eda\u52a8\n\n if (container && container.parentNode === document.body && showMask) {\n var eventArray = [\'touchstart\'];\n var domArray = [document.body, _this.maskDom, _this.handlerDom, _this.contentDom];\n\n if (open && document.body.style.overflow !== \'hidden\') {\n if (right) {\n _this.addScrollingEffect(right);\n }\n\n if (openCount === 1) {\n document.body.style.overflow = \'hidden\';\n }\n\n document.body.style.touchAction = \'none\'; // \u624b\u673a\u7981\u6eda\n\n domArray.forEach(function (item, i) {\n if (!item) {\n return;\n }\n\n addEventListener(item, eventArray[i] || \'touchmove\', i ? _this.removeMoveHandler : _this.removeStartHandler, _this.passive);\n });\n } else if (_this.getCurrentDrawerSome()) {\n // \u6ca1\u6709\u5f39\u6846\u7684\u72b6\u6001\u4e0b\u6e05\u9664 overflow;\n if (!openCount) {\n document.body.style.overflow = \'\';\n }\n\n document.body.style.touchAction = \'\';\n\n if (right) {\n _this.remScrollingEffect(right);\n } // \u6062\u590d\u4e8b\u4ef6\n\n\n domArray.forEach(function (item, i) {\n if (!item) {\n return;\n }\n\n removeEventListener(item, eventArray[i] || \'touchmove\', i ? _this.removeMoveHandler : _this.removeStartHandler, _this.passive);\n });\n }\n }\n };\n\n _this.addScrollingEffect = function (right) {\n var _this$props5 = _this.props,\n placement = _this$props5.placement,\n duration = _this$props5.duration,\n ease = _this$props5.ease,\n getOpenCount = _this$props5.getOpenCount,\n switchScrollingEffect = _this$props5.switchScrollingEffect;\n var openCount = getOpenCount && getOpenCount();\n\n if (openCount === 1) {\n switchScrollingEffect();\n }\n\n var widthTransition = "width ".concat(duration, " ").concat(ease);\n var transformTransition = "transform ".concat(duration, " ").concat(ease);\n _this.dom.style.transition = \'none\';\n\n switch (placement) {\n case \'right\':\n _this.dom.style.transform = "translateX(-".concat(right, "px)");\n break;\n\n case \'top\':\n case \'bottom\':\n _this.dom.style.width = "calc(100% - ".concat(right, "px)");\n _this.dom.style.transform = \'translateZ(0)\';\n break;\n\n default:\n break;\n }\n\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function () {\n if (_this.dom) {\n _this.dom.style.transition = "".concat(transformTransition, ",").concat(widthTransition);\n _this.dom.style.width = \'\';\n _this.dom.style.transform = \'\';\n }\n });\n };\n\n _this.remScrollingEffect = function (right) {\n var _this$props6 = _this.props,\n placement = _this$props6.placement,\n duration = _this$props6.duration,\n ease = _this$props6.ease,\n getOpenCount = _this$props6.getOpenCount,\n switchScrollingEffect = _this$props6.switchScrollingEffect;\n var openCount = getOpenCount && getOpenCount();\n\n if (!openCount) {\n switchScrollingEffect(true);\n }\n\n if (transitionStr) {\n document.body.style.overflowX = \'hidden\';\n }\n\n _this.dom.style.transition = \'none\';\n var heightTransition;\n var widthTransition = "width ".concat(duration, " ").concat(ease);\n var transformTransition = "transform ".concat(duration, " ").concat(ease);\n\n switch (placement) {\n case \'left\':\n {\n _this.dom.style.width = \'100%\';\n widthTransition = "width 0s ".concat(ease, " ").concat(duration);\n break;\n }\n\n case \'right\':\n {\n _this.dom.style.transform = "translateX(".concat(right, "px)");\n _this.dom.style.width = \'100%\';\n widthTransition = "width 0s ".concat(ease, " ").concat(duration);\n\n if (_this.maskDom) {\n _this.maskDom.style.left = "-".concat(right, "px");\n _this.maskDom.style.width = "calc(100% + ".concat(right, "px)");\n }\n\n break;\n }\n\n case \'top\':\n case \'bottom\':\n {\n _this.dom.style.width = "calc(100% + ".concat(right, "px)");\n _this.dom.style.height = \'100%\';\n _this.dom.style.transform = \'translateZ(0)\';\n heightTransition = "height 0s ".concat(ease, " ").concat(duration);\n break;\n }\n\n default:\n break;\n }\n\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function () {\n if (_this.dom) {\n _this.dom.style.transition = "".concat(transformTransition, ",").concat(heightTransition ? "".concat(heightTransition, ",") : \'\').concat(widthTransition);\n _this.dom.style.transform = \'\';\n _this.dom.style.width = \'\';\n _this.dom.style.height = \'\';\n }\n });\n };\n\n _this.getCurrentDrawerSome = function () {\n return !Object.keys(currentDrawer).some(function (key) {\n return currentDrawer[key];\n });\n };\n\n _this.getLevelDom = function (_ref) {\n var level = _ref.level,\n getContainer = _ref.getContainer;\n\n if (windowIsUndefined) {\n return;\n }\n\n var container = getContainer && getContainer();\n var parent = container ? container.parentNode : null;\n _this.levelDom = [];\n\n if (level === \'all\') {\n var children = parent ? Array.prototype.slice.call(parent.children) : [];\n children.forEach(function (child) {\n if (child.nodeName !== \'SCRIPT\' && child.nodeName !== \'STYLE\' && child.nodeName !== \'LINK\' && child !== container) {\n _this.levelDom.push(child);\n }\n });\n } else if (level) {\n dataToArray(level).forEach(function (key) {\n document.querySelectorAll(key).forEach(function (item) {\n _this.levelDom.push(item);\n });\n });\n }\n };\n\n _this.getHorizontalBoolAndPlacementName = function () {\n var placement = _this.props.placement;\n var isHorizontal = placement === \'left\' || placement === \'right\';\n var placementName = "translate".concat(isHorizontal ? \'X\' : \'Y\');\n return {\n isHorizontal: isHorizontal,\n placementName: placementName\n };\n };\n\n _this.state = {\n _self: Object(assertThisInitialized["a" /* default */])(_this)\n };\n return _this;\n }\n\n Object(createClass["a" /* default */])(DrawerChild, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (!windowIsUndefined) {\n var passiveSupported = false;\n\n try {\n window.addEventListener(\'test\', null, Object.defineProperty({}, \'passive\', {\n get: function get() {\n passiveSupported = true;\n return null;\n }\n }));\n } catch (err) {}\n\n this.passive = passiveSupported ? {\n passive: false\n } : false;\n }\n\n var open = this.props.open;\n this.drawerId = "drawer_id_".concat(Number((Date.now() + Math.random()).toString().replace(\'.\', Math.round(Math.random() * 9).toString())).toString(16));\n this.getLevelDom(this.props);\n\n if (open) {\n currentDrawer[this.drawerId] = open; // \u9ed8\u8ba4\u6253\u5f00\u72b6\u6001\u65f6\u63a8\u51fa level;\n\n this.openLevelTransition();\n this.forceUpdate(function () {\n _this2.domFocus();\n });\n }\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n var open = this.props.open;\n\n if (open !== prevProps.open) {\n if (open) {\n this.domFocus();\n }\n\n currentDrawer[this.drawerId] = !!open;\n this.openLevelTransition();\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n var _this$props7 = this.props,\n getOpenCount = _this$props7.getOpenCount,\n open = _this$props7.open,\n switchScrollingEffect = _this$props7.switchScrollingEffect;\n var openCount = typeof getOpenCount === \'function\' && getOpenCount();\n delete currentDrawer[this.drawerId];\n\n if (open) {\n this.setLevelTransform(false);\n document.body.style.touchAction = \'\';\n }\n\n if (!openCount) {\n document.body.style.overflow = \'\';\n switchScrollingEffect(true);\n }\n } // tslint:disable-next-line:member-ordering\n\n }, {\n key: "render",\n value: function render() {\n var _classnames,\n _this3 = this;\n\n var _this$props8 = this.props,\n className = _this$props8.className,\n children = _this$props8.children,\n style = _this$props8.style,\n width = _this$props8.width,\n height = _this$props8.height,\n defaultOpen = _this$props8.defaultOpen,\n $open = _this$props8.open,\n prefixCls = _this$props8.prefixCls,\n placement = _this$props8.placement,\n level = _this$props8.level,\n levelMove = _this$props8.levelMove,\n ease = _this$props8.ease,\n duration = _this$props8.duration,\n getContainer = _this$props8.getContainer,\n handler = _this$props8.handler,\n onChange = _this$props8.onChange,\n afterVisibleChange = _this$props8.afterVisibleChange,\n showMask = _this$props8.showMask,\n maskClosable = _this$props8.maskClosable,\n maskStyle = _this$props8.maskStyle,\n onClose = _this$props8.onClose,\n onHandleClick = _this$props8.onHandleClick,\n keyboard = _this$props8.keyboard,\n getOpenCount = _this$props8.getOpenCount,\n switchScrollingEffect = _this$props8.switchScrollingEffect,\n props = Object(objectWithoutProperties["a" /* default */])(_this$props8, ["className", "children", "style", "width", "height", "defaultOpen", "open", "prefixCls", "placement", "level", "levelMove", "ease", "duration", "getContainer", "handler", "onChange", "afterVisibleChange", "showMask", "maskClosable", "maskStyle", "onClose", "onHandleClick", "keyboard", "getOpenCount", "switchScrollingEffect"]); // \u9996\u6b21\u6e32\u67d3\u90fd\u5c06\u662f\u5173\u95ed\u72b6\u6001\u3002\n\n\n var open = this.dom ? $open : false;\n var wrapperClassName = classnames_default()(prefixCls, (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, "".concat(prefixCls, "-").concat(placement), true), Object(defineProperty["a" /* default */])(_classnames, "".concat(prefixCls, "-open"), open), Object(defineProperty["a" /* default */])(_classnames, className || \'\', !!className), Object(defineProperty["a" /* default */])(_classnames, \'no-mask\', !showMask), _classnames));\n\n var _this$getHorizontalBo2 = this.getHorizontalBoolAndPlacementName(),\n placementName = _this$getHorizontalBo2.placementName; // \u767e\u5206\u6bd4\u4e0e\u50cf\u7d20\u52a8\u753b\u4e0d\u540c\u6b65\uff0c\u7b2c\u4e00\u6b21\u6253\u7528\u540e\u5168\u7528\u50cf\u7d20\u52a8\u753b\u3002\n // const defaultValue = !this.contentDom || !level ? \'100%\' : `${value}px`;\n\n\n var placementPos = placement === \'left\' || placement === \'top\' ? \'-100%\' : \'100%\';\n var transform = open ? \'\' : "".concat(placementName, "(").concat(placementPos, ")");\n var handlerChildren = handler && react["cloneElement"](handler, {\n onClick: function onClick(e) {\n if (handler.props.onClick) {\n handler.props.onClick();\n }\n\n if (onHandleClick) {\n onHandleClick(e);\n }\n },\n ref: function ref(c) {\n _this3.handlerDom = c;\n }\n });\n return react["createElement"]("div", Object.assign({}, props, {\n tabIndex: -1,\n className: wrapperClassName,\n style: style,\n ref: function ref(c) {\n _this3.dom = c;\n },\n onKeyDown: open && keyboard ? this.onKeyDown : undefined,\n onTransitionEnd: this.onWrapperTransitionEnd\n }), showMask && react["createElement"]("div", {\n className: "".concat(prefixCls, "-mask"),\n onClick: maskClosable ? onClose : undefined,\n style: maskStyle,\n ref: function ref(c) {\n _this3.maskDom = c;\n }\n }), react["createElement"]("div", {\n className: "".concat(prefixCls, "-content-wrapper"),\n style: {\n transform: transform,\n msTransform: transform,\n width: isNumeric(width) ? "".concat(width, "px") : width,\n height: isNumeric(height) ? "".concat(height, "px") : height\n },\n ref: function ref(c) {\n _this3.contentWrapper = c;\n }\n }, react["createElement"]("div", {\n className: "".concat(prefixCls, "-content"),\n ref: function ref(c) {\n _this3.contentDom = c;\n },\n onTouchStart: open && showMask ? this.removeStartHandler : undefined,\n onTouchMove: open && showMask ? this.removeMoveHandler : undefined\n }, children), handlerChildren));\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(props, _ref2) {\n var prevProps = _ref2.prevProps,\n _self = _ref2._self;\n var nextState = {\n prevProps: props\n };\n\n if (prevProps !== undefined) {\n var placement = props.placement,\n level = props.level;\n\n if (placement !== prevProps.placement) {\n // test \u7684 bug, \u6709\u52a8\u753b\u8fc7\u573a\uff0c\u5220\u9664 dom\n _self.contentDom = null;\n }\n\n if (level !== prevProps.level) {\n _self.getLevelDom(props);\n }\n }\n\n return nextState;\n }\n }]);\n\n return DrawerChild;\n }(react["Component"]);\n\n DrawerChild.defaultProps = {\n switchScrollingEffect: function switchScrollingEffect() {}\n };\n return DrawerChild;\n}();\n\n/* harmony default export */ var es_DrawerChild = (DrawerChild_DrawerChild);\n// CONCATENATED MODULE: ./node_modules/rc-drawer/es/DrawerWrapper.js\n\n\n\n\n\n\n\nfunction DrawerWrapper_createSuper(Derived) { var hasNativeReflectConstruct = DrawerWrapper_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction DrawerWrapper_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\nvar DrawerWrapper_DrawerWrapper =\n/** @class */\nfunction () {\n var DrawerWrapper = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(DrawerWrapper, _React$Component);\n\n var _super = DrawerWrapper_createSuper(DrawerWrapper);\n\n function DrawerWrapper(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, DrawerWrapper);\n\n _this = _super.call(this, props);\n\n _this.onHandleClick = function (e) {\n var _this$props = _this.props,\n onHandleClick = _this$props.onHandleClick,\n $open = _this$props.open;\n\n if (onHandleClick) {\n onHandleClick(e);\n }\n\n if (typeof $open === \'undefined\') {\n var _open = _this.state.open;\n\n _this.setState({\n open: !_open\n });\n }\n };\n\n _this.onClose = function (e) {\n var _this$props2 = _this.props,\n onClose = _this$props2.onClose,\n open = _this$props2.open;\n\n if (onClose) {\n onClose(e);\n }\n\n if (typeof open === \'undefined\') {\n _this.setState({\n open: false\n });\n }\n };\n\n var open = typeof props.open !== \'undefined\' ? props.open : !!props.defaultOpen;\n _this.state = {\n open: open\n };\n\n if (\'onMaskClick\' in props) {\n console.warn(\'`onMaskClick` are removed, please use `onClose` instead.\');\n }\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(DrawerWrapper, [{\n key: "render",\n // tslint:disable-next-line:member-ordering\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n defaultOpen = _this$props3.defaultOpen,\n getContainer = _this$props3.getContainer,\n wrapperClassName = _this$props3.wrapperClassName,\n forceRender = _this$props3.forceRender,\n handler = _this$props3.handler,\n props = Object(objectWithoutProperties["a" /* default */])(_this$props3, ["defaultOpen", "getContainer", "wrapperClassName", "forceRender", "handler"]);\n\n var open = this.state.open; // \u6e32\u67d3\u5728\u5f53\u524d dom \u91cc\uff1b\n\n if (!getContainer) {\n return react["createElement"]("div", {\n className: wrapperClassName,\n ref: function ref(c) {\n _this2.dom = c;\n }\n }, react["createElement"](es_DrawerChild, Object.assign({}, props, {\n open: open,\n handler: handler,\n getContainer: function getContainer() {\n return _this2.dom;\n },\n onClose: this.onClose,\n onHandleClick: this.onHandleClick\n })));\n } // \u5982\u679c\u6709 handler \u4e3a\u5185\u7f6e\u5f3a\u5236\u6e32\u67d3\uff1b\n\n\n var $forceRender = !!handler || forceRender;\n return react["createElement"](PortalWrapper["a" /* default */], {\n visible: open,\n forceRender: $forceRender,\n getContainer: getContainer,\n wrapperClassName: wrapperClassName\n }, function (_ref) {\n var visible = _ref.visible,\n afterClose = _ref.afterClose,\n rest = Object(objectWithoutProperties["a" /* default */])(_ref, ["visible", "afterClose"]);\n\n return (// react 15\uff0ccomponentWillUnmount \u65f6 Portal \u8fd4\u56de afterClose, visible.\n react["createElement"](es_DrawerChild, Object.assign({}, props, rest, {\n open: visible !== undefined ? visible : open,\n afterVisibleChange: afterClose !== undefined ? afterClose : props.afterVisibleChange,\n handler: handler,\n onClose: _this2.onClose,\n onHandleClick: _this2.onHandleClick\n }))\n );\n });\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(props, _ref2) {\n var prevProps = _ref2.prevProps;\n var newState = {\n prevProps: props\n };\n\n if (typeof prevProps !== \'undefined\' && props.open !== prevProps.open) {\n newState.open = props.open;\n }\n\n return newState;\n }\n }]);\n\n return DrawerWrapper;\n }(react["Component"]);\n\n DrawerWrapper.defaultProps = {\n prefixCls: \'drawer\',\n placement: \'left\',\n getContainer: \'body\',\n defaultOpen: false,\n level: \'all\',\n duration: \'.3s\',\n ease: \'cubic-bezier(0.78, 0.14, 0.15, 0.86)\',\n onChange: function onChange() {},\n afterVisibleChange: function afterVisibleChange() {},\n handler: react["createElement"]("div", {\n className: "drawer-handle"\n }, react["createElement"]("i", {\n className: "drawer-handle-icon"\n })),\n showMask: true,\n maskClosable: true,\n maskStyle: {},\n wrapperClassName: \'\',\n className: \'\',\n keyboard: true,\n forceRender: false\n };\n return DrawerWrapper;\n}();\n\n/* harmony default export */ var es_DrawerWrapper = (DrawerWrapper_DrawerWrapper);\n// CONCATENATED MODULE: ./node_modules/rc-drawer/es/index.js\n// export this package\'s api\n\n/* harmony default export */ var es = (es_DrawerWrapper);\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CloseOutlined.js\nvar CloseOutlined = __webpack_require__("V/uB");\nvar CloseOutlined_default = /*#__PURE__*/__webpack_require__.n(CloseOutlined);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar omit_js_es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/type.js\nvar type = __webpack_require__("CWQg");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/drawer/index.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction drawer_createSuper(Derived) { var hasNativeReflectConstruct = drawer_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction drawer_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\nvar DrawerContext = react["createContext"](null);\nvar PlacementTypes = Object(type["a" /* tuple */])(\'top\', \'right\', \'bottom\', \'left\');\n\nvar drawer_Drawer = /*#__PURE__*/function (_React$Component) {\n _inherits(Drawer, _React$Component);\n\n var _super = drawer_createSuper(Drawer);\n\n function Drawer() {\n var _this;\n\n _classCallCheck(this, Drawer);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n push: false\n };\n\n _this.push = function () {\n _this.setState({\n push: true\n });\n };\n\n _this.pull = function () {\n _this.setState({\n push: false\n });\n };\n\n _this.onDestroyTransitionEnd = function () {\n var isDestroyOnClose = _this.getDestroyOnClose();\n\n if (!isDestroyOnClose) {\n return;\n }\n\n if (!_this.props.visible) {\n _this.destroyClose = true;\n\n _this.forceUpdate();\n }\n };\n\n _this.getDestroyOnClose = function () {\n return _this.props.destroyOnClose && !_this.props.visible;\n }; // get drawer push width or height\n\n\n _this.getPushTransform = function (placement) {\n if (placement === \'left\' || placement === \'right\') {\n return "translateX(".concat(placement === \'left\' ? 180 : -180, "px)");\n }\n\n if (placement === \'top\' || placement === \'bottom\') {\n return "translateY(".concat(placement === \'top\' ? 180 : -180, "px)");\n }\n };\n\n _this.getRcDrawerStyle = function () {\n var _this$props = _this.props,\n zIndex = _this$props.zIndex,\n placement = _this$props.placement,\n mask = _this$props.mask,\n style = _this$props.style;\n var push = _this.state.push; // \u5f53\u65e0 mask \u65f6\uff0c\u5c06 width \u5e94\u7528\u5230\u5916\u5c42\u5bb9\u5668\u4e0a\n // \u89e3\u51b3 https://github.com/ant-design/ant-design/issues/12401 \u7684\u95ee\u9898\n\n var offsetStyle = mask ? {} : _this.getOffsetStyle();\n return _extends(_extends({\n zIndex: zIndex,\n transform: push ? _this.getPushTransform(placement) : undefined\n }, offsetStyle), style);\n }; // render drawer body dom\n\n\n _this.renderBody = function () {\n var _this$props2 = _this.props,\n bodyStyle = _this$props2.bodyStyle,\n drawerStyle = _this$props2.drawerStyle,\n prefixCls = _this$props2.prefixCls,\n visible = _this$props2.visible;\n\n if (_this.destroyClose && !visible) {\n return null;\n }\n\n _this.destroyClose = false;\n var containerStyle = {};\n\n var isDestroyOnClose = _this.getDestroyOnClose();\n\n if (isDestroyOnClose) {\n // Increase the opacity transition, delete children after closing.\n containerStyle.opacity = 0;\n containerStyle.transition = \'opacity .3s\';\n }\n\n return /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-wrapper-body"),\n style: _extends(_extends({}, containerStyle), drawerStyle),\n onTransitionEnd: _this.onDestroyTransitionEnd\n }, _this.renderHeader(), /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-body"),\n style: bodyStyle\n }, _this.props.children), _this.renderFooter());\n }; // render Provider for Multi-level drawer\n\n\n _this.renderProvider = function (value) {\n _this.parentDrawer = value;\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, function (_ref) {\n var getPopupContainer = _ref.getPopupContainer,\n getPrefixCls = _ref.getPrefixCls;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n placement = _a.placement,\n className = _a.className,\n mask = _a.mask,\n direction = _a.direction,\n visible = _a.visible,\n rest = __rest(_a, ["prefixCls", "placement", "className", "mask", "direction", "visible"]);\n\n var prefixCls = getPrefixCls(\'select\', customizePrefixCls);\n var drawerClassName = classnames_default()(className, _defineProperty({\n \'no-mask\': !mask\n }, "".concat(prefixCls, "-rtl"), direction === \'rtl\'));\n var offsetStyle = mask ? _this.getOffsetStyle() : {};\n return /*#__PURE__*/react["createElement"](DrawerContext.Provider, {\n value: _assertThisInitialized(_this)\n }, /*#__PURE__*/react["createElement"](es, _extends({\n handler: false\n }, Object(omit_js_es["a" /* default */])(rest, [\'zIndex\', \'style\', \'closable\', \'destroyOnClose\', \'drawerStyle\', \'headerStyle\', \'bodyStyle\', \'footerStyle\', \'footer\', \'locale\', \'title\', \'push\', \'visible\', \'getPopupContainer\', \'rootPrefixCls\', \'getPrefixCls\', \'renderEmpty\', \'csp\', \'pageHeader\', \'autoInsertSpaceInButton\', \'width\', \'height\', \'dropdownMatchSelectWidth\']), {\n getContainer: // \u6709\u53ef\u80fd\u4e3a false\uff0c\u6240\u4ee5\u4e0d\u80fd\u76f4\u63a5\u5224\u65ad\n rest.getContainer === undefined && getPopupContainer ? function () {\n return getPopupContainer(document.body);\n } : rest.getContainer\n }, offsetStyle, {\n prefixCls: prefixCls,\n open: visible,\n showMask: mask,\n placement: placement,\n style: _this.getRcDrawerStyle(),\n className: drawerClassName\n }), _this.renderBody()));\n });\n };\n\n return _this;\n }\n\n _createClass(Drawer, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n // fix: delete drawer in child and re-render, no push started.\n // {show && }\n var visible = this.props.visible;\n\n if (visible && this.parentDrawer) {\n this.parentDrawer.push();\n }\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(preProps) {\n var visible = this.props.visible;\n\n if (preProps.visible !== visible && this.parentDrawer) {\n if (visible) {\n this.parentDrawer.push();\n } else {\n this.parentDrawer.pull();\n }\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n // unmount drawer in child, clear push.\n if (this.parentDrawer) {\n this.parentDrawer.pull();\n this.parentDrawer = null;\n }\n }\n }, {\n key: "getOffsetStyle",\n value: function getOffsetStyle() {\n var _this$props3 = this.props,\n placement = _this$props3.placement,\n width = _this$props3.width,\n height = _this$props3.height,\n visible = _this$props3.visible,\n mask = _this$props3.mask; // https://github.com/ant-design/ant-design/issues/24287\n\n if (!visible && !mask) {\n return {};\n }\n\n var offsetStyle = {};\n\n if (placement === \'left\' || placement === \'right\') {\n offsetStyle.width = width;\n } else {\n offsetStyle.height = height;\n }\n\n return offsetStyle;\n }\n }, {\n key: "renderHeader",\n value: function renderHeader() {\n var _this$props4 = this.props,\n title = _this$props4.title,\n prefixCls = _this$props4.prefixCls,\n closable = _this$props4.closable,\n headerStyle = _this$props4.headerStyle;\n\n if (!title && !closable) {\n return null;\n }\n\n var headerClassName = title ? "".concat(prefixCls, "-header") : "".concat(prefixCls, "-header-no-title");\n return /*#__PURE__*/react["createElement"]("div", {\n className: headerClassName,\n style: headerStyle\n }, title && /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-title")\n }, title), closable && this.renderCloseIcon());\n }\n }, {\n key: "renderFooter",\n value: function renderFooter() {\n var _this$props5 = this.props,\n footer = _this$props5.footer,\n footerStyle = _this$props5.footerStyle,\n prefixCls = _this$props5.prefixCls;\n\n if (!footer) {\n return null;\n }\n\n var footerClassName = "".concat(prefixCls, "-footer");\n return /*#__PURE__*/react["createElement"]("div", {\n className: footerClassName,\n style: footerStyle\n }, footer);\n }\n }, {\n key: "renderCloseIcon",\n value: function renderCloseIcon() {\n var _this$props6 = this.props,\n closable = _this$props6.closable,\n prefixCls = _this$props6.prefixCls,\n onClose = _this$props6.onClose;\n return closable &&\n /*#__PURE__*/\n // eslint-disable-next-line react/button-has-type\n react["createElement"]("button", {\n onClick: onClose,\n "aria-label": "Close",\n className: "".concat(prefixCls, "-close"),\n style: {\n \'--scroll-bar\': "".concat(Object(getScrollBarSize["a" /* default */])(), "px")\n }\n }, /*#__PURE__*/react["createElement"](CloseOutlined_default.a, null));\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](DrawerContext.Consumer, null, this.renderProvider);\n }\n }]);\n\n return Drawer;\n}(react["Component"]);\n\ndrawer_Drawer.defaultProps = {\n width: 256,\n height: 256,\n closable: true,\n placement: \'right\',\n maskClosable: true,\n mask: true,\n level: null,\n keyboard: true\n};\n/* harmony default export */ var drawer = __webpack_exports__["a"] = (Object(context["c" /* withConfigConsumer */])({\n prefixCls: \'drawer\'\n})(drawer_Drawer));\n\n//# sourceURL=webpack:///./node_modules/antd/es/drawer/index.js_+_4_modules?')},"/y7N":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar textContain = __webpack_require__(\"6GrX\");\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\nvar matrix = __webpack_require__(\"Fofx\");\n\nvar axisHelper = __webpack_require__(\"aX7z\");\n\nvar AxisBuilder = __webpack_require__(\"+rIm\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/model/Model} axisPointerModel\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\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 = formatUtil.normalizeCssArray(labelModel.get('padding') || 0);\n var font = labelModel.getFont();\n var textRect = textContain.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: {\n x: 0,\n y: 0,\n width: width,\n height: height,\n r: labelModel.get('borderRadius')\n },\n position: position.slice(),\n // TODO: rich\n style: {\n text: text,\n textFont: font,\n textFill: labelModel.getTextColor(),\n textPosition: 'inside',\n textPadding: paddings,\n fill: bgColor,\n stroke: labelModel.get('borderColor') || 'transparent',\n lineWidth: labelModel.get('borderWidth') || 0,\n shadowBlur: labelModel.get('shadowBlur'),\n shadowColor: labelModel.get('shadowColor'),\n shadowOffsetX: labelModel.get('shadowOffsetX'),\n shadowOffsetY: labelModel.get('shadowOffsetY')\n },\n // Lable should be over axisPointer.\n z2: 10\n };\n} // Do not overflow ec container\n\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/**\n * @param {number} value\n * @param {module:echarts/coord/Axis} axis\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} opt\n * @param {Array.} seriesDataIndices\n * @param {number|string} opt.precision 'auto' or a number\n * @param {string|Function} opt.formatter label formatter\n */\n\n\nfunction getValueLabel(value, axis, ecModel, seriesDataIndices, opt) {\n value = axis.scale.parse(value);\n var text = axis.scale.getLabel( // If `precision` is set, width can be fixed (like '12.00500'), which\n // helps to debounce when when moving label.\n value, {\n precision: opt.precision\n });\n var formatter = opt.formatter;\n\n if (formatter) {\n var params = {\n value: axisHelper.getAxisRawValue(axis, value),\n axisDimension: axis.dim,\n axisIndex: axis.index,\n seriesData: []\n };\n zrUtil.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.seriesData.push(dataParams);\n });\n\n if (zrUtil.isString(formatter)) {\n text = formatter.replace('{value}', text);\n } else if (zrUtil.isFunction(formatter)) {\n text = formatter(params);\n }\n }\n\n return text;\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @param {number} value\n * @param {Object} layoutInfo {\n * rotation, position, labelOffset, labelDirection, labelMargin\n * }\n */\n\n\nfunction getTransformedPosition(axis, value, layoutInfo) {\n var transform = matrix.create();\n matrix.rotate(transform, transform, layoutInfo.rotation);\n matrix.translate(transform, transform, layoutInfo.position);\n return graphic.applyTransform([axis.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform);\n}\n\nfunction buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api) {\n var textLayout = AxisBuilder.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}\n/**\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {number} [xDimIndex=0] or 1\n */\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}\n/**\n * @param {Array.} xy\n * @param {Array.} wh\n * @param {number} [xDimIndex=0] or 1\n */\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}\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\nexports.buildElStyle = buildElStyle;\nexports.buildLabelElOption = buildLabelElOption;\nexports.getValueLabel = getValueLabel;\nexports.getTransformedPosition = getTransformedPosition;\nexports.buildCartesianSingleLabelElOption = buildCartesianSingleLabelElOption;\nexports.makeLineShape = makeLineShape;\nexports.makeRectShape = makeRectShape;\nexports.makeSectorShape = makeSectorShape;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/viewHelper.js?")},"/zsF":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("bE4E");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/divider/style/index.js?')},"0/Rx":function(module,exports){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default(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 if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n };\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/dataFilter.js?')},"0/Sa":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return EditOperation; });\n/* harmony import */ var _range_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("aokT");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar EditOperation = /** @class */ (function () {\r\n function EditOperation() {\r\n }\r\n EditOperation.insert = function (position, text) {\r\n return {\r\n range: new _range_js__WEBPACK_IMPORTED_MODULE_0__[/* Range */ "a"](position.lineNumber, position.column, position.lineNumber, position.column),\r\n text: text,\r\n forceMoveMarkers: true\r\n };\r\n };\r\n EditOperation.delete = function (range) {\r\n return {\r\n range: range,\r\n text: null\r\n };\r\n };\r\n EditOperation.replace = function (range, text) {\r\n return {\r\n range: range,\r\n text: text\r\n };\r\n };\r\n EditOperation.replaceMove = function (range, text) {\r\n return {\r\n range: range,\r\n text: text,\r\n forceMoveMarkers: true\r\n };\r\n };\r\n return EditOperation;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/core/editOperation.js?')},"01d+":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__("bYtY");\n\nvar each = _util.each;\n\nvar _simpleLayoutHelper = __webpack_require__("HF/U");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\nvar simpleLayoutEdge = _simpleLayoutHelper.simpleLayoutEdge;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default(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 = seriesModel.getData();\n var dimensions = [];\n each(coordSys.dimensions, function (coordDim) {\n dimensions = dimensions.concat(data.mapDimension(coordDim, true));\n });\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var value = [];\n var hasValue = false;\n\n for (var i = 0; i < dimensions.length; i++) {\n var val = data.get(dimensions[i], dataIndex);\n\n if (!isNaN(val)) {\n hasValue = true;\n }\n\n value.push(val);\n }\n\n if (hasValue) {\n data.setItemLayout(dataIndex, coordSys.dataToPoint(value));\n } else {\n // Also {Array.}, not undefined to avoid if...else... statement\n data.setItemLayout(dataIndex, [NaN, NaN]);\n }\n }\n\n simpleLayoutEdge(data.graph);\n } else if (!layout || layout === \'none\') {\n simpleLayout(seriesModel);\n }\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/simpleLayout.js?')},"03A+":function(module,exports,__webpack_require__){eval("var baseIsArguments = __webpack_require__(\"JTzB\"),\n isObjectLike = __webpack_require__(\"ExA7\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/isArguments.js?")},"06DH":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar lang = __webpack_require__(\"Kagy\");\n\nvar featureManager = __webpack_require__(\"IUWy\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 magicTypeLang = lang.toolbox.magicType;\nvar INNER_STACK_KEYWORD = '__ec_magicType_stack__';\n\nfunction MagicType(model) {\n this.model = model;\n}\n\nMagicType.defaultOption = {\n show: true,\n type: [],\n // Icon group\n icon: {\n /* eslint-disable */\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 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 /* eslint-enable */\n\n },\n // `line`, `bar`, `stack`, `tiled`\n title: zrUtil.clone(magicTypeLang.title),\n option: {},\n seriesIndex: {}\n};\nvar proto = MagicType.prototype;\n\nproto.getIcons = function () {\n var model = this.model;\n var availableIcons = model.get('icon');\n var icons = {};\n zrUtil.each(model.get('type'), function (type) {\n if (availableIcons[type]) {\n icons[type] = availableIcons[type];\n }\n });\n return icons;\n};\n\nvar seriesOptGenreator = {\n 'line': function (seriesType, seriesId, seriesModel, model) {\n if (seriesType === 'bar') {\n return zrUtil.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 zrUtil.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 zrUtil.merge({\n id: seriesId,\n stack: isStack ? '' : INNER_STACK_KEYWORD\n }, model.get('option.stack') || {}, true);\n }\n }\n};\nvar radioTypes = [['line', 'bar'], ['stack']];\n\nproto.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 zrUtil.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 = ecModel.queryComponents({\n mainType: axisType,\n index: seriesModel.get(name + 'Index'),\n id: seriesModel.get(name + 'Id')\n })[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 zrUtil.each(radioTypes, function (radio) {\n if (zrUtil.indexOf(radio, type) >= 0) {\n zrUtil.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; // Change title of stack\n\n if (type === 'stack') {\n var isStack = newOption.series && newOption.series[0] && newOption.series[0].stack === INNER_STACK_KEYWORD;\n newTitle = isStack ? zrUtil.merge({\n stack: magicTypeLang.title.tiled\n }, magicTypeLang.title) : zrUtil.clone(magicTypeLang.title);\n }\n\n api.dispatchAction({\n type: 'changeMagicType',\n currentType: type,\n newOption: newOption,\n newTitle: newTitle,\n featureName: 'magicType'\n });\n};\n\necharts.registerAction({\n type: 'changeMagicType',\n event: 'magicTypeChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n ecModel.mergeOption(payload.newOption);\n});\nfeatureManager.register('magicType', MagicType);\nvar _default = MagicType;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/MagicType.js?")},"06Qe":function(module,exports,__webpack_require__){eval("var env = __webpack_require__(\"ItGF\");\n\nvar urn = 'urn:schemas-microsoft-com:vml';\nvar win = typeof window === 'undefined' ? null : window;\nvar vmlInited = false;\nvar doc = win && win.document;\n\nfunction createNode(tagName) {\n return doCreateNode(tagName);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nvar doCreateNode;\n\nif (doc && !env.canvasSupported) {\n try {\n !doc.namespaces.zrvml && doc.namespaces.add('zrvml', urn);\n\n doCreateNode = function (tagName) {\n return doc.createElement('');\n };\n } catch (e) {\n doCreateNode = function (tagName) {\n return doc.createElement('<' + tagName + ' xmlns=\"' + urn + '\" class=\"zrvml\">');\n };\n }\n} // From raphael\n\n\nfunction initVML() {\n if (vmlInited || !doc) {\n return;\n }\n\n vmlInited = true;\n var styleSheets = doc.styleSheets;\n\n if (styleSheets.length < 31) {\n doc.createStyleSheet().addRule('.zrvml', 'behavior:url(#default#VML)');\n } else {\n // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx\n styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)');\n }\n}\n\nexports.doc = doc;\nexports.createNode = createNode;\nexports.initVML = initVML;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/vml/core.js?")},"09Wf":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return PresetStatusColorTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PresetColorTypes; });\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"CWQg\");\n\nvar PresetStatusColorTypes = Object(_type__WEBPACK_IMPORTED_MODULE_0__[/* tuple */ \"a\"])('success', 'processing', 'error', 'default', 'warning'); // eslint-disable-next-line import/prefer-default-export\n\nvar PresetColorTypes = Object(_type__WEBPACK_IMPORTED_MODULE_0__[/* tuple */ \"a\"])('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');\n\n//# sourceURL=webpack:///./node_modules/antd/es/_util/colors.js?")},"09fa":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ILogService; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LogLevel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return NullLogService; });\n/* harmony import */ var _instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cg/j");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar ILogService = Object(_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__[/* createDecorator */ "c"])(\'logService\');\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel["Trace"] = 0] = "Trace";\r\n LogLevel[LogLevel["Debug"] = 1] = "Debug";\r\n LogLevel[LogLevel["Info"] = 2] = "Info";\r\n LogLevel[LogLevel["Warning"] = 3] = "Warning";\r\n LogLevel[LogLevel["Error"] = 4] = "Error";\r\n LogLevel[LogLevel["Critical"] = 5] = "Critical";\r\n LogLevel[LogLevel["Off"] = 6] = "Off";\r\n})(LogLevel || (LogLevel = {}));\r\nvar NullLogService = /** @class */ (function () {\r\n function NullLogService() {\r\n }\r\n NullLogService.prototype.getLevel = function () { return LogLevel.Info; };\r\n NullLogService.prototype.trace = function (message) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n };\r\n NullLogService.prototype.error = function (message) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n };\r\n NullLogService.prototype.dispose = function () { };\r\n return NullLogService;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/log/common/log.js?')},"0Bwj":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 SeriesModel = __webpack_require__(\"T4UG\");\n\nvar createGraphFromNodeEdge = __webpack_require__(\"I3/A\");\n\nvar _format = __webpack_require__(\"7aKB\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 SankeySeries = SeriesModel.extend({\n type: 'series.sankey',\n layoutInfo: null,\n levelModels: null,\n\n /**\n * Init a graph data structure from data in option series\n *\n * @param {Object} option the object used to config echarts view\n * @return {module:echarts/data/List} storage initial data\n */\n getInitialData: function (option, ecModel) {\n var links = option.edges || option.links;\n var nodes = option.data || option.nodes;\n var levels = option.levels;\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(levels[i], this, ecModel);\n } else {}\n }\n\n if (nodes && links) {\n var graph = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);\n return graph.data;\n }\n\n function beforeLink(nodeData, edgeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n model.customizeGetParent(function (path) {\n var parentModel = this.parentModel;\n var nodeDepth = parentModel.getData().getItemLayout(idx).depth;\n var levelModel = parentModel.levelModels[nodeDepth];\n return levelModel || this.parentModel;\n });\n return model;\n });\n edgeData.wrapMethod('getItemModel', function (model, idx) {\n model.customizeGetParent(function (path) {\n var parentModel = this.parentModel;\n var edge = parentModel.getGraph().getEdgeByIndex(idx);\n var depth = edge.node1.getLayout().depth;\n var levelModel = parentModel.levelModels[depth];\n return levelModel || this.parentModel;\n });\n return model;\n });\n }\n },\n setNodePosition: function (dataIndex, localPosition) {\n var dataItem = this.option.data[dataIndex];\n dataItem.localX = localPosition[0];\n dataItem.localY = localPosition[1];\n },\n\n /**\n * Return the graphic data structure\n *\n * @return {module:echarts/data/Graph} graphic data structure\n */\n getGraph: function () {\n return this.getData().graph;\n },\n\n /**\n * Get edge data of graphic data structure\n *\n * @return {module:echarts/data/List} data structure of list\n */\n getEdgeData: function () {\n return this.getGraph().edgeData;\n },\n\n /**\n * @override\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType) {\n // dataType === 'node' or empty do not show tooltip by default\n if (dataType === 'edge') {\n var params = this.getDataParams(dataIndex, dataType);\n var rawDataOpt = params.data;\n var html = rawDataOpt.source + ' -- ' + rawDataOpt.target;\n\n if (params.value) {\n html += ' : ' + params.value;\n }\n\n return encodeHTML(html);\n } else if (dataType === 'node') {\n var node = this.getGraph().getNodeByIndex(dataIndex);\n var value = node.getLayout().value;\n var name = this.getDataParams(dataIndex, dataType).data.name;\n\n if (value) {\n var html = name + ' : ' + value;\n }\n\n return encodeHTML(html);\n }\n\n return SankeySeries.superCall(this, 'formatTooltip', dataIndex, multipleSeries);\n },\n optionUpdated: function () {\n var option = this.option;\n\n if (option.focusNodeAdjacency === true) {\n option.focusNodeAdjacency = 'allEdges';\n }\n },\n // Override Series.getDataParams()\n getDataParams: function (dataIndex, dataType) {\n var params = SankeySeries.superCall(this, 'getDataParams', 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 defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n layout: null,\n // The position of the whole view\n left: '5%',\n top: '5%',\n right: '20%',\n bottom: '5%',\n // Value can be 'vertical'\n orient: 'horizontal',\n // The dx of the node\n nodeWidth: 20,\n // The vertical distance between two nodes\n nodeGap: 8,\n // Control if the node can move or not\n draggable: true,\n // Value can be 'inEdges', 'outEdges', 'allEdges', true (the same as 'allEdges').\n focusNodeAdjacency: false,\n // The number of iterations to change the position of the node\n layoutIterations: 32,\n label: {\n show: true,\n position: 'right',\n color: '#000',\n fontSize: 12\n },\n levels: [],\n // Value can be 'left' or 'right'\n nodeAlign: 'justify',\n itemStyle: {\n borderWidth: 1,\n borderColor: '#333'\n },\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 animationEasing: 'linear',\n animationDuration: 1000\n }\n});\nvar _default = SankeySeries;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/SankeySeries.js?")},"0Cz8":function(module,exports,__webpack_require__){eval('var ListCache = __webpack_require__("Xi7e"),\n Map = __webpack_require__("ebwN"),\n MapCache = __webpack_require__("e4Nc");\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_stackSet.js?')},"0F8K":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* unused harmony export getVendorPrefixes */\n/* unused harmony export getVendorPrefixedEventName */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return animationEndName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return transitionEndName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return supportTransition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return getTransitionName; });\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n prefixes['ms' + styleProp] = 'MS' + eventName;\n prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\n return prefixes;\n}\n\nfunction getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\n\nvar vendorPrefixes = getVendorPrefixes(canUseDOM, typeof window !== 'undefined' ? window : {});\n\nvar style = {};\n\nif (canUseDOM) {\n style = document.createElement('div').style;\n}\n\nvar prefixedEventNames = {};\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\n\nvar animationEndName = getVendorPrefixedEventName('animationend');\nvar transitionEndName = getVendorPrefixedEventName('transitionend');\nvar supportTransition = !!(animationEndName && transitionEndName);\n\nfunction getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (typeof transitionName === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return transitionName + '-' + transitionType;\n}\n\n//# sourceURL=webpack:///./node_modules/rc-animate/es/util/motion.js?")},"0HBW":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\n__webpack_require__(\"Hxpc\");\n\n__webpack_require__(\"7uqq\");\n\n__webpack_require__(\"dmGj\");\n\n__webpack_require__(\"SehX\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 makeAction(method, actionInfo) {\n actionInfo.update = 'updateView';\n echarts.registerAction(actionInfo, function (payload, ecModel) {\n var selected = {};\n ecModel.eachComponent({\n mainType: 'geo',\n query: payload\n }, function (geoModel) {\n geoModel[method](payload.name);\n var geo = geoModel.coordinateSystem;\n zrUtil.each(geo.regions, function (region) {\n selected[region.name] = geoModel.isSelected(region.name) || false;\n });\n });\n return {\n selected: selected,\n name: payload.name\n };\n });\n}\n\nmakeAction('toggleSelected', {\n type: 'geoToggleSelect',\n event: 'geoselectchanged'\n});\nmakeAction('select', {\n type: 'geoSelect',\n event: 'geoselected'\n});\nmakeAction('unSelect', {\n type: 'geoUnSelect',\n event: 'geounselected'\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/geo.js?")},"0JAE":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar CoordinateSystem = __webpack_require__(\"IDmD\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (24*60*60*1000)\nvar PROXIMATE_ONE_DAY = 86400000;\n/**\n * Calendar\n *\n * @constructor\n *\n * @param {Object} calendarModel calendarModel\n * @param {Object} ecModel ecModel\n * @param {Object} api api\n */\n\nfunction Calendar(calendarModel, ecModel, api) {\n this._model = calendarModel;\n}\n\nCalendar.prototype = {\n constructor: Calendar,\n type: 'calendar',\n dimensions: ['time', 'value'],\n // Required in createListFromData\n getDimensionsInfo: function () {\n return [{\n name: 'time',\n type: 'time'\n }, 'value'];\n },\n getRangeInfo: function () {\n return this._rangeInfo;\n },\n getModel: function () {\n return this._model;\n },\n getRect: function () {\n return this._rect;\n },\n getCellWidth: function () {\n return this._sw;\n },\n getCellHeight: function () {\n return this._sh;\n },\n getOrient: function () {\n return this._orient;\n },\n\n /**\n * getFirstDayOfWeek\n *\n * @example\n * 0 : start at Sunday\n * 1 : start at Monday\n *\n * @return {number}\n */\n getFirstDayOfWeek: function () {\n return this._firstDayOfWeek;\n },\n\n /**\n * get date info\n *\n * @param {string|number} date date\n * @return {Object}\n * {\n * y: string, local full year, eg., '1940',\n * m: string, local month, from '01' ot '12',\n * d: string, local date, from '01' to '31' (if exists),\n * day: It is not date.getDay(). It is the location of the cell in a week, from 0 to 6,\n * time: timestamp,\n * formatedDate: string, yyyy-MM-dd,\n * date: original date object.\n * }\n */\n getDateInfo: function (date) {\n date = numberUtil.parseDate(date);\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n var d = date.getDate();\n d = 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: m,\n d: d,\n day: day,\n time: date.getTime(),\n formatedDate: y + '-' + m + '-' + d,\n date: date\n };\n },\n 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 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.get('cellSize').slice();\n\n var layoutParams = this._model.getBoxLayoutParams();\n\n var cellNumbers = this._orient === 'horizontal' ? [weeks, 7] : [7, weeks];\n zrUtil.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 = layout.getLayoutRect(layoutParams, whGlobal);\n zrUtil.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 }\n\n this._sw = cellSize[0];\n this._sh = cellSize[1];\n },\n\n /**\n * Convert a time data(time, value) item to (x, y) point.\n *\n * @override\n * @param {Array|number} data data\n * @param {boolean} [clamp=true] out of range\n * @return {Array} point\n */\n dataToPoint: function (data, clamp) {\n zrUtil.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 /**\n * Convert a (x, y) point to time data\n *\n * @override\n * @param {string} point point\n * @return {string} data\n */\n pointToData: function (point) {\n var date = this.pointToDate(point);\n return date && date.time;\n },\n\n /**\n * Convert a time date item to (x, y) four point.\n *\n * @param {Array} data date[0] is date\n * @param {boolean} [clamp=true] out of range\n * @return {Object} point\n */\n 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 /**\n * Convert a (x, y) point to time date\n *\n * @param {Array} point point\n * @return {Object} date\n */\n 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 /**\n * @inheritDoc\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @inheritDoc\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * initRange\n *\n * @private\n * @return {Array} [start, end]\n */\n _initRangeOption: function () {\n var range = this._model.get('range');\n\n var rg = range;\n\n if (zrUtil.isArray(rg) && rg.length === 1) {\n rg = rg[0];\n }\n\n if (/^\\d{4}$/.test(rg)) {\n range = [rg + '-01-01', rg + '-12-31'];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}$/.test(rg)) {\n var start = this.getDateInfo(rg);\n var firstDay = start.date;\n firstDay.setMonth(firstDay.getMonth() + 1);\n var end = this.getNextNDay(firstDay, -1);\n range = [start.formatedDate, end.formatedDate];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(rg)) {\n range = [rg, rg];\n }\n\n var tmp = this._getRangeInfo(range);\n\n if (tmp.start.time > tmp.end.time) {\n range.reverse();\n }\n\n return range;\n },\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 _getRangeInfo: function (range) {\n range = [this.getDateInfo(range[0]), this.getDateInfo(range[1])];\n var reversed;\n\n if (range[0].time > range[1].time) {\n reversed = true;\n range.reverse();\n }\n\n var allDay = Math.floor(range[1].time / PROXIMATE_ONE_DAY) - Math.floor(range[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 // var first = new Date(1478412000000 - 3600 * 1000 * 2.5);\n // var second = new Date(1478412000000);\n // var 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(range[0].time);\n var startDateNum = date.getDate();\n var endDateNum = range[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() - range[1].time > 0 ? 1 : -1;\n\n while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - range[1].time) * sign > 0) {\n allDay -= sign;\n date.setDate(dateNum - sign);\n }\n }\n\n var weeks = Math.floor((allDay + range[0].day + 6) / 7);\n var nthWeek = reversed ? -weeks + 1 : weeks - 1;\n reversed && range.reverse();\n return {\n range: [range[0].formatedDate, range[1].formatedDate],\n start: range[0],\n end: range[1],\n allDay: allDay,\n weeks: weeks,\n // From 0.\n nthWeek: nthWeek,\n fweek: range[0].day,\n lweek: range[1].day\n };\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 _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 false;\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};\nCalendar.dimensions = Calendar.prototype.dimensions;\nCalendar.getDimensionsInfo = Calendar.prototype.getDimensionsInfo;\n\nCalendar.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\nfunction doConvert(methodName, ecModel, finder, value) {\n var calendarModel = finder.calendarModel;\n var seriesModel = finder.seriesModel;\n var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nCoordinateSystem.register('calendar', Calendar);\nvar _default = Calendar;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/calendar/Calendar.js?")},"0JNc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return USUAL_WORD_SEPARATORS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DEFAULT_WORD_REGEXP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return ensureValidWordDefinition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return getWordAtText; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar USUAL_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\\\|;:\\'\",.<>/?';\r\n/**\r\n * Create a word definition regular expression based on default word separators.\r\n * Optionally provide allowed separators that should be included in words.\r\n *\r\n * The default would look like this:\r\n * /(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)/g\r\n */\r\nfunction createWordRegExp(allowInWords) {\r\n if (allowInWords === void 0) { allowInWords = ''; }\r\n var source = '(-?\\\\d*\\\\.\\\\d\\\\w*)|([^';\r\n for (var _i = 0, USUAL_WORD_SEPARATORS_1 = USUAL_WORD_SEPARATORS; _i < USUAL_WORD_SEPARATORS_1.length; _i++) {\r\n var sep = USUAL_WORD_SEPARATORS_1[_i];\r\n if (allowInWords.indexOf(sep) >= 0) {\r\n continue;\r\n }\r\n source += '\\\\' + sep;\r\n }\r\n source += '\\\\s]+)';\r\n return new RegExp(source, 'g');\r\n}\r\n// catches numbers (including floating numbers) in the first group, and alphanum in the second\r\nvar DEFAULT_WORD_REGEXP = createWordRegExp();\r\nfunction ensureValidWordDefinition(wordDefinition) {\r\n var result = DEFAULT_WORD_REGEXP;\r\n if (wordDefinition && (wordDefinition instanceof RegExp)) {\r\n if (!wordDefinition.global) {\r\n var flags = 'g';\r\n if (wordDefinition.ignoreCase) {\r\n flags += 'i';\r\n }\r\n if (wordDefinition.multiline) {\r\n flags += 'm';\r\n }\r\n if (wordDefinition.unicode) {\r\n flags += 'u';\r\n }\r\n result = new RegExp(wordDefinition.source, flags);\r\n }\r\n else {\r\n result = wordDefinition;\r\n }\r\n }\r\n result.lastIndex = 0;\r\n return result;\r\n}\r\nfunction getWordAtPosFast(column, wordDefinition, text, textOffset) {\r\n // find whitespace enclosed text around column and match from there\r\n var pos = column - 1 - textOffset;\r\n var start = text.lastIndexOf(' ', pos - 1) + 1;\r\n wordDefinition.lastIndex = start;\r\n var match;\r\n while (match = wordDefinition.exec(text)) {\r\n var matchIndex = match.index || 0;\r\n if (matchIndex <= pos && wordDefinition.lastIndex >= pos) {\r\n return {\r\n word: match[0],\r\n startColumn: textOffset + 1 + matchIndex,\r\n endColumn: textOffset + 1 + wordDefinition.lastIndex\r\n };\r\n }\r\n }\r\n return null;\r\n}\r\nfunction getWordAtPosSlow(column, wordDefinition, text, textOffset) {\r\n // matches all words starting at the beginning\r\n // of the input until it finds a match that encloses\r\n // the desired column. slow but correct\r\n var pos = column - 1 - textOffset;\r\n wordDefinition.lastIndex = 0;\r\n var match;\r\n while (match = wordDefinition.exec(text)) {\r\n var matchIndex = match.index || 0;\r\n if (matchIndex > pos) {\r\n // |nW -> matched only after the pos\r\n return null;\r\n }\r\n else if (wordDefinition.lastIndex >= pos) {\r\n // W|W -> match encloses pos\r\n return {\r\n word: match[0],\r\n startColumn: textOffset + 1 + matchIndex,\r\n endColumn: textOffset + 1 + wordDefinition.lastIndex\r\n };\r\n }\r\n }\r\n return null;\r\n}\r\nfunction getWordAtText(column, wordDefinition, text, textOffset) {\r\n // if `words` can contain whitespace character we have to use the slow variant\r\n // otherwise we use the fast variant of finding a word\r\n wordDefinition.lastIndex = 0;\r\n var match = wordDefinition.exec(text);\r\n if (!match) {\r\n return null;\r\n }\r\n // todo@joh the `match` could already be the (first) word\r\n var ret = match[0].indexOf(' ') >= 0\r\n // did match a word which contains a space character -> use slow word find\r\n ? getWordAtPosSlow(column, wordDefinition, text, textOffset)\r\n // sane word definition -> use fast word find\r\n : getWordAtPosFast(column, wordDefinition, text, textOffset);\r\n // both (getWordAtPosFast and getWordAtPosSlow) leave the wordDefinition-RegExp\r\n // in an undefined state and to not confuse other users of the wordDefinition\r\n // we reset the lastIndex\r\n wordDefinition.lastIndex = 0;\r\n return ret;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/model/wordHelper.js?")},"0JQy":function(module,exports){eval("/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_unicodeToArray.js?")},"0NbB":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js\n// This icon file is generated automatically.\nvar CaretDownOutlined_CaretDownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z" } }] }, "name": "caret-down", "theme": "outlined" };\n/* harmony default export */ var asn_CaretDownOutlined = (CaretDownOutlined_CaretDownOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_CaretDownOutlined_CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_CaretDownOutlined\n }));\n};\n\nicons_CaretDownOutlined_CaretDownOutlined.displayName = \'CaretDownOutlined\';\n/* harmony default export */ var icons_CaretDownOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_CaretDownOutlined_CaretDownOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js_+_1_modules?')},"0Owb":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });\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\n//# sourceURL=webpack:///./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends.js?')},"0V0F":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (1) [Caution]: the logic is correct based on the premises:\n// data processing stage is blocked in stream.\n// See \n// (2) Only register once when import repeatly.\n// Should be executed after series filtered and before stack calculation.\nfunction _default(ecModel) {\n var stackInfoMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var stack = seriesModel.get('stack'); // Compatibal: 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 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 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; // Should not write on raw data, because stack series model list changes\n // depending on legend selection.\n\n var newData = targetData.map(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 (sum >= 0 && val > 0 || // Positive stack\n sum <= 0 && val < 0 // Negative stack\n ) {\n sum += val;\n stackedOver = val;\n break;\n }\n }\n }\n\n resultVal[0] = sum;\n resultVal[1] = stackedOver;\n return resultVal;\n });\n targetData.hostModel.setData(newData); // Update for consequent calculation\n\n targetStackInfo.data = newData;\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/processor/dataStack.js?")},"0XgM":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/layout/style/index.less?")},"0fbx":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/tree-select/style/index.less?")},"0o9m":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("hNWo");\n\n__webpack_require__("RlCK");\n\n__webpack_require__("XpcN");\n\nvar legendFilter = __webpack_require__("kDyi");\n\nvar Component = __webpack_require__("bLfw");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Do not contain scrollable legend, for sake of file size.\n// Series Filter\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);\nComponent.registerSubTypeDefaulter(\'legend\', function () {\n // Default \'plain\' when no type specified.\n return \'plain\';\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend.js?')},"0oIH":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'graphql',\r\n extensions: ['.graphql', '.gql'],\r\n aliases: ['GraphQL', 'graphql', 'gql'],\r\n mimetypes: ['application/graphql'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 178).then(__webpack_require__.bind(null, \"Eg73\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js?")},"0qV/":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @payload\n * @property {number} [seriesIndex]\n * @property {string} [seriesId]\n * @property {string} [seriesName]\n * @property {number} [dataIndex]\n */\necharts.registerAction({\n type: 'focusNodeAdjacency',\n event: 'focusNodeAdjacency',\n update: 'series:focusNodeAdjacency'\n}, function () {});\n/**\n * @payload\n * @property {number} [seriesIndex]\n * @property {string} [seriesId]\n * @property {string} [seriesName]\n */\n\necharts.registerAction({\n type: 'unfocusNodeAdjacency',\n event: 'unfocusNodeAdjacency',\n update: 'series:unfocusNodeAdjacency'\n}, function () {});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/focusNodeAdjacencyAction.js?")},"0s+r":function(module,exports,__webpack_require__){eval("var util = __webpack_require__(\"bYtY\");\n\nvar vec2 = __webpack_require__(\"QBsz\");\n\nvar Draggable = __webpack_require__(\"y23F\");\n\nvar Eventful = __webpack_require__(\"H6uX\");\n\nvar eventTool = __webpack_require__(\"YH21\");\n\nvar GestureMgr = __webpack_require__(\"C0SR\");\n\n/**\n * [The interface between `Handler` and `HandlerProxy`]:\n *\n * The default `HandlerProxy` only support the common standard web environment\n * (e.g., standalone browser, headless browser, embed browser in mobild APP, ...).\n * But `HandlerProxy` can be replaced to support more non-standard environment\n * (e.g., mini app), or to support more feature that the default `HandlerProxy`\n * not provided (like echarts-gl did).\n * So the interface between `Handler` and `HandlerProxy` should be stable. Do not\n * make break changes util inevitable. The interface include the public methods\n * of `Handler` and the events listed in `handlerNames` below, by which `HandlerProxy`\n * drives `Handler`.\n */\n\n/**\n * [Drag outside]:\n *\n * That is, triggering `mousemove` and `mouseup` event when the pointer is out of the\n * zrender area when dragging. That is important for the improvement of the user experience\n * when dragging something near the boundary without being terminated unexpectedly.\n *\n * We originally consider to introduce new events like `pagemovemove` and `pagemouseup`\n * to resolve this issue. But some drawbacks of it is described in\n * https://github.com/ecomfe/zrender/pull/536#issuecomment-560286899\n *\n * Instead, we referenced the specifications:\n * https://www.w3.org/TR/touch-events/#the-touchmove-event\n * https://www.w3.org/TR/2014/WD-DOM-Level-3-Events-20140925/#event-type-mousemove\n * where the the mousemove/touchmove can be continue to fire if the user began a drag\n * operation and the pointer has left the boundary. (for the mouse event, browsers\n * only do it on `document` and when the pointer has left the boundary of the browser.)\n *\n * So the default `HandlerProxy` supports this feature similarly: if it is in the dragging\n * state (see `pointerCapture` in `HandlerProxy`), the `mousemove` and `mouseup` continue\n * to fire until release the pointer. That is implemented by listen to those event on\n * `document`.\n * If we implement some other `HandlerProxy` only for touch device, that would be easier.\n * The touch event support this feature by default.\n *\n * Note:\n * There might be some cases that the mouse event can not be\n * received on `document`. For example,\n * (A) `useCapture` is not supported and some user defined event listeners on the ancestor\n * of zr dom throw Error .\n * (B) `useCapture` is not supported Some user defined event listeners on the ancestor of\n * zr dom call `stopPropagation`.\n * In these cases, the `mousemove` event might be keep triggered event\n * if the mouse is released. We try to reduce the side-effect in those cases.\n * That is, do nothing (especially, `findHover`) in those cases. See `isOutsideBoundary`.\n *\n * Note:\n * If `HandlerProxy` listens to `document` with `useCapture`, `HandlerProxy` needs to\n * make sure `stopPropagation` and `preventDefault` doing nothing if and only if the event\n * target is not zrender dom. Becuase it is dangerous to enable users to call them in\n * `document` capture phase to prevent the propagation to any listener of the webpage.\n * But they are needed to work when the pointer inside the zrender dom.\n */\nvar SILENT = 'silent';\n\nfunction makeEventPacket(eveType, targetInfo, event) {\n return {\n type: eveType,\n event: event,\n // target can only be an element that is not silent.\n target: targetInfo.target,\n // topTarget can be a silent element.\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}\n\nfunction stopEvent() {\n eventTool.stop(this.event);\n}\n\nfunction EmptyProxy() {}\n\nEmptyProxy.prototype.dispose = function () {};\n\nvar handlerNames = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'];\n/**\n * @alias module:zrender/Handler\n * @constructor\n * @extends module:zrender/mixin/Eventful\n * @param {module:zrender/Storage} storage Storage instance.\n * @param {module:zrender/Painter} painter Painter instance.\n * @param {module:zrender/dom/HandlerProxy} proxy HandlerProxy instance.\n * @param {HTMLElement} painterRoot painter.root (not painter.getViewportRoot()).\n */\n\nvar Handler = function (storage, painter, proxy, painterRoot) {\n Eventful.call(this);\n this.storage = storage;\n this.painter = painter;\n this.painterRoot = painterRoot;\n proxy = proxy || new EmptyProxy();\n /**\n * Proxy of event. can be Dom, WebGLSurface, etc.\n */\n\n this.proxy = null;\n /**\n * {target, topTarget, x, y}\n * @private\n * @type {Object}\n */\n\n this._hovered = {};\n /**\n * @private\n * @type {Date}\n */\n\n this._lastTouchMoment;\n /**\n * @private\n * @type {number}\n */\n\n this._lastX;\n /**\n * @private\n * @type {number}\n */\n\n this._lastY;\n /**\n * @private\n * @type {module:zrender/core/GestureMgr}\n */\n\n this._gestureMgr;\n Draggable.call(this);\n this.setHandlerProxy(proxy);\n};\n\nHandler.prototype = {\n constructor: Handler,\n setHandlerProxy: function (proxy) {\n if (this.proxy) {\n this.proxy.dispose();\n }\n\n if (proxy) {\n util.each(handlerNames, function (name) {\n proxy.on && proxy.on(name, this[name], this);\n }, this); // Attach handler\n\n proxy.handler = this;\n }\n\n this.proxy = proxy;\n },\n 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; // If lastHoveredTarget is removed from zr (detected by '__zr') by some API call\n // (like 'setOption' or 'dispatchAction') in event handlers, we should find\n // lastHovered again here. Otherwise 'mouseout' can not be triggered normally.\n // See #6198.\n\n if (lastHoveredTarget && !lastHoveredTarget.__zr) {\n lastHovered = this.findHover(lastHovered.x, lastHovered.y);\n lastHoveredTarget = lastHovered.target;\n }\n\n var hovered = this._hovered = isOutside ? {\n x: x,\n y: y\n } : this.findHover(x, y);\n var hoveredTarget = hovered.target;\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default'); // Mouse out on previous hovered element\n\n if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(lastHovered, 'mouseout', event);\n } // Mouse moving on one element\n\n\n this.dispatchToElement(hovered, 'mousemove', event); // Mouse over on a new element\n\n if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(hovered, 'mouseover', event);\n }\n },\n mouseout: function (event) {\n var eventControl = event.zrEventControl;\n var zrIsToLocalDOM = event.zrIsToLocalDOM;\n\n if (eventControl !== 'only_globalout') {\n this.dispatchToElement(this._hovered, 'mouseout', event);\n }\n\n if (eventControl !== 'no_globalout') {\n // FIXME: if the pointer moving from the extra doms to realy \"outside\",\n // the `globalout` should have been triggered. But currently not.\n !zrIsToLocalDOM && this.trigger('globalout', {\n type: 'globalout',\n event: event\n });\n }\n },\n\n /**\n * Resize\n */\n resize: function (event) {\n this._hovered = {};\n },\n\n /**\n * Dispatch event\n * @param {string} eventName\n * @param {event=} eventArgs\n */\n dispatch: function (eventName, eventArgs) {\n var handler = this[eventName];\n handler && handler.call(this, eventArgs);\n },\n\n /**\n * Dispose\n */\n dispose: function () {\n this.proxy.dispose();\n this.storage = this.proxy = this.painter = null;\n },\n\n /**\n * \u8bbe\u7f6e\u9ed8\u8ba4\u7684cursor style\n * @param {string} [cursorStyle='default'] \u4f8b\u5982 crosshair\n */\n setCursorStyle: function (cursorStyle) {\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(cursorStyle);\n },\n\n /**\n * \u4e8b\u4ef6\u5206\u53d1\u4ee3\u7406\n *\n * @private\n * @param {Object} targetInfo {target, topTarget} \u76ee\u6807\u56fe\u5f62\u5143\u7d20\n * @param {string} eventName \u4e8b\u4ef6\u540d\u79f0\n * @param {Object} event \u4e8b\u4ef6\u5bf9\u8c61\n */\n dispatchToElement: function (targetInfo, eventName, event) {\n targetInfo = targetInfo || {};\n var el = targetInfo.target;\n\n if (el && el.silent) {\n return;\n }\n\n var eventHandler = 'on' + eventName;\n var eventPacket = makeEventPacket(eventName, targetInfo, event);\n\n while (el) {\n el[eventHandler] && (eventPacket.cancelBubble = el[eventHandler].call(el, eventPacket));\n el.trigger(eventName, eventPacket);\n el = el.parent;\n\n if (eventPacket.cancelBubble) {\n break;\n }\n }\n\n if (!eventPacket.cancelBubble) {\n // \u5192\u6ce1\u5230\u9876\u7ea7 zrender \u5bf9\u8c61\n this.trigger(eventName, eventPacket); // \u5206\u53d1\u4e8b\u4ef6\u5230\u7528\u6237\u81ea\u5b9a\u4e49\u5c42\n // \u7528\u6237\u6709\u53ef\u80fd\u5728\u5168\u5c40 click \u4e8b\u4ef6\u4e2d dispose\uff0c\u6240\u4ee5\u9700\u8981\u5224\u65ad\u4e0b painter \u662f\u5426\u5b58\u5728\n\n this.painter && this.painter.eachOtherLayer(function (layer) {\n if (typeof layer[eventHandler] === 'function') {\n layer[eventHandler].call(layer, eventPacket);\n }\n\n if (layer.trigger) {\n layer.trigger(eventName, eventPacket);\n }\n });\n }\n },\n\n /**\n * @private\n * @param {number} x\n * @param {number} y\n * @param {module:zrender/graphic/Displayable} exclude\n * @return {model:zrender/Element}\n * @method\n */\n findHover: function (x, y, exclude) {\n var list = this.storage.getDisplayList();\n var out = {\n x: x,\n y: y\n };\n\n for (var i = list.length - 1; i >= 0; i--) {\n var hoverCheckResult;\n\n if (list[i] !== exclude // getDisplayList may include ignored item in VML mode\n && !list[i].ignore && (hoverCheckResult = isHover(list[i], x, y))) {\n !out.topTarget && (out.topTarget = list[i]);\n\n if (hoverCheckResult !== SILENT) {\n out.target = list[i];\n break;\n }\n }\n }\n\n return out;\n },\n processGesture: function (event, stage) {\n if (!this._gestureMgr) {\n this._gestureMgr = new GestureMgr();\n }\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(); // Do not do any preventDefault here. Upper application do that if necessary.\n\n if (gestureInfo) {\n var type = gestureInfo.type;\n event.gestureEvent = type;\n this.dispatchToElement({\n target: gestureInfo.target\n }, type, gestureInfo.event);\n }\n }\n}; // Common handlers\n\nutil.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\n if (name !== 'mouseup' || !isOutside) {\n // Find hover again to avoid click event is dispatched manually. Or click is triggered without mouseover\n hovered = this.findHover(x, y);\n hoveredTarget = hovered.target;\n }\n\n if (name === 'mousedown') {\n this._downEl = hoveredTarget;\n this._downPoint = [event.zrX, event.zrY]; // In case click triggered before mouseup\n\n this._upEl = hoveredTarget;\n } else if (name === 'mouseup') {\n this._upEl = hoveredTarget;\n } else if (name === 'click') {\n if (this._downEl !== this._upEl // Original click event is triggered on the whole canvas element,\n // including the case that `mousedown` - `mousemove` - `mouseup`,\n // which should be filtered, otherwise it will bring trouble to\n // pan and zoom.\n || !this._downPoint // Arbitrary value\n || vec2.dist(this._downPoint, [event.zrX, event.zrY]) > 4) {\n return;\n }\n\n this._downPoint = null;\n }\n\n this.dispatchToElement(hovered, name, event);\n };\n});\n\nfunction isHover(displayable, x, y) {\n if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {\n var el = displayable;\n var isSilent;\n\n while (el) {\n // If clipped by ancestor.\n // FIXME: If clipPath has neither stroke nor fill,\n // el.clipPath.contain(x, y) will always return false.\n if (el.clipPath && !el.clipPath.contain(x, y)) {\n return false;\n }\n\n if (el.silent) {\n isSilent = true;\n }\n\n el = el.parent;\n }\n\n return isSilent ? SILENT : true;\n }\n\n return false;\n}\n/**\n * See [Drag outside].\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\nutil.mixin(Handler, Eventful);\nutil.mixin(Handler, Draggable);\nvar _default = Handler;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/Handler.js?")},"0ycA":function(module,exports){eval("/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/stubArray.js?")},"10cm":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar _roamHelper = __webpack_require__("2B6p");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\n__webpack_require__("0qV/");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: \'graphRoam\',\n event: \'graphRoam\',\n update: \'none\'\n};\n/**\n * @payload\n * @property {string} name Series name\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: \'series\',\n query: payload\n }, function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var res = updateCenterAndZoom(coordSys, payload);\n seriesModel.setCenter && seriesModel.setCenter(res.center);\n seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n });\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/graphAction.js?')},"14J3":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _grid_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1GLa");\n // style dependencies\n// deps-lint-skip: grid\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/row/style/index.js?')},"15/o":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/affix/style/index.less?")},"19Vz":function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__("VrN/"));\n else {}\n})(function(CodeMirror) {\n CodeMirror.defineOption("placeholder", "", function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.on("blur", onBlur);\n cm.on("change", onChange);\n cm.on("swapDoc", onChange);\n onChange(cm);\n } else if (!val && prev) {\n cm.off("blur", onBlur);\n cm.off("change", onChange);\n cm.off("swapDoc", onChange);\n clearPlaceholder(cm);\n var wrapper = cm.getWrapperElement();\n wrapper.className = wrapper.className.replace(" CodeMirror-empty", "");\n }\n\n if (val && !cm.hasFocus()) onBlur(cm);\n });\n\n function clearPlaceholder(cm) {\n if (cm.state.placeholder) {\n cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n cm.state.placeholder = null;\n }\n }\n function setPlaceholder(cm) {\n clearPlaceholder(cm);\n var elt = cm.state.placeholder = document.createElement("pre");\n elt.style.cssText = "height: 0; overflow: visible";\n elt.style.direction = cm.getOption("direction");\n elt.className = "CodeMirror-placeholder CodeMirror-line-like";\n var placeHolder = cm.getOption("placeholder")\n if (typeof placeHolder == "string") placeHolder = document.createTextNode(placeHolder)\n elt.appendChild(placeHolder)\n cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n }\n\n function onBlur(cm) {\n if (isEmpty(cm)) setPlaceholder(cm);\n }\n function onChange(cm) {\n var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n wrapper.className = wrapper.className.replace(" CodeMirror-empty", "") + (empty ? " CodeMirror-empty" : "");\n\n if (empty) setPlaceholder(cm);\n else clearPlaceholder(cm);\n }\n\n function isEmpty(cm) {\n return (cm.lineCount() === 1) && (cm.getLine(0) === "");\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/display/placeholder.js?')},"1GLa":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("FIfw");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/grid/style/index.js?')},"1Jh7":function(module,exports,__webpack_require__){eval("var Path = __webpack_require__(\"y+Vt\");\n\nvar polyHelper = __webpack_require__(\"T6xi\");\n\n/**\n * @module zrender/graphic/shape/Polyline\n */\nvar _default = Path.extend({\n type: 'polyline',\n shape: {\n points: null,\n smooth: false,\n smoothConstraint: null\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, false);\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/shape/Polyline.js?")},"1LEl":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar globalListener = __webpack_require__(\"F9bG\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 AxisPointerView = echarts.extendComponentView({\n type: 'axisPointer',\n 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.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 /**\n * @override\n */\n remove: function (ecModel, api) {\n globalListener.unregister(api.getZr(), 'axisPointer');\n AxisPointerView.superApply(this._model, 'remove', arguments);\n },\n\n /**\n * @override\n */\n dispose: function (ecModel, api) {\n globalListener.unregister('axisPointer', api);\n AxisPointerView.superApply(this._model, 'dispose', arguments);\n }\n});\nvar _default = AxisPointerView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js?")},"1MYJ":function(module,exports,__webpack_require__){eval("var Path = __webpack_require__(\"y+Vt\");\n\n// CompoundPath to improve performance\nvar _default = Path.extend({\n type: 'compound',\n shape: {\n paths: null\n },\n _updatePathDirty: function () {\n var dirtyPath = this.__dirtyPath;\n var paths = this.shape.paths;\n\n for (var i = 0; i < paths.length; i++) {\n // Mark as dirty if any subpath is dirty\n dirtyPath = dirtyPath || paths[i].__dirtyPath;\n }\n\n this.__dirtyPath = dirtyPath;\n this.__dirty = this.__dirty || dirtyPath;\n },\n beforeBrush: function () {\n this._updatePathDirty();\n\n var paths = this.shape.paths || [];\n var scale = this.getGlobalScale(); // Update path scale\n\n for (var i = 0; i < paths.length; i++) {\n if (!paths[i].path) {\n paths[i].createPathProxy();\n }\n\n paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);\n }\n },\n buildPath: function (ctx, shape) {\n var paths = shape.paths || [];\n\n for (var i = 0; i < paths.length; i++) {\n paths[i].buildPath(ctx, paths[i].shape, true);\n }\n },\n afterBrush: function () {\n var paths = this.shape.paths || [];\n\n for (var i = 0; i < paths.length; i++) {\n paths[i].__dirtyPath = false;\n }\n },\n getBoundingRect: function () {\n this._updatePathDirty();\n\n return Path.prototype.getBoundingRect.call(this);\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/CompoundPath.js?")},"1NG9":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Path = __webpack_require__(\"y+Vt\");\n\nvar vec2 = __webpack_require__(\"QBsz\");\n\nvar fixClipWithShadow = __webpack_require__(\"iXp4\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\nvar vec2Min = vec2.min;\nvar vec2Max = vec2.max;\nvar scaleAndAdd = vec2.scaleAndAdd;\nvar v2Copy = vec2.copy; // Temporary variable\n\nvar v = [];\nvar cp0 = [];\nvar cp1 = [];\n\nfunction isPointNull(p) {\n return isNaN(p[0]) || isNaN(p[1]);\n}\n\nfunction drawSegment(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n // if (smoothMonotone == null) {\n // if (isMono(points, 'x')) {\n // return drawMono(ctx, points, start, segLen, allLen,\n // dir, smoothMin, smoothMax, smooth, 'x', connectNulls);\n // }\n // else if (isMono(points, 'y')) {\n // return drawMono(ctx, points, start, segLen, allLen,\n // dir, smoothMin, smoothMax, smooth, 'y', connectNulls);\n // }\n // else {\n // return drawNonMono.apply(this, arguments);\n // }\n // }\n // else if (smoothMonotone !== 'none' && isMono(points, smoothMonotone)) {\n // return drawMono.apply(this, arguments);\n // }\n // else {\n // return drawNonMono.apply(this, arguments);\n // }\n if (smoothMonotone === 'none' || !smoothMonotone) {\n return drawNonMono.apply(this, arguments);\n } else {\n return drawMono.apply(this, arguments);\n }\n}\n/**\n * Check if points is in monotone.\n *\n * @param {number[][]} points Array of points which is in [x, y] form\n * @param {string} smoothMonotone 'x', 'y', or 'none', stating for which\n * dimension that is checking.\n * If is 'none', `drawNonMono` should be\n * called.\n * If is undefined, either being monotone\n * in 'x' or 'y' will call `drawMono`.\n */\n// function isMono(points, smoothMonotone) {\n// if (points.length <= 1) {\n// return true;\n// }\n// var dim = smoothMonotone === 'x' ? 0 : 1;\n// var last = points[0][dim];\n// var lastDiff = 0;\n// for (var i = 1; i < points.length; ++i) {\n// var diff = points[i][dim] - last;\n// if (!isNaN(diff) && !isNaN(lastDiff)\n// && diff !== 0 && lastDiff !== 0\n// && ((diff >= 0) !== (lastDiff >= 0))\n// ) {\n// return false;\n// }\n// if (!isNaN(diff) && diff !== 0) {\n// lastDiff = diff;\n// last = points[i][dim];\n// }\n// }\n// return true;\n// }\n\n/**\n * Draw smoothed line in monotone, in which only vertical or horizontal bezier\n * control points will be used. This should be used when points are monotone\n * either in x or y dimension.\n */\n\n\nfunction drawMono(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n var prevIdx = 0;\n var idx = start;\n\n for (var k = 0; k < segLen; k++) {\n var p = points[idx];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(p)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](p[0], p[1]);\n } else {\n if (smooth > 0) {\n var prevP = points[prevIdx];\n var dim = smoothMonotone === 'y' ? 1 : 0; // Length of control point to p, either in x or y, but not both\n\n var ctrlLen = (p[dim] - prevP[dim]) * smooth;\n v2Copy(cp0, prevP);\n cp0[dim] = prevP[dim] + ctrlLen;\n v2Copy(cp1, p);\n cp1[dim] = p[dim] - ctrlLen;\n ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]);\n } else {\n ctx.lineTo(p[0], p[1]);\n }\n }\n\n prevIdx = idx;\n idx += dir;\n }\n\n return k;\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 drawNonMono(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n var prevIdx = 0;\n var idx = start;\n\n for (var k = 0; k < segLen; k++) {\n var p = points[idx];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(p)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](p[0], p[1]);\n v2Copy(cp0, p);\n } else {\n if (smooth > 0) {\n var nextIdx = idx + dir;\n var nextP = points[nextIdx];\n\n if (connectNulls) {\n // Find next point not null\n while (nextP && isPointNull(points[nextIdx])) {\n nextIdx += dir;\n nextP = points[nextIdx];\n }\n }\n\n var ratioNextSeg = 0.5;\n var prevP = points[prevIdx];\n var nextP = points[nextIdx]; // Last point\n\n if (!nextP || isPointNull(nextP)) {\n v2Copy(cp1, p);\n } else {\n // If next data is null in not connect case\n if (isPointNull(nextP) && !connectNulls) {\n nextP = p;\n }\n\n vec2.sub(v, nextP, prevP);\n var lenPrevSeg;\n var lenNextSeg;\n\n if (smoothMonotone === 'x' || smoothMonotone === 'y') {\n var dim = smoothMonotone === 'x' ? 0 : 1;\n lenPrevSeg = Math.abs(p[dim] - prevP[dim]);\n lenNextSeg = Math.abs(p[dim] - nextP[dim]);\n } else {\n lenPrevSeg = vec2.dist(p, prevP);\n lenNextSeg = vec2.dist(p, nextP);\n } // Use ratio of seg length\n\n\n ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);\n scaleAndAdd(cp1, p, v, -smooth * (1 - ratioNextSeg));\n } // Smooth constraint\n\n\n vec2Min(cp0, cp0, smoothMax);\n vec2Max(cp0, cp0, smoothMin);\n vec2Min(cp1, cp1, smoothMax);\n vec2Max(cp1, cp1, smoothMin);\n ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]); // cp0 of next segment\n\n scaleAndAdd(cp0, p, v, smooth * ratioNextSeg);\n } else {\n ctx.lineTo(p[0], p[1]);\n }\n }\n\n prevIdx = idx;\n idx += dir;\n }\n\n return k;\n}\n\nfunction getBoundingBox(points, smoothConstraint) {\n var ptMin = [Infinity, Infinity];\n var ptMax = [-Infinity, -Infinity];\n\n if (smoothConstraint) {\n for (var i = 0; i < points.length; i++) {\n var pt = points[i];\n\n if (pt[0] < ptMin[0]) {\n ptMin[0] = pt[0];\n }\n\n if (pt[1] < ptMin[1]) {\n ptMin[1] = pt[1];\n }\n\n if (pt[0] > ptMax[0]) {\n ptMax[0] = pt[0];\n }\n\n if (pt[1] > ptMax[1]) {\n ptMax[1] = pt[1];\n }\n }\n }\n\n return {\n min: smoothConstraint ? ptMin : ptMax,\n max: smoothConstraint ? ptMax : ptMin\n };\n}\n\nvar Polyline = Path.extend({\n type: 'ec-polyline',\n shape: {\n points: [],\n smooth: 0,\n smoothConstraint: true,\n smoothMonotone: null,\n connectNulls: false\n },\n style: {\n fill: null,\n stroke: '#000'\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var points = shape.points;\n var i = 0;\n var len = points.length;\n var 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 - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i])) {\n break;\n }\n }\n }\n\n while (i < len) {\n i += drawSegment(ctx, points, i, len, len, 1, result.min, result.max, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;\n }\n }\n});\nvar Polygon = Path.extend({\n type: 'ec-polygon',\n shape: {\n points: [],\n // Offset between stacked base points and points\n stackedOnPoints: [],\n smooth: 0,\n stackedOnSmooth: 0,\n smoothConstraint: true,\n smoothMonotone: null,\n connectNulls: false\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var points = shape.points;\n var stackedOnPoints = shape.stackedOnPoints;\n var i = 0;\n var len = points.length;\n var smoothMonotone = shape.smoothMonotone;\n var bbox = getBoundingBox(points, shape.smoothConstraint);\n var stackedOnBBox = getBoundingBox(stackedOnPoints, 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 - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i])) {\n break;\n }\n }\n }\n\n while (i < len) {\n var k = drawSegment(ctx, points, i, len, len, 1, bbox.min, bbox.max, shape.smooth, smoothMonotone, shape.connectNulls);\n drawSegment(ctx, stackedOnPoints, i + k - 1, k, len, -1, stackedOnBBox.min, stackedOnBBox.max, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);\n i += k + 1;\n ctx.closePath();\n }\n }\n});\nexports.Polyline = Polyline;\nexports.Polygon = Polygon;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/poly.js?")},"1RvN":function(module,exports){eval("// Simple LRU cache use doubly linked list\n// @module zrender/core/LRU\n\n/**\n * Simple double linked list. Compared with array, it has O(1) remove operation.\n * @constructor\n */\nvar LinkedList = function () {\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n this.head = null;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.tail = null;\n this._len = 0;\n};\n\nvar linkedListProto = LinkedList.prototype;\n/**\n * Insert a new value at the tail\n * @param {} val\n * @return {module:zrender/core/LRU~Entry}\n */\n\nlinkedListProto.insert = function (val) {\n var entry = new Entry(val);\n this.insertEntry(entry);\n return entry;\n};\n/**\n * Insert an entry at the tail\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n } else {\n this.tail.next = entry;\n entry.prev = this.tail;\n entry.next = null;\n this.tail = entry;\n }\n\n this._len++;\n};\n/**\n * Remove entry.\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n\n if (prev) {\n prev.next = next;\n } else {\n // Is head\n this.head = next;\n }\n\n if (next) {\n next.prev = prev;\n } else {\n // Is tail\n this.tail = prev;\n }\n\n entry.next = entry.prev = null;\n this._len--;\n};\n/**\n * @return {number}\n */\n\n\nlinkedListProto.len = function () {\n return this._len;\n};\n/**\n * Clear list\n */\n\n\nlinkedListProto.clear = function () {\n this.head = this.tail = null;\n this._len = 0;\n};\n/**\n * @constructor\n * @param {} val\n */\n\n\nvar Entry = function (val) {\n /**\n * @type {}\n */\n this.value = val;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.next;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.prev;\n};\n/**\n * LRU Cache\n * @constructor\n * @alias module:zrender/core/LRU\n */\n\n\nvar LRU = function (maxSize) {\n this._list = new LinkedList();\n this._map = {};\n this._maxSize = maxSize || 10;\n this._lastRemovedEntry = null;\n};\n\nvar LRUProto = LRU.prototype;\n/**\n * @param {string} key\n * @param {} value\n * @return {} Removed value\n */\n\nLRUProto.put = function (key, value) {\n var list = this._list;\n var map = this._map;\n var removed = null;\n\n if (map[key] == null) {\n var len = list.len(); // Reuse last removed entry\n\n var entry = this._lastRemovedEntry;\n\n if (len >= this._maxSize && len > 0) {\n // Remove the least recently used\n var leastUsedEntry = list.head;\n list.remove(leastUsedEntry);\n delete map[leastUsedEntry.key];\n removed = leastUsedEntry.value;\n this._lastRemovedEntry = leastUsedEntry;\n }\n\n if (entry) {\n entry.value = value;\n } else {\n entry = new Entry(value);\n }\n\n entry.key = key;\n list.insertEntry(entry);\n map[key] = entry;\n }\n\n return removed;\n};\n/**\n * @param {string} key\n * @return {}\n */\n\n\nLRUProto.get = function (key) {\n var entry = this._map[key];\n var list = this._list;\n\n if (entry != null) {\n // Put the latest used entry in the tail\n if (entry !== list.tail) {\n list.remove(entry);\n list.insertEntry(entry);\n }\n\n return entry.value;\n }\n};\n/**\n * Clear the cache\n */\n\n\nLRUProto.clear = function () {\n this._list.clear();\n\n this._map = {};\n};\n\nvar _default = LRU;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/LRU.js?")},"1W/9":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/react-dom/index.js\nvar react_dom = __webpack_require__("i8i4");\nvar react_dom_default = /*#__PURE__*/__webpack_require__.n(react_dom);\n\n// CONCATENATED MODULE: ./node_modules/rc-util/es/ContainerRender.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar ContainerRender_ContainerRender = /*#__PURE__*/function (_React$Component) {\n _inherits(ContainerRender, _React$Component);\n\n var _super = _createSuper(ContainerRender);\n\n function ContainerRender() {\n var _this;\n\n _classCallCheck(this, ContainerRender);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.removeContainer = function () {\n if (_this.container) {\n react_dom_default.a.unmountComponentAtNode(_this.container);\n\n _this.container.parentNode.removeChild(_this.container);\n\n _this.container = null;\n }\n };\n\n _this.renderComponent = function (props, ready) {\n var _this$props = _this.props,\n visible = _this$props.visible,\n getComponent = _this$props.getComponent,\n forceRender = _this$props.forceRender,\n getContainer = _this$props.getContainer,\n parent = _this$props.parent;\n\n if (visible || parent._component || forceRender) {\n if (!_this.container) {\n _this.container = getContainer();\n }\n\n react_dom_default.a.unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {\n if (ready) {\n ready.call(this);\n }\n });\n }\n };\n\n return _this;\n }\n\n _createClass(ContainerRender, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n if (this.props.autoDestroy) {\n this.removeContainer();\n }\n }\n }, {\n key: "render",\n value: function render() {\n return this.props.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer\n });\n }\n }]);\n\n return ContainerRender;\n}(react_default.a.Component);\n\nContainerRender_ContainerRender.defaultProps = {\n autoMount: true,\n autoDestroy: true,\n forceRender: false\n};\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Portal.js\nvar Portal = __webpack_require__("QC+M");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/getScrollBarSize.js\nvar getScrollBarSize = __webpack_require__("qx4F");\n\n// CONCATENATED MODULE: ./node_modules/rc-util/es/setStyle.js\n/**\n * Easy to set element style, return previous style\n * IE browser compatible(IE browser doesn\'t merge overflow style, need to set it separately)\n * https://github.com/ant-design/ant-design/issues/19393\n *\n */\nfunction setStyle(style) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$element = options.element,\n element = _options$element === void 0 ? document.body : _options$element;\n var oldStyle = {};\n var styleKeys = Object.keys(style); // IE browser compatible\n\n styleKeys.forEach(function (key) {\n oldStyle[key] = element.style[key];\n });\n styleKeys.forEach(function (key) {\n element.style[key] = style[key];\n });\n return oldStyle;\n}\n\n/* harmony default export */ var es_setStyle = (setStyle);\n// CONCATENATED MODULE: ./node_modules/rc-util/es/switchScrollingEffect.js\n\n\n\nfunction isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}\n\nvar cacheStyle = {};\n/* harmony default export */ var switchScrollingEffect = (function (close) {\n if (!isBodyOverflowing() && !close) {\n return;\n } // https://github.com/ant-design/ant-design/issues/19729\n\n\n var scrollingEffectClassName = \'ant-scrolling-effect\';\n var scrollingEffectClassNameReg = new RegExp("".concat(scrollingEffectClassName), \'g\');\n var bodyClassName = document.body.className;\n\n if (close) {\n if (!scrollingEffectClassNameReg.test(bodyClassName)) return;\n es_setStyle(cacheStyle);\n cacheStyle = {};\n document.body.className = bodyClassName.replace(scrollingEffectClassNameReg, \'\').trim();\n return;\n }\n\n var scrollBarSize = Object(getScrollBarSize["a" /* default */])();\n\n if (scrollBarSize) {\n cacheStyle = es_setStyle({\n position: \'relative\',\n width: "calc(100% - ".concat(scrollBarSize, "px)")\n });\n\n if (!scrollingEffectClassNameReg.test(bodyClassName)) {\n var addClassName = "".concat(bodyClassName, " ").concat(scrollingEffectClassName);\n document.body.className = addClassName.trim();\n }\n }\n});\n// CONCATENATED MODULE: ./node_modules/rc-util/es/PortalWrapper.js\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction PortalWrapper_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction PortalWrapper_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction PortalWrapper_createClass(Constructor, protoProps, staticProps) { if (protoProps) PortalWrapper_defineProperties(Constructor.prototype, protoProps); if (staticProps) PortalWrapper_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction PortalWrapper_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) PortalWrapper_setPrototypeOf(subClass, superClass); }\n\nfunction PortalWrapper_setPrototypeOf(o, p) { PortalWrapper_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return PortalWrapper_setPrototypeOf(o, p); }\n\nfunction PortalWrapper_createSuper(Derived) { var hasNativeReflectConstruct = PortalWrapper_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = PortalWrapper_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = PortalWrapper_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return PortalWrapper_possibleConstructorReturn(this, result); }; }\n\nfunction PortalWrapper_possibleConstructorReturn(self, call) { if (call && (PortalWrapper_typeof(call) === "object" || typeof call === "function")) { return call; } return PortalWrapper_assertThisInitialized(self); }\n\nfunction PortalWrapper_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction PortalWrapper_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction PortalWrapper_getPrototypeOf(o) { PortalWrapper_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return PortalWrapper_getPrototypeOf(o); }\n\nfunction PortalWrapper_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { PortalWrapper_typeof = function _typeof(obj) { return typeof obj; }; } else { PortalWrapper_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return PortalWrapper_typeof(obj); }\n\n/* eslint-disable no-underscore-dangle,react/require-default-props */\n\n\n\n\n\n\nvar openCount = 0;\nvar windowIsUndefined = !(typeof window !== \'undefined\' && window.document && window.document.createElement);\nvar IS_REACT_16 = (\'createPortal\' in react_dom_default.a); // https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\n\nvar cacheOverflow = {};\n\nvar getParent = function getParent(getContainer) {\n if (windowIsUndefined) {\n return null;\n }\n\n if (getContainer) {\n if (typeof getContainer === \'string\') {\n return document.querySelectorAll(getContainer)[0];\n }\n\n if (typeof getContainer === \'function\') {\n return getContainer();\n }\n\n if (PortalWrapper_typeof(getContainer) === \'object\' && getContainer instanceof window.HTMLElement) {\n return getContainer;\n }\n }\n\n return document.body;\n};\n\nvar PortalWrapper_PortalWrapper = /*#__PURE__*/function (_React$Component) {\n PortalWrapper_inherits(PortalWrapper, _React$Component);\n\n var _super = PortalWrapper_createSuper(PortalWrapper);\n\n function PortalWrapper(props) {\n var _this;\n\n PortalWrapper_classCallCheck(this, PortalWrapper);\n\n _this = _super.call(this, props);\n\n _this.getContainer = function () {\n if (windowIsUndefined) {\n return null;\n }\n\n if (!_this.container) {\n _this.container = document.createElement(\'div\');\n var parent = getParent(_this.props.getContainer);\n\n if (parent) {\n parent.appendChild(_this.container);\n }\n }\n\n _this.setWrapperClassName();\n\n return _this.container;\n };\n\n _this.setWrapperClassName = function () {\n var wrapperClassName = _this.props.wrapperClassName;\n\n if (_this.container && wrapperClassName && wrapperClassName !== _this.container.className) {\n _this.container.className = wrapperClassName;\n }\n };\n\n _this.savePortal = function (c) {\n // Warning: don\'t rename _component\n // https://github.com/react-component/util/pull/65#discussion_r352407916\n _this._component = c;\n };\n\n _this.removeCurrentContainer = function (visible) {\n _this.container = null;\n _this._component = null;\n\n if (!IS_REACT_16) {\n if (visible) {\n _this.renderComponent({\n afterClose: _this.removeContainer,\n onClose: function onClose() {},\n visible: false\n });\n } else {\n _this.removeContainer();\n }\n }\n };\n\n _this.switchScrollingEffect = function () {\n if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n switchScrollingEffect(); // Must be set after switchScrollingEffect\n\n cacheOverflow = es_setStyle({\n overflow: \'hidden\',\n overflowX: \'hidden\',\n overflowY: \'hidden\'\n });\n } else if (!openCount) {\n es_setStyle(cacheOverflow);\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n };\n\n var _visible = props.visible,\n getContainer = props.getContainer;\n\n if (!windowIsUndefined && getParent(getContainer) === document.body) {\n openCount = _visible ? openCount + 1 : openCount;\n }\n\n _this.state = {\n _self: PortalWrapper_assertThisInitialized(_this)\n };\n return _this;\n }\n\n PortalWrapper_createClass(PortalWrapper, [{\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n this.setWrapperClassName();\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n var _this$props = this.props,\n visible = _this$props.visible,\n getContainer = _this$props.getContainer;\n\n if (!windowIsUndefined && getParent(getContainer) === document.body) {\n // \u79bb\u5f00\u65f6\u4e0d\u4f1a render\uff0c \u5bfc\u5230\u79bb\u5f00\u65f6\u6570\u503c\u4e0d\u53d8\uff0c\u6539\u7528 func \u3002\u3002\n openCount = visible && openCount ? openCount - 1 : openCount;\n }\n\n this.removeCurrentContainer(visible);\n }\n }, {\n key: "render",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n forceRender = _this$props2.forceRender,\n visible = _this$props2.visible;\n var portal = null;\n var childProps = {\n getOpenCount: function getOpenCount() {\n return openCount;\n },\n getContainer: this.getContainer,\n switchScrollingEffect: this.switchScrollingEffect\n }; // suppport react15\n\n if (!IS_REACT_16) {\n return /*#__PURE__*/react_default.a.createElement(ContainerRender_ContainerRender, {\n parent: this,\n visible: visible,\n autoDestroy: false,\n getComponent: function getComponent() {\n var extra = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return children(_objectSpread(_objectSpread(_objectSpread({}, extra), childProps), {}, {\n ref: _this2.savePortal\n }));\n },\n getContainer: this.getContainer,\n forceRender: forceRender\n }, function (_ref) {\n var renderComponent = _ref.renderComponent,\n removeContainer = _ref.removeContainer;\n _this2.renderComponent = renderComponent;\n _this2.removeContainer = removeContainer;\n return null;\n });\n }\n\n if (forceRender || visible || this._component) {\n portal = /*#__PURE__*/react_default.a.createElement(Portal["a" /* default */], {\n getContainer: this.getContainer,\n ref: this.savePortal\n }, children(childProps));\n }\n\n return portal;\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(props, _ref2) {\n var prevProps = _ref2.prevProps,\n _self = _ref2._self;\n var visible = props.visible,\n getContainer = props.getContainer;\n\n if (prevProps) {\n var prevVisible = prevProps.visible,\n prevGetContainer = prevProps.getContainer;\n\n if (visible !== prevVisible && !windowIsUndefined && getParent(getContainer) === document.body) {\n openCount = visible && !prevVisible ? openCount + 1 : openCount - 1;\n }\n\n var getContainerIsFunc = typeof getContainer === \'function\' && typeof prevGetContainer === \'function\';\n\n if (getContainerIsFunc ? getContainer.toString() !== prevGetContainer.toString() : getContainer !== prevGetContainer) {\n _self.removeCurrentContainer(false);\n }\n }\n\n return {\n prevProps: props\n };\n }\n }]);\n\n return PortalWrapper;\n}(react_default.a.Component);\n\n/* harmony default export */ var es_PortalWrapper = __webpack_exports__["a"] = (PortalWrapper_PortalWrapper);\n\n//# sourceURL=webpack:///./node_modules/rc-util/es/PortalWrapper.js_+_3_modules?')},"1YUG":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "CoreEditorCommand", function() { return /* binding */ CoreEditorCommand; });\n__webpack_require__.d(__webpack_exports__, "EditorScroll_", function() { return /* binding */ coreCommands_EditorScroll_; });\n__webpack_require__.d(__webpack_exports__, "RevealLine_", function() { return /* binding */ coreCommands_RevealLine_; });\n__webpack_require__.d(__webpack_exports__, "CoreNavigationCommands", function() { return /* binding */ coreCommands_CoreNavigationCommands; });\n__webpack_require__.d(__webpack_exports__, "CoreEditingCommands", function() { return /* binding */ coreCommands_CoreEditingCommands; });\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/nls.js\nvar nls = __webpack_require__("3/fG");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/types.js\nvar types = __webpack_require__("746U");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.js\nvar editorExtensions = __webpack_require__("sswD");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/services/codeEditorService.js\nvar codeEditorService = __webpack_require__("Vxe3");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorCommon.js\nvar cursorCommon = __webpack_require__("Ll0s");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\nvar core_position = __webpack_require__("cGHE");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\nvar core_range = __webpack_require__("aokT");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorColumnSelection.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\nvar cursorColumnSelection_ColumnSelection = /** @class */ (function () {\r\n function ColumnSelection() {\r\n }\r\n ColumnSelection.columnSelect = function (config, model, fromLineNumber, fromVisibleColumn, toLineNumber, toVisibleColumn) {\r\n var lineCount = Math.abs(toLineNumber - fromLineNumber) + 1;\r\n var reversed = (fromLineNumber > toLineNumber);\r\n var isRTL = (fromVisibleColumn > toVisibleColumn);\r\n var isLTR = (fromVisibleColumn < toVisibleColumn);\r\n var result = [];\r\n // console.log(`fromVisibleColumn: ${fromVisibleColumn}, toVisibleColumn: ${toVisibleColumn}`);\r\n for (var i = 0; i < lineCount; i++) {\r\n var lineNumber = fromLineNumber + (reversed ? -i : i);\r\n var startColumn = cursorCommon["a" /* CursorColumns */].columnFromVisibleColumn2(config, model, lineNumber, fromVisibleColumn);\r\n var endColumn = cursorCommon["a" /* CursorColumns */].columnFromVisibleColumn2(config, model, lineNumber, toVisibleColumn);\r\n var visibleStartColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn2(config, model, new core_position["a" /* Position */](lineNumber, startColumn));\r\n var visibleEndColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn2(config, model, new core_position["a" /* Position */](lineNumber, endColumn));\r\n // console.log(`lineNumber: ${lineNumber}: visibleStartColumn: ${visibleStartColumn}, visibleEndColumn: ${visibleEndColumn}`);\r\n if (isLTR) {\r\n if (visibleStartColumn > toVisibleColumn) {\r\n continue;\r\n }\r\n if (visibleEndColumn < fromVisibleColumn) {\r\n continue;\r\n }\r\n }\r\n if (isRTL) {\r\n if (visibleEndColumn > fromVisibleColumn) {\r\n continue;\r\n }\r\n if (visibleStartColumn < toVisibleColumn) {\r\n continue;\r\n }\r\n }\r\n result.push(new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](lineNumber, startColumn, lineNumber, startColumn), 0, new core_position["a" /* Position */](lineNumber, endColumn), 0));\r\n }\r\n if (result.length === 0) {\r\n // We are after all the lines, so add cursor at the end of each line\r\n for (var i = 0; i < lineCount; i++) {\r\n var lineNumber = fromLineNumber + (reversed ? -i : i);\r\n var maxColumn = model.getLineMaxColumn(lineNumber);\r\n result.push(new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](lineNumber, maxColumn, lineNumber, maxColumn), 0, new core_position["a" /* Position */](lineNumber, maxColumn), 0));\r\n }\r\n }\r\n return {\r\n viewStates: result,\r\n reversed: reversed,\r\n fromLineNumber: fromLineNumber,\r\n fromVisualColumn: fromVisibleColumn,\r\n toLineNumber: toLineNumber,\r\n toVisualColumn: toVisibleColumn\r\n };\r\n };\r\n ColumnSelection.columnSelectLeft = function (config, model, prevColumnSelectData) {\r\n var toViewVisualColumn = prevColumnSelectData.toViewVisualColumn;\r\n if (toViewVisualColumn > 1) {\r\n toViewVisualColumn--;\r\n }\r\n return ColumnSelection.columnSelect(config, model, prevColumnSelectData.fromViewLineNumber, prevColumnSelectData.fromViewVisualColumn, prevColumnSelectData.toViewLineNumber, toViewVisualColumn);\r\n };\r\n ColumnSelection.columnSelectRight = function (config, model, prevColumnSelectData) {\r\n var maxVisualViewColumn = 0;\r\n var minViewLineNumber = Math.min(prevColumnSelectData.fromViewLineNumber, prevColumnSelectData.toViewLineNumber);\r\n var maxViewLineNumber = Math.max(prevColumnSelectData.fromViewLineNumber, prevColumnSelectData.toViewLineNumber);\r\n for (var lineNumber = minViewLineNumber; lineNumber <= maxViewLineNumber; lineNumber++) {\r\n var lineMaxViewColumn = model.getLineMaxColumn(lineNumber);\r\n var lineMaxVisualViewColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn2(config, model, new core_position["a" /* Position */](lineNumber, lineMaxViewColumn));\r\n maxVisualViewColumn = Math.max(maxVisualViewColumn, lineMaxVisualViewColumn);\r\n }\r\n var toViewVisualColumn = prevColumnSelectData.toViewVisualColumn;\r\n if (toViewVisualColumn < maxVisualViewColumn) {\r\n toViewVisualColumn++;\r\n }\r\n return this.columnSelect(config, model, prevColumnSelectData.fromViewLineNumber, prevColumnSelectData.fromViewVisualColumn, prevColumnSelectData.toViewLineNumber, toViewVisualColumn);\r\n };\r\n ColumnSelection.columnSelectUp = function (config, model, prevColumnSelectData, isPaged) {\r\n var linesCount = isPaged ? config.pageSize : 1;\r\n var toViewLineNumber = Math.max(1, prevColumnSelectData.toViewLineNumber - linesCount);\r\n return this.columnSelect(config, model, prevColumnSelectData.fromViewLineNumber, prevColumnSelectData.fromViewVisualColumn, toViewLineNumber, prevColumnSelectData.toViewVisualColumn);\r\n };\r\n ColumnSelection.columnSelectDown = function (config, model, prevColumnSelectData, isPaged) {\r\n var linesCount = isPaged ? config.pageSize : 1;\r\n var toViewLineNumber = Math.min(model.getLineCount(), prevColumnSelectData.toViewLineNumber + linesCount);\r\n return this.columnSelect(config, model, prevColumnSelectData.fromViewLineNumber, prevColumnSelectData.fromViewVisualColumn, toViewLineNumber, prevColumnSelectData.toViewVisualColumn);\r\n };\r\n return ColumnSelection;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorDeleteOperations.js\nvar cursorDeleteOperations = __webpack_require__("snIX");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorMoveOperations.js\nvar cursorMoveOperations = __webpack_require__("+Fos");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/strings.js\nvar strings = __webpack_require__("N0LK");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/wordCharacterClassifier.js\nvar wordCharacterClassifier = __webpack_require__("5v8Y");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorWordOperations.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\nvar cursorWordOperations_WordOperations = /** @class */ (function () {\r\n function WordOperations() {\r\n }\r\n WordOperations._createWord = function (lineContent, wordType, nextCharClass, start, end) {\r\n // console.log(\'WORD ==> \' + start + \' => \' + end + \':::: <<<\' + lineContent.substring(start, end) + \'>>>\');\r\n return { start: start, end: end, wordType: wordType, nextCharClass: nextCharClass };\r\n };\r\n WordOperations._findPreviousWordOnLine = function (wordSeparators, model, position) {\r\n var lineContent = model.getLineContent(position.lineNumber);\r\n return this._doFindPreviousWordOnLine(lineContent, wordSeparators, position);\r\n };\r\n WordOperations._doFindPreviousWordOnLine = function (lineContent, wordSeparators, position) {\r\n var wordType = 0 /* None */;\r\n for (var chIndex = position.column - 2; chIndex >= 0; chIndex--) {\r\n var chCode = lineContent.charCodeAt(chIndex);\r\n var chClass = wordSeparators.get(chCode);\r\n if (chClass === 0 /* Regular */) {\r\n if (wordType === 2 /* Separator */) {\r\n return this._createWord(lineContent, wordType, chClass, chIndex + 1, this._findEndOfWord(lineContent, wordSeparators, wordType, chIndex + 1));\r\n }\r\n wordType = 1 /* Regular */;\r\n }\r\n else if (chClass === 2 /* WordSeparator */) {\r\n if (wordType === 1 /* Regular */) {\r\n return this._createWord(lineContent, wordType, chClass, chIndex + 1, this._findEndOfWord(lineContent, wordSeparators, wordType, chIndex + 1));\r\n }\r\n wordType = 2 /* Separator */;\r\n }\r\n else if (chClass === 1 /* Whitespace */) {\r\n if (wordType !== 0 /* None */) {\r\n return this._createWord(lineContent, wordType, chClass, chIndex + 1, this._findEndOfWord(lineContent, wordSeparators, wordType, chIndex + 1));\r\n }\r\n }\r\n }\r\n if (wordType !== 0 /* None */) {\r\n return this._createWord(lineContent, wordType, 1 /* Whitespace */, 0, this._findEndOfWord(lineContent, wordSeparators, wordType, 0));\r\n }\r\n return null;\r\n };\r\n WordOperations._findEndOfWord = function (lineContent, wordSeparators, wordType, startIndex) {\r\n var len = lineContent.length;\r\n for (var chIndex = startIndex; chIndex < len; chIndex++) {\r\n var chCode = lineContent.charCodeAt(chIndex);\r\n var chClass = wordSeparators.get(chCode);\r\n if (chClass === 1 /* Whitespace */) {\r\n return chIndex;\r\n }\r\n if (wordType === 1 /* Regular */ && chClass === 2 /* WordSeparator */) {\r\n return chIndex;\r\n }\r\n if (wordType === 2 /* Separator */ && chClass === 0 /* Regular */) {\r\n return chIndex;\r\n }\r\n }\r\n return len;\r\n };\r\n WordOperations._findNextWordOnLine = function (wordSeparators, model, position) {\r\n var lineContent = model.getLineContent(position.lineNumber);\r\n return this._doFindNextWordOnLine(lineContent, wordSeparators, position);\r\n };\r\n WordOperations._doFindNextWordOnLine = function (lineContent, wordSeparators, position) {\r\n var wordType = 0 /* None */;\r\n var len = lineContent.length;\r\n for (var chIndex = position.column - 1; chIndex < len; chIndex++) {\r\n var chCode = lineContent.charCodeAt(chIndex);\r\n var chClass = wordSeparators.get(chCode);\r\n if (chClass === 0 /* Regular */) {\r\n if (wordType === 2 /* Separator */) {\r\n return this._createWord(lineContent, wordType, chClass, this._findStartOfWord(lineContent, wordSeparators, wordType, chIndex - 1), chIndex);\r\n }\r\n wordType = 1 /* Regular */;\r\n }\r\n else if (chClass === 2 /* WordSeparator */) {\r\n if (wordType === 1 /* Regular */) {\r\n return this._createWord(lineContent, wordType, chClass, this._findStartOfWord(lineContent, wordSeparators, wordType, chIndex - 1), chIndex);\r\n }\r\n wordType = 2 /* Separator */;\r\n }\r\n else if (chClass === 1 /* Whitespace */) {\r\n if (wordType !== 0 /* None */) {\r\n return this._createWord(lineContent, wordType, chClass, this._findStartOfWord(lineContent, wordSeparators, wordType, chIndex - 1), chIndex);\r\n }\r\n }\r\n }\r\n if (wordType !== 0 /* None */) {\r\n return this._createWord(lineContent, wordType, 1 /* Whitespace */, this._findStartOfWord(lineContent, wordSeparators, wordType, len - 1), len);\r\n }\r\n return null;\r\n };\r\n WordOperations._findStartOfWord = function (lineContent, wordSeparators, wordType, startIndex) {\r\n for (var chIndex = startIndex; chIndex >= 0; chIndex--) {\r\n var chCode = lineContent.charCodeAt(chIndex);\r\n var chClass = wordSeparators.get(chCode);\r\n if (chClass === 1 /* Whitespace */) {\r\n return chIndex + 1;\r\n }\r\n if (wordType === 1 /* Regular */ && chClass === 2 /* WordSeparator */) {\r\n return chIndex + 1;\r\n }\r\n if (wordType === 2 /* Separator */ && chClass === 0 /* Regular */) {\r\n return chIndex + 1;\r\n }\r\n }\r\n return 0;\r\n };\r\n WordOperations.moveWordLeft = function (wordSeparators, model, position, wordNavigationType) {\r\n var lineNumber = position.lineNumber;\r\n var column = position.column;\r\n var movedToPreviousLine = false;\r\n if (column === 1) {\r\n if (lineNumber > 1) {\r\n movedToPreviousLine = true;\r\n lineNumber = lineNumber - 1;\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n var prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, column));\r\n if (wordNavigationType === 0 /* WordStart */) {\r\n if (prevWordOnLine && !movedToPreviousLine) {\r\n // Special case for Visual Studio compatibility:\r\n // when starting in the trim whitespace at the end of a line,\r\n // go to the end of the last word\r\n var lastWhitespaceColumn = model.getLineLastNonWhitespaceColumn(lineNumber);\r\n if (lastWhitespaceColumn < column) {\r\n return new core_position["a" /* Position */](lineNumber, prevWordOnLine.end + 1);\r\n }\r\n }\r\n return new core_position["a" /* Position */](lineNumber, prevWordOnLine ? prevWordOnLine.start + 1 : 1);\r\n }\r\n if (wordNavigationType === 1 /* WordStartFast */) {\r\n if (prevWordOnLine\r\n && prevWordOnLine.wordType === 2 /* Separator */\r\n && prevWordOnLine.end - prevWordOnLine.start === 1\r\n && prevWordOnLine.nextCharClass === 0 /* Regular */) {\r\n // Skip over a word made up of one single separator and followed by a regular character\r\n prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, prevWordOnLine.start + 1));\r\n }\r\n return new core_position["a" /* Position */](lineNumber, prevWordOnLine ? prevWordOnLine.start + 1 : 1);\r\n }\r\n if (wordNavigationType === 3 /* WordAccessibility */) {\r\n while (prevWordOnLine\r\n && prevWordOnLine.wordType === 2 /* Separator */) {\r\n // Skip over words made up of only separators\r\n prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, prevWordOnLine.start + 1));\r\n }\r\n return new core_position["a" /* Position */](lineNumber, prevWordOnLine ? prevWordOnLine.start + 1 : 1);\r\n }\r\n // We are stopping at the ending of words\r\n if (prevWordOnLine && column <= prevWordOnLine.end + 1) {\r\n prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, prevWordOnLine.start + 1));\r\n }\r\n return new core_position["a" /* Position */](lineNumber, prevWordOnLine ? prevWordOnLine.end + 1 : 1);\r\n };\r\n WordOperations._moveWordPartLeft = function (model, position) {\r\n var lineNumber = position.lineNumber;\r\n var maxColumn = model.getLineMaxColumn(lineNumber);\r\n if (position.column === 1) {\r\n return (lineNumber > 1 ? new core_position["a" /* Position */](lineNumber - 1, model.getLineMaxColumn(lineNumber - 1)) : position);\r\n }\r\n var lineContent = model.getLineContent(lineNumber);\r\n for (var column = position.column - 1; column > 1; column--) {\r\n var left = lineContent.charCodeAt(column - 2);\r\n var right = lineContent.charCodeAt(column - 1);\r\n if (left !== 95 /* Underline */ && right === 95 /* Underline */) {\r\n // snake_case_variables\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n }\r\n if (strings["B" /* isLowerAsciiLetter */](left) && strings["C" /* isUpperAsciiLetter */](right)) {\r\n // camelCaseVariables\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n }\r\n if (strings["C" /* isUpperAsciiLetter */](left) && strings["C" /* isUpperAsciiLetter */](right)) {\r\n // thisIsACamelCaseWithOneLetterWords\r\n if (column + 1 < maxColumn) {\r\n var rightRight = lineContent.charCodeAt(column);\r\n if (strings["B" /* isLowerAsciiLetter */](rightRight)) {\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n }\r\n }\r\n }\r\n }\r\n return new core_position["a" /* Position */](lineNumber, 1);\r\n };\r\n WordOperations.moveWordRight = function (wordSeparators, model, position, wordNavigationType) {\r\n var lineNumber = position.lineNumber;\r\n var column = position.column;\r\n var movedDown = false;\r\n if (column === model.getLineMaxColumn(lineNumber)) {\r\n if (lineNumber < model.getLineCount()) {\r\n movedDown = true;\r\n lineNumber = lineNumber + 1;\r\n column = 1;\r\n }\r\n }\r\n var nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, column));\r\n if (wordNavigationType === 2 /* WordEnd */) {\r\n if (nextWordOnLine && nextWordOnLine.wordType === 2 /* Separator */) {\r\n if (nextWordOnLine.end - nextWordOnLine.start === 1 && nextWordOnLine.nextCharClass === 0 /* Regular */) {\r\n // Skip over a word made up of one single separator and followed by a regular character\r\n nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, nextWordOnLine.end + 1));\r\n }\r\n }\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.end + 1;\r\n }\r\n else {\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n else if (wordNavigationType === 3 /* WordAccessibility */) {\r\n if (movedDown) {\r\n // If we move to the next line, pretend that the cursor is right before the first character.\r\n // This is needed when the first word starts right at the first character - and in order not to miss it,\r\n // we need to start before.\r\n column = 0;\r\n }\r\n while (nextWordOnLine\r\n && (nextWordOnLine.wordType === 2 /* Separator */\r\n || nextWordOnLine.start + 1 <= column)) {\r\n // Skip over a word made up of one single separator\r\n // Also skip over word if it begins before current cursor position to ascertain we\'re moving forward at least 1 character.\r\n nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, nextWordOnLine.end + 1));\r\n }\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.start + 1;\r\n }\r\n else {\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n else {\r\n if (nextWordOnLine && !movedDown && column >= nextWordOnLine.start + 1) {\r\n nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, nextWordOnLine.end + 1));\r\n }\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.start + 1;\r\n }\r\n else {\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n };\r\n WordOperations._moveWordPartRight = function (model, position) {\r\n var lineNumber = position.lineNumber;\r\n var maxColumn = model.getLineMaxColumn(lineNumber);\r\n if (position.column === maxColumn) {\r\n return (lineNumber < model.getLineCount() ? new core_position["a" /* Position */](lineNumber + 1, 1) : position);\r\n }\r\n var lineContent = model.getLineContent(lineNumber);\r\n for (var column = position.column + 1; column < maxColumn; column++) {\r\n var left = lineContent.charCodeAt(column - 2);\r\n var right = lineContent.charCodeAt(column - 1);\r\n if (left === 95 /* Underline */ && right !== 95 /* Underline */) {\r\n // snake_case_variables\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n }\r\n if (strings["B" /* isLowerAsciiLetter */](left) && strings["C" /* isUpperAsciiLetter */](right)) {\r\n // camelCaseVariables\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n }\r\n if (strings["C" /* isUpperAsciiLetter */](left) && strings["C" /* isUpperAsciiLetter */](right)) {\r\n // thisIsACamelCaseWithOneLetterWords\r\n if (column + 1 < maxColumn) {\r\n var rightRight = lineContent.charCodeAt(column);\r\n if (strings["B" /* isLowerAsciiLetter */](rightRight)) {\r\n return new core_position["a" /* Position */](lineNumber, column);\r\n }\r\n }\r\n }\r\n }\r\n return new core_position["a" /* Position */](lineNumber, maxColumn);\r\n };\r\n WordOperations._deleteWordLeftWhitespace = function (model, position) {\r\n var lineContent = model.getLineContent(position.lineNumber);\r\n var startIndex = position.column - 2;\r\n var lastNonWhitespace = strings["D" /* lastNonWhitespaceIndex */](lineContent, startIndex);\r\n if (lastNonWhitespace + 1 < startIndex) {\r\n return new core_range["a" /* Range */](position.lineNumber, lastNonWhitespace + 2, position.lineNumber, position.column);\r\n }\r\n return null;\r\n };\r\n WordOperations.deleteWordLeft = function (wordSeparators, model, selection, whitespaceHeuristics, wordNavigationType) {\r\n if (!selection.isEmpty()) {\r\n return selection;\r\n }\r\n var position = new core_position["a" /* Position */](selection.positionLineNumber, selection.positionColumn);\r\n var lineNumber = position.lineNumber;\r\n var column = position.column;\r\n if (lineNumber === 1 && column === 1) {\r\n // Ignore deleting at beginning of file\r\n return null;\r\n }\r\n if (whitespaceHeuristics) {\r\n var r = this._deleteWordLeftWhitespace(model, position);\r\n if (r) {\r\n return r;\r\n }\r\n }\r\n var prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, position);\r\n if (wordNavigationType === 0 /* WordStart */) {\r\n if (prevWordOnLine) {\r\n column = prevWordOnLine.start + 1;\r\n }\r\n else {\r\n if (column > 1) {\r\n column = 1;\r\n }\r\n else {\r\n lineNumber--;\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n }\r\n else {\r\n if (prevWordOnLine && column <= prevWordOnLine.end + 1) {\r\n prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, prevWordOnLine.start + 1));\r\n }\r\n if (prevWordOnLine) {\r\n column = prevWordOnLine.end + 1;\r\n }\r\n else {\r\n if (column > 1) {\r\n column = 1;\r\n }\r\n else {\r\n lineNumber--;\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n }\r\n return new core_range["a" /* Range */](lineNumber, column, position.lineNumber, position.column);\r\n };\r\n WordOperations._deleteWordPartLeft = function (model, selection) {\r\n if (!selection.isEmpty()) {\r\n return selection;\r\n }\r\n var pos = selection.getPosition();\r\n var toPosition = WordOperations._moveWordPartLeft(model, pos);\r\n return new core_range["a" /* Range */](pos.lineNumber, pos.column, toPosition.lineNumber, toPosition.column);\r\n };\r\n WordOperations._findFirstNonWhitespaceChar = function (str, startIndex) {\r\n var len = str.length;\r\n for (var chIndex = startIndex; chIndex < len; chIndex++) {\r\n var ch = str.charAt(chIndex);\r\n if (ch !== \' \' && ch !== \'\\t\') {\r\n return chIndex;\r\n }\r\n }\r\n return len;\r\n };\r\n WordOperations._deleteWordRightWhitespace = function (model, position) {\r\n var lineContent = model.getLineContent(position.lineNumber);\r\n var startIndex = position.column - 1;\r\n var firstNonWhitespace = this._findFirstNonWhitespaceChar(lineContent, startIndex);\r\n if (startIndex + 1 < firstNonWhitespace) {\r\n // bingo\r\n return new core_range["a" /* Range */](position.lineNumber, position.column, position.lineNumber, firstNonWhitespace + 1);\r\n }\r\n return null;\r\n };\r\n WordOperations.deleteWordRight = function (wordSeparators, model, selection, whitespaceHeuristics, wordNavigationType) {\r\n if (!selection.isEmpty()) {\r\n return selection;\r\n }\r\n var position = new core_position["a" /* Position */](selection.positionLineNumber, selection.positionColumn);\r\n var lineNumber = position.lineNumber;\r\n var column = position.column;\r\n var lineCount = model.getLineCount();\r\n var maxColumn = model.getLineMaxColumn(lineNumber);\r\n if (lineNumber === lineCount && column === maxColumn) {\r\n // Ignore deleting at end of file\r\n return null;\r\n }\r\n if (whitespaceHeuristics) {\r\n var r = this._deleteWordRightWhitespace(model, position);\r\n if (r) {\r\n return r;\r\n }\r\n }\r\n var nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, position);\r\n if (wordNavigationType === 2 /* WordEnd */) {\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.end + 1;\r\n }\r\n else {\r\n if (column < maxColumn || lineNumber === lineCount) {\r\n column = maxColumn;\r\n }\r\n else {\r\n lineNumber++;\r\n nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, 1));\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.start + 1;\r\n }\r\n else {\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (nextWordOnLine && column >= nextWordOnLine.start + 1) {\r\n nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, nextWordOnLine.end + 1));\r\n }\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.start + 1;\r\n }\r\n else {\r\n if (column < maxColumn || lineNumber === lineCount) {\r\n column = maxColumn;\r\n }\r\n else {\r\n lineNumber++;\r\n nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new core_position["a" /* Position */](lineNumber, 1));\r\n if (nextWordOnLine) {\r\n column = nextWordOnLine.start + 1;\r\n }\r\n else {\r\n column = model.getLineMaxColumn(lineNumber);\r\n }\r\n }\r\n }\r\n }\r\n return new core_range["a" /* Range */](lineNumber, column, position.lineNumber, position.column);\r\n };\r\n WordOperations._deleteWordPartRight = function (model, selection) {\r\n if (!selection.isEmpty()) {\r\n return selection;\r\n }\r\n var pos = selection.getPosition();\r\n var toPosition = WordOperations._moveWordPartRight(model, pos);\r\n return new core_range["a" /* Range */](pos.lineNumber, pos.column, toPosition.lineNumber, toPosition.column);\r\n };\r\n WordOperations.word = function (config, model, cursor, inSelectionMode, position) {\r\n var wordSeparators = Object(wordCharacterClassifier["a" /* getMapForWordSeparators */])(config.wordSeparators);\r\n var prevWord = WordOperations._findPreviousWordOnLine(wordSeparators, model, position);\r\n var nextWord = WordOperations._findNextWordOnLine(wordSeparators, model, position);\r\n if (!inSelectionMode) {\r\n // Entering word selection for the first time\r\n var startColumn_1;\r\n var endColumn_1;\r\n if (prevWord && prevWord.wordType === 1 /* Regular */ && prevWord.start <= position.column - 1 && position.column - 1 <= prevWord.end) {\r\n // isTouchingPrevWord\r\n startColumn_1 = prevWord.start + 1;\r\n endColumn_1 = prevWord.end + 1;\r\n }\r\n else if (nextWord && nextWord.wordType === 1 /* Regular */ && nextWord.start <= position.column - 1 && position.column - 1 <= nextWord.end) {\r\n // isTouchingNextWord\r\n startColumn_1 = nextWord.start + 1;\r\n endColumn_1 = nextWord.end + 1;\r\n }\r\n else {\r\n if (prevWord) {\r\n startColumn_1 = prevWord.end + 1;\r\n }\r\n else {\r\n startColumn_1 = 1;\r\n }\r\n if (nextWord) {\r\n endColumn_1 = nextWord.start + 1;\r\n }\r\n else {\r\n endColumn_1 = model.getLineMaxColumn(position.lineNumber);\r\n }\r\n }\r\n return new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](position.lineNumber, startColumn_1, position.lineNumber, endColumn_1), 0, new core_position["a" /* Position */](position.lineNumber, endColumn_1), 0);\r\n }\r\n var startColumn;\r\n var endColumn;\r\n if (prevWord && prevWord.wordType === 1 /* Regular */ && prevWord.start < position.column - 1 && position.column - 1 < prevWord.end) {\r\n // isInsidePrevWord\r\n startColumn = prevWord.start + 1;\r\n endColumn = prevWord.end + 1;\r\n }\r\n else if (nextWord && nextWord.wordType === 1 /* Regular */ && nextWord.start < position.column - 1 && position.column - 1 < nextWord.end) {\r\n // isInsideNextWord\r\n startColumn = nextWord.start + 1;\r\n endColumn = nextWord.end + 1;\r\n }\r\n else {\r\n startColumn = position.column;\r\n endColumn = position.column;\r\n }\r\n var lineNumber = position.lineNumber;\r\n var column;\r\n if (cursor.selectionStart.containsPosition(position)) {\r\n column = cursor.selectionStart.endColumn;\r\n }\r\n else if (position.isBeforeOrEqual(cursor.selectionStart.getStartPosition())) {\r\n column = startColumn;\r\n var possiblePosition = new core_position["a" /* Position */](lineNumber, column);\r\n if (cursor.selectionStart.containsPosition(possiblePosition)) {\r\n column = cursor.selectionStart.endColumn;\r\n }\r\n }\r\n else {\r\n column = endColumn;\r\n var possiblePosition = new core_position["a" /* Position */](lineNumber, column);\r\n if (cursor.selectionStart.containsPosition(possiblePosition)) {\r\n column = cursor.selectionStart.startColumn;\r\n }\r\n }\r\n return cursor.move(true, lineNumber, column, 0);\r\n };\r\n return WordOperations;\r\n}());\r\n\r\nvar cursorWordOperations_WordPartOperations = /** @class */ (function (_super) {\r\n __extends(WordPartOperations, _super);\r\n function WordPartOperations() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n WordPartOperations.deleteWordPartLeft = function (wordSeparators, model, selection, whitespaceHeuristics) {\r\n var candidates = enforceDefined([\r\n cursorWordOperations_WordOperations.deleteWordLeft(wordSeparators, model, selection, whitespaceHeuristics, 0 /* WordStart */),\r\n cursorWordOperations_WordOperations.deleteWordLeft(wordSeparators, model, selection, whitespaceHeuristics, 2 /* WordEnd */),\r\n cursorWordOperations_WordOperations._deleteWordPartLeft(model, selection)\r\n ]);\r\n candidates.sort(core_range["a" /* Range */].compareRangesUsingEnds);\r\n return candidates[2];\r\n };\r\n WordPartOperations.deleteWordPartRight = function (wordSeparators, model, selection, whitespaceHeuristics) {\r\n var candidates = enforceDefined([\r\n cursorWordOperations_WordOperations.deleteWordRight(wordSeparators, model, selection, whitespaceHeuristics, 0 /* WordStart */),\r\n cursorWordOperations_WordOperations.deleteWordRight(wordSeparators, model, selection, whitespaceHeuristics, 2 /* WordEnd */),\r\n cursorWordOperations_WordOperations._deleteWordPartRight(model, selection)\r\n ]);\r\n candidates.sort(core_range["a" /* Range */].compareRangesUsingStarts);\r\n return candidates[0];\r\n };\r\n WordPartOperations.moveWordPartLeft = function (wordSeparators, model, position) {\r\n var candidates = enforceDefined([\r\n cursorWordOperations_WordOperations.moveWordLeft(wordSeparators, model, position, 0 /* WordStart */),\r\n cursorWordOperations_WordOperations.moveWordLeft(wordSeparators, model, position, 2 /* WordEnd */),\r\n cursorWordOperations_WordOperations._moveWordPartLeft(model, position)\r\n ]);\r\n candidates.sort(core_position["a" /* Position */].compare);\r\n return candidates[2];\r\n };\r\n WordPartOperations.moveWordPartRight = function (wordSeparators, model, position) {\r\n var candidates = enforceDefined([\r\n cursorWordOperations_WordOperations.moveWordRight(wordSeparators, model, position, 0 /* WordStart */),\r\n cursorWordOperations_WordOperations.moveWordRight(wordSeparators, model, position, 2 /* WordEnd */),\r\n cursorWordOperations_WordOperations._moveWordPartRight(model, position)\r\n ]);\r\n candidates.sort(core_position["a" /* Position */].compare);\r\n return candidates[0];\r\n };\r\n return WordPartOperations;\r\n}(cursorWordOperations_WordOperations));\r\n\r\nfunction enforceDefined(arr) {\r\n return arr.filter(function (el) { return Boolean(el); });\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorMoveCommands.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar cursorMoveCommands_CursorMoveCommands = /** @class */ (function () {\r\n function CursorMoveCommands() {\r\n }\r\n CursorMoveCommands.addCursorDown = function (context, cursors, useLogicalLine) {\r\n var result = [], resultLen = 0;\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[resultLen++] = new cursorCommon["d" /* CursorState */](cursor.modelState, cursor.viewState);\r\n if (useLogicalLine) {\r\n result[resultLen++] = cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].translateDown(context.config, context.model, cursor.modelState));\r\n }\r\n else {\r\n result[resultLen++] = cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].translateDown(context.config, context.viewModel, cursor.viewState));\r\n }\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands.addCursorUp = function (context, cursors, useLogicalLine) {\r\n var result = [], resultLen = 0;\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[resultLen++] = new cursorCommon["d" /* CursorState */](cursor.modelState, cursor.viewState);\r\n if (useLogicalLine) {\r\n result[resultLen++] = cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].translateUp(context.config, context.model, cursor.modelState));\r\n }\r\n else {\r\n result[resultLen++] = cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].translateUp(context.config, context.viewModel, cursor.viewState));\r\n }\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands.moveToBeginningOfLine = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = this._moveToLineStart(context, cursor, inSelectionMode);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToLineStart = function (context, cursor, inSelectionMode) {\r\n var currentViewStateColumn = cursor.viewState.position.column;\r\n var currentModelStateColumn = cursor.modelState.position.column;\r\n var isFirstLineOfWrappedLine = currentViewStateColumn === currentModelStateColumn;\r\n var currentViewStatelineNumber = cursor.viewState.position.lineNumber;\r\n var firstNonBlankColumn = context.viewModel.getLineFirstNonWhitespaceColumn(currentViewStatelineNumber);\r\n var isBeginningOfViewLine = currentViewStateColumn === firstNonBlankColumn;\r\n if (!isFirstLineOfWrappedLine && !isBeginningOfViewLine) {\r\n return this._moveToLineStartByView(context, cursor, inSelectionMode);\r\n }\r\n else {\r\n return this._moveToLineStartByModel(context, cursor, inSelectionMode);\r\n }\r\n };\r\n CursorMoveCommands._moveToLineStartByView = function (context, cursor, inSelectionMode) {\r\n return cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].moveToBeginningOfLine(context.config, context.viewModel, cursor.viewState, inSelectionMode));\r\n };\r\n CursorMoveCommands._moveToLineStartByModel = function (context, cursor, inSelectionMode) {\r\n return cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].moveToBeginningOfLine(context.config, context.model, cursor.modelState, inSelectionMode));\r\n };\r\n CursorMoveCommands.moveToEndOfLine = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = this._moveToLineEnd(context, cursor, inSelectionMode);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToLineEnd = function (context, cursor, inSelectionMode) {\r\n var viewStatePosition = cursor.viewState.position;\r\n var viewModelMaxColumn = context.viewModel.getLineMaxColumn(viewStatePosition.lineNumber);\r\n var isEndOfViewLine = viewStatePosition.column === viewModelMaxColumn;\r\n var modelStatePosition = cursor.modelState.position;\r\n var modelMaxColumn = context.model.getLineMaxColumn(modelStatePosition.lineNumber);\r\n var isEndLineOfWrappedLine = viewModelMaxColumn - viewStatePosition.column === modelMaxColumn - modelStatePosition.column;\r\n if (isEndOfViewLine || isEndLineOfWrappedLine) {\r\n return this._moveToLineEndByModel(context, cursor, inSelectionMode);\r\n }\r\n else {\r\n return this._moveToLineEndByView(context, cursor, inSelectionMode);\r\n }\r\n };\r\n CursorMoveCommands._moveToLineEndByView = function (context, cursor, inSelectionMode) {\r\n return cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].moveToEndOfLine(context.config, context.viewModel, cursor.viewState, inSelectionMode));\r\n };\r\n CursorMoveCommands._moveToLineEndByModel = function (context, cursor, inSelectionMode) {\r\n return cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].moveToEndOfLine(context.config, context.model, cursor.modelState, inSelectionMode));\r\n };\r\n CursorMoveCommands.expandLineSelection = function (context, cursors) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var startLineNumber = cursor.modelState.selection.startLineNumber;\r\n var lineCount = context.model.getLineCount();\r\n var endLineNumber = cursor.modelState.selection.endLineNumber;\r\n var endColumn = void 0;\r\n if (endLineNumber === lineCount) {\r\n endColumn = context.model.getLineMaxColumn(lineCount);\r\n }\r\n else {\r\n endLineNumber++;\r\n endColumn = 1;\r\n }\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](startLineNumber, 1, startLineNumber, 1), 0, new core_position["a" /* Position */](endLineNumber, endColumn), 0));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands.moveToBeginningOfBuffer = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].moveToBeginningOfBuffer(context.config, context.model, cursor.modelState, inSelectionMode));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands.moveToEndOfBuffer = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].moveToEndOfBuffer(context.config, context.model, cursor.modelState, inSelectionMode));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands.selectAll = function (context, cursor) {\r\n var lineCount = context.model.getLineCount();\r\n var maxColumn = context.model.getLineMaxColumn(lineCount);\r\n return cursorCommon["d" /* CursorState */].fromModelState(new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](1, 1, 1, 1), 0, new core_position["a" /* Position */](lineCount, maxColumn), 0));\r\n };\r\n CursorMoveCommands.line = function (context, cursor, inSelectionMode, _position, _viewPosition) {\r\n var position = context.model.validatePosition(_position);\r\n var viewPosition = (_viewPosition\r\n ? context.validateViewPosition(new core_position["a" /* Position */](_viewPosition.lineNumber, _viewPosition.column), position)\r\n : context.convertModelPositionToViewPosition(position));\r\n if (!inSelectionMode || !cursor.modelState.hasSelection()) {\r\n // Entering line selection for the first time\r\n var lineCount = context.model.getLineCount();\r\n var selectToLineNumber = position.lineNumber + 1;\r\n var selectToColumn = 1;\r\n if (selectToLineNumber > lineCount) {\r\n selectToLineNumber = lineCount;\r\n selectToColumn = context.model.getLineMaxColumn(selectToLineNumber);\r\n }\r\n return cursorCommon["d" /* CursorState */].fromModelState(new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](position.lineNumber, 1, selectToLineNumber, selectToColumn), 0, new core_position["a" /* Position */](selectToLineNumber, selectToColumn), 0));\r\n }\r\n // Continuing line selection\r\n var enteringLineNumber = cursor.modelState.selectionStart.getStartPosition().lineNumber;\r\n if (position.lineNumber < enteringLineNumber) {\r\n return cursorCommon["d" /* CursorState */].fromViewState(cursor.viewState.move(cursor.modelState.hasSelection(), viewPosition.lineNumber, 1, 0));\r\n }\r\n else if (position.lineNumber > enteringLineNumber) {\r\n var lineCount = context.viewModel.getLineCount();\r\n var selectToViewLineNumber = viewPosition.lineNumber + 1;\r\n var selectToViewColumn = 1;\r\n if (selectToViewLineNumber > lineCount) {\r\n selectToViewLineNumber = lineCount;\r\n selectToViewColumn = context.viewModel.getLineMaxColumn(selectToViewLineNumber);\r\n }\r\n return cursorCommon["d" /* CursorState */].fromViewState(cursor.viewState.move(cursor.modelState.hasSelection(), selectToViewLineNumber, selectToViewColumn, 0));\r\n }\r\n else {\r\n var endPositionOfSelectionStart = cursor.modelState.selectionStart.getEndPosition();\r\n return cursorCommon["d" /* CursorState */].fromModelState(cursor.modelState.move(cursor.modelState.hasSelection(), endPositionOfSelectionStart.lineNumber, endPositionOfSelectionStart.column, 0));\r\n }\r\n };\r\n CursorMoveCommands.word = function (context, cursor, inSelectionMode, _position) {\r\n var position = context.model.validatePosition(_position);\r\n return cursorCommon["d" /* CursorState */].fromModelState(cursorWordOperations_WordOperations.word(context.config, context.model, cursor.modelState, inSelectionMode, position));\r\n };\r\n CursorMoveCommands.cancelSelection = function (context, cursor) {\r\n if (!cursor.modelState.hasSelection()) {\r\n return new cursorCommon["d" /* CursorState */](cursor.modelState, cursor.viewState);\r\n }\r\n var lineNumber = cursor.viewState.position.lineNumber;\r\n var column = cursor.viewState.position.column;\r\n return cursorCommon["d" /* CursorState */].fromViewState(new cursorCommon["f" /* SingleCursorState */](new core_range["a" /* Range */](lineNumber, column, lineNumber, column), 0, new core_position["a" /* Position */](lineNumber, column), 0));\r\n };\r\n CursorMoveCommands.moveTo = function (context, cursor, inSelectionMode, _position, _viewPosition) {\r\n var position = context.model.validatePosition(_position);\r\n var viewPosition = (_viewPosition\r\n ? context.validateViewPosition(new core_position["a" /* Position */](_viewPosition.lineNumber, _viewPosition.column), position)\r\n : context.convertModelPositionToViewPosition(position));\r\n return cursorCommon["d" /* CursorState */].fromViewState(cursor.viewState.move(inSelectionMode, viewPosition.lineNumber, viewPosition.column, 0));\r\n };\r\n CursorMoveCommands.move = function (context, cursors, args) {\r\n var inSelectionMode = args.select;\r\n var value = args.value;\r\n switch (args.direction) {\r\n case 0 /* Left */: {\r\n if (args.unit === 4 /* HalfLine */) {\r\n // Move left by half the current line length\r\n return this._moveHalfLineLeft(context, cursors, inSelectionMode);\r\n }\r\n else {\r\n // Move left by `moveParams.value` columns\r\n return this._moveLeft(context, cursors, inSelectionMode, value);\r\n }\r\n }\r\n case 1 /* Right */: {\r\n if (args.unit === 4 /* HalfLine */) {\r\n // Move right by half the current line length\r\n return this._moveHalfLineRight(context, cursors, inSelectionMode);\r\n }\r\n else {\r\n // Move right by `moveParams.value` columns\r\n return this._moveRight(context, cursors, inSelectionMode, value);\r\n }\r\n }\r\n case 2 /* Up */: {\r\n if (args.unit === 2 /* WrappedLine */) {\r\n // Move up by view lines\r\n return this._moveUpByViewLines(context, cursors, inSelectionMode, value);\r\n }\r\n else {\r\n // Move up by model lines\r\n return this._moveUpByModelLines(context, cursors, inSelectionMode, value);\r\n }\r\n }\r\n case 3 /* Down */: {\r\n if (args.unit === 2 /* WrappedLine */) {\r\n // Move down by view lines\r\n return this._moveDownByViewLines(context, cursors, inSelectionMode, value);\r\n }\r\n else {\r\n // Move down by model lines\r\n return this._moveDownByModelLines(context, cursors, inSelectionMode, value);\r\n }\r\n }\r\n case 4 /* WrappedLineStart */: {\r\n // Move to the beginning of the current view line\r\n return this._moveToViewMinColumn(context, cursors, inSelectionMode);\r\n }\r\n case 5 /* WrappedLineFirstNonWhitespaceCharacter */: {\r\n // Move to the first non-whitespace column of the current view line\r\n return this._moveToViewFirstNonWhitespaceColumn(context, cursors, inSelectionMode);\r\n }\r\n case 6 /* WrappedLineColumnCenter */: {\r\n // Move to the "center" of the current view line\r\n return this._moveToViewCenterColumn(context, cursors, inSelectionMode);\r\n }\r\n case 7 /* WrappedLineEnd */: {\r\n // Move to the end of the current view line\r\n return this._moveToViewMaxColumn(context, cursors, inSelectionMode);\r\n }\r\n case 8 /* WrappedLineLastNonWhitespaceCharacter */: {\r\n // Move to the last non-whitespace column of the current view line\r\n return this._moveToViewLastNonWhitespaceColumn(context, cursors, inSelectionMode);\r\n }\r\n case 9 /* ViewPortTop */: {\r\n // Move to the nth line start in the viewport (from the top)\r\n var cursor = cursors[0];\r\n var visibleModelRange = context.getCompletelyVisibleModelRange();\r\n var modelLineNumber = this._firstLineNumberInRange(context.model, visibleModelRange, value);\r\n var modelColumn = context.model.getLineFirstNonWhitespaceColumn(modelLineNumber);\r\n return [this._moveToModelPosition(context, cursor, inSelectionMode, modelLineNumber, modelColumn)];\r\n }\r\n case 11 /* ViewPortBottom */: {\r\n // Move to the nth line start in the viewport (from the bottom)\r\n var cursor = cursors[0];\r\n var visibleModelRange = context.getCompletelyVisibleModelRange();\r\n var modelLineNumber = this._lastLineNumberInRange(context.model, visibleModelRange, value);\r\n var modelColumn = context.model.getLineFirstNonWhitespaceColumn(modelLineNumber);\r\n return [this._moveToModelPosition(context, cursor, inSelectionMode, modelLineNumber, modelColumn)];\r\n }\r\n case 10 /* ViewPortCenter */: {\r\n // Move to the line start in the viewport center\r\n var cursor = cursors[0];\r\n var visibleModelRange = context.getCompletelyVisibleModelRange();\r\n var modelLineNumber = Math.round((visibleModelRange.startLineNumber + visibleModelRange.endLineNumber) / 2);\r\n var modelColumn = context.model.getLineFirstNonWhitespaceColumn(modelLineNumber);\r\n return [this._moveToModelPosition(context, cursor, inSelectionMode, modelLineNumber, modelColumn)];\r\n }\r\n case 12 /* ViewPortIfOutside */: {\r\n // Move to a position inside the viewport\r\n var visibleViewRange = context.getCompletelyVisibleViewRange();\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = this.findPositionInViewportIfOutside(context, cursor, visibleViewRange, inSelectionMode);\r\n }\r\n return result;\r\n }\r\n }\r\n return null;\r\n };\r\n CursorMoveCommands.findPositionInViewportIfOutside = function (context, cursor, visibleViewRange, inSelectionMode) {\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n if (visibleViewRange.startLineNumber <= viewLineNumber && viewLineNumber <= visibleViewRange.endLineNumber - 1) {\r\n // Nothing to do, cursor is in viewport\r\n return new cursorCommon["d" /* CursorState */](cursor.modelState, cursor.viewState);\r\n }\r\n else {\r\n if (viewLineNumber > visibleViewRange.endLineNumber - 1) {\r\n viewLineNumber = visibleViewRange.endLineNumber - 1;\r\n }\r\n if (viewLineNumber < visibleViewRange.startLineNumber) {\r\n viewLineNumber = visibleViewRange.startLineNumber;\r\n }\r\n var viewColumn = context.viewModel.getLineFirstNonWhitespaceColumn(viewLineNumber);\r\n return this._moveToViewPosition(context, cursor, inSelectionMode, viewLineNumber, viewColumn);\r\n }\r\n };\r\n /**\r\n * Find the nth line start included in the range (from the start).\r\n */\r\n CursorMoveCommands._firstLineNumberInRange = function (model, range, count) {\r\n var startLineNumber = range.startLineNumber;\r\n if (range.startColumn !== model.getLineMinColumn(startLineNumber)) {\r\n // Move on to the second line if the first line start is not included in the range\r\n startLineNumber++;\r\n }\r\n return Math.min(range.endLineNumber, startLineNumber + count - 1);\r\n };\r\n /**\r\n * Find the nth line start included in the range (from the end).\r\n */\r\n CursorMoveCommands._lastLineNumberInRange = function (model, range, count) {\r\n var startLineNumber = range.startLineNumber;\r\n if (range.startColumn !== model.getLineMinColumn(startLineNumber)) {\r\n // Move on to the second line if the first line start is not included in the range\r\n startLineNumber++;\r\n }\r\n return Math.max(startLineNumber, range.endLineNumber - count + 1);\r\n };\r\n CursorMoveCommands._moveLeft = function (context, cursors, inSelectionMode, noOfColumns) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var newViewState = cursorMoveOperations["a" /* MoveOperations */].moveLeft(context.config, context.viewModel, cursor.viewState, inSelectionMode, noOfColumns);\r\n if (noOfColumns === 1 && newViewState.position.lineNumber !== cursor.viewState.position.lineNumber) {\r\n // moved over to the previous view line\r\n var newViewModelPosition = context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(newViewState.position);\r\n if (newViewModelPosition.lineNumber === cursor.modelState.position.lineNumber) {\r\n // stayed on the same model line => pass wrapping point where 2 view positions map to a single model position\r\n newViewState = cursorMoveOperations["a" /* MoveOperations */].moveLeft(context.config, context.viewModel, newViewState, inSelectionMode, 1);\r\n }\r\n }\r\n result[i] = cursorCommon["d" /* CursorState */].fromViewState(newViewState);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveHalfLineLeft = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var halfLine = Math.round(context.viewModel.getLineContent(viewLineNumber).length / 2);\r\n result[i] = cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].moveLeft(context.config, context.viewModel, cursor.viewState, inSelectionMode, halfLine));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveRight = function (context, cursors, inSelectionMode, noOfColumns) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var newViewState = cursorMoveOperations["a" /* MoveOperations */].moveRight(context.config, context.viewModel, cursor.viewState, inSelectionMode, noOfColumns);\r\n if (noOfColumns === 1 && newViewState.position.lineNumber !== cursor.viewState.position.lineNumber) {\r\n // moved over to the next view line\r\n var newViewModelPosition = context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(newViewState.position);\r\n if (newViewModelPosition.lineNumber === cursor.modelState.position.lineNumber) {\r\n // stayed on the same model line => pass wrapping point where 2 view positions map to a single model position\r\n newViewState = cursorMoveOperations["a" /* MoveOperations */].moveRight(context.config, context.viewModel, newViewState, inSelectionMode, 1);\r\n }\r\n }\r\n result[i] = cursorCommon["d" /* CursorState */].fromViewState(newViewState);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveHalfLineRight = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var halfLine = Math.round(context.viewModel.getLineContent(viewLineNumber).length / 2);\r\n result[i] = cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].moveRight(context.config, context.viewModel, cursor.viewState, inSelectionMode, halfLine));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveDownByViewLines = function (context, cursors, inSelectionMode, linesCount) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].moveDown(context.config, context.viewModel, cursor.viewState, inSelectionMode, linesCount));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveDownByModelLines = function (context, cursors, inSelectionMode, linesCount) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].moveDown(context.config, context.model, cursor.modelState, inSelectionMode, linesCount));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveUpByViewLines = function (context, cursors, inSelectionMode, linesCount) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = cursorCommon["d" /* CursorState */].fromViewState(cursorMoveOperations["a" /* MoveOperations */].moveUp(context.config, context.viewModel, cursor.viewState, inSelectionMode, linesCount));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveUpByModelLines = function (context, cursors, inSelectionMode, linesCount) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(cursorMoveOperations["a" /* MoveOperations */].moveUp(context.config, context.model, cursor.modelState, inSelectionMode, linesCount));\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToViewPosition = function (context, cursor, inSelectionMode, toViewLineNumber, toViewColumn) {\r\n return cursorCommon["d" /* CursorState */].fromViewState(cursor.viewState.move(inSelectionMode, toViewLineNumber, toViewColumn, 0));\r\n };\r\n CursorMoveCommands._moveToModelPosition = function (context, cursor, inSelectionMode, toModelLineNumber, toModelColumn) {\r\n return cursorCommon["d" /* CursorState */].fromModelState(cursor.modelState.move(inSelectionMode, toModelLineNumber, toModelColumn, 0));\r\n };\r\n CursorMoveCommands._moveToViewMinColumn = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var viewColumn = context.viewModel.getLineMinColumn(viewLineNumber);\r\n result[i] = this._moveToViewPosition(context, cursor, inSelectionMode, viewLineNumber, viewColumn);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToViewFirstNonWhitespaceColumn = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var viewColumn = context.viewModel.getLineFirstNonWhitespaceColumn(viewLineNumber);\r\n result[i] = this._moveToViewPosition(context, cursor, inSelectionMode, viewLineNumber, viewColumn);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToViewCenterColumn = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var viewColumn = Math.round((context.viewModel.getLineMaxColumn(viewLineNumber) + context.viewModel.getLineMinColumn(viewLineNumber)) / 2);\r\n result[i] = this._moveToViewPosition(context, cursor, inSelectionMode, viewLineNumber, viewColumn);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToViewMaxColumn = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var viewColumn = context.viewModel.getLineMaxColumn(viewLineNumber);\r\n result[i] = this._moveToViewPosition(context, cursor, inSelectionMode, viewLineNumber, viewColumn);\r\n }\r\n return result;\r\n };\r\n CursorMoveCommands._moveToViewLastNonWhitespaceColumn = function (context, cursors, inSelectionMode) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var viewLineNumber = cursor.viewState.position.lineNumber;\r\n var viewColumn = context.viewModel.getLineLastNonWhitespaceColumn(viewLineNumber);\r\n result[i] = this._moveToViewPosition(context, cursor, inSelectionMode, viewLineNumber, viewColumn);\r\n }\r\n return result;\r\n };\r\n return CursorMoveCommands;\r\n}());\r\n\r\nvar cursorMoveCommands_CursorMove;\r\n(function (CursorMove) {\r\n var isCursorMoveArgs = function (arg) {\r\n if (!types["i" /* isObject */](arg)) {\r\n return false;\r\n }\r\n var cursorMoveArg = arg;\r\n if (!types["j" /* isString */](cursorMoveArg.to)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](cursorMoveArg.select) && !types["e" /* isBoolean */](cursorMoveArg.select)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](cursorMoveArg.by) && !types["j" /* isString */](cursorMoveArg.by)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](cursorMoveArg.value) && !types["h" /* isNumber */](cursorMoveArg.value)) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n CursorMove.description = {\r\n description: \'Move cursor to a logical position in the view\',\r\n args: [\r\n {\r\n name: \'Cursor move argument object\',\r\n description: "Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* \'to\': A mandatory logical position value providing where to move the cursor.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t\'left\', \'right\', \'up\', \'down\'\\n\\t\\t\\t\\t\\t\\t\'wrappedLineStart\', \'wrappedLineEnd\', \'wrappedLineColumnCenter\'\\n\\t\\t\\t\\t\\t\\t\'wrappedLineFirstNonWhitespaceCharacter\', \'wrappedLineLastNonWhitespaceCharacter\'\\n\\t\\t\\t\\t\\t\\t\'viewPortTop\', \'viewPortCenter\', \'viewPortBottom\', \'viewPortIfOutside\'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* \'by\': Unit to move. Default is computed based on \'to\' value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t\'line\', \'wrappedLine\', \'character\', \'halfLine\'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* \'value\': Number of units to move. Default is \'1\'.\\n\\t\\t\\t\\t\\t* \'select\': If \'true\' makes the selection. Default is \'false\'.\\n\\t\\t\\t\\t",\r\n constraint: isCursorMoveArgs,\r\n schema: {\r\n \'type\': \'object\',\r\n \'required\': [\'to\'],\r\n \'properties\': {\r\n \'to\': {\r\n \'type\': \'string\',\r\n \'enum\': [\'left\', \'right\', \'up\', \'down\', \'wrappedLineStart\', \'wrappedLineEnd\', \'wrappedLineColumnCenter\', \'wrappedLineFirstNonWhitespaceCharacter\', \'wrappedLineLastNonWhitespaceCharacter\', \'viewPortTop\', \'viewPortCenter\', \'viewPortBottom\', \'viewPortIfOutside\']\r\n },\r\n \'by\': {\r\n \'type\': \'string\',\r\n \'enum\': [\'line\', \'wrappedLine\', \'character\', \'halfLine\']\r\n },\r\n \'value\': {\r\n \'type\': \'number\',\r\n \'default\': 1\r\n },\r\n \'select\': {\r\n \'type\': \'boolean\',\r\n \'default\': false\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n /**\r\n * Positions in the view for cursor move command.\r\n */\r\n CursorMove.RawDirection = {\r\n Left: \'left\',\r\n Right: \'right\',\r\n Up: \'up\',\r\n Down: \'down\',\r\n WrappedLineStart: \'wrappedLineStart\',\r\n WrappedLineFirstNonWhitespaceCharacter: \'wrappedLineFirstNonWhitespaceCharacter\',\r\n WrappedLineColumnCenter: \'wrappedLineColumnCenter\',\r\n WrappedLineEnd: \'wrappedLineEnd\',\r\n WrappedLineLastNonWhitespaceCharacter: \'wrappedLineLastNonWhitespaceCharacter\',\r\n ViewPortTop: \'viewPortTop\',\r\n ViewPortCenter: \'viewPortCenter\',\r\n ViewPortBottom: \'viewPortBottom\',\r\n ViewPortIfOutside: \'viewPortIfOutside\'\r\n };\r\n /**\r\n * Units for Cursor move \'by\' argument\r\n */\r\n CursorMove.RawUnit = {\r\n Line: \'line\',\r\n WrappedLine: \'wrappedLine\',\r\n Character: \'character\',\r\n HalfLine: \'halfLine\'\r\n };\r\n function parse(args) {\r\n if (!args.to) {\r\n // illegal arguments\r\n return null;\r\n }\r\n var direction;\r\n switch (args.to) {\r\n case CursorMove.RawDirection.Left:\r\n direction = 0 /* Left */;\r\n break;\r\n case CursorMove.RawDirection.Right:\r\n direction = 1 /* Right */;\r\n break;\r\n case CursorMove.RawDirection.Up:\r\n direction = 2 /* Up */;\r\n break;\r\n case CursorMove.RawDirection.Down:\r\n direction = 3 /* Down */;\r\n break;\r\n case CursorMove.RawDirection.WrappedLineStart:\r\n direction = 4 /* WrappedLineStart */;\r\n break;\r\n case CursorMove.RawDirection.WrappedLineFirstNonWhitespaceCharacter:\r\n direction = 5 /* WrappedLineFirstNonWhitespaceCharacter */;\r\n break;\r\n case CursorMove.RawDirection.WrappedLineColumnCenter:\r\n direction = 6 /* WrappedLineColumnCenter */;\r\n break;\r\n case CursorMove.RawDirection.WrappedLineEnd:\r\n direction = 7 /* WrappedLineEnd */;\r\n break;\r\n case CursorMove.RawDirection.WrappedLineLastNonWhitespaceCharacter:\r\n direction = 8 /* WrappedLineLastNonWhitespaceCharacter */;\r\n break;\r\n case CursorMove.RawDirection.ViewPortTop:\r\n direction = 9 /* ViewPortTop */;\r\n break;\r\n case CursorMove.RawDirection.ViewPortBottom:\r\n direction = 11 /* ViewPortBottom */;\r\n break;\r\n case CursorMove.RawDirection.ViewPortCenter:\r\n direction = 10 /* ViewPortCenter */;\r\n break;\r\n case CursorMove.RawDirection.ViewPortIfOutside:\r\n direction = 12 /* ViewPortIfOutside */;\r\n break;\r\n default:\r\n // illegal arguments\r\n return null;\r\n }\r\n var unit = 0 /* None */;\r\n switch (args.by) {\r\n case CursorMove.RawUnit.Line:\r\n unit = 1 /* Line */;\r\n break;\r\n case CursorMove.RawUnit.WrappedLine:\r\n unit = 2 /* WrappedLine */;\r\n break;\r\n case CursorMove.RawUnit.Character:\r\n unit = 3 /* Character */;\r\n break;\r\n case CursorMove.RawUnit.HalfLine:\r\n unit = 4 /* HalfLine */;\r\n break;\r\n }\r\n return {\r\n direction: direction,\r\n unit: unit,\r\n select: (!!args.select),\r\n value: (args.value || 1)\r\n };\r\n }\r\n CursorMove.parse = parse;\r\n})(cursorMoveCommands_CursorMove || (cursorMoveCommands_CursorMove = {}));\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorTypeOperations.js + 2 modules\nvar cursorTypeOperations = __webpack_require__("GR/f");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/editorCommon.js\nvar editorCommon = __webpack_require__("iuje");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/editorContextKeys.js\nvar editorContextKeys = __webpack_require__("wQH0");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkey.js\nvar contextkey = __webpack_require__("T8No");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/controller/coreCommands.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar coreCommands_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar CORE_WEIGHT = 0 /* EditorCore */;\r\nvar CoreEditorCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(CoreEditorCommand, _super);\r\n function CoreEditorCommand() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n CoreEditorCommand.prototype.runEditorCommand = function (accessor, editor, args) {\r\n var cursors = editor._getCursors();\r\n if (!cursors) {\r\n // the editor has no view => has no cursors\r\n return;\r\n }\r\n this.runCoreEditorCommand(cursors, args || {});\r\n };\r\n return CoreEditorCommand;\r\n}(editorExtensions["c" /* EditorCommand */]));\r\n\r\nvar coreCommands_EditorScroll_;\r\n(function (EditorScroll_) {\r\n var isEditorScrollArgs = function (arg) {\r\n if (!types["i" /* isObject */](arg)) {\r\n return false;\r\n }\r\n var scrollArg = arg;\r\n if (!types["j" /* isString */](scrollArg.to)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](scrollArg.by) && !types["j" /* isString */](scrollArg.by)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](scrollArg.value) && !types["h" /* isNumber */](scrollArg.value)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](scrollArg.revealCursor) && !types["e" /* isBoolean */](scrollArg.revealCursor)) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n EditorScroll_.description = {\r\n description: \'Scroll editor in the given direction\',\r\n args: [\r\n {\r\n name: \'Editor scroll argument object\',\r\n description: "Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* \'to\': A mandatory direction value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t\'up\', \'down\'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* \'by\': Unit to move. Default is computed based on \'to\' value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t\'line\', \'wrappedLine\', \'page\', \'halfPage\'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* \'value\': Number of units to move. Default is \'1\'.\\n\\t\\t\\t\\t\\t* \'revealCursor\': If \'true\' reveals the cursor if it is outside view port.\\n\\t\\t\\t\\t",\r\n constraint: isEditorScrollArgs,\r\n schema: {\r\n \'type\': \'object\',\r\n \'required\': [\'to\'],\r\n \'properties\': {\r\n \'to\': {\r\n \'type\': \'string\',\r\n \'enum\': [\'up\', \'down\']\r\n },\r\n \'by\': {\r\n \'type\': \'string\',\r\n \'enum\': [\'line\', \'wrappedLine\', \'page\', \'halfPage\']\r\n },\r\n \'value\': {\r\n \'type\': \'number\',\r\n \'default\': 1\r\n },\r\n \'revealCursor\': {\r\n \'type\': \'boolean\',\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n /**\r\n * Directions in the view for editor scroll command.\r\n */\r\n EditorScroll_.RawDirection = {\r\n Up: \'up\',\r\n Down: \'down\',\r\n };\r\n /**\r\n * Units for editor scroll \'by\' argument\r\n */\r\n EditorScroll_.RawUnit = {\r\n Line: \'line\',\r\n WrappedLine: \'wrappedLine\',\r\n Page: \'page\',\r\n HalfPage: \'halfPage\'\r\n };\r\n function parse(args) {\r\n var direction;\r\n switch (args.to) {\r\n case EditorScroll_.RawDirection.Up:\r\n direction = 1 /* Up */;\r\n break;\r\n case EditorScroll_.RawDirection.Down:\r\n direction = 2 /* Down */;\r\n break;\r\n default:\r\n // Illegal arguments\r\n return null;\r\n }\r\n var unit;\r\n switch (args.by) {\r\n case EditorScroll_.RawUnit.Line:\r\n unit = 1 /* Line */;\r\n break;\r\n case EditorScroll_.RawUnit.WrappedLine:\r\n unit = 2 /* WrappedLine */;\r\n break;\r\n case EditorScroll_.RawUnit.Page:\r\n unit = 3 /* Page */;\r\n break;\r\n case EditorScroll_.RawUnit.HalfPage:\r\n unit = 4 /* HalfPage */;\r\n break;\r\n default:\r\n unit = 2 /* WrappedLine */;\r\n }\r\n var value = Math.floor(args.value || 1);\r\n var revealCursor = !!args.revealCursor;\r\n return {\r\n direction: direction,\r\n unit: unit,\r\n value: value,\r\n revealCursor: revealCursor,\r\n select: (!!args.select)\r\n };\r\n }\r\n EditorScroll_.parse = parse;\r\n})(coreCommands_EditorScroll_ || (coreCommands_EditorScroll_ = {}));\r\nvar coreCommands_RevealLine_;\r\n(function (RevealLine_) {\r\n var isRevealLineArgs = function (arg) {\r\n if (!types["i" /* isObject */](arg)) {\r\n return false;\r\n }\r\n var reveaLineArg = arg;\r\n if (!types["h" /* isNumber */](reveaLineArg.lineNumber)) {\r\n return false;\r\n }\r\n if (!types["k" /* isUndefined */](reveaLineArg.at) && !types["j" /* isString */](reveaLineArg.at)) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n RevealLine_.description = {\r\n description: \'Reveal the given line at the given logical position\',\r\n args: [\r\n {\r\n name: \'Reveal line argument object\',\r\n description: "Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* \'lineNumber\': A mandatory line number value.\\n\\t\\t\\t\\t\\t* \'at\': Logical position at which line has to be revealed .\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t\'top\', \'center\', \'bottom\'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t",\r\n constraint: isRevealLineArgs,\r\n schema: {\r\n \'type\': \'object\',\r\n \'required\': [\'lineNumber\'],\r\n \'properties\': {\r\n \'lineNumber\': {\r\n \'type\': \'number\',\r\n },\r\n \'at\': {\r\n \'type\': \'string\',\r\n \'enum\': [\'top\', \'center\', \'bottom\']\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n };\r\n /**\r\n * Values for reveal line \'at\' argument\r\n */\r\n RevealLine_.RawAtArgument = {\r\n Top: \'top\',\r\n Center: \'center\',\r\n Bottom: \'bottom\'\r\n };\r\n})(coreCommands_RevealLine_ || (coreCommands_RevealLine_ = {}));\r\nvar coreCommands_CoreNavigationCommands;\r\n(function (CoreNavigationCommands) {\r\n var BaseMoveToCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(BaseMoveToCommand, _super);\r\n function BaseMoveToCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n BaseMoveToCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursorMoveCommands_CursorMoveCommands.moveTo(cursors.context, cursors.getPrimaryCursor(), this._inSelectionMode, args.position, args.viewPosition)\r\n ]);\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return BaseMoveToCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.MoveTo = Object(editorExtensions["g" /* registerEditorCommand */])(new BaseMoveToCommand({\r\n id: \'_moveTo\',\r\n inSelectionMode: false,\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.MoveToSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new BaseMoveToCommand({\r\n id: \'_moveToSelect\',\r\n inSelectionMode: true,\r\n precondition: undefined\r\n }));\r\n var ColumnSelectCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(ColumnSelectCommand, _super);\r\n function ColumnSelectCommand() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n ColumnSelectCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n var result = this._getColumnSelectResult(cursors.context, cursors.getPrimaryCursor(), cursors.getColumnSelectData(), args);\r\n cursors.setStates(args.source, 3 /* Explicit */, result.viewStates.map(function (viewState) { return cursorCommon["d" /* CursorState */].fromViewState(viewState); }));\r\n cursors.setColumnSelectData({\r\n isReal: true,\r\n fromViewLineNumber: result.fromLineNumber,\r\n fromViewVisualColumn: result.fromVisualColumn,\r\n toViewLineNumber: result.toLineNumber,\r\n toViewVisualColumn: result.toVisualColumn\r\n });\r\n cursors.reveal(args.source, true, (result.reversed ? 1 /* TopMost */ : 2 /* BottomMost */), 0 /* Smooth */);\r\n };\r\n return ColumnSelectCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.ColumnSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_1, _super);\r\n function class_1() {\r\n return _super.call(this, {\r\n id: \'columnSelect\',\r\n precondition: undefined\r\n }) || this;\r\n }\r\n class_1.prototype._getColumnSelectResult = function (context, primary, prevColumnSelectData, args) {\r\n // validate `args`\r\n var validatedPosition = context.model.validatePosition(args.position);\r\n var validatedViewPosition = context.validateViewPosition(new core_position["a" /* Position */](args.viewPosition.lineNumber, args.viewPosition.column), validatedPosition);\r\n var fromViewLineNumber = args.doColumnSelect ? prevColumnSelectData.fromViewLineNumber : validatedViewPosition.lineNumber;\r\n var fromViewVisualColumn = args.doColumnSelect ? prevColumnSelectData.fromViewVisualColumn : args.mouseColumn - 1;\r\n return cursorColumnSelection_ColumnSelection.columnSelect(context.config, context.viewModel, fromViewLineNumber, fromViewVisualColumn, validatedViewPosition.lineNumber, args.mouseColumn - 1);\r\n };\r\n return class_1;\r\n }(ColumnSelectCommand)));\r\n CoreNavigationCommands.CursorColumnSelectLeft = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_2, _super);\r\n function class_2() {\r\n return _super.call(this, {\r\n id: \'cursorColumnSelectLeft\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 15 /* LeftArrow */,\r\n linux: { primary: 0 }\r\n }\r\n }) || this;\r\n }\r\n class_2.prototype._getColumnSelectResult = function (context, primary, prevColumnSelectData, args) {\r\n return cursorColumnSelection_ColumnSelection.columnSelectLeft(context.config, context.viewModel, prevColumnSelectData);\r\n };\r\n return class_2;\r\n }(ColumnSelectCommand)));\r\n CoreNavigationCommands.CursorColumnSelectRight = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_3, _super);\r\n function class_3() {\r\n return _super.call(this, {\r\n id: \'cursorColumnSelectRight\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 17 /* RightArrow */,\r\n linux: { primary: 0 }\r\n }\r\n }) || this;\r\n }\r\n class_3.prototype._getColumnSelectResult = function (context, primary, prevColumnSelectData, args) {\r\n return cursorColumnSelection_ColumnSelection.columnSelectRight(context.config, context.viewModel, prevColumnSelectData);\r\n };\r\n return class_3;\r\n }(ColumnSelectCommand)));\r\n var ColumnSelectUpCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(ColumnSelectUpCommand, _super);\r\n function ColumnSelectUpCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._isPaged = opts.isPaged;\r\n return _this;\r\n }\r\n ColumnSelectUpCommand.prototype._getColumnSelectResult = function (context, primary, prevColumnSelectData, args) {\r\n return cursorColumnSelection_ColumnSelection.columnSelectUp(context.config, context.viewModel, prevColumnSelectData, this._isPaged);\r\n };\r\n return ColumnSelectUpCommand;\r\n }(ColumnSelectCommand));\r\n CoreNavigationCommands.CursorColumnSelectUp = Object(editorExtensions["g" /* registerEditorCommand */])(new ColumnSelectUpCommand({\r\n isPaged: false,\r\n id: \'cursorColumnSelectUp\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 16 /* UpArrow */,\r\n linux: { primary: 0 }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorColumnSelectPageUp = Object(editorExtensions["g" /* registerEditorCommand */])(new ColumnSelectUpCommand({\r\n isPaged: true,\r\n id: \'cursorColumnSelectPageUp\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 11 /* PageUp */,\r\n linux: { primary: 0 }\r\n }\r\n }));\r\n var ColumnSelectDownCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(ColumnSelectDownCommand, _super);\r\n function ColumnSelectDownCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._isPaged = opts.isPaged;\r\n return _this;\r\n }\r\n ColumnSelectDownCommand.prototype._getColumnSelectResult = function (context, primary, prevColumnSelectData, args) {\r\n return cursorColumnSelection_ColumnSelection.columnSelectDown(context.config, context.viewModel, prevColumnSelectData, this._isPaged);\r\n };\r\n return ColumnSelectDownCommand;\r\n }(ColumnSelectCommand));\r\n CoreNavigationCommands.CursorColumnSelectDown = Object(editorExtensions["g" /* registerEditorCommand */])(new ColumnSelectDownCommand({\r\n isPaged: false,\r\n id: \'cursorColumnSelectDown\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 18 /* DownArrow */,\r\n linux: { primary: 0 }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorColumnSelectPageDown = Object(editorExtensions["g" /* registerEditorCommand */])(new ColumnSelectDownCommand({\r\n isPaged: true,\r\n id: \'cursorColumnSelectPageDown\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 12 /* PageDown */,\r\n linux: { primary: 0 }\r\n }\r\n }));\r\n var CursorMoveImpl = /** @class */ (function (_super) {\r\n coreCommands_extends(CursorMoveImpl, _super);\r\n function CursorMoveImpl() {\r\n return _super.call(this, {\r\n id: \'cursorMove\',\r\n precondition: undefined,\r\n description: cursorMoveCommands_CursorMove.description\r\n }) || this;\r\n }\r\n CursorMoveImpl.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var parsed = cursorMoveCommands_CursorMove.parse(args);\r\n if (!parsed) {\r\n // illegal arguments\r\n return;\r\n }\r\n this._runCursorMove(cursors, args.source, parsed);\r\n };\r\n CursorMoveImpl.prototype._runCursorMove = function (cursors, source, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(source, 3 /* Explicit */, cursorMoveCommands_CursorMoveCommands.move(cursors.context, cursors.getAll(), args));\r\n cursors.reveal(source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return CursorMoveImpl;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.CursorMoveImpl = CursorMoveImpl;\r\n CoreNavigationCommands.CursorMove = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveImpl());\r\n var CursorMoveBasedCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(CursorMoveBasedCommand, _super);\r\n function CursorMoveBasedCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._staticArgs = opts.args;\r\n return _this;\r\n }\r\n CursorMoveBasedCommand.prototype.runCoreEditorCommand = function (cursors, dynamicArgs) {\r\n var args = this._staticArgs;\r\n if (this._staticArgs.value === -1 /* PAGE_SIZE_MARKER */) {\r\n // -1 is a marker for page size\r\n args = {\r\n direction: this._staticArgs.direction,\r\n unit: this._staticArgs.unit,\r\n select: this._staticArgs.select,\r\n value: cursors.context.config.pageSize\r\n };\r\n }\r\n CoreNavigationCommands.CursorMove._runCursorMove(cursors, dynamicArgs.source, args);\r\n };\r\n return CursorMoveBasedCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.CursorLeft = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 0 /* Left */,\r\n unit: 0 /* None */,\r\n select: false,\r\n value: 1\r\n },\r\n id: \'cursorLeft\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 15 /* LeftArrow */,\r\n mac: { primary: 15 /* LeftArrow */, secondary: [256 /* WinCtrl */ | 32 /* KEY_B */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorLeftSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 0 /* Left */,\r\n unit: 0 /* None */,\r\n select: true,\r\n value: 1\r\n },\r\n id: \'cursorLeftSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 15 /* LeftArrow */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorRight = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 1 /* Right */,\r\n unit: 0 /* None */,\r\n select: false,\r\n value: 1\r\n },\r\n id: \'cursorRight\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 17 /* RightArrow */,\r\n mac: { primary: 17 /* RightArrow */, secondary: [256 /* WinCtrl */ | 36 /* KEY_F */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorRightSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 1 /* Right */,\r\n unit: 0 /* None */,\r\n select: true,\r\n value: 1\r\n },\r\n id: \'cursorRightSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 17 /* RightArrow */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorUp = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 2 /* Up */,\r\n unit: 2 /* WrappedLine */,\r\n select: false,\r\n value: 1\r\n },\r\n id: \'cursorUp\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 16 /* UpArrow */,\r\n mac: { primary: 16 /* UpArrow */, secondary: [256 /* WinCtrl */ | 46 /* KEY_P */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorUpSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 2 /* Up */,\r\n unit: 2 /* WrappedLine */,\r\n select: true,\r\n value: 1\r\n },\r\n id: \'cursorUpSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 16 /* UpArrow */,\r\n secondary: [2048 /* CtrlCmd */ | 1024 /* Shift */ | 16 /* UpArrow */],\r\n mac: { primary: 1024 /* Shift */ | 16 /* UpArrow */ },\r\n linux: { primary: 1024 /* Shift */ | 16 /* UpArrow */ }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorPageUp = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 2 /* Up */,\r\n unit: 2 /* WrappedLine */,\r\n select: false,\r\n value: -1 /* PAGE_SIZE_MARKER */\r\n },\r\n id: \'cursorPageUp\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 11 /* PageUp */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorPageUpSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 2 /* Up */,\r\n unit: 2 /* WrappedLine */,\r\n select: true,\r\n value: -1 /* PAGE_SIZE_MARKER */\r\n },\r\n id: \'cursorPageUpSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 11 /* PageUp */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorDown = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 3 /* Down */,\r\n unit: 2 /* WrappedLine */,\r\n select: false,\r\n value: 1\r\n },\r\n id: \'cursorDown\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 18 /* DownArrow */,\r\n mac: { primary: 18 /* DownArrow */, secondary: [256 /* WinCtrl */ | 44 /* KEY_N */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorDownSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 3 /* Down */,\r\n unit: 2 /* WrappedLine */,\r\n select: true,\r\n value: 1\r\n },\r\n id: \'cursorDownSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 18 /* DownArrow */,\r\n secondary: [2048 /* CtrlCmd */ | 1024 /* Shift */ | 18 /* DownArrow */],\r\n mac: { primary: 1024 /* Shift */ | 18 /* DownArrow */ },\r\n linux: { primary: 1024 /* Shift */ | 18 /* DownArrow */ }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorPageDown = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 3 /* Down */,\r\n unit: 2 /* WrappedLine */,\r\n select: false,\r\n value: -1 /* PAGE_SIZE_MARKER */\r\n },\r\n id: \'cursorPageDown\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 12 /* PageDown */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorPageDownSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new CursorMoveBasedCommand({\r\n args: {\r\n direction: 3 /* Down */,\r\n unit: 2 /* WrappedLine */,\r\n select: true,\r\n value: -1 /* PAGE_SIZE_MARKER */\r\n },\r\n id: \'cursorPageDownSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 12 /* PageDown */\r\n }\r\n }));\r\n CoreNavigationCommands.CreateCursor = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_4, _super);\r\n function class_4() {\r\n return _super.call(this, {\r\n id: \'createCursor\',\r\n precondition: undefined\r\n }) || this;\r\n }\r\n class_4.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var context = cursors.context;\r\n var newState;\r\n if (args.wholeLine) {\r\n newState = cursorMoveCommands_CursorMoveCommands.line(context, cursors.getPrimaryCursor(), false, args.position, args.viewPosition);\r\n }\r\n else {\r\n newState = cursorMoveCommands_CursorMoveCommands.moveTo(context, cursors.getPrimaryCursor(), false, args.position, args.viewPosition);\r\n }\r\n var states = cursors.getAll();\r\n // Check if we should remove a cursor (sort of like a toggle)\r\n if (states.length > 1) {\r\n var newModelPosition = (newState.modelState ? newState.modelState.position : null);\r\n var newViewPosition = (newState.viewState ? newState.viewState.position : null);\r\n for (var i = 0, len = states.length; i < len; i++) {\r\n var state = states[i];\r\n if (newModelPosition && !state.modelState.selection.containsPosition(newModelPosition)) {\r\n continue;\r\n }\r\n if (newViewPosition && !state.viewState.selection.containsPosition(newViewPosition)) {\r\n continue;\r\n }\r\n // => Remove the cursor\r\n states.splice(i, 1);\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, states);\r\n return;\r\n }\r\n }\r\n // => Add the new cursor\r\n states.push(newState);\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, states);\r\n };\r\n return class_4;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.LastCursorMoveToSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_5, _super);\r\n function class_5() {\r\n return _super.call(this, {\r\n id: \'_lastCursorMoveToSelect\',\r\n precondition: undefined\r\n }) || this;\r\n }\r\n class_5.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var context = cursors.context;\r\n var lastAddedCursorIndex = cursors.getLastAddedCursorIndex();\r\n var states = cursors.getAll();\r\n var newStates = states.slice(0);\r\n newStates[lastAddedCursorIndex] = cursorMoveCommands_CursorMoveCommands.moveTo(context, states[lastAddedCursorIndex], true, args.position, args.viewPosition);\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, newStates);\r\n };\r\n return class_5;\r\n }(CoreEditorCommand)));\r\n var HomeCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(HomeCommand, _super);\r\n function HomeCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n HomeCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, cursorMoveCommands_CursorMoveCommands.moveToBeginningOfLine(cursors.context, cursors.getAll(), this._inSelectionMode));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return HomeCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.CursorHome = Object(editorExtensions["g" /* registerEditorCommand */])(new HomeCommand({\r\n inSelectionMode: false,\r\n id: \'cursorHome\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 14 /* Home */,\r\n mac: { primary: 14 /* Home */, secondary: [2048 /* CtrlCmd */ | 15 /* LeftArrow */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorHomeSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new HomeCommand({\r\n inSelectionMode: true,\r\n id: \'cursorHomeSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 14 /* Home */,\r\n mac: { primary: 1024 /* Shift */ | 14 /* Home */, secondary: [2048 /* CtrlCmd */ | 1024 /* Shift */ | 15 /* LeftArrow */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorLineStart = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_6, _super);\r\n function class_6() {\r\n return _super.call(this, {\r\n id: \'cursorLineStart\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 31 /* KEY_A */ }\r\n }\r\n }) || this;\r\n }\r\n class_6.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, this._exec(cursors.context, cursors.getAll()));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n class_6.prototype._exec = function (context, cursors) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var lineNumber = cursor.modelState.position.lineNumber;\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(cursor.modelState.move(false, lineNumber, 1, 0));\r\n }\r\n return result;\r\n };\r\n return class_6;\r\n }(CoreEditorCommand)));\r\n var EndCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(EndCommand, _super);\r\n function EndCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n EndCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, cursorMoveCommands_CursorMoveCommands.moveToEndOfLine(cursors.context, cursors.getAll(), this._inSelectionMode));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return EndCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.CursorEnd = Object(editorExtensions["g" /* registerEditorCommand */])(new EndCommand({\r\n inSelectionMode: false,\r\n id: \'cursorEnd\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 13 /* End */,\r\n mac: { primary: 13 /* End */, secondary: [2048 /* CtrlCmd */ | 17 /* RightArrow */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorEndSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new EndCommand({\r\n inSelectionMode: true,\r\n id: \'cursorEndSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1024 /* Shift */ | 13 /* End */,\r\n mac: { primary: 1024 /* Shift */ | 13 /* End */, secondary: [2048 /* CtrlCmd */ | 1024 /* Shift */ | 17 /* RightArrow */] }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorLineEnd = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_7, _super);\r\n function class_7() {\r\n return _super.call(this, {\r\n id: \'cursorLineEnd\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 35 /* KEY_E */ }\r\n }\r\n }) || this;\r\n }\r\n class_7.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, this._exec(cursors.context, cursors.getAll()));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n class_7.prototype._exec = function (context, cursors) {\r\n var result = [];\r\n for (var i = 0, len = cursors.length; i < len; i++) {\r\n var cursor = cursors[i];\r\n var lineNumber = cursor.modelState.position.lineNumber;\r\n var maxColumn = context.model.getLineMaxColumn(lineNumber);\r\n result[i] = cursorCommon["d" /* CursorState */].fromModelState(cursor.modelState.move(false, lineNumber, maxColumn, 0));\r\n }\r\n return result;\r\n };\r\n return class_7;\r\n }(CoreEditorCommand)));\r\n var TopCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(TopCommand, _super);\r\n function TopCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n TopCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, cursorMoveCommands_CursorMoveCommands.moveToBeginningOfBuffer(cursors.context, cursors.getAll(), this._inSelectionMode));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return TopCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.CursorTop = Object(editorExtensions["g" /* registerEditorCommand */])(new TopCommand({\r\n inSelectionMode: false,\r\n id: \'cursorTop\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 14 /* Home */,\r\n mac: { primary: 2048 /* CtrlCmd */ | 16 /* UpArrow */ }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorTopSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new TopCommand({\r\n inSelectionMode: true,\r\n id: \'cursorTopSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 14 /* Home */,\r\n mac: { primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 16 /* UpArrow */ }\r\n }\r\n }));\r\n var BottomCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(BottomCommand, _super);\r\n function BottomCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n BottomCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, cursorMoveCommands_CursorMoveCommands.moveToEndOfBuffer(cursors.context, cursors.getAll(), this._inSelectionMode));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return BottomCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.CursorBottom = Object(editorExtensions["g" /* registerEditorCommand */])(new BottomCommand({\r\n inSelectionMode: false,\r\n id: \'cursorBottom\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 13 /* End */,\r\n mac: { primary: 2048 /* CtrlCmd */ | 18 /* DownArrow */ }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorBottomSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new BottomCommand({\r\n inSelectionMode: true,\r\n id: \'cursorBottomSelect\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 13 /* End */,\r\n mac: { primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 18 /* DownArrow */ }\r\n }\r\n }));\r\n var EditorScrollImpl = /** @class */ (function (_super) {\r\n coreCommands_extends(EditorScrollImpl, _super);\r\n function EditorScrollImpl() {\r\n return _super.call(this, {\r\n id: \'editorScroll\',\r\n precondition: undefined,\r\n description: coreCommands_EditorScroll_.description\r\n }) || this;\r\n }\r\n EditorScrollImpl.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var parsed = coreCommands_EditorScroll_.parse(args);\r\n if (!parsed) {\r\n // illegal arguments\r\n return;\r\n }\r\n this._runEditorScroll(cursors, args.source, parsed);\r\n };\r\n EditorScrollImpl.prototype._runEditorScroll = function (cursors, source, args) {\r\n var desiredScrollTop = this._computeDesiredScrollTop(cursors.context, args);\r\n if (args.revealCursor) {\r\n // must ensure cursor is in new visible range\r\n var desiredVisibleViewRange = cursors.context.getCompletelyVisibleViewRangeAtScrollTop(desiredScrollTop);\r\n cursors.setStates(source, 3 /* Explicit */, [\r\n cursorMoveCommands_CursorMoveCommands.findPositionInViewportIfOutside(cursors.context, cursors.getPrimaryCursor(), desiredVisibleViewRange, args.select)\r\n ]);\r\n }\r\n cursors.scrollTo(desiredScrollTop);\r\n };\r\n EditorScrollImpl.prototype._computeDesiredScrollTop = function (context, args) {\r\n if (args.unit === 1 /* Line */) {\r\n // scrolling by model lines\r\n var visibleModelRange = context.getCompletelyVisibleModelRange();\r\n var desiredTopModelLineNumber = void 0;\r\n if (args.direction === 1 /* Up */) {\r\n // must go x model lines up\r\n desiredTopModelLineNumber = Math.max(1, visibleModelRange.startLineNumber - args.value);\r\n }\r\n else {\r\n // must go x model lines down\r\n desiredTopModelLineNumber = Math.min(context.model.getLineCount(), visibleModelRange.startLineNumber + args.value);\r\n }\r\n var desiredTopViewPosition = context.convertModelPositionToViewPosition(new core_position["a" /* Position */](desiredTopModelLineNumber, 1));\r\n return context.getVerticalOffsetForViewLine(desiredTopViewPosition.lineNumber);\r\n }\r\n var noOfLines;\r\n if (args.unit === 3 /* Page */) {\r\n noOfLines = context.config.pageSize * args.value;\r\n }\r\n else if (args.unit === 4 /* HalfPage */) {\r\n noOfLines = Math.round(context.config.pageSize / 2) * args.value;\r\n }\r\n else {\r\n noOfLines = args.value;\r\n }\r\n var deltaLines = (args.direction === 1 /* Up */ ? -1 : 1) * noOfLines;\r\n return context.getCurrentScrollTop() + deltaLines * context.config.lineHeight;\r\n };\r\n return EditorScrollImpl;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.EditorScrollImpl = EditorScrollImpl;\r\n CoreNavigationCommands.EditorScroll = Object(editorExtensions["g" /* registerEditorCommand */])(new EditorScrollImpl());\r\n CoreNavigationCommands.ScrollLineUp = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_8, _super);\r\n function class_8() {\r\n return _super.call(this, {\r\n id: \'scrollLineUp\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 16 /* UpArrow */,\r\n mac: { primary: 256 /* WinCtrl */ | 11 /* PageUp */ }\r\n }\r\n }) || this;\r\n }\r\n class_8.prototype.runCoreEditorCommand = function (cursors, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(cursors, args.source, {\r\n direction: 1 /* Up */,\r\n unit: 2 /* WrappedLine */,\r\n value: 1,\r\n revealCursor: false,\r\n select: false\r\n });\r\n };\r\n return class_8;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.ScrollPageUp = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_9, _super);\r\n function class_9() {\r\n return _super.call(this, {\r\n id: \'scrollPageUp\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 11 /* PageUp */,\r\n win: { primary: 512 /* Alt */ | 11 /* PageUp */ },\r\n linux: { primary: 512 /* Alt */ | 11 /* PageUp */ }\r\n }\r\n }) || this;\r\n }\r\n class_9.prototype.runCoreEditorCommand = function (cursors, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(cursors, args.source, {\r\n direction: 1 /* Up */,\r\n unit: 3 /* Page */,\r\n value: 1,\r\n revealCursor: false,\r\n select: false\r\n });\r\n };\r\n return class_9;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.ScrollLineDown = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_10, _super);\r\n function class_10() {\r\n return _super.call(this, {\r\n id: \'scrollLineDown\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 18 /* DownArrow */,\r\n mac: { primary: 256 /* WinCtrl */ | 12 /* PageDown */ }\r\n }\r\n }) || this;\r\n }\r\n class_10.prototype.runCoreEditorCommand = function (cursors, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(cursors, args.source, {\r\n direction: 2 /* Down */,\r\n unit: 2 /* WrappedLine */,\r\n value: 1,\r\n revealCursor: false,\r\n select: false\r\n });\r\n };\r\n return class_10;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.ScrollPageDown = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_11, _super);\r\n function class_11() {\r\n return _super.call(this, {\r\n id: \'scrollPageDown\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 12 /* PageDown */,\r\n win: { primary: 512 /* Alt */ | 12 /* PageDown */ },\r\n linux: { primary: 512 /* Alt */ | 12 /* PageDown */ }\r\n }\r\n }) || this;\r\n }\r\n class_11.prototype.runCoreEditorCommand = function (cursors, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(cursors, args.source, {\r\n direction: 2 /* Down */,\r\n unit: 3 /* Page */,\r\n value: 1,\r\n revealCursor: false,\r\n select: false\r\n });\r\n };\r\n return class_11;\r\n }(CoreEditorCommand)));\r\n var WordCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(WordCommand, _super);\r\n function WordCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n WordCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursorMoveCommands_CursorMoveCommands.word(cursors.context, cursors.getPrimaryCursor(), this._inSelectionMode, args.position)\r\n ]);\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return WordCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.WordSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new WordCommand({\r\n inSelectionMode: false,\r\n id: \'_wordSelect\',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.WordSelectDrag = Object(editorExtensions["g" /* registerEditorCommand */])(new WordCommand({\r\n inSelectionMode: true,\r\n id: \'_wordSelectDrag\',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.LastCursorWordSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_12, _super);\r\n function class_12() {\r\n return _super.call(this, {\r\n id: \'lastCursorWordSelect\',\r\n precondition: undefined\r\n }) || this;\r\n }\r\n class_12.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var context = cursors.context;\r\n var lastAddedCursorIndex = cursors.getLastAddedCursorIndex();\r\n var states = cursors.getAll();\r\n var newStates = states.slice(0);\r\n var lastAddedState = states[lastAddedCursorIndex];\r\n newStates[lastAddedCursorIndex] = cursorMoveCommands_CursorMoveCommands.word(context, lastAddedState, lastAddedState.modelState.hasSelection(), args.position);\r\n context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, newStates);\r\n };\r\n return class_12;\r\n }(CoreEditorCommand)));\r\n var LineCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(LineCommand, _super);\r\n function LineCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n LineCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursorMoveCommands_CursorMoveCommands.line(cursors.context, cursors.getPrimaryCursor(), this._inSelectionMode, args.position, args.viewPosition)\r\n ]);\r\n cursors.reveal(args.source, false, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return LineCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.LineSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new LineCommand({\r\n inSelectionMode: false,\r\n id: \'_lineSelect\',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.LineSelectDrag = Object(editorExtensions["g" /* registerEditorCommand */])(new LineCommand({\r\n inSelectionMode: true,\r\n id: \'_lineSelectDrag\',\r\n precondition: undefined\r\n }));\r\n var LastCursorLineCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(LastCursorLineCommand, _super);\r\n function LastCursorLineCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._inSelectionMode = opts.inSelectionMode;\r\n return _this;\r\n }\r\n LastCursorLineCommand.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var lastAddedCursorIndex = cursors.getLastAddedCursorIndex();\r\n var states = cursors.getAll();\r\n var newStates = states.slice(0);\r\n newStates[lastAddedCursorIndex] = cursorMoveCommands_CursorMoveCommands.line(cursors.context, states[lastAddedCursorIndex], this._inSelectionMode, args.position, args.viewPosition);\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, newStates);\r\n };\r\n return LastCursorLineCommand;\r\n }(CoreEditorCommand));\r\n CoreNavigationCommands.LastCursorLineSelect = Object(editorExtensions["g" /* registerEditorCommand */])(new LastCursorLineCommand({\r\n inSelectionMode: false,\r\n id: \'lastCursorLineSelect\',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.LastCursorLineSelectDrag = Object(editorExtensions["g" /* registerEditorCommand */])(new LastCursorLineCommand({\r\n inSelectionMode: true,\r\n id: \'lastCursorLineSelectDrag\',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.ExpandLineSelection = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_13, _super);\r\n function class_13() {\r\n return _super.call(this, {\r\n id: \'expandLineSelection\',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 42 /* KEY_L */\r\n }\r\n }) || this;\r\n }\r\n class_13.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, cursorMoveCommands_CursorMoveCommands.expandLineSelection(cursors.context, cursors.getAll()));\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return class_13;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.CancelSelection = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_14, _super);\r\n function class_14() {\r\n return _super.call(this, {\r\n id: \'cancelSelection\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].hasNonEmptySelection,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 9 /* Escape */,\r\n secondary: [1024 /* Shift */ | 9 /* Escape */]\r\n }\r\n }) || this;\r\n }\r\n class_14.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursorMoveCommands_CursorMoveCommands.cancelSelection(cursors.context, cursors.getPrimaryCursor())\r\n ]);\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return class_14;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.RemoveSecondaryCursors = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_15, _super);\r\n function class_15() {\r\n return _super.call(this, {\r\n id: \'removeSecondaryCursors\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].hasMultipleSelections,\r\n kbOpts: {\r\n weight: CORE_WEIGHT + 1,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 9 /* Escape */,\r\n secondary: [1024 /* Shift */ | 9 /* Escape */]\r\n }\r\n }) || this;\r\n }\r\n class_15.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursors.getPrimaryCursor()\r\n ]);\r\n cursors.reveal(args.source, true, 0 /* Primary */, 0 /* Smooth */);\r\n };\r\n return class_15;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.RevealLine = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_16, _super);\r\n function class_16() {\r\n return _super.call(this, {\r\n id: \'revealLine\',\r\n precondition: undefined,\r\n description: coreCommands_RevealLine_.description\r\n }) || this;\r\n }\r\n class_16.prototype.runCoreEditorCommand = function (cursors, args) {\r\n var revealLineArg = args;\r\n var lineNumber = (revealLineArg.lineNumber || 0) + 1;\r\n if (lineNumber < 1) {\r\n lineNumber = 1;\r\n }\r\n var lineCount = cursors.context.model.getLineCount();\r\n if (lineNumber > lineCount) {\r\n lineNumber = lineCount;\r\n }\r\n var range = new core_range["a" /* Range */](lineNumber, 1, lineNumber, cursors.context.model.getLineMaxColumn(lineNumber));\r\n var revealAt = 0 /* Simple */;\r\n if (revealLineArg.at) {\r\n switch (revealLineArg.at) {\r\n case coreCommands_RevealLine_.RawAtArgument.Top:\r\n revealAt = 3 /* Top */;\r\n break;\r\n case coreCommands_RevealLine_.RawAtArgument.Center:\r\n revealAt = 1 /* Center */;\r\n break;\r\n case coreCommands_RevealLine_.RawAtArgument.Bottom:\r\n revealAt = 4 /* Bottom */;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n var viewRange = cursors.context.convertModelRangeToViewRange(range);\r\n cursors.revealRange(args.source, false, viewRange, revealAt, 0 /* Smooth */);\r\n };\r\n return class_16;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.SelectAll = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_17, _super);\r\n function class_17() {\r\n return _super.call(this, {\r\n id: \'selectAll\',\r\n precondition: undefined\r\n }) || this;\r\n }\r\n class_17.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursorMoveCommands_CursorMoveCommands.selectAll(cursors.context, cursors.getPrimaryCursor())\r\n ]);\r\n };\r\n return class_17;\r\n }(CoreEditorCommand)));\r\n CoreNavigationCommands.SetSelection = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_18, _super);\r\n function class_18() {\r\n return _super.call(this, {\r\n id: \'setSelection\',\r\n precondition: undefined\r\n }) || this;\r\n }\r\n class_18.prototype.runCoreEditorCommand = function (cursors, args) {\r\n cursors.context.model.pushStackElement();\r\n cursors.setStates(args.source, 3 /* Explicit */, [\r\n cursorCommon["d" /* CursorState */].fromModelSelection(args.selection)\r\n ]);\r\n };\r\n return class_18;\r\n }(CoreEditorCommand)));\r\n})(coreCommands_CoreNavigationCommands || (coreCommands_CoreNavigationCommands = {}));\r\nvar coreCommands_CoreEditingCommands;\r\n(function (CoreEditingCommands) {\r\n var CoreEditingCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(CoreEditingCommand, _super);\r\n function CoreEditingCommand() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n CoreEditingCommand.prototype.runEditorCommand = function (accessor, editor, args) {\r\n var cursors = editor._getCursors();\r\n if (!cursors) {\r\n // the editor has no view => has no cursors\r\n return;\r\n }\r\n this.runCoreEditingCommand(editor, cursors, args || {});\r\n };\r\n return CoreEditingCommand;\r\n }(editorExtensions["c" /* EditorCommand */]));\r\n CoreEditingCommands.CoreEditingCommand = CoreEditingCommand;\r\n CoreEditingCommands.LineBreakInsert = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_19, _super);\r\n function class_19() {\r\n return _super.call(this, {\r\n id: \'lineBreakInsert\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 45 /* KEY_O */ }\r\n }\r\n }) || this;\r\n }\r\n class_19.prototype.runCoreEditingCommand = function (editor, cursors, args) {\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, cursorTypeOperations["a" /* TypeOperations */].lineBreakInsert(cursors.context.config, cursors.context.model, cursors.getAll().map(function (s) { return s.modelState.selection; })));\r\n };\r\n return class_19;\r\n }(CoreEditingCommand)));\r\n CoreEditingCommands.Outdent = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_20, _super);\r\n function class_20() {\r\n return _super.call(this, {\r\n id: \'outdent\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: contextkey["a" /* ContextKeyExpr */].and(editorContextKeys["a" /* EditorContextKeys */].editorTextFocus, editorContextKeys["a" /* EditorContextKeys */].tabDoesNotMoveFocus),\r\n primary: 1024 /* Shift */ | 2 /* Tab */\r\n }\r\n }) || this;\r\n }\r\n class_20.prototype.runCoreEditingCommand = function (editor, cursors, args) {\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, cursorTypeOperations["a" /* TypeOperations */].outdent(cursors.context.config, cursors.context.model, cursors.getAll().map(function (s) { return s.modelState.selection; })));\r\n editor.pushUndoStop();\r\n };\r\n return class_20;\r\n }(CoreEditingCommand)));\r\n CoreEditingCommands.Tab = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_21, _super);\r\n function class_21() {\r\n return _super.call(this, {\r\n id: \'tab\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: contextkey["a" /* ContextKeyExpr */].and(editorContextKeys["a" /* EditorContextKeys */].editorTextFocus, editorContextKeys["a" /* EditorContextKeys */].tabDoesNotMoveFocus),\r\n primary: 2 /* Tab */\r\n }\r\n }) || this;\r\n }\r\n class_21.prototype.runCoreEditingCommand = function (editor, cursors, args) {\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, cursorTypeOperations["a" /* TypeOperations */].tab(cursors.context.config, cursors.context.model, cursors.getAll().map(function (s) { return s.modelState.selection; })));\r\n editor.pushUndoStop();\r\n };\r\n return class_21;\r\n }(CoreEditingCommand)));\r\n CoreEditingCommands.DeleteLeft = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_22, _super);\r\n function class_22() {\r\n return _super.call(this, {\r\n id: \'deleteLeft\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 1 /* Backspace */,\r\n secondary: [1024 /* Shift */ | 1 /* Backspace */],\r\n mac: { primary: 1 /* Backspace */, secondary: [1024 /* Shift */ | 1 /* Backspace */, 256 /* WinCtrl */ | 38 /* KEY_H */, 256 /* WinCtrl */ | 1 /* Backspace */] }\r\n }\r\n }) || this;\r\n }\r\n class_22.prototype.runCoreEditingCommand = function (editor, cursors, args) {\r\n var _a = cursorDeleteOperations["a" /* DeleteOperations */].deleteLeft(cursors.getPrevEditOperationType(), cursors.context.config, cursors.context.model, cursors.getAll().map(function (s) { return s.modelState.selection; })), shouldPushStackElementBefore = _a[0], commands = _a[1];\r\n if (shouldPushStackElementBefore) {\r\n editor.pushUndoStop();\r\n }\r\n editor.executeCommands(this.id, commands);\r\n cursors.setPrevEditOperationType(2 /* DeletingLeft */);\r\n };\r\n return class_22;\r\n }(CoreEditingCommand)));\r\n CoreEditingCommands.DeleteRight = Object(editorExtensions["g" /* registerEditorCommand */])(new /** @class */ (function (_super) {\r\n coreCommands_extends(class_23, _super);\r\n function class_23() {\r\n return _super.call(this, {\r\n id: \'deleteRight\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 20 /* Delete */,\r\n mac: { primary: 20 /* Delete */, secondary: [256 /* WinCtrl */ | 34 /* KEY_D */, 256 /* WinCtrl */ | 20 /* Delete */] }\r\n }\r\n }) || this;\r\n }\r\n class_23.prototype.runCoreEditingCommand = function (editor, cursors, args) {\r\n var _a = cursorDeleteOperations["a" /* DeleteOperations */].deleteRight(cursors.getPrevEditOperationType(), cursors.context.config, cursors.context.model, cursors.getAll().map(function (s) { return s.modelState.selection; })), shouldPushStackElementBefore = _a[0], commands = _a[1];\r\n if (shouldPushStackElementBefore) {\r\n editor.pushUndoStop();\r\n }\r\n editor.executeCommands(this.id, commands);\r\n cursors.setPrevEditOperationType(3 /* DeletingRight */);\r\n };\r\n return class_23;\r\n }(CoreEditingCommand)));\r\n})(coreCommands_CoreEditingCommands || (coreCommands_CoreEditingCommands = {}));\r\nfunction registerCommand(command) {\r\n command.register();\r\n}\r\n/**\r\n * A command that will:\r\n * 1. invoke a command on the focused editor.\r\n * 2. otherwise, invoke a browser built-in command on the `activeElement`.\r\n * 3. otherwise, invoke a command on the workbench active editor.\r\n */\r\nvar coreCommands_EditorOrNativeTextInputCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(EditorOrNativeTextInputCommand, _super);\r\n function EditorOrNativeTextInputCommand(opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this._editorHandler = opts.editorHandler;\r\n _this._inputHandler = opts.inputHandler;\r\n return _this;\r\n }\r\n EditorOrNativeTextInputCommand.prototype.runCommand = function (accessor, args) {\r\n var focusedEditor = accessor.get(codeEditorService["a" /* ICodeEditorService */]).getFocusedCodeEditor();\r\n // Only if editor text focus (i.e. not if editor has widget focus).\r\n if (focusedEditor && focusedEditor.hasTextFocus()) {\r\n return this._runEditorHandler(accessor, focusedEditor, args);\r\n }\r\n // Ignore this action when user is focused on an element that allows for entering text\r\n var activeElement = document.activeElement;\r\n if (activeElement && [\'input\', \'textarea\'].indexOf(activeElement.tagName.toLowerCase()) >= 0) {\r\n document.execCommand(this._inputHandler);\r\n return;\r\n }\r\n // Redirecting to active editor\r\n var activeEditor = accessor.get(codeEditorService["a" /* ICodeEditorService */]).getActiveCodeEditor();\r\n if (activeEditor) {\r\n activeEditor.focus();\r\n return this._runEditorHandler(accessor, activeEditor, args);\r\n }\r\n };\r\n EditorOrNativeTextInputCommand.prototype._runEditorHandler = function (accessor, editor, args) {\r\n var HANDLER = this._editorHandler;\r\n if (typeof HANDLER === \'string\') {\r\n editor.trigger(\'keyboard\', HANDLER, args);\r\n }\r\n else {\r\n args = args || {};\r\n args.source = \'keyboard\';\r\n HANDLER.runEditorCommand(accessor, editor, args);\r\n }\r\n };\r\n return EditorOrNativeTextInputCommand;\r\n}(editorExtensions["a" /* Command */]));\r\n/**\r\n * A command that will invoke a command on the focused editor.\r\n */\r\nvar coreCommands_EditorHandlerCommand = /** @class */ (function (_super) {\r\n coreCommands_extends(EditorHandlerCommand, _super);\r\n function EditorHandlerCommand(id, handlerId, description) {\r\n var _this = _super.call(this, {\r\n id: id,\r\n precondition: undefined,\r\n description: description\r\n }) || this;\r\n _this._handlerId = handlerId;\r\n return _this;\r\n }\r\n EditorHandlerCommand.prototype.runCommand = function (accessor, args) {\r\n var editor = accessor.get(codeEditorService["a" /* ICodeEditorService */]).getFocusedCodeEditor();\r\n if (!editor) {\r\n return;\r\n }\r\n editor.trigger(\'keyboard\', this._handlerId, args);\r\n };\r\n return EditorHandlerCommand;\r\n}(editorExtensions["a" /* Command */]));\r\nregisterCommand(new coreCommands_EditorOrNativeTextInputCommand({\r\n editorHandler: coreCommands_CoreNavigationCommands.SelectAll,\r\n inputHandler: \'selectAll\',\r\n id: \'editor.action.selectAll\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: null,\r\n primary: 2048 /* CtrlCmd */ | 31 /* KEY_A */\r\n },\r\n menuOpts: {\r\n menuId: 25 /* MenubarSelectionMenu */,\r\n group: \'1_basic\',\r\n title: nls["a" /* localize */]({ key: \'miSelectAll\', comment: [\'&& denotes a mnemonic\'] }, "&&Select All"),\r\n order: 1\r\n }\r\n}));\r\nregisterCommand(new coreCommands_EditorOrNativeTextInputCommand({\r\n editorHandler: editorCommon["b" /* Handler */].Undo,\r\n inputHandler: \'undo\',\r\n id: editorCommon["b" /* Handler */].Undo,\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 56 /* KEY_Z */\r\n },\r\n menuOpts: {\r\n menuId: 17 /* MenubarEditMenu */,\r\n group: \'1_do\',\r\n title: nls["a" /* localize */]({ key: \'miUndo\', comment: [\'&& denotes a mnemonic\'] }, "&&Undo"),\r\n order: 1\r\n }\r\n}));\r\nregisterCommand(new coreCommands_EditorHandlerCommand(\'default:\' + editorCommon["b" /* Handler */].Undo, editorCommon["b" /* Handler */].Undo));\r\nregisterCommand(new coreCommands_EditorOrNativeTextInputCommand({\r\n editorHandler: editorCommon["b" /* Handler */].Redo,\r\n inputHandler: \'redo\',\r\n id: editorCommon["b" /* Handler */].Redo,\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: editorContextKeys["a" /* EditorContextKeys */].textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 55 /* KEY_Y */,\r\n secondary: [2048 /* CtrlCmd */ | 1024 /* Shift */ | 56 /* KEY_Z */],\r\n mac: { primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 56 /* KEY_Z */ }\r\n },\r\n menuOpts: {\r\n menuId: 17 /* MenubarEditMenu */,\r\n group: \'1_do\',\r\n title: nls["a" /* localize */]({ key: \'miRedo\', comment: [\'&& denotes a mnemonic\'] }, "&&Redo"),\r\n order: 2\r\n }\r\n}));\r\nregisterCommand(new coreCommands_EditorHandlerCommand(\'default:\' + editorCommon["b" /* Handler */].Redo, editorCommon["b" /* Handler */].Redo));\r\nfunction registerOverwritableCommand(handlerId, description) {\r\n registerCommand(new coreCommands_EditorHandlerCommand(\'default:\' + handlerId, handlerId));\r\n registerCommand(new coreCommands_EditorHandlerCommand(handlerId, handlerId, description));\r\n}\r\nregisterOverwritableCommand(editorCommon["b" /* Handler */].Type, {\r\n description: "Type",\r\n args: [{\r\n name: \'args\',\r\n schema: {\r\n \'type\': \'object\',\r\n \'required\': [\'text\'],\r\n \'properties\': {\r\n \'text\': {\r\n \'type\': \'string\'\r\n }\r\n },\r\n }\r\n }]\r\n});\r\nregisterOverwritableCommand(editorCommon["b" /* Handler */].ReplacePreviousChar);\r\nregisterOverwritableCommand(editorCommon["b" /* Handler */].CompositionStart);\r\nregisterOverwritableCommand(editorCommon["b" /* Handler */].CompositionEnd);\r\nregisterOverwritableCommand(editorCommon["b" /* Handler */].Paste);\r\nregisterOverwritableCommand(editorCommon["b" /* Handler */].Cut);\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/controller/coreCommands.js_+_3_modules?')},"1bdT":function(module,exports,__webpack_require__){eval("var guid = __webpack_require__(\"3gBT\");\n\nvar Eventful = __webpack_require__(\"H6uX\");\n\nvar Transformable = __webpack_require__(\"DN4a\");\n\nvar Animatable = __webpack_require__(\"vWvF\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\n/**\n * @alias module:zrender/Element\n * @constructor\n * @extends {module:zrender/mixin/Animatable}\n * @extends {module:zrender/mixin/Transformable}\n * @extends {module:zrender/mixin/Eventful}\n */\nvar Element = function (opts) {\n // jshint ignore:line\n Transformable.call(this, opts);\n Eventful.call(this, opts);\n Animatable.call(this, opts);\n /**\n * \u753b\u5e03\u5143\u7d20ID\n * @type {string}\n */\n\n this.id = opts.id || guid();\n};\n\nElement.prototype = {\n /**\n * \u5143\u7d20\u7c7b\u578b\n * Element type\n * @type {string}\n */\n type: 'element',\n\n /**\n * \u5143\u7d20\u540d\u5b57\n * Element name\n * @type {string}\n */\n name: '',\n\n /**\n * ZRender \u5b9e\u4f8b\u5bf9\u8c61\uff0c\u4f1a\u5728 element \u6dfb\u52a0\u5230 zrender \u5b9e\u4f8b\u4e2d\u540e\u81ea\u52a8\u8d4b\u503c\n * ZRender instance will be assigned when element is associated with zrender\n * @name module:/zrender/Element#__zr\n * @type {module:zrender/ZRender}\n */\n __zr: null,\n\n /**\n * \u56fe\u5f62\u662f\u5426\u5ffd\u7565\uff0c\u4e3atrue\u65f6\u5ffd\u7565\u56fe\u5f62\u7684\u7ed8\u5236\u4ee5\u53ca\u4e8b\u4ef6\u89e6\u53d1\n * If ignore drawing and events of the element object\n * @name module:/zrender/Element#ignore\n * @type {boolean}\n * @default false\n */\n ignore: false,\n\n /**\n * \u7528\u4e8e\u88c1\u526a\u7684\u8def\u5f84(shape)\uff0c\u6240\u6709 Group \u5185\u7684\u8def\u5f84\u5728\u7ed8\u5236\u65f6\u90fd\u4f1a\u88ab\u8fd9\u4e2a\u8def\u5f84\u88c1\u526a\n * \u8be5\u8def\u5f84\u4f1a\u7ee7\u627f\u88ab\u88c1\u51cf\u5bf9\u8c61\u7684\u53d8\u6362\n * @type {module:zrender/graphic/Path}\n * @see http://www.w3.org/TR/2dcontext/#clipping-region\n * @readOnly\n */\n clipPath: null,\n\n /**\n * \u662f\u5426\u662f Group\n * @type {boolean}\n */\n isGroup: false,\n\n /**\n * Drift element\n * @param {number} dx dx on the global space\n * @param {number} dy dy on the global space\n */\n drift: function (dx, dy) {\n switch (this.draggable) {\n case 'horizontal':\n dy = 0;\n break;\n\n case 'vertical':\n dx = 0;\n break;\n }\n\n var m = this.transform;\n\n if (!m) {\n m = this.transform = [1, 0, 0, 1, 0, 0];\n }\n\n m[4] += dx;\n m[5] += dy;\n this.decomposeTransform();\n this.dirty(false);\n },\n\n /**\n * Hook before update\n */\n beforeUpdate: function () {},\n\n /**\n * Hook after update\n */\n afterUpdate: function () {},\n\n /**\n * Update each frame\n */\n update: function () {\n this.updateTransform();\n },\n\n /**\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {},\n\n /**\n * @protected\n */\n attrKV: function (key, value) {\n if (key === 'position' || key === 'scale' || key === 'origin') {\n // Copy the array\n if (value) {\n var target = this[key];\n\n if (!target) {\n target = this[key] = [];\n }\n\n target[0] = value[0];\n target[1] = value[1];\n }\n } else {\n this[key] = value;\n }\n },\n\n /**\n * Hide the element\n */\n hide: function () {\n this.ignore = true;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * Show the element\n */\n show: function () {\n this.ignore = false;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * @param {string|Object} key\n * @param {*} value\n */\n attr: function (key, value) {\n if (typeof key === 'string') {\n this.attrKV(key, value);\n } else if (zrUtil.isObject(key)) {\n for (var name in key) {\n if (key.hasOwnProperty(name)) {\n this.attrKV(name, key[name]);\n }\n }\n }\n\n this.dirty(false);\n return this;\n },\n\n /**\n * @param {module:zrender/graphic/Path} clipPath\n */\n setClipPath: function (clipPath) {\n var zr = this.__zr;\n\n if (zr) {\n clipPath.addSelfToZr(zr);\n } // Remove previous clip path\n\n\n if (this.clipPath && this.clipPath !== clipPath) {\n this.removeClipPath();\n }\n\n this.clipPath = clipPath;\n clipPath.__zr = zr;\n clipPath.__clipTarget = this;\n this.dirty(false);\n },\n\n /**\n */\n removeClipPath: function () {\n var clipPath = this.clipPath;\n\n if (clipPath) {\n if (clipPath.__zr) {\n clipPath.removeSelfFromZr(clipPath.__zr);\n }\n\n clipPath.__zr = null;\n clipPath.__clipTarget = null;\n this.clipPath = null;\n this.dirty(false);\n }\n },\n\n /**\n * Add self from zrender instance.\n * Not recursively because it will be invoked when element added to storage.\n * @param {module:zrender/ZRender} zr\n */\n addSelfToZr: function (zr) {\n this.__zr = zr; // \u6dfb\u52a0\u52a8\u753b\n\n var animators = this.animators;\n\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.addAnimator(animators[i]);\n }\n }\n\n if (this.clipPath) {\n this.clipPath.addSelfToZr(zr);\n }\n },\n\n /**\n * Remove self from zrender instance.\n * Not recursively because it will be invoked when element added to storage.\n * @param {module:zrender/ZRender} zr\n */\n removeSelfFromZr: function (zr) {\n this.__zr = null; // \u79fb\u9664\u52a8\u753b\n\n var animators = this.animators;\n\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.removeAnimator(animators[i]);\n }\n }\n\n if (this.clipPath) {\n this.clipPath.removeSelfFromZr(zr);\n }\n }\n};\nzrUtil.mixin(Element, Animatable);\nzrUtil.mixin(Element, Transformable);\nzrUtil.mixin(Element, Eventful);\nvar _default = Element;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/Element.js?")},"1eCo":function(module,exports,__webpack_require__){eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(\"VrN/\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"--\x3e\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n }\n }\n\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName;\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(tagName)) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\x3c!--\",\n blockCommentEnd: \"--\x3e\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n },\n\n xmlCurrentTag: function(state) {\n return state.tagName ? {name: state.tagName, close: state.type == \"closeTag\"} : null\n },\n\n xmlCurrentContext: function(state) {\n var context = []\n for (var cx = state.context; cx; cx = cx.prev)\n if (cx.tagName) context.push(cx.tagName)\n return context.reverse()\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/xml/xml.js?")},"1hJj":function(module,exports,__webpack_require__){eval('var MapCache = __webpack_require__("e4Nc"),\n setCacheAdd = __webpack_require__("ftKO"),\n setCacheHas = __webpack_require__("3A9y");\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_SetCache.js?')},"1j5w":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ es_SubMenu; });\n__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ es_MenuItem; });\n__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ es_MenuItem; });\n__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ es_MenuItemGroup; });\n__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ es_Divider; });\n\n// UNUSED EXPORTS: MenuItemGroup\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nvar assertThisInitialized = __webpack_require__("JX7q");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// CONCATENATED MODULE: ./node_modules/mini-store/esm/Provider.js\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar MiniStoreContext = react["createContext"](null);\nvar Provider_Provider = /** @class */ (function (_super) {\n __extends(Provider, _super);\n function Provider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Provider.prototype.render = function () {\n return (react["createElement"](MiniStoreContext.Provider, { value: this.props.store }, this.props.children));\n };\n return Provider;\n}(react["Component"]));\n\n\n// EXTERNAL MODULE: ./node_modules/shallowequal/index.js\nvar shallowequal = __webpack_require__("Gytx");\nvar shallowequal_default = /*#__PURE__*/__webpack_require__.n(shallowequal);\n\n// EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\nvar hoist_non_react_statics_cjs = __webpack_require__("2mql");\nvar hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);\n\n// CONCATENATED MODULE: ./node_modules/mini-store/esm/connect.js\nvar connect_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\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\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || \'Component\';\n}\nvar defaultMapStateToProps = function () { return ({}); };\nfunction connect(mapStateToProps, options) {\n if (options === void 0) { options = {}; }\n var shouldSubscribe = !!mapStateToProps;\n var finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n var Connect = /** @class */ (function (_super) {\n connect_extends(Connect, _super);\n function Connect(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.unsubscribe = null;\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n var nextState = finalMapStateToProps(_this.store.getState(), _this.props);\n _this.setState({ subscribed: nextState });\n };\n _this.store = _this.context;\n _this.state = {\n subscribed: finalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props,\n };\n return _this;\n }\n Connect.getDerivedStateFromProps = function (props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finalMapStateToProps(prevState.store.getState(), props),\n props: props,\n };\n }\n return { props: props };\n };\n Connect.prototype.componentDidMount = function () {\n this.trySubscribe();\n };\n Connect.prototype.componentWillUnmount = function () {\n this.tryUnsubscribe();\n };\n Connect.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (!shallowequal_default()(this.props, nextProps) ||\n !shallowequal_default()(this.state.subscribed, nextState.subscribed));\n };\n Connect.prototype.trySubscribe = function () {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n };\n Connect.prototype.tryUnsubscribe = function () {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n Connect.prototype.render = function () {\n var props = __assign(__assign(__assign({}, this.props), this.state.subscribed), { store: this.store });\n return react["createElement"](WrappedComponent, __assign({}, props, { ref: this.props.miniStoreForwardedRef }));\n };\n Connect.displayName = "Connect(" + getDisplayName(WrappedComponent) + ")";\n Connect.contextType = MiniStoreContext;\n return Connect;\n }(react["Component"]));\n if (options.forwardRef) {\n var forwarded = react["forwardRef"](function (props, ref) {\n return react["createElement"](Connect, __assign({}, props, { miniStoreForwardedRef: ref }));\n });\n return hoist_non_react_statics_cjs_default()(forwarded, WrappedComponent);\n }\n return hoist_non_react_statics_cjs_default()(Connect, WrappedComponent);\n };\n}\n\n// CONCATENATED MODULE: ./node_modules/mini-store/esm/create.js\nvar create_assign = (undefined && undefined.__assign) || function () {\n create_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 create_assign.apply(this, arguments);\n};\nfunction create(initialState) {\n var state = initialState;\n var listeners = [];\n function setState(partial) {\n state = create_assign(create_assign({}, state), partial);\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n function getState() {\n return state;\n }\n function subscribe(listener) {\n listeners.push(listener);\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe,\n };\n}\n\n// CONCATENATED MODULE: ./node_modules/mini-store/esm/index.js\n\n\n\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__("wx14");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/createChainedFunction.js\nvar createChainedFunction = __webpack_require__("2GS6");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\nvar esm_typeof = __webpack_require__("U8pU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules\nvar slicedToArray = __webpack_require__("ODXe");\n\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/utils/isMobile.js\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n// MIT License from https://github.com/kaimallea/isMobile\nvar applePhone = /iPhone/i;\nvar appleIpod = /iPod/i;\nvar appleTablet = /iPad/i;\nvar androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match \'Android\' AND \'Mobile\'\n\nvar androidTablet = /Android/i;\nvar amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nvar amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nvar windowsPhone = /Windows Phone/i;\nvar windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match \'Windows\' AND \'ARM\'\n\nvar otherBlackberry = /BlackBerry/i;\nvar otherBlackberry10 = /BB10/i;\nvar otherOpera = /Opera Mini/i;\nvar otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nvar otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match \'Mobile\' AND \'Firefox\'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n var ua = userAgent || (typeof navigator !== \'undefined\' ? navigator.userAgent : \'\'); // Facebook mobile app\'s integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n\n var tmp = ua.split(\'[FBAN\');\n\n if (typeof tmp[1] !== \'undefined\') {\n var _tmp = tmp;\n\n var _tmp2 = Object(slicedToArray["a" /* default */])(_tmp, 1);\n\n ua = _tmp2[0];\n } // Twitter mobile app\'s integrated browser on iPad adds a "Twitter for\n // iPhone" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n\n\n tmp = ua.split(\'Twitter\');\n\n if (typeof tmp[1] !== \'undefined\') {\n var _tmp3 = tmp;\n\n var _tmp4 = Object(slicedToArray["a" /* default */])(_tmp3, 1);\n\n ua = _tmp4[0];\n }\n\n var result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device: (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) && !match(windowsPhone, ua)\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua)\n },\n android: {\n phone: !match(windowsPhone, ua) && match(amazonPhone, ua) || !match(windowsPhone, ua) && match(androidPhone, ua),\n tablet: !match(windowsPhone, ua) && !match(amazonPhone, ua) && !match(androidPhone, ua) && (match(amazonTablet, ua) || match(androidTablet, ua)),\n device: !match(windowsPhone, ua) && (match(amazonPhone, ua) || match(amazonTablet, ua) || match(androidPhone, ua) || match(androidTablet, ua)) || match(/\\bokhttp\\b/i, ua)\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua)\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device: match(otherBlackberry, ua) || match(otherBlackberry10, ua) || match(otherOpera, ua) || match(otherFirefox, ua) || match(otherChrome, ua)\n },\n // Additional\n any: null,\n phone: null,\n tablet: null\n };\n result.any = result.apple.device || result.android.device || result.windows.device || result.other.device; // excludes \'other\' devices and ipods, targeting touchscreen phones\n\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n return result;\n}\n\nvar defaultResult = _objectSpread(_objectSpread({}, isMobile()), {}, {\n isMobile: isMobile\n});\n\n/* harmony default export */ var utils_isMobile = (defaultResult);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/util.js\n\n\n\nfunction noop() {}\nfunction getKeyFromChildrenIndex(child, menuEventKey, index) {\n var prefix = menuEventKey || \'\';\n return child.key || "".concat(prefix, "item_").concat(index);\n}\nfunction getMenuIdFromSubMenuEventKey(eventKey) {\n return "".concat(eventKey, "-menu-");\n}\nfunction loopMenuItem(children, cb) {\n var index = -1;\n react_default.a.Children.forEach(children, function (c) {\n index += 1;\n\n if (c && c.type && c.type.isMenuItemGroup) {\n react_default.a.Children.forEach(c.props.children, function (c2) {\n index += 1;\n cb(c2, index);\n });\n } else {\n cb(c, index);\n }\n });\n}\nfunction loopMenuItemRecursively(children, keys, ret) {\n /* istanbul ignore if */\n if (!children || ret.find) {\n return;\n }\n\n react_default.a.Children.forEach(children, function (c) {\n if (c) {\n var construct = c.type;\n\n if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {\n return;\n }\n\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.props.children) {\n loopMenuItemRecursively(c.props.children, keys, ret);\n }\n }\n });\n}\nvar menuAllProps = [\'defaultSelectedKeys\', \'selectedKeys\', \'defaultOpenKeys\', \'openKeys\', \'mode\', \'getPopupContainer\', \'onSelect\', \'onDeselect\', \'onDestroy\', \'openTransitionName\', \'openAnimation\', \'subMenuOpenDelay\', \'subMenuCloseDelay\', \'forceSubMenuRender\', \'triggerSubMenuAction\', \'level\', \'selectable\', \'multiple\', \'onOpenChange\', \'visible\', \'focusable\', \'defaultActiveFirst\', \'prefixCls\', \'inlineIndent\', \'parentMenu\', \'title\', \'rootPrefixCls\', \'eventKey\', \'active\', \'onItemHover\', \'onTitleMouseEnter\', \'onTitleMouseLeave\', \'onTitleClick\', \'popupAlign\', \'popupOffset\', \'isOpen\', \'renderMenuItem\', \'manualRef\', \'subMenuKey\', \'disabled\', \'index\', \'isSelected\', \'store\', \'activeKey\', \'builtinPlacements\', \'overflowedIndicator\', \'motion\', // the following keys found need to be removed from test regression\n\'attribute\', \'value\', \'popupClassName\', \'inlineCollapsed\', \'menu\', \'theme\', \'itemIcon\', \'expandIcon\']; // ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\n\nvar getWidth = function getWidth(elem) {\n var width = elem && typeof elem.getBoundingClientRect === \'function\' && elem.getBoundingClientRect().width;\n\n if (width) {\n width = +width.toFixed(6);\n }\n\n return width || 0;\n};\nvar util_setStyle = function setStyle(elem, styleProperty, value) {\n if (elem && Object(esm_typeof["a" /* default */])(elem.style) === \'object\') {\n elem.style[styleProperty] = value;\n }\n};\nvar util_isMobileDevice = function isMobileDevice() {\n return utils_isMobile.any;\n};\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules\nvar toConsumableArray = __webpack_require__("KQm4");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__("Ff2n");\n\n// EXTERNAL MODULE: ./node_modules/react-dom/index.js\nvar react_dom = __webpack_require__("i8i4");\nvar react_dom_default = /*#__PURE__*/__webpack_require__.n(react_dom);\n\n// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\nvar ResizeObserver_es = __webpack_require__("bdgK");\n\n// EXTERNAL MODULE: ./node_modules/rc-trigger/es/index.js + 10 modules\nvar es = __webpack_require__("uciX");\n\n// EXTERNAL MODULE: ./node_modules/rc-animate/es/CSSMotion.js\nvar CSSMotion = __webpack_require__("lCnp");\n\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/placements.js\nvar autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar placements = {\n topLeft: {\n points: [\'bl\', \'tl\'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: [\'tl\', \'bl\'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: [\'tr\', \'tl\'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: [\'tl\', \'tr\'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nvar placementsRtl = {\n topLeft: {\n points: [\'bl\', \'tl\'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: [\'tl\', \'bl\'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: [\'tr\', \'tl\'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: [\'tl\', \'tr\'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\n/* harmony default export */ var es_placements = (placements);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/SubMenu.js\n\n\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction SubMenu_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction SubMenu_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { SubMenu_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { SubMenu_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\n\nvar guid = 0;\nvar popupPlacementMap = {\n horizontal: \'bottomLeft\',\n vertical: \'rightTop\',\n \'vertical-left\': \'rightTop\',\n \'vertical-right\': \'leftTop\'\n};\n\nvar SubMenu_updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {\n var menuId = getMenuIdFromSubMenuEventKey(eventKey);\n var state = store.getState();\n store.setState({\n defaultActiveFirst: SubMenu_objectSpread(SubMenu_objectSpread({}, state.defaultActiveFirst), {}, Object(defineProperty["a" /* default */])({}, menuId, defaultActiveFirst))\n });\n};\n\nvar SubMenu_SubMenu =\n/** @class */\nfunction () {\n var SubMenu = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(SubMenu, _React$Component);\n\n var _super = _createSuper(SubMenu);\n\n function SubMenu(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, SubMenu);\n\n _this = _super.call(this, props);\n\n _this.onDestroy = function (key) {\n _this.props.onDestroy(key);\n };\n /**\n * note:\n * This legacy code that `onKeyDown` is called by parent instead of dom self.\n * which need return code to check if this event is handled\n */\n\n\n _this.onKeyDown = function (e) {\n var keyCode = e.keyCode;\n var menu = _this.menuInstance;\n var _this$props = _this.props,\n isOpen = _this$props.isOpen,\n store = _this$props.store;\n\n if (keyCode === KeyCode["a" /* default */].ENTER) {\n _this.onTitleClick(e);\n\n SubMenu_updateDefaultActiveFirst(store, _this.props.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode["a" /* default */].RIGHT) {\n if (isOpen) {\n menu.onKeyDown(e);\n } else {\n _this.triggerOpenChange(true); // need to update current menu\'s defaultActiveFirst value\n\n\n SubMenu_updateDefaultActiveFirst(store, _this.props.eventKey, true);\n }\n\n return true;\n }\n\n if (keyCode === KeyCode["a" /* default */].LEFT) {\n var handled;\n\n if (isOpen) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n\n if (!handled) {\n _this.triggerOpenChange(false);\n\n handled = true;\n }\n\n return handled;\n }\n\n if (isOpen && (keyCode === KeyCode["a" /* default */].UP || keyCode === KeyCode["a" /* default */].DOWN)) {\n return menu.onKeyDown(e);\n }\n\n return undefined;\n };\n\n _this.onOpenChange = function (e) {\n _this.props.onOpenChange(e);\n };\n\n _this.onPopupVisibleChange = function (visible) {\n _this.triggerOpenChange(visible, visible ? \'mouseenter\' : \'mouseleave\');\n };\n\n _this.onMouseEnter = function (e) {\n var _this$props2 = _this.props,\n key = _this$props2.eventKey,\n onMouseEnter = _this$props2.onMouseEnter,\n store = _this$props2.store;\n SubMenu_updateDefaultActiveFirst(store, _this.props.eventKey, false);\n onMouseEnter({\n key: key,\n domEvent: e\n });\n };\n\n _this.onMouseLeave = function (e) {\n var _this$props3 = _this.props,\n parentMenu = _this$props3.parentMenu,\n eventKey = _this$props3.eventKey,\n onMouseLeave = _this$props3.onMouseLeave;\n parentMenu.subMenuInstance = Object(assertThisInitialized["a" /* default */])(_this);\n onMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onTitleMouseEnter = function (domEvent) {\n var _this$props4 = _this.props,\n key = _this$props4.eventKey,\n onItemHover = _this$props4.onItemHover,\n onTitleMouseEnter = _this$props4.onTitleMouseEnter;\n onItemHover({\n key: key,\n hover: true\n });\n onTitleMouseEnter({\n key: key,\n domEvent: domEvent\n });\n };\n\n _this.onTitleMouseLeave = function (e) {\n var _this$props5 = _this.props,\n parentMenu = _this$props5.parentMenu,\n eventKey = _this$props5.eventKey,\n onItemHover = _this$props5.onItemHover,\n onTitleMouseLeave = _this$props5.onTitleMouseLeave;\n parentMenu.subMenuInstance = Object(assertThisInitialized["a" /* default */])(_this);\n onItemHover({\n key: eventKey,\n hover: false\n });\n onTitleMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onTitleClick = function (e) {\n var _assertThisInitialize = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize.props;\n\n props.onTitleClick({\n key: props.eventKey,\n domEvent: e\n });\n\n if (props.triggerSubMenuAction === \'hover\') {\n return;\n }\n\n _this.triggerOpenChange(!props.isOpen, \'click\');\n\n SubMenu_updateDefaultActiveFirst(props.store, _this.props.eventKey, false);\n };\n\n _this.onSubMenuClick = function (info) {\n // in the case of overflowed submenu\n // onClick is not copied over\n if (typeof _this.props.onClick === \'function\') {\n _this.props.onClick(_this.addKeyPath(info));\n }\n };\n\n _this.onSelect = function (info) {\n _this.props.onSelect(info);\n };\n\n _this.onDeselect = function (info) {\n _this.props.onDeselect(info);\n };\n\n _this.getPrefixCls = function () {\n return "".concat(_this.props.rootPrefixCls, "-submenu");\n };\n\n _this.getActiveClassName = function () {\n return "".concat(_this.getPrefixCls(), "-active");\n };\n\n _this.getDisabledClassName = function () {\n return "".concat(_this.getPrefixCls(), "-disabled");\n };\n\n _this.getSelectedClassName = function () {\n return "".concat(_this.getPrefixCls(), "-selected");\n };\n\n _this.getOpenClassName = function () {\n return "".concat(_this.props.rootPrefixCls, "-submenu-open");\n };\n\n _this.saveMenuInstance = function (c) {\n // children menu instance\n _this.menuInstance = c;\n };\n\n _this.addKeyPath = function (info) {\n return SubMenu_objectSpread(SubMenu_objectSpread({}, info), {}, {\n keyPath: (info.keyPath || []).concat(_this.props.eventKey)\n });\n };\n\n _this.triggerOpenChange = function (open, type) {\n var key = _this.props.eventKey;\n\n var openChange = function openChange() {\n _this.onOpenChange({\n key: key,\n item: Object(assertThisInitialized["a" /* default */])(_this),\n trigger: type,\n open: open\n });\n };\n\n if (type === \'mouseenter\') {\n // make sure mouseenter happen after other menu item\'s mouseleave\n _this.mouseenterTimeout = setTimeout(function () {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n };\n\n _this.isChildrenSelected = function () {\n var ret = {\n find: false\n };\n loopMenuItemRecursively(_this.props.children, _this.props.selectedKeys, ret);\n return ret.find;\n };\n\n _this.isOpen = function () {\n return _this.props.openKeys.indexOf(_this.props.eventKey) !== -1;\n };\n\n _this.adjustWidth = function () {\n /* istanbul ignore if */\n if (!_this.subMenuTitle || !_this.menuInstance) {\n return;\n }\n\n var popupMenu = react_dom_default.a.findDOMNode(_this.menuInstance);\n\n if (popupMenu.offsetWidth >= _this.subMenuTitle.offsetWidth) {\n return;\n }\n /* istanbul ignore next */\n\n\n popupMenu.style.minWidth = "".concat(_this.subMenuTitle.offsetWidth, "px");\n };\n\n _this.saveSubMenuTitle = function (subMenuTitle) {\n _this.subMenuTitle = subMenuTitle;\n };\n\n _this.getBaseProps = function () {\n var _assertThisInitialize2 = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize2.props;\n\n return {\n mode: props.mode === \'horizontal\' ? \'vertical\' : props.mode,\n visible: _this.props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n onClick: _this.onSubMenuClick,\n onSelect: _this.onSelect,\n onDeselect: _this.onDeselect,\n onDestroy: _this.onDestroy,\n selectedKeys: props.selectedKeys,\n eventKey: "".concat(props.eventKey, "-menu-"),\n openKeys: props.openKeys,\n motion: props.motion,\n onOpenChange: _this.onOpenChange,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: Object(assertThisInitialized["a" /* default */])(_this),\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(props.eventKey)],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n id: _this.internalMenuId,\n manualRef: _this.saveMenuInstance,\n itemIcon: props.itemIcon,\n expandIcon: props.expandIcon,\n direction: props.direction\n };\n };\n\n _this.getMotion = function (mode, visible) {\n var _assertThisInitialize3 = Object(assertThisInitialized["a" /* default */])(_this),\n haveRendered = _assertThisInitialize3.haveRendered;\n\n var _this$props6 = _this.props,\n motion = _this$props6.motion,\n rootPrefixCls = _this$props6.rootPrefixCls; // don\'t show transition on first rendering (no animation for opened menu)\n // show appear transition if it\'s not visible (not sure why)\n // show appear transition if it\'s not inline mode\n\n var mergedMotion = SubMenu_objectSpread(SubMenu_objectSpread({}, motion), {}, {\n leavedClassName: "".concat(rootPrefixCls, "-hidden"),\n removeOnLeave: false,\n motionAppear: haveRendered || !visible || mode !== \'inline\'\n });\n\n return mergedMotion;\n };\n\n var store = props.store,\n eventKey = props.eventKey;\n\n var _store$getState = store.getState(),\n defaultActiveFirst = _store$getState.defaultActiveFirst;\n\n _this.isRootMenu = false;\n var value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n SubMenu_updateDefaultActiveFirst(store, eventKey, value);\n return _this;\n }\n\n Object(createClass["a" /* default */])(SubMenu, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n var _this$props7 = this.props,\n mode = _this$props7.mode,\n parentMenu = _this$props7.parentMenu,\n manualRef = _this$props7.manualRef; // invoke customized ref to expose component to mixin\n\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== \'horizontal\' || !parentMenu.isRootMenu || !this.props.isOpen) {\n return;\n }\n\n this.minWidthTimeout = setTimeout(function () {\n return _this2.adjustWidth();\n }, 0);\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n var _this$props8 = this.props,\n onDestroy = _this$props8.onDestroy,\n eventKey = _this$props8.eventKey;\n\n if (onDestroy) {\n onDestroy(eventKey);\n }\n /* istanbul ignore if */\n\n\n if (this.minWidthTimeout) {\n clearTimeout(this.minWidthTimeout);\n }\n /* istanbul ignore if */\n\n\n if (this.mouseenterTimeout) {\n clearTimeout(this.mouseenterTimeout);\n }\n }\n }, {\n key: "renderChildren",\n value: function renderChildren(children) {\n var _this3 = this;\n\n var baseProps = this.getBaseProps(); // [Legacy] getMotion must be called before `haveRendered`\n\n var mergedMotion = this.getMotion(baseProps.mode, baseProps.visible);\n this.haveRendered = true;\n this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender; // never rendered not planning to, don\'t render\n\n if (!this.haveOpened) {\n return react_default.a.createElement("div", null);\n }\n\n var direction = baseProps.direction;\n return react_default.a.createElement(CSSMotion["a" /* default */], Object.assign({\n visible: baseProps.visible\n }, mergedMotion), function (_ref) {\n var className = _ref.className,\n style = _ref.style;\n var mergedClassName = classnames_default()("".concat(baseProps.prefixCls, "-sub"), className, Object(defineProperty["a" /* default */])({}, "".concat(baseProps.prefixCls, "-rtl"), direction === \'rtl\'));\n return react_default.a.createElement(es_SubPopupMenu, Object.assign({}, baseProps, {\n id: _this3.internalMenuId,\n className: mergedClassName,\n style: style\n }), children);\n });\n }\n }, {\n key: "render",\n value: function render() {\n var _classNames2;\n\n var props = SubMenu_objectSpread({}, this.props);\n\n var isOpen = props.isOpen;\n var prefixCls = this.getPrefixCls();\n var isInlineMode = props.mode === \'inline\';\n var className = classnames_default()(prefixCls, "".concat(prefixCls, "-").concat(props.mode), (_classNames2 = {}, Object(defineProperty["a" /* default */])(_classNames2, props.className, !!props.className), Object(defineProperty["a" /* default */])(_classNames2, this.getOpenClassName(), isOpen), Object(defineProperty["a" /* default */])(_classNames2, this.getActiveClassName(), props.active || isOpen && !isInlineMode), Object(defineProperty["a" /* default */])(_classNames2, this.getDisabledClassName(), props.disabled), Object(defineProperty["a" /* default */])(_classNames2, this.getSelectedClassName(), this.isChildrenSelected()), _classNames2));\n\n if (!this.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = "".concat(props.eventKey, "$Menu");\n } else {\n guid += 1;\n this.internalMenuId = "$__$".concat(guid, "$Menu");\n }\n }\n\n var mouseEvents = {};\n var titleClickEvents = {};\n var titleMouseEvents = {};\n\n if (!props.disabled) {\n mouseEvents = {\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter\n }; // only works in title, not outer li\n\n titleClickEvents = {\n onClick: this.onTitleClick\n };\n titleMouseEvents = {\n onMouseEnter: this.onTitleMouseEnter,\n onMouseLeave: this.onTitleMouseLeave\n };\n }\n\n var style = {};\n var direction = props.direction;\n\n if (isInlineMode) {\n if (direction === \'rtl\') {\n style.paddingRight = props.inlineIndent * props.level;\n } else {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n }\n\n var ariaOwns = {}; // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n\n if (this.props.isOpen) {\n ariaOwns = {\n \'aria-owns\': this.internalMenuId\n };\n } // expand custom icon should NOT be displayed in menu with horizontal mode.\n\n\n var icon = null;\n\n if (props.mode !== \'horizontal\') {\n icon = this.props.expandIcon; // ReactNode\n\n if (typeof this.props.expandIcon === \'function\') {\n icon = react_default.a.createElement(this.props.expandIcon, SubMenu_objectSpread({}, this.props));\n }\n }\n\n var title = react_default.a.createElement("div", Object.assign({\n ref: this.saveSubMenuTitle,\n style: style,\n className: "".concat(prefixCls, "-title"),\n role: "button"\n }, titleMouseEvents, titleClickEvents, {\n "aria-expanded": isOpen\n }, ariaOwns, {\n "aria-haspopup": "true",\n title: typeof props.title === \'string\' ? props.title : undefined\n }), props.title, icon || react_default.a.createElement("i", {\n className: "".concat(prefixCls, "-arrow")\n }));\n var children = this.renderChildren(props.children);\n var getPopupContainer = props.parentMenu.isRootMenu ? props.parentMenu.props.getPopupContainer : function (triggerNode) {\n return triggerNode.parentNode;\n };\n var popupPlacement = popupPlacementMap[props.mode];\n var popupAlign = props.popupOffset ? {\n offset: props.popupOffset\n } : {};\n var popupClassName = props.mode === \'inline\' ? \'\' : props.popupClassName;\n popupClassName += direction === \'rtl\' ? " ".concat(prefixCls, "-rtl") : \'\';\n var disabled = props.disabled,\n triggerSubMenuAction = props.triggerSubMenuAction,\n subMenuOpenDelay = props.subMenuOpenDelay,\n forceSubMenuRender = props.forceSubMenuRender,\n subMenuCloseDelay = props.subMenuCloseDelay,\n builtinPlacements = props.builtinPlacements;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Set onClick to null, to ignore propagated onClick event\n\n delete props.onClick;\n var placement = direction === \'rtl\' ? Object.assign({}, placementsRtl, builtinPlacements) : Object.assign({}, placements, builtinPlacements);\n delete props.direction;\n return react_default.a.createElement("li", Object.assign({}, props, mouseEvents, {\n className: className,\n role: "menuitem"\n }), isInlineMode && title, isInlineMode && children, !isInlineMode && react_default.a.createElement(es["a" /* default */], {\n prefixCls: prefixCls,\n popupClassName: classnames_default()("".concat(prefixCls, "-popup"), popupClassName),\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: isOpen,\n popupAlign: popupAlign,\n popup: children,\n action: disabled ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: this.onPopupVisibleChange,\n forceRender: forceSubMenuRender\n }, title));\n }\n }]);\n\n return SubMenu;\n }(react_default.a.Component);\n\n SubMenu.defaultProps = {\n onMouseEnter: noop,\n onMouseLeave: noop,\n onTitleMouseEnter: noop,\n onTitleMouseLeave: noop,\n onTitleClick: noop,\n manualRef: noop,\n mode: \'vertical\',\n title: \'\'\n };\n return SubMenu;\n}();\n\n\nvar connected = connect(function (_ref2, _ref3) {\n var openKeys = _ref2.openKeys,\n activeKey = _ref2.activeKey,\n selectedKeys = _ref2.selectedKeys;\n var eventKey = _ref3.eventKey,\n subMenuKey = _ref3.subMenuKey;\n return {\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys: selectedKeys\n };\n})(SubMenu_SubMenu);\nconnected.isSubMenu = true;\n/* harmony default export */ var es_SubMenu = (connected);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/DOMWrap.js\n\n\n\n\n\n\n\n\n\n\nfunction DOMWrap_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction DOMWrap_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { DOMWrap_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { DOMWrap_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction DOMWrap_createSuper(Derived) { var hasNativeReflectConstruct = DOMWrap_isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction DOMWrap_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\n\nvar MENUITEM_OVERFLOWED_CLASSNAME = \'menuitem-overflowed\';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\nvar DOMWrap_DOMWrap =\n/** @class */\nfunction () {\n var DOMWrap = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(DOMWrap, _React$Component);\n\n var _super = DOMWrap_createSuper(DOMWrap);\n\n function DOMWrap() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, DOMWrap);\n\n _this = _super.apply(this, arguments);\n _this.resizeObserver = null;\n _this.mutationObserver = null; // original scroll size of the list\n\n _this.originalTotalWidth = 0; // copy of overflowed items\n\n _this.overflowedItems = []; // cache item of the original items (so we can track the size and order)\n\n _this.menuItemSizes = [];\n _this.cancelFrameId = null;\n _this.state = {\n lastVisibleIndex: undefined\n }; // get all valid menuItem nodes\n\n _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n var ul = react_dom_default.a.findDOMNode(Object(assertThisInitialized["a" /* default */])(_this));\n\n if (!ul) {\n return [];\n } // filter out all overflowed indicator placeholder\n\n\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(\' \').indexOf("".concat(prefixCls, "-overflowed-submenu")) < 0;\n });\n };\n\n _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme;\n\n if (level !== 1 || mode !== \'horizontal\') {\n return null;\n } // put all the overflowed item inside a submenu\n // with a title of overflow indicator (\'...\')\n\n\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n propStyle = _copy$props.style,\n rest = Object(objectWithoutProperties["a" /* default */])(_copy$props, ["children", "title", "style"]);\n\n var style = DOMWrap_objectSpread({}, propStyle);\n\n var key = "".concat(keyPrefix, "-overflowed-indicator");\n var eventKey = "".concat(keyPrefix, "-overflowed-indicator");\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = DOMWrap_objectSpread(DOMWrap_objectSpread({}, style), {}, {\n display: \'none\'\n });\n } else if (renderPlaceholder) {\n style = DOMWrap_objectSpread(DOMWrap_objectSpread({}, style), {}, {\n visibility: \'hidden\',\n // prevent from taking normal dom space\n position: \'absolute\'\n });\n key = "".concat(key, "-placeholder");\n eventKey = "".concat(eventKey, "-placeholder");\n }\n\n var popupClassName = theme ? "".concat(prefixCls, "-").concat(theme) : \'\';\n var props = {};\n menuAllProps.forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n return react_default.a.createElement(es_SubMenu, Object.assign({\n title: overflowedIndicator,\n className: "".concat(prefixCls, "-overflowed-submenu"),\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: eventKey,\n disabled: false,\n style: style\n }), overflowedItems);\n }; // memorize rendered menuSize\n\n\n _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== \'horizontal\') {\n return;\n }\n\n var ul = react_dom_default.a.findDOMNode(Object(assertThisInitialized["a" /* default */])(_this));\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1]; // need last overflowed indicator for calculating length;\n\n util_setStyle(lastOverflowedIndicatorPlaceholder, \'display\', \'inline-block\');\n\n var menuItemNodes = _this.getMenuItemNodes(); // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(\' \').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n overflowedItems.forEach(function (c) {\n util_setStyle(c, \'display\', \'inline-block\');\n });\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return getWidth(c);\n });\n overflowedItems.forEach(function (c) {\n util_setStyle(c, \'display\', \'none\');\n });\n _this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n\n _this.handleResize(); // prevent the overflowed indicator from taking space;\n\n\n util_setStyle(lastOverflowedIndicatorPlaceholder, \'display\', \'none\');\n };\n\n _this.handleResize = function () {\n if (_this.props.mode !== \'horizontal\') {\n return;\n }\n\n var ul = react_dom_default.a.findDOMNode(Object(assertThisInitialized["a" /* default */])(_this));\n\n if (!ul) {\n return;\n }\n\n var width = getWidth(ul);\n _this.overflowedItems = [];\n var currentSumWidth = 0; // index for last visible child in horizontal mode\n\n var lastVisibleIndex; // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\n }\n });\n }\n\n _this.setState({\n lastVisibleIndex: lastVisibleIndex\n });\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(DOMWrap, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n\n if (this.props.level === 1 && this.props.mode === \'horizontal\') {\n var menuUl = react_dom_default.a.findDOMNode(this);\n\n if (!menuUl) {\n return;\n }\n\n this.resizeObserver = new ResizeObserver_es["default"](function (entries) {\n entries.forEach(function () {\n var cancelFrameId = _this2.cancelFrameId;\n cancelAnimationFrame(cancelFrameId);\n _this2.cancelFrameId = requestAnimationFrame(_this2.setChildrenWidthAndResize);\n });\n });\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== \'undefined\') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false\n });\n }\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n\n cancelAnimationFrame(this.cancelFrameId);\n }\n }, {\n key: "renderChildren",\n value: function renderChildren(children) {\n var _this3 = this;\n\n // need to take care of overflowed items in horizontal mode\n var lastVisibleIndex = this.state.lastVisibleIndex;\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n\n if (_this3.props.mode === \'horizontal\') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf("".concat(_this3.props.prefixCls, "-root")) !== -1) {\n if (index > lastVisibleIndex) {\n item = react_default.a.cloneElement(childNode, // \u8fd9\u91cc\u4fee\u6539 eventKey \u662f\u4e3a\u4e86\u9632\u6b62\u9690\u85cf\u72b6\u6001\u4e0b\u8fd8\u4f1a\u89e6\u53d1 openkeys \u4e8b\u4ef6\n {\n style: {\n display: \'none\'\n },\n eventKey: "".concat(childNode.props.eventKey, "-hidden"),\n\n /**\n * Legacy code. Here `className` never used:\n * https://github.com/react-component/menu/commit/4cd6b49fce9d116726f4ea00dda85325d6f26500#diff-e2fa48f75c2dd2318295cde428556a76R240\n */\n className: "".concat(MENUITEM_OVERFLOWED_CLASSNAME)\n });\n }\n\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return react_default.a.cloneElement(c, // children[index].key will become \'.$key\' in clone by default,\n // we have to overwrite with the correct key explicitly\n {\n key: c.props.eventKey,\n mode: \'vertical-left\'\n });\n });\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(Object(toConsumableArray["a" /* default */])(acc), [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n\n return ret;\n }\n\n return [].concat(Object(toConsumableArray["a" /* default */])(acc), [item]);\n }, []);\n }\n }, {\n key: "render",\n value: function render() {\n var _this$props2 = this.props,\n visible = _this$props2.visible,\n prefixCls = _this$props2.prefixCls,\n overflowedIndicator = _this$props2.overflowedIndicator,\n mode = _this$props2.mode,\n level = _this$props2.level,\n tag = _this$props2.tag,\n children = _this$props2.children,\n theme = _this$props2.theme,\n rest = Object(objectWithoutProperties["a" /* default */])(_this$props2, ["visible", "prefixCls", "overflowedIndicator", "mode", "level", "tag", "children", "theme"]);\n\n var Tag = tag;\n return react_default.a.createElement(Tag, Object.assign({}, rest), this.renderChildren(children));\n }\n }]);\n\n return DOMWrap;\n }(react_default.a.Component);\n\n DOMWrap.defaultProps = {\n tag: \'div\',\n className: \'\'\n };\n return DOMWrap;\n}();\n\n/* harmony default export */ var es_DOMWrap = (DOMWrap_DOMWrap);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/SubPopupMenu.js\n\n\n\n\n\n\n\n\n\nfunction SubPopupMenu_createSuper(Derived) { var hasNativeReflectConstruct = SubPopupMenu_isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction SubPopupMenu_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction SubPopupMenu_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction SubPopupMenu_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { SubPopupMenu_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { SubPopupMenu_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n\n return arr.every(function (c) {\n return !!c.props.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n var state = store.getState();\n store.setState({\n activeKey: SubPopupMenu_objectSpread(SubPopupMenu_objectSpread({}, state.activeKey), {}, Object(defineProperty["a" /* default */])({}, menuId, activeKey))\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it\'s menu and return menu id \'0-menu-\'\n return props.eventKey || \'0-menu-\';\n}\n\nfunction getActiveKey(props, originalActiveKey) {\n var activeKey = originalActiveKey;\n var children = props.children,\n eventKey = props.eventKey;\n\n if (activeKey) {\n var found;\n loopMenuItem(children, function (c, i) {\n if (c && c.props && !c.props.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n\n if (found) {\n return activeKey;\n }\n }\n\n activeKey = null;\n\n if (props.defaultActiveFirst) {\n loopMenuItem(children, function (c, i) {\n if (!activeKey && c && !c.props.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n\n return activeKey;\n}\nfunction saveRef(c) {\n if (c) {\n var index = this.instanceArray.indexOf(c);\n\n if (index !== -1) {\n // update component if it\'s already inside instanceArray\n this.instanceArray[index] = c;\n } else {\n // add component if it\'s not in instanceArray yet;\n this.instanceArray.push(c);\n }\n }\n}\n\nvar SubPopupMenu_SubPopupMenu =\n/** @class */\nfunction () {\n var SubPopupMenu = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(SubPopupMenu, _React$Component);\n\n var _super = SubPopupMenu_createSuper(SubPopupMenu);\n\n function SubPopupMenu(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, SubPopupMenu);\n\n _this = _super.call(this, props);\n /**\n * all keyboard events callbacks run from here at first\n *\n * note:\n * This legacy code that `onKeyDown` is called by parent instead of dom self.\n * which need return code to check if this event is handled\n */\n\n _this.onKeyDown = function (e, callback) {\n var keyCode = e.keyCode;\n var handled;\n\n _this.getFlatInstanceArray().forEach(function (obj) {\n if (obj && obj.props.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n\n if (handled) {\n return 1;\n }\n\n var activeItem = null;\n\n if (keyCode === KeyCode["a" /* default */].UP || keyCode === KeyCode["a" /* default */].DOWN) {\n activeItem = _this.step(keyCode === KeyCode["a" /* default */].UP ? -1 : 1);\n }\n\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(_this.props.store, getEventKey(_this.props), activeItem.props.eventKey);\n\n if (typeof callback === \'function\') {\n callback(activeItem);\n }\n\n return 1;\n }\n\n return undefined;\n };\n\n _this.onItemHover = function (e) {\n var key = e.key,\n hover = e.hover;\n updateActiveKey(_this.props.store, getEventKey(_this.props), hover ? key : null);\n };\n\n _this.onDeselect = function (selectInfo) {\n _this.props.onDeselect(selectInfo);\n };\n\n _this.onSelect = function (selectInfo) {\n _this.props.onSelect(selectInfo);\n };\n\n _this.onClick = function (e) {\n _this.props.onClick(e);\n };\n\n _this.onOpenChange = function (e) {\n _this.props.onOpenChange(e);\n };\n\n _this.onDestroy = function (key) {\n /* istanbul ignore next */\n _this.props.onDestroy(key);\n };\n\n _this.getFlatInstanceArray = function () {\n return _this.instanceArray;\n };\n\n _this.step = function (direction) {\n var children = _this.getFlatInstanceArray();\n\n var activeKey = _this.props.store.getState().activeKey[getEventKey(_this.props)];\n\n var len = children.length;\n\n if (!len) {\n return null;\n }\n\n if (direction < 0) {\n children = children.concat().reverse();\n } // find current activeIndex\n\n\n var activeIndex = -1;\n children.every(function (c, ci) {\n if (c && c.props.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n\n return true;\n });\n\n if (!_this.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {\n return undefined;\n }\n\n var start = (activeIndex + 1) % len;\n var i = start;\n\n do {\n var child = children[i];\n\n if (!child || child.props.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n };\n\n _this.renderCommonMenuItem = function (child, i, extraProps) {\n var state = _this.props.store.getState();\n\n var _assertThisInitialize = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize.props;\n\n var key = getKeyFromChildrenIndex(child, props.eventKey, i);\n var childProps = child.props; // https://github.com/ant-design/ant-design/issues/11517#issuecomment-477403055\n\n if (!childProps || typeof child.type === \'string\') {\n return child;\n }\n\n var isActive = key === state.activeKey;\n\n var newChildProps = SubPopupMenu_objectSpread(SubPopupMenu_objectSpread({\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: _this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child\'s componentDidMount\n manualRef: childProps.disabled ? undefined : Object(createChainedFunction["a" /* default */])(child.ref, saveRef.bind(Object(assertThisInitialized["a" /* default */])(_this))),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n onClick: function onClick(e) {\n (childProps.onClick || noop)(e);\n\n _this.onClick(e);\n },\n onItemHover: _this.onItemHover,\n motion: props.motion,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n onOpenChange: _this.onOpenChange,\n onDeselect: _this.onDeselect,\n onSelect: _this.onSelect,\n builtinPlacements: props.builtinPlacements,\n itemIcon: childProps.itemIcon || _this.props.itemIcon,\n expandIcon: childProps.expandIcon || _this.props.expandIcon\n }, extraProps), {}, {\n direction: props.direction\n }); // ref: https://github.com/ant-design/ant-design/issues/13943\n\n\n if (props.mode === \'inline\' || util_isMobileDevice()) {\n newChildProps.triggerSubMenuAction = \'click\';\n }\n\n return react_default.a.cloneElement(child, newChildProps);\n };\n\n _this.renderMenuItem = function (c, i, subMenuKey) {\n /* istanbul ignore if */\n if (!c) {\n return null;\n }\n\n var state = _this.props.store.getState();\n\n var extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: _this.props.triggerSubMenuAction,\n subMenuKey: subMenuKey\n };\n return _this.renderCommonMenuItem(c, i, extraProps);\n };\n\n props.store.setState({\n activeKey: SubPopupMenu_objectSpread(SubPopupMenu_objectSpread({}, props.store.getState().activeKey), {}, Object(defineProperty["a" /* default */])({}, props.eventKey, getActiveKey(props, props.activeKey)))\n });\n _this.instanceArray = [];\n return _this;\n }\n\n Object(createClass["a" /* default */])(SubPopupMenu, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n // invoke customized ref to expose component to mixin\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n }, {\n key: "shouldComponentUpdate",\n value: function shouldComponentUpdate(nextProps) {\n return this.props.visible || nextProps.visible || this.props.className !== nextProps.className || !shallowequal_default()(this.props.style, nextProps.style);\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n var originalActiveKey = \'activeKey\' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n var activeKey = getActiveKey(props, originalActiveKey);\n\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n } else if (\'activeKey\' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n var prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n }\n }, {\n key: "render",\n value: function render() {\n var _this2 = this;\n\n var props = Object(esm_extends["a" /* default */])({}, this.props);\n\n this.instanceArray = [];\n var className = classnames_default()(props.prefixCls, props.className, "".concat(props.prefixCls, "-").concat(props.mode));\n var domProps = {\n className: className,\n // role could be \'select\' and by default set to menu\n role: props.role || \'menu\'\n };\n\n if (props.id) {\n domProps.id = props.id;\n }\n\n if (props.focusable) {\n domProps.tabIndex = 0;\n domProps.onKeyDown = this.onKeyDown;\n }\n\n var prefixCls = props.prefixCls,\n eventKey = props.eventKey,\n visible = props.visible,\n level = props.level,\n mode = props.mode,\n overflowedIndicator = props.overflowedIndicator,\n theme = props.theme;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Otherwise, the propagated click event will trigger another onClick\n\n delete props.onClick;\n return react_default.a.createElement(es_DOMWrap, Object.assign({}, props, {\n prefixCls: prefixCls,\n mode: mode,\n tag: "ul",\n level: level,\n theme: theme,\n visible: visible,\n overflowedIndicator: overflowedIndicator\n }, domProps), react_default.a.Children.map(props.children, function (c, i) {\n return _this2.renderMenuItem(c, i, eventKey || \'0-menu-\');\n }));\n }\n }]);\n\n return SubPopupMenu;\n }(react_default.a.Component);\n\n SubPopupMenu.defaultProps = {\n prefixCls: \'rc-menu\',\n className: \'\',\n mode: \'vertical\',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n style: {},\n manualRef: noop\n };\n return SubPopupMenu;\n}();\n\n\nvar SubPopupMenu_connected = connect()(SubPopupMenu_SubPopupMenu);\n/* harmony default export */ var es_SubPopupMenu = (SubPopupMenu_connected);\n// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js\nvar warning = __webpack_require__("Kwbf");\n\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/utils/legacyUtil.js\n\n\nfunction getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n openAnimation = _ref.openAnimation,\n openTransitionName = _ref.openTransitionName;\n\n if (motion) {\n return motion;\n }\n\n if (Object(esm_typeof["a" /* default */])(openAnimation) === \'object\' && openAnimation) {\n Object(warning["a" /* default */])(false, \'Object type of `openAnimation` is removed. Please use `motion` instead.\');\n } else if (typeof openAnimation === \'string\') {\n return {\n motionName: "".concat(prefixCls, "-open-").concat(openAnimation)\n };\n }\n\n if (openTransitionName) {\n return {\n motionName: openTransitionName\n };\n }\n\n return null;\n}\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/Menu.js\n\n\n\n\n\n\n\n\nfunction Menu_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Menu_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Menu_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Menu_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction Menu_createSuper(Derived) { var hasNativeReflectConstruct = Menu_isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction Menu_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\n\n\nvar Menu_Menu =\n/** @class */\nfunction () {\n var Menu = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Menu, _React$Component);\n\n var _super = Menu_createSuper(Menu);\n\n function Menu(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Menu);\n\n _this = _super.call(this, props);\n\n _this.onSelect = function (selectInfo) {\n var _assertThisInitialize = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize.props;\n\n if (props.selectable) {\n // root menu\n var _this$store$getState = _this.store.getState(),\n _selectedKeys = _this$store$getState.selectedKeys;\n\n var selectedKey = selectInfo.key;\n\n if (props.multiple) {\n _selectedKeys = _selectedKeys.concat([selectedKey]);\n } else {\n _selectedKeys = [selectedKey];\n }\n\n if (!(\'selectedKeys\' in props)) {\n _this.store.setState({\n selectedKeys: _selectedKeys\n });\n }\n\n props.onSelect(Menu_objectSpread(Menu_objectSpread({}, selectInfo), {}, {\n selectedKeys: _selectedKeys\n }));\n }\n };\n\n _this.onClick = function (e) {\n _this.props.onClick(e);\n }; // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n\n\n _this.onKeyDown = function (e, callback) {\n _this.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n _this.onOpenChange = function (event) {\n var _assertThisInitialize2 = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize2.props;\n\n var openKeys = _this.store.getState().openKeys.concat();\n\n var changed = false;\n\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n\n changed = changed || oneChanged;\n };\n\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n\n if (changed) {\n if (!(\'openKeys\' in _this.props)) {\n _this.store.setState({\n openKeys: openKeys\n });\n }\n\n props.onOpenChange(openKeys);\n }\n };\n\n _this.onDeselect = function (selectInfo) {\n var _assertThisInitialize3 = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize3.props;\n\n if (props.selectable) {\n var _selectedKeys2 = _this.store.getState().selectedKeys.concat();\n\n var selectedKey = selectInfo.key;\n\n var index = _selectedKeys2.indexOf(selectedKey);\n\n if (index !== -1) {\n _selectedKeys2.splice(index, 1);\n }\n\n if (!(\'selectedKeys\' in props)) {\n _this.store.setState({\n selectedKeys: _selectedKeys2\n });\n }\n\n props.onDeselect(Menu_objectSpread(Menu_objectSpread({}, selectInfo), {}, {\n selectedKeys: _selectedKeys2\n }));\n }\n };\n\n _this.getOpenTransitionName = function () {\n var _assertThisInitialize4 = Object(assertThisInitialized["a" /* default */])(_this),\n props = _assertThisInitialize4.props;\n\n var transitionName = props.openTransitionName;\n var animationName = props.openAnimation;\n\n if (!transitionName && typeof animationName === \'string\') {\n transitionName = "".concat(props.prefixCls, "-open-").concat(animationName);\n }\n\n return transitionName;\n };\n\n _this.setInnerMenu = function (node) {\n _this.innerMenu = node;\n };\n\n _this.isRootMenu = true;\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n\n if (\'selectedKeys\' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n\n if (\'openKeys\' in props) {\n openKeys = props.openKeys || [];\n }\n\n _this.store = create({\n selectedKeys: selectedKeys,\n openKeys: openKeys,\n activeKey: {\n \'0-menu-\': getActiveKey(props, props.activeKey)\n }\n });\n return _this;\n }\n\n Object(createClass["a" /* default */])(Menu, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.updateMiniStore();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n this.updateMiniStore();\n }\n }, {\n key: "updateMiniStore",\n value: function updateMiniStore() {\n if (\'selectedKeys\' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || []\n });\n }\n\n if (\'openKeys\' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || []\n });\n }\n }\n }, {\n key: "render",\n value: function render() {\n var props = Menu_objectSpread({}, this.props);\n\n props.className += " ".concat(props.prefixCls, "-root");\n\n if (props.direction === \'rtl\') {\n props.className += " ".concat(props.prefixCls, "-rtl");\n }\n\n props = Menu_objectSpread(Menu_objectSpread({}, props), {}, {\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n parentMenu: this,\n motion: getMotion(this.props)\n });\n delete props.openAnimation;\n delete props.openTransitionName;\n return react_default.a.createElement(Provider_Provider, {\n store: this.store\n }, react_default.a.createElement(es_SubPopupMenu, Object.assign({}, props, {\n ref: this.setInnerMenu\n }), this.props.children));\n }\n }]);\n\n return Menu;\n }(react_default.a.Component);\n\n Menu.defaultProps = {\n selectable: true,\n onClick: noop,\n onSelect: noop,\n onOpenChange: noop,\n onDeselect: noop,\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: \'hover\',\n prefixCls: \'rc-menu\',\n className: \'\',\n mode: \'vertical\',\n style: {},\n builtinPlacements: {},\n overflowedIndicator: react_default.a.createElement("span", null, "\\xB7\\xB7\\xB7")\n };\n return Menu;\n}();\n\n/* harmony default export */ var es_Menu = (Menu_Menu);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/MenuItem.js\n\n\n\n\n\n\n\n\nfunction MenuItem_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction MenuItem_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { MenuItem_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { MenuItem_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction MenuItem_createSuper(Derived) { var hasNativeReflectConstruct = MenuItem_isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction MenuItem_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\n\n\nvar MenuItem_MenuItem =\n/** @class */\nfunction () {\n var MenuItem = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(MenuItem, _React$Component);\n\n var _super = MenuItem_createSuper(MenuItem);\n\n function MenuItem() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, MenuItem);\n\n _this = _super.apply(this, arguments);\n\n _this.onKeyDown = function (e) {\n var keyCode = e.keyCode;\n\n if (keyCode === KeyCode["a" /* default */].ENTER) {\n _this.onClick(e);\n\n return true;\n }\n\n return undefined;\n };\n\n _this.onMouseLeave = function (e) {\n var _this$props = _this.props,\n eventKey = _this$props.eventKey,\n onItemHover = _this$props.onItemHover,\n onMouseLeave = _this$props.onMouseLeave;\n onItemHover({\n key: eventKey,\n hover: false\n });\n onMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onMouseEnter = function (e) {\n var _this$props2 = _this.props,\n eventKey = _this$props2.eventKey,\n onItemHover = _this$props2.onItemHover,\n onMouseEnter = _this$props2.onMouseEnter;\n onItemHover({\n key: eventKey,\n hover: true\n });\n onMouseEnter({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onClick = function (e) {\n var _this$props3 = _this.props,\n eventKey = _this$props3.eventKey,\n multiple = _this$props3.multiple,\n onClick = _this$props3.onClick,\n onSelect = _this$props3.onSelect,\n onDeselect = _this$props3.onDeselect,\n isSelected = _this$props3.isSelected;\n var info = {\n key: eventKey,\n keyPath: [eventKey],\n item: Object(assertThisInitialized["a" /* default */])(_this),\n domEvent: e\n };\n onClick(info);\n\n if (multiple) {\n if (isSelected) {\n onDeselect(info);\n } else {\n onSelect(info);\n }\n } else if (!isSelected) {\n onSelect(info);\n }\n };\n\n _this.saveNode = function (node) {\n _this.node = node;\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(MenuItem, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n // invoke customized ref to expose component to mixin\n this.callRef();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n this.callRef();\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n var props = this.props;\n\n if (props.onDestroy) {\n props.onDestroy(props.eventKey);\n }\n }\n }, {\n key: "getPrefixCls",\n value: function getPrefixCls() {\n return "".concat(this.props.rootPrefixCls, "-item");\n }\n }, {\n key: "getActiveClassName",\n value: function getActiveClassName() {\n return "".concat(this.getPrefixCls(), "-active");\n }\n }, {\n key: "getSelectedClassName",\n value: function getSelectedClassName() {\n return "".concat(this.getPrefixCls(), "-selected");\n }\n }, {\n key: "getDisabledClassName",\n value: function getDisabledClassName() {\n return "".concat(this.getPrefixCls(), "-disabled");\n }\n }, {\n key: "callRef",\n value: function callRef() {\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n }, {\n key: "render",\n value: function render() {\n var _classNames;\n\n var props = MenuItem_objectSpread({}, this.props);\n\n var className = classnames_default()(this.getPrefixCls(), props.className, (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, this.getActiveClassName(), !props.disabled && props.active), Object(defineProperty["a" /* default */])(_classNames, this.getSelectedClassName(), props.isSelected), Object(defineProperty["a" /* default */])(_classNames, this.getDisabledClassName(), props.disabled), _classNames));\n\n var attrs = MenuItem_objectSpread(MenuItem_objectSpread({}, props.attribute), {}, {\n title: typeof props.title === \'string\' ? props.title : undefined,\n className: className,\n // set to menuitem by default\n role: props.role || \'menuitem\',\n \'aria-disabled\': props.disabled\n });\n\n if (props.role === \'option\') {\n // overwrite to option\n attrs = MenuItem_objectSpread(MenuItem_objectSpread({}, attrs), {}, {\n role: \'option\',\n \'aria-selected\': props.isSelected\n });\n } else if (props.role === null || props.role === \'none\') {\n // sometimes we want to specify role inside
  • element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be "none" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = \'none\';\n } // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n\n\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n\n var style = MenuItem_objectSpread({}, props.style);\n\n if (props.mode === \'inline\') {\n if (props.direction === \'rtl\') {\n style.paddingRight = props.inlineIndent * props.level;\n } else {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n }\n\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n delete props.direction;\n var icon = this.props.itemIcon;\n\n if (typeof this.props.itemIcon === \'function\') {\n // TODO: This is a bug which should fixed after TS refactor\n icon = react_default.a.createElement(this.props.itemIcon, this.props);\n }\n\n return react_default.a.createElement("li", Object.assign({}, props, attrs, mouseEvent, {\n style: style,\n ref: this.saveNode\n }), props.children, icon);\n }\n }]);\n\n return MenuItem;\n }(react_default.a.Component);\n\n MenuItem.isMenuItem = true;\n MenuItem.defaultProps = {\n onSelect: noop,\n onMouseEnter: noop,\n onMouseLeave: noop,\n manualRef: noop\n };\n return MenuItem;\n}();\n\n\nvar MenuItem_connected = connect(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem_MenuItem);\n/* harmony default export */ var es_MenuItem = (MenuItem_connected);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/MenuItemGroup.js\n\n\n\n\n\n\n\nfunction MenuItemGroup_createSuper(Derived) { var hasNativeReflectConstruct = MenuItemGroup_isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction MenuItemGroup_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\nvar MenuItemGroup_MenuItemGroup =\n/** @class */\nfunction () {\n var MenuItemGroup = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(MenuItemGroup, _React$Component);\n\n var _super = MenuItemGroup_createSuper(MenuItemGroup);\n\n function MenuItemGroup() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, MenuItemGroup);\n\n _this = _super.apply(this, arguments);\n\n _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n return renderMenuItem(item, index, _this.props.subMenuKey);\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(MenuItemGroup, [{\n key: "render",\n value: function render() {\n var props = Object(esm_extends["a" /* default */])({}, this.props);\n\n var _props$className = props.className,\n className = _props$className === void 0 ? \'\' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n var titleClassName = "".concat(rootPrefixCls, "-item-group-title");\n var listClassName = "".concat(rootPrefixCls, "-item-group-list");\n var title = props.title,\n children = props.children;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Set onClick to null, to ignore propagated onClick event\n\n delete props.onClick;\n delete props.direction;\n return react_default.a.createElement("li", Object.assign({}, props, {\n className: "".concat(className, " ").concat(rootPrefixCls, "-item-group")\n }), react_default.a.createElement("div", {\n className: titleClassName,\n title: typeof title === \'string\' ? title : undefined\n }, title), react_default.a.createElement("ul", {\n className: listClassName\n }, react_default.a.Children.map(children, this.renderInnerMenuItem)));\n }\n }]);\n\n return MenuItemGroup;\n }(react_default.a.Component);\n\n MenuItemGroup.isMenuItemGroup = true;\n MenuItemGroup.defaultProps = {\n disabled: true\n };\n return MenuItemGroup;\n}();\n\n/* harmony default export */ var es_MenuItemGroup = (MenuItemGroup_MenuItemGroup);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/Divider.js\n\n\nvar Divider_Divider = function Divider(_ref) {\n var className = _ref.className,\n rootPrefixCls = _ref.rootPrefixCls,\n style = _ref.style;\n return react_default.a.createElement("li", {\n className: "".concat(className, " ").concat(rootPrefixCls, "-item-divider"),\n style: style\n });\n};\n\nDivider_Divider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: \'\',\n style: {}\n};\n/* harmony default export */ var es_Divider = (Divider_Divider);\n// CONCATENATED MODULE: ./node_modules/rc-menu/es/index.js\n\n\n\n\n\n\n/* harmony default export */ var rc_menu_es = __webpack_exports__["f"] = (es_Menu);\n\n//# sourceURL=webpack:///./node_modules/rc-menu/es/index.js_+_15_modules?')},"1lwE":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'aes',\r\n extensions: ['.aes'],\r\n aliases: ['aes', 'sophia', 'Sophia'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 213).then(__webpack_require__.bind(null, \"cOMg\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js?")},"1tlw":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 BaseBarSeries = __webpack_require__(\"MBQ8\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PictorialBarSeries = BaseBarSeries.extend({\n type: 'series.pictorialBar',\n dependencies: ['grid'],\n defaultOption: {\n symbol: 'circle',\n // Customized bar shape\n symbolSize: null,\n // Can be ['100%', '100%'], null means auto.\n symbolRotate: null,\n symbolPosition: null,\n // 'start' or 'end' or 'center', null means auto.\n symbolOffset: null,\n symbolMargin: null,\n // start margin and end margin. Can be a number or a percent string.\n // Auto margin by defualt.\n symbolRepeat: false,\n // false/null/undefined, means no repeat.\n // Can be true, means auto calculate repeat times and cut by data.\n // Can be a number, specifies repeat times, and do not cut by data.\n // Can be 'fixed', means auto calculate repeat times but do not cut by data.\n symbolRepeatDirection: 'end',\n // 'end' means from 'start' to 'end'.\n symbolClip: false,\n symbolBoundingData: null,\n // Can be 60 or -40 or [-40, 60]\n symbolPatternSize: 400,\n // 400 * 400 px\n barGap: '-100%',\n // In most case, overlap is needed.\n // z can be set in data item, which is z2 actually.\n // Disable progressive\n progressive: 0,\n hoverAnimation: false // Open only when needed.\n\n },\n getInitialData: function (option) {\n // Disable stack.\n option.stack = null;\n return PictorialBarSeries.superApply(this, 'getInitialData', arguments);\n }\n});\nvar _default = PictorialBarSeries;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js?")},"1u/T":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: \'selectDataRange\',\n event: \'dataRangeSelected\',\n // FIXME use updateView appears wrong\n update: \'update\'\n};\necharts.registerAction(actionInfo, 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?')},"1vzs":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getIcons; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _ant_design_icons_DownOutlined__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("HQEm");\n/* harmony import */ var _ant_design_icons_DownOutlined__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_DownOutlined__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("gZBC");\n/* harmony import */ var _ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ant_design_icons_CheckOutlined__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("NAnI");\n/* harmony import */ var _ant_design_icons_CheckOutlined__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_CheckOutlined__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ant_design_icons_CloseOutlined__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("V/uB");\n/* harmony import */ var _ant_design_icons_CloseOutlined__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_CloseOutlined__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _ant_design_icons_CloseCircleFilled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("kbBi");\n/* harmony import */ var _ant_design_icons_CloseCircleFilled__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_CloseCircleFilled__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _ant_design_icons_SearchOutlined__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("w6Tc");\n/* harmony import */ var _ant_design_icons_SearchOutlined__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_SearchOutlined__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\nfunction getIcons(_ref) {\n var suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n removeIcon = _ref.removeIcon,\n loading = _ref.loading,\n multiple = _ref.multiple;\n // Clear Icon\n var mergedClearIcon = clearIcon;\n\n if (!clearIcon) {\n mergedClearIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_CloseCircleFilled__WEBPACK_IMPORTED_MODULE_5___default.a, null);\n } // Arrow item icon\n\n\n var mergedSuffixIcon = null;\n\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = suffixIcon;\n } else if (loading) {\n mergedSuffixIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2___default.a, {\n spin: true\n });\n } else {\n mergedSuffixIcon = function mergedSuffixIcon(_ref2) {\n var open = _ref2.open,\n showSearch = _ref2.showSearch;\n\n if (open && showSearch) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_SearchOutlined__WEBPACK_IMPORTED_MODULE_6___default.a, null);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_DownOutlined__WEBPACK_IMPORTED_MODULE_1___default.a, null);\n };\n } // Checked item icon\n\n\n var mergedItemIcon = null;\n\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon;\n } else if (multiple) {\n mergedItemIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_CheckOutlined__WEBPACK_IMPORTED_MODULE_3___default.a, null);\n } else {\n mergedItemIcon = null;\n }\n\n var mergedRemoveIcon = null;\n\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon;\n } else {\n mergedRemoveIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_CloseOutlined__WEBPACK_IMPORTED_MODULE_4___default.a, null);\n }\n\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon\n };\n}\n\n//# sourceURL=webpack:///./node_modules/antd/es/select/utils/iconUtil.js?')},"1wcP":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/modal/style/index.less?")},"1xaR":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar zrUtil = __webpack_require__("bYtY");\n\n__webpack_require__("qgGe");\n\n__webpack_require__("NA0q");\n\n__webpack_require__("RPvy");\n\nvar dataColor = __webpack_require__("mOdp");\n\nvar sunburstLayout = __webpack_require__("y3NT");\n\nvar dataFilter = __webpack_require__("0/Rx");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(zrUtil.curry(dataColor, \'sunburst\'));\necharts.registerLayout(zrUtil.curry(sunburstLayout, \'sunburst\'));\necharts.registerProcessor(zrUtil.curry(dataFilter, \'sunburst\'));\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst.js?')},"2/Rp":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("zvFY");\n\n/* harmony default export */ __webpack_exports__["a"] = (_button__WEBPACK_IMPORTED_MODULE_0__[/* default */ "b"]);\n\n//# sourceURL=webpack:///./node_modules/antd/es/button/index.js?')},"23p7":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'apex',\r\n extensions: ['.cls'],\r\n aliases: ['Apex', 'apex'],\r\n mimetypes: ['text/x-apex-source', 'text/x-apex'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 166).then(__webpack_require__.bind(null, \"aA7r\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js?")},"24YM":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SensorTabIndex = exports.SensorClassName = exports.SizeSensorId = void 0;\n\n/**\n * Created by hustcc on 18/6/9.\n * Contract: i@hust.cc\n */\nvar SizeSensorId = 'size-sensor-id';\nexports.SizeSensorId = SizeSensorId;\nvar SensorClassName = 'size-sensor-object';\nexports.SensorClassName = SensorClassName;\nvar SensorTabIndex = '-1';\nexports.SensorTabIndex = SensorTabIndex;\n\n//# sourceURL=webpack:///./node_modules/size-sensor/lib/constant.js?")},"24hK":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LinkedList; });\n/* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("JYp7");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar Node = /** @class */ (function () {\r\n function Node(element) {\r\n this.element = element;\r\n this.next = Node.Undefined;\r\n this.prev = Node.Undefined;\r\n }\r\n Node.Undefined = new Node(undefined);\r\n return Node;\r\n}());\r\nvar LinkedList = /** @class */ (function () {\r\n function LinkedList() {\r\n this._first = Node.Undefined;\r\n this._last = Node.Undefined;\r\n this._size = 0;\r\n }\r\n Object.defineProperty(LinkedList.prototype, "size", {\r\n get: function () {\r\n return this._size;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n LinkedList.prototype.isEmpty = function () {\r\n return this._first === Node.Undefined;\r\n };\r\n LinkedList.prototype.clear = function () {\r\n this._first = Node.Undefined;\r\n this._last = Node.Undefined;\r\n this._size = 0;\r\n };\r\n LinkedList.prototype.unshift = function (element) {\r\n return this._insert(element, false);\r\n };\r\n LinkedList.prototype.push = function (element) {\r\n return this._insert(element, true);\r\n };\r\n LinkedList.prototype._insert = function (element, atTheEnd) {\r\n var _this = this;\r\n var newNode = new Node(element);\r\n if (this._first === Node.Undefined) {\r\n this._first = newNode;\r\n this._last = newNode;\r\n }\r\n else if (atTheEnd) {\r\n // push\r\n var oldLast = this._last;\r\n this._last = newNode;\r\n newNode.prev = oldLast;\r\n oldLast.next = newNode;\r\n }\r\n else {\r\n // unshift\r\n var oldFirst = this._first;\r\n this._first = newNode;\r\n newNode.next = oldFirst;\r\n oldFirst.prev = newNode;\r\n }\r\n this._size += 1;\r\n var didRemove = false;\r\n return function () {\r\n if (!didRemove) {\r\n didRemove = true;\r\n _this._remove(newNode);\r\n }\r\n };\r\n };\r\n LinkedList.prototype.shift = function () {\r\n if (this._first === Node.Undefined) {\r\n return undefined;\r\n }\r\n else {\r\n var res = this._first.element;\r\n this._remove(this._first);\r\n return res;\r\n }\r\n };\r\n LinkedList.prototype.pop = function () {\r\n if (this._last === Node.Undefined) {\r\n return undefined;\r\n }\r\n else {\r\n var res = this._last.element;\r\n this._remove(this._last);\r\n return res;\r\n }\r\n };\r\n LinkedList.prototype._remove = function (node) {\r\n if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {\r\n // middle\r\n var anchor = node.prev;\r\n anchor.next = node.next;\r\n node.next.prev = anchor;\r\n }\r\n else if (node.prev === Node.Undefined && node.next === Node.Undefined) {\r\n // only node\r\n this._first = Node.Undefined;\r\n this._last = Node.Undefined;\r\n }\r\n else if (node.next === Node.Undefined) {\r\n // last\r\n this._last = this._last.prev;\r\n this._last.next = Node.Undefined;\r\n }\r\n else if (node.prev === Node.Undefined) {\r\n // first\r\n this._first = this._first.next;\r\n this._first.prev = Node.Undefined;\r\n }\r\n // done\r\n this._size -= 1;\r\n };\r\n LinkedList.prototype.iterator = function () {\r\n var element;\r\n var node = this._first;\r\n return {\r\n next: function () {\r\n if (node === Node.Undefined) {\r\n return _iterator_js__WEBPACK_IMPORTED_MODULE_0__[/* FIN */ "b"];\r\n }\r\n if (!element) {\r\n element = { done: false, value: node.element };\r\n }\r\n else {\r\n element.value = node.element;\r\n }\r\n node = node.next;\r\n return element;\r\n }\r\n };\r\n };\r\n LinkedList.prototype.toArray = function () {\r\n var result = [];\r\n for (var node = this._first; node !== Node.Undefined; node = node.next) {\r\n result.push(node.element);\r\n }\r\n return result;\r\n };\r\n return LinkedList;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/linkedList.js?')},2548:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar textContain = __webpack_require__(\"6GrX\");\n\nvar featureManager = __webpack_require__(\"IUWy\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar DataDiffer = __webpack_require__(\"gPAo\");\n\nvar listComponentHelper = __webpack_require__(\"eRkO\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = echarts.extendComponentView({\n type: 'toolbox',\n 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 featureOpts = toolboxModel.get('feature') || {};\n var features = this._features || (this._features = {});\n var featureNames = [];\n zrUtil.each(featureOpts, function (opt, name) {\n featureNames.push(name);\n });\n new DataDiffer(this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(zrUtil.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(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 model: featureModel,\n onclick: featureModel.option.onclick,\n featureName: featureName\n };\n } else {\n var Feature = featureManager.get(featureName);\n\n if (!Feature) {\n return;\n }\n\n feature = new Feature(featureModel, ecModel, api);\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 feature.model = featureModel;\n feature.ecModel = ecModel;\n feature.api = api;\n }\n\n if (!featureName && oldName) {\n feature.dispose && feature.dispose(ecModel, api);\n return;\n }\n\n if (!featureModel.get('show') || feature.unusable) {\n 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; // FIXME\n\n iconPaths[iconName] && iconPaths[iconName].trigger(status);\n };\n\n if (feature.render) {\n feature.render(featureModel, ecModel, api, payload);\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.getIcons ? feature.getIcons() : featureModel.get('icon');\n var titles = featureModel.get('title') || {};\n\n if (typeof icons === 'string') {\n var icon = icons;\n var title = titles;\n icons = {};\n titles = {};\n icons[featureName] = icon;\n titles[featureName] = title;\n }\n\n var iconPaths = featureModel.iconPaths = {};\n zrUtil.each(icons, function (iconStr, iconName) {\n var path = graphic.createIcon(iconStr, {}, {\n x: -itemSize / 2,\n y: -itemSize / 2,\n width: itemSize,\n height: itemSize\n });\n path.setStyle(iconStyleModel.getItemStyle());\n path.hoverStyle = iconStyleEmphasisModel.getItemStyle(); // Text position calculation\n\n path.setStyle({\n text: titles[iconName],\n textAlign: iconStyleEmphasisModel.get('textAlign'),\n textBorderRadius: iconStyleEmphasisModel.get('textBorderRadius'),\n textPadding: iconStyleEmphasisModel.get('textPadding'),\n textFill: null\n });\n var tooltipModel = toolboxModel.getModel('tooltip');\n\n if (tooltipModel && tooltipModel.get('show')) {\n path.attr('tooltip', zrUtil.extend({\n content: titles[iconName],\n formatter: tooltipModel.get('formatter', true) || function () {\n return titles[iconName];\n },\n formatterParams: {\n componentType: 'toolbox',\n name: iconName,\n title: titles[iconName],\n $vars: ['name', 'title']\n },\n position: tooltipModel.get('position', true) || 'bottom'\n }, tooltipModel.option));\n }\n\n graphic.setHoverStyle(path);\n\n if (toolboxModel.get('showTitle')) {\n path.__title = titles[iconName];\n path.on('mouseover', function () {\n // Should not reuse above hoverStyle, which might be modified.\n var hoverStyle = iconStyleEmphasisModel.getItemStyle();\n var defaultTextPosition = toolboxModel.get('orient') === 'vertical' ? toolboxModel.get('right') == null ? 'right' : 'left' : toolboxModel.get('bottom') == null ? 'bottom' : 'top';\n path.setStyle({\n textFill: iconStyleEmphasisModel.get('textFill') || hoverStyle.fill || hoverStyle.stroke || '#000',\n textBackgroundColor: iconStyleEmphasisModel.get('textBackgroundColor'),\n textPosition: iconStyleEmphasisModel.get('textPosition') || defaultTextPosition\n });\n }).on('mouseout', function () {\n path.setStyle({\n textFill: null,\n textBackgroundColor: null\n });\n });\n }\n\n path.trigger(featureModel.get('iconStatus.' + iconName) || 'normal');\n group.add(path);\n path.on('click', zrUtil.bind(feature.onclick, feature, ecModel, api, iconName));\n iconPaths[iconName] = path;\n });\n }\n\n listComponentHelper.layout(group, toolboxModel, api); // Render background after group is layout\n // FIXME\n\n group.add(listComponentHelper.makeBackground(group.getBoundingRect(), toolboxModel)); // Adjust icon title positions to avoid them out of screen\n\n group.eachChild(function (icon) {\n var titleText = icon.__title;\n var hoverStyle = icon.hoverStyle; // May be background element\n\n if (hoverStyle && titleText) {\n var rect = textContain.getBoundingRect(titleText, textContain.makeFont(hoverStyle));\n var offsetX = icon.position[0] + group.position[0];\n var offsetY = icon.position[1] + group.position[1] + itemSize;\n var needPutOnTop = false;\n\n if (offsetY + rect.height > api.getHeight()) {\n hoverStyle.textPosition = 'top';\n needPutOnTop = true;\n }\n\n var topOffset = needPutOnTop ? -5 - rect.height : itemSize + 8;\n\n if (offsetX + rect.width / 2 > api.getWidth()) {\n hoverStyle.textPosition = ['100%', topOffset];\n hoverStyle.textAlign = 'right';\n } else if (offsetX - rect.width / 2 < 0) {\n hoverStyle.textPosition = [0, topOffset];\n hoverStyle.textAlign = 'left';\n }\n }\n });\n },\n updateView: function (toolboxModel, ecModel, api, payload) {\n zrUtil.each(this._features, function (feature) {\n feature.updateView && feature.updateView(feature.model, ecModel, api, payload);\n });\n },\n // updateLayout: function (toolboxModel, ecModel, api, payload) {\n // zrUtil.each(this._features, function (feature) {\n // feature.updateLayout && feature.updateLayout(feature.model, ecModel, api, payload);\n // });\n // },\n remove: function (ecModel, api) {\n zrUtil.each(this._features, function (feature) {\n feature.remove && feature.remove(ecModel, api);\n });\n this.group.removeAll();\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._features, function (feature) {\n feature.dispose && feature.dispose(ecModel, api);\n });\n }\n});\n\nfunction isUserFeatureName(featureName) {\n return featureName.indexOf('my') === 0;\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxView.js?")},"2B6p":function(module,exports){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/coord/View} view\n * @param {Object} payload\n * @param {Object} [zoomLimit]\n */\nfunction updateCenterAndZoom(view, payload, zoomLimit) {\n var previousZoom = view.getZoom();\n var center = view.getCenter();\n var zoom = payload.zoom;\n var point = view.dataToPoint(center);\n\n if (payload.dx != null && payload.dy != null) {\n point[0] -= payload.dx;\n point[1] -= payload.dy;\n var center = view.pointToData(point);\n view.setCenter(center);\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.scale[0] *= zoom;\n view.scale[1] *= zoom;\n var position = view.position;\n var fixX = (payload.originX - position[0]) * (zoom - 1);\n var fixY = (payload.originY - position[1]) * (zoom - 1);\n position[0] -= fixX;\n position[1] -= fixY;\n view.updateTransform(); // Get the new center\n\n var center = view.pointToData(point);\n view.setCenter(center);\n view.setZoom(zoom * previousZoom);\n }\n\n return {\n center: view.getCenter(),\n zoom: view.getZoom()\n };\n}\n\nexports.updateCenterAndZoom = updateCenterAndZoom;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/action/roamHelper.js?')},"2BaD":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/CloseCircleOutlined.js\n// This icon file is generated automatically.\nvar CloseCircleOutlined_CloseCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z" } }, { "tag": "path", "attrs": { "d": "M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "close-circle", "theme": "outlined" };\n/* harmony default export */ var asn_CloseCircleOutlined = (CloseCircleOutlined_CloseCircleOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/CloseCircleOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_CloseCircleOutlined_CloseCircleOutlined = function CloseCircleOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_CloseCircleOutlined\n }));\n};\n\nicons_CloseCircleOutlined_CloseCircleOutlined.displayName = \'CloseCircleOutlined\';\n/* harmony default export */ var icons_CloseCircleOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_CloseCircleOutlined_CloseCircleOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/CloseCircleOutlined.js_+_1_modules?')},"2DNl":function(module,exports,__webpack_require__){eval('var PathProxy = __webpack_require__("IMiH");\n\nvar line = __webpack_require__("loD1");\n\nvar cubic = __webpack_require__("59Ip");\n\nvar quadratic = __webpack_require__("aKvl");\n\nvar arc = __webpack_require__("n1HI");\n\nvar _util = __webpack_require__("hX1E");\n\nvar normalizeRadian = _util.normalizeRadian;\n\nvar curve = __webpack_require__("Sj9i");\n\nvar windingLine = __webpack_require__("hyiK");\n\nvar CMD = PathProxy.CMD;\nvar PI2 = Math.PI * 2;\nvar EPSILON = 1e-4;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n} // \u4e34\u65f6\u6570\u7ec4\n\n\nvar roots = [-1, -1, -1];\nvar extrema = [-1, -1];\n\nfunction swapExtrema() {\n var tmp = extrema[0];\n extrema[0] = extrema[1];\n extrema[1] = tmp;\n}\n\nfunction windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 && y > y3 || y < y0 && y < y1 && y < y2 && y < y3) {\n return 0;\n }\n\n var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var w = 0;\n var nExtrema = -1;\n var y0_;\n var y1_;\n\n for (var i = 0; i < nRoots; i++) {\n var t = roots[i]; // Avoid winding error when intersection point is the connect point of two line of polygon\n\n var unit = t === 0 || t === 1 ? 0.5 : 1;\n var x_ = curve.cubicAt(x0, x1, x2, x3, t);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (nExtrema < 0) {\n nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema);\n\n if (extrema[1] < extrema[0] && nExtrema > 1) {\n swapExtrema();\n }\n\n y0_ = curve.cubicAt(y0, y1, y2, y3, extrema[0]);\n\n if (nExtrema > 1) {\n y1_ = curve.cubicAt(y0, y1, y2, y3, extrema[1]);\n }\n }\n\n if (nExtrema === 2) {\n // \u5206\u6210\u4e09\u6bb5\u5355\u8c03\u51fd\u6570\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else if (t < extrema[1]) {\n w += y1_ < y0_ ? unit : -unit;\n } else {\n w += y3 < y1_ ? unit : -unit;\n }\n } else {\n // \u5206\u6210\u4e24\u6bb5\u5355\u8c03\u51fd\u6570\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else {\n w += y3 < y0_ ? unit : -unit;\n }\n }\n }\n\n return w;\n }\n}\n\nfunction windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 || y < y0 && y < y1 && y < y2) {\n return 0;\n }\n\n var nRoots = curve.quadraticRootAt(y0, y1, y2, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var t = curve.quadraticExtremum(y0, y1, y2);\n\n if (t >= 0 && t <= 1) {\n var w = 0;\n var y_ = curve.quadraticAt(y0, y1, y2, t);\n\n for (var i = 0; i < nRoots; i++) {\n // Remove one endpoint.\n var unit = roots[i] === 0 || roots[i] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[i]);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (roots[i] < t) {\n w += y_ < y0 ? unit : -unit;\n } else {\n w += y2 < y_ ? unit : -unit;\n }\n }\n\n return w;\n } else {\n // Remove one endpoint.\n var unit = roots[0] === 0 || roots[0] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[0]);\n\n if (x_ < x) {\n // Quick reject\n return 0;\n }\n\n return y2 < y0 ? unit : -unit;\n }\n }\n} // TODO\n// Arc \u65cb\u8f6c\n\n\nfunction windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {\n y -= cy;\n\n if (y > r || y < -r) {\n return 0;\n }\n\n var tmp = Math.sqrt(r * r - y * y);\n roots[0] = -tmp;\n roots[1] = tmp;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff < 1e-4) {\n return 0;\n }\n\n if (diff % PI2 < 1e-4) {\n // Is a circle\n startAngle = 0;\n endAngle = PI2;\n var dir = anticlockwise ? 1 : -1;\n\n if (x >= roots[0] + cx && x <= roots[1] + cx) {\n return dir;\n } else {\n return 0;\n }\n }\n\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n } else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n\n var w = 0;\n\n for (var i = 0; i < 2; i++) {\n var x_ = roots[i];\n\n if (x_ + cx > x) {\n var angle = Math.atan2(y, x_);\n var dir = anticlockwise ? 1 : -1;\n\n if (angle < 0) {\n angle = PI2 + angle;\n }\n\n if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {\n if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {\n dir = -dir;\n }\n\n w += dir;\n }\n }\n }\n\n return w;\n}\n\nfunction containPath(data, lineWidth, isStroke, x, y) {\n var w = 0;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++]; // Begin a new subpath\n\n if (cmd === CMD.M && i > 1) {\n // Close previous subpath\n if (!isStroke) {\n w += windingLine(xi, yi, x0, y0, x, y);\n } // \u5982\u679c\u88ab\u4efb\u4f55\u4e00\u4e2a subpath \u5305\u542b\n // if (w !== 0) {\n // return true;\n // }\n\n }\n\n if (i === 1) {\n // \u5982\u679c\u7b2c\u4e00\u4e2a\u547d\u4ee4\u662f L, C, Q\n // \u5219 previous point \u540c\u7ed8\u5236\u547d\u4ee4\u7684\u7b2c\u4e00\u4e2a point\n //\n // \u7b2c\u4e00\u4e2a\u547d\u4ee4\u4e3a Arc \u7684\u60c5\u51b5\u4e0b\u4f1a\u5728\u540e\u9762\u7279\u6b8a\u5904\u7406\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo \u547d\u4ee4\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 subpath, \u5e76\u4e14\u66f4\u65b0\u65b0\u7684\u8d77\u70b9\n // \u5728 closePath \u7684\u65f6\u5019\u4f7f\u7528\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n break;\n\n case CMD.L:\n if (isStroke) {\n if (line.containStroke(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n // NOTE \u5728\u7b2c\u4e00\u4e2a\u547d\u4ee4\u4e3a L, C, Q \u7684\u65f6\u5019\u4f1a\u8ba1\u7b97\u51fa NaN\n w += windingLine(xi, yi, data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n if (isStroke) {\n if (cubic.containStroke(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\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\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n if (isStroke) {\n if (quadratic.containStroke(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc \u5224\u65ad\u7684\u5f00\u9500\u6bd4\u8f83\u5927\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 \u65cb\u8f6c\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n var x1 = Math.cos(theta) * rx + cx;\n var y1 = Math.sin(theta) * ry + cy; // \u4e0d\u662f\u76f4\u63a5\u4f7f\u7528 arc \u547d\u4ee4\n\n if (i > 1) {\n w += windingLine(xi, yi, x1, y1, x, y);\n } else {\n // \u7b2c\u4e00\u4e2a\u547d\u4ee4\u8d77\u70b9\u8fd8\u672a\u5b9a\u4e49\n x0 = x1;\n y0 = y1;\n } // zr \u4f7f\u7528scale\u6765\u6a21\u62df\u692d\u5706, \u8fd9\u91cc\u4e5f\u5bf9x\u505a\u4e00\u5b9a\u7684\u7f29\u653e\n\n\n var _x = (x - cx) * ry / rx + cx;\n\n if (isStroke) {\n if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {\n return true;\n }\n } else {\n w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);\n }\n\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 var x1 = x0 + width;\n var y1 = y0 + height;\n\n if (isStroke) {\n if (line.containStroke(x0, y0, x1, y0, lineWidth, x, y) || line.containStroke(x1, y0, x1, y1, lineWidth, x, y) || line.containStroke(x1, y1, x0, y1, lineWidth, x, y) || line.containStroke(x0, y1, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // FIXME Clockwise ?\n w += windingLine(x1, y0, x1, y1, x, y);\n w += windingLine(x0, y1, x0, y0, x, y);\n }\n\n break;\n\n case CMD.Z:\n if (isStroke) {\n if (line.containStroke(xi, yi, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // Close a subpath\n w += windingLine(xi, yi, x0, y0, x, y); // \u5982\u679c\u88ab\u4efb\u4f55\u4e00\u4e2a subpath \u5305\u542b\n // FIXME subpaths may overlap\n // if (w !== 0) {\n // return true;\n // }\n }\n\n xi = x0;\n yi = y0;\n break;\n }\n }\n\n if (!isStroke && !isAroundEqual(yi, y0)) {\n w += windingLine(xi, yi, x0, y0, x, y) || 0;\n }\n\n return w !== 0;\n}\n\nfunction contain(pathData, x, y) {\n return containPath(pathData, 0, false, x, y);\n}\n\nfunction containStroke(pathData, lineWidth, x, y) {\n return containPath(pathData, lineWidth, true, x, y);\n}\n\nexports.contain = contain;\nexports.containStroke = containStroke;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/contain/path.js?')},"2MPD":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css?")},"2Nb0":function(module,exports,__webpack_require__){eval('__webpack_require__("FlQf");\n__webpack_require__("bBy9");\nmodule.exports = __webpack_require__("zLkG").f(\'iterator\');\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/fn/symbol/iterator.js?')},"2Qr1":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ flattenOptions; });\n__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ findValueOption; });\n__webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ valueUtil_getLabeledValue; });\n__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ filterOptions; });\n__webpack_require__.d(__webpack_exports__, "f", function() { return /* binding */ getSeparatedContent; });\n__webpack_require__.d(__webpack_exports__, "g", function() { return /* binding */ isValueDisabled; });\n__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ fillOptionsWithMissingValue; });\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules\nvar toConsumableArray = __webpack_require__("KQm4");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\nvar arrayWithHoles = __webpack_require__("DSFK");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nvar iterableToArray = __webpack_require__("25BE");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\nvar unsupportedIterableToArray = __webpack_require__("BsWD");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nvar nonIterableRest = __webpack_require__("PYwp");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toArray.js\n\n\n\n\nfunction _toArray(arr) {\n return Object(arrayWithHoles["a" /* default */])(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || Object(nonIterableRest["a" /* default */])();\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\nvar esm_typeof = __webpack_require__("U8pU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js\nvar warning = __webpack_require__("Kwbf");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/utils/commonUtil.js\nvar commonUtil = __webpack_require__("WKfj");\n\n// CONCATENATED MODULE: ./node_modules/rc-select/es/utils/valueUtil.js\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n\n if (\'value\' in data) {\n value = data.value;\n }\n\n if (key !== null && key !== undefined) {\n return key;\n }\n\n if (value !== undefined) {\n return value;\n }\n\n return "rc-index-key-".concat(index);\n}\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\n\n\nfunction flattenOptions(options) {\n var flattenList = [];\n\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n if (isGroupOption || !(\'options\' in data)) {\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data\n });\n } else {\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data\n });\n dig(data.options, true);\n }\n });\n }\n\n dig(options, false);\n return flattenList;\n}\n/**\n * Inject `props` into `option` for legacy usage\n */\n\nfunction injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n\n if (!(\'props\' in newOption)) {\n Object.defineProperty(newOption, \'props\', {\n get: function get() {\n Object(warning["a" /* default */])(false, \'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.\');\n return newOption;\n }\n });\n }\n\n return newOption;\n}\n\nfunction findValueOption(values, options) {\n var optionMap = new Map();\n options.forEach(function (flattenItem) {\n if (!flattenItem.group) {\n var data = flattenItem.data; // Check if match\n\n optionMap.set(data.value, data);\n }\n });\n return values.map(function (val) {\n return injectPropsWithOption(optionMap.get(val));\n });\n}\nvar valueUtil_getLabeledValue = function getLabeledValue(value, _ref) {\n var options = _ref.options,\n prevValue = _ref.prevValue,\n labelInValue = _ref.labelInValue,\n optionLabelProp = _ref.optionLabelProp;\n var item = findValueOption([value], options)[0];\n var result = {\n value: value\n };\n var prevValItem;\n var prevValues = Object(commonUtil["d" /* toArray */])(prevValue);\n\n if (labelInValue) {\n prevValItem = prevValues.find(function (prevItem) {\n if (Object(esm_typeof["a" /* default */])(prevItem) === \'object\' && \'value\' in prevItem) {\n return prevItem.value === value;\n } // [Legacy] Support `key` as `value`\n\n\n return prevItem.key === value;\n });\n }\n\n if (prevValItem && Object(esm_typeof["a" /* default */])(prevValItem) === \'object\' && \'label\' in prevValItem) {\n result.label = prevValItem.label;\n\n if (item && typeof prevValItem.label === \'string\' && typeof item[optionLabelProp] === \'string\' && prevValItem.label.trim() !== item[optionLabelProp].trim()) {\n Object(warning["a" /* default */])(false, \'`label` of `value` is not same as `label` in Select options.\');\n }\n } else if (item && optionLabelProp in item) {\n result.label = item[optionLabelProp];\n } else {\n result.label = value;\n } // [Legacy] We need fill `key` as `value` to compatible old code usage\n\n\n result.key = result.value;\n return result;\n};\n\nfunction toRawString(content) {\n return Object(commonUtil["d" /* toArray */])(content).join(\'\');\n}\n/** Filter single option if match the search text */\n\n\nfunction getFilterFunction(optionFilterProp) {\n return function (searchValue, option) {\n var lowerSearchText = searchValue.toLowerCase(); // Group label search\n\n if (\'options\' in option) {\n return toRawString(option.label).toLowerCase().includes(lowerSearchText);\n } // Option value search\n\n\n var rawValue = option[optionFilterProp];\n var value = toRawString(rawValue).toLowerCase();\n return value.includes(lowerSearchText) && !option.disabled;\n };\n}\n/** Filter options and return a new options by the search text */\n\n\nfunction filterOptions(searchValue, options, _ref2) {\n var optionFilterProp = _ref2.optionFilterProp,\n filterOption = _ref2.filterOption;\n var filteredOptions = [];\n var filterFunc;\n\n if (filterOption === false) {\n return options;\n }\n\n if (typeof filterOption === \'function\') {\n filterFunc = filterOption;\n } else {\n filterFunc = getFilterFunction(optionFilterProp);\n }\n\n options.forEach(function (item) {\n // Group should check child options\n if (\'options\' in item) {\n // Check group first\n var matchGroup = filterFunc(searchValue, item);\n\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item.options.filter(function (subItem) {\n return filterFunc(searchValue, subItem);\n });\n\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, {\n options: subOptions\n }));\n }\n }\n\n return;\n }\n\n if (filterFunc(searchValue, injectPropsWithOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n}\nfunction getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n\n var match = false;\n\n function separate(str, _ref3) {\n var _ref4 = _toArray(_ref3),\n token = _ref4[0],\n restTokens = _ref4.slice(1);\n\n if (!token) {\n return [str];\n }\n\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(Object(toConsumableArray["a" /* default */])(prevList), Object(toConsumableArray["a" /* default */])(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n\n var list = separate(text, tokens);\n return match ? list : null;\n}\nfunction isValueDisabled(value, options) {\n var option = findValueOption([value], options)[0];\n return option.disabled;\n}\n/**\n * `tags` mode should fill un-list item into the option list\n */\n\nfunction fillOptionsWithMissingValue(options, value, optionLabelProp, labelInValue) {\n var values = Object(commonUtil["d" /* toArray */])(value).slice().sort();\n\n var cloneOptions = Object(toConsumableArray["a" /* default */])(options); // Convert options value to set\n\n\n var optionValues = new Set();\n options.forEach(function (opt) {\n if (opt.options) {\n opt.options.forEach(function (subOpt) {\n optionValues.add(subOpt.value);\n });\n } else {\n optionValues.add(opt.value);\n }\n }); // Fill missing value\n\n values.forEach(function (item) {\n var val = labelInValue ? item.value : item;\n\n if (!optionValues.has(val)) {\n var _ref5;\n\n cloneOptions.push(labelInValue ? (_ref5 = {}, Object(defineProperty["a" /* default */])(_ref5, optionLabelProp, item.label), Object(defineProperty["a" /* default */])(_ref5, "value", val), _ref5) : {\n value: val\n });\n }\n });\n return cloneOptions;\n}\n\n//# sourceURL=webpack:///./node_modules/rc-select/es/utils/valueUtil.js_+_1_modules?')},"2Tsy":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css?")},"2V9f":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css?")},"2W6z":function(module,exports,__webpack_require__){"use strict";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\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = \"production\" !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n//# sourceURL=webpack:///./node_modules/warning/warning.js?")},"2dDv":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar matrix = __webpack_require__(\"Fofx\");\n\nvar layoutUtil = __webpack_require__(\"+TT/\");\n\nvar axisHelper = __webpack_require__(\"aX7z\");\n\nvar ParallelAxis = __webpack_require__(\"D1WM\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar sliderMove = __webpack_require__(\"72pK\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 * \n */\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar round = numberUtil.round;\nvar PI = Math.PI;\n\nfunction Parallel(parallelModel, ecModel, api) {\n /**\n * key: dimension\n * @type {Object.}\n * @private\n */\n this._axesMap = zrUtil.createHashMap();\n /**\n * key: dimension\n * value: {position: [], rotation, }\n * @type {Object.}\n * @private\n */\n\n this._axesLayout = {};\n /**\n * Always follow axis order.\n * @type {Array.}\n * @readOnly\n */\n\n this.dimensions = parallelModel.dimensions;\n /**\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._rect;\n /**\n * @type {module:echarts/coord/parallel/ParallelModel}\n */\n\n this._model = parallelModel;\n\n this._init(parallelModel, ecModel, api);\n}\n\nParallel.prototype = {\n type: 'parallel',\n constructor: Parallel,\n\n /**\n * Initialize cartesian coordinate systems\n * @private\n */\n _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(dim, axisHelper.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 /**\n * Update axis scale after data processed\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n update: function (ecModel, api) {\n this._updateAxesFromSeries(this._model, ecModel);\n },\n\n /**\n * @override\n */\n 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 getModel: function () {\n return this._model;\n },\n\n /**\n * Update properties from series\n * @private\n */\n _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 axisHelper.niceScaleExtent(axis.scale, axis.model);\n }, this);\n }, this);\n },\n\n /**\n * Resize the parallel coordinate system.\n * @param {module:echarts/coord/parallel/ParallelModel} parallelModel\n * @param {module:echarts/ExtensionAPI} api\n */\n resize: function (parallelModel, api) {\n this._rect = layoutUtil.getLayoutRect(parallelModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n this._layoutAxes();\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getRect: function () {\n return this._rect;\n },\n\n /**\n * @private\n */\n _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 /**\n * @private\n */\n _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 = matrix.create();\n matrix.rotate(transform, transform, rotation);\n matrix.translate(transform, transform, position); // TODO\n // tick\u7b49\u6392\u5e03\u4fe1\u606f\u3002\n // TODO\n // \u6839\u636eaxis order \u66f4\u65b0 dimensions\u987a\u5e8f\u3002\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 /**\n * Get axis by dim.\n * @param {string} dim\n * @return {module:echarts/coord/parallel/ParallelAxis} [description]\n */\n getAxis: function (dim) {\n return this._axesMap.get(dim);\n },\n\n /**\n * Convert a dim value of a single item of series data to Point.\n * @param {*} value\n * @param {string} dim\n * @return {Array}\n */\n dataToPoint: function (value, dim) {\n return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);\n },\n\n /**\n * Travel data for one time, get activeState of each data item.\n * @param {module:echarts/data/List} data\n * @param {Functio} cb param: {string} activeState 'active' or 'inactive' or 'normal'\n * {number} dataIndex\n * @param {number} [start=0] the start dataIndex that travel from.\n * @param {number} [end=data.count()] the next dataIndex of the last dataIndex will be travel.\n */\n 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 zrUtil.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;\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 /**\n * Whether has any activeSet.\n * @return {boolean}\n */\n 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 /**\n * Convert coords of each axis to Point.\n * Return point. For example: [10, 20]\n * @param {Array.} coords\n * @param {string} dim\n * @return {Array.}\n */\n axisCoordToPoint: function (coord, dim) {\n var axisLayout = this._axesLayout[dim];\n return graphic.applyTransform([coord, 0], axisLayout.transform);\n },\n\n /**\n * Get axis layout.\n */\n getAxisLayout: function (dim) {\n return zrUtil.clone(this._axesLayout[dim]);\n },\n\n /**\n * @param {Array.} point\n * @return {Object} {axisExpandWindow, delta, behavior: 'jump' | 'slide' | 'none'}.\n */\n 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 ? sliderMove(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 winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var pos = extent[1] * pointCoord / winSize;\n axisExpandWindow = [mathMax(0, pos - winSize / 2)];\n axisExpandWindow[1] = mathMin(extent[1], axisExpandWindow[0] + winSize);\n axisExpandWindow[0] = axisExpandWindow[1] - winSize;\n }\n\n return {\n axisExpandWindow: axisExpandWindow,\n behavior: behavior\n };\n }\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\nvar _default = Parallel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/Parallel.js?")},"2fGM":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar ComponentModel = __webpack_require__(\"bLfw\");\n\nvar axisModelCreator = __webpack_require__(\"nkfE\");\n\nvar axisModelCommonMixin = __webpack_require__(\"ICMv\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PolarAxisModel = ComponentModel.extend({\n type: 'polarAxis',\n\n /**\n * @type {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n axis: null,\n\n /**\n * @override\n */\n getCoordSysModel: function () {\n return this.ecModel.queryComponents({\n mainType: 'polar',\n index: this.option.polarIndex,\n id: this.option.polarId\n })[0];\n }\n});\nzrUtil.merge(PolarAxisModel.prototype, axisModelCommonMixin);\nvar polarAxisDefaultExtendedOption = {\n angle: {\n // polarIndex: 0,\n // polarId: '',\n startAngle: 90,\n clockwise: true,\n splitNumber: 12,\n axisLabel: {\n rotate: false\n }\n },\n radius: {\n // polarIndex: 0,\n // polarId: '',\n splitNumber: 5\n }\n};\n\nfunction getAxisType(axisDim, option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}\n\naxisModelCreator('angle', PolarAxisModel, getAxisType, polarAxisDefaultExtendedOption.angle);\naxisModelCreator('radius', PolarAxisModel, getAxisType, polarAxisDefaultExtendedOption.radius);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/AxisModel.js?")},"2fM7":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__("Ff2n");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules\nvar slicedToArray = __webpack_require__("ODXe");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/pickAttrs.js\nvar pickAttrs = __webpack_require__("bX4T");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useMemo.js\nvar useMemo = __webpack_require__("YrtM");\n\n// EXTERNAL MODULE: ./node_modules/rc-virtual-list/es/index.js + 4 modules\nvar rc_virtual_list_es = __webpack_require__("+nKL");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/TransBtn.js\nvar TransBtn = __webpack_require__("8OUc");\n\n// CONCATENATED MODULE: ./node_modules/rc-select/es/OptionList.js\n\n\n\n\n\n\n\n\n\n\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\n\nvar OptionList_OptionList = function OptionList(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n flattenOptions = _ref.flattenOptions,\n childrenAsData = _ref.childrenAsData,\n values = _ref.values,\n searchValue = _ref.searchValue,\n multiple = _ref.multiple,\n defaultActiveFirstOption = _ref.defaultActiveFirstOption,\n height = _ref.height,\n itemHeight = _ref.itemHeight,\n notFoundContent = _ref.notFoundContent,\n open = _ref.open,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n virtual = _ref.virtual,\n onSelect = _ref.onSelect,\n onToggleOpen = _ref.onToggleOpen,\n onActiveValue = _ref.onActiveValue,\n onScroll = _ref.onScroll;\n var itemPrefixCls = "".concat(prefixCls, "-item");\n var memoFlattenOptions = Object(useMemo["a" /* default */])(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n }); // =========================== List ===========================\n\n var listRef = react["useRef"](null);\n\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n\n var scrollIntoView = function scrollIntoView(index) {\n if (listRef.current) {\n listRef.current.scrollTo({\n index: index\n });\n }\n }; // ========================== Active ==========================\n\n\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n\n if (!group && !data.disabled) {\n return current;\n }\n }\n\n return -1;\n };\n\n var _React$useState = react["useState"](function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n\n var setActive = function setActive(index) {\n setActiveIndex(index); // Trigger active event\n\n var flattenItem = memoFlattenOptions[index];\n\n if (!flattenItem) {\n onActiveValue(null, -1);\n return;\n }\n\n onActiveValue(flattenItem.data.value, index);\n }; // Auto active first item when list length or searchValue changed\n\n\n react["useEffect"](function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]); // Auto scroll to item position in single mode\n\n react["useEffect"](function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && values.size === 1) {\n var value = Array.from(values)[0];\n var index = memoFlattenOptions.findIndex(function (_ref2) {\n var data = _ref2.data;\n return data.value === value;\n });\n setActive(index);\n scrollIntoView(index);\n }\n });\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open]); // ========================== Values ==========================\n\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !values.has(value)\n });\n } // Single mode should always close by select\n\n\n if (!multiple) {\n onToggleOpen(false);\n }\n }; // ========================= Keyboard =========================\n\n\n react["useImperativeHandle"](ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which;\n\n switch (which) {\n // >>> Arrow keys\n case KeyCode["a" /* default */].UP:\n case KeyCode["a" /* default */].DOWN:\n {\n var offset = 0;\n\n if (which === KeyCode["a" /* default */].UP) {\n offset = -1;\n } else if (which === KeyCode["a" /* default */].DOWN) {\n offset = 1;\n }\n\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex);\n }\n\n break;\n }\n // >>> Select\n\n case KeyCode["a" /* default */].ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n\n if (item && !item.data.disabled) {\n onSelectValue(item.data.value);\n } else {\n onSelectValue(undefined);\n }\n\n if (open) {\n event.preventDefault();\n }\n\n break;\n }\n // >>> Close\n\n case KeyCode["a" /* default */].ESC:\n {\n onToggleOpen(false);\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n }); // ========================== Render ==========================\n\n if (memoFlattenOptions.length === 0) {\n return react["createElement"]("div", {\n role: "listbox",\n id: "".concat(id, "_list"),\n className: "".concat(itemPrefixCls, "-empty"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n\n function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value,\n label = itemData.label,\n children = itemData.children;\n var attrs = Object(pickAttrs["a" /* default */])(itemData, true);\n var mergedLabel = childrenAsData ? children : label;\n return item ? react["createElement"]("div", Object.assign({\n "aria-label": typeof mergedLabel === \'string\' ? mergedLabel : null\n }, attrs, {\n key: index,\n role: "option",\n id: "".concat(id, "_list_").concat(index),\n "aria-selected": values.has(value)\n }), value) : null;\n }\n\n return react["createElement"](react["Fragment"], null, react["createElement"]("div", {\n role: "listbox",\n id: "".concat(id, "_list"),\n style: {\n height: 0,\n width: 0,\n overflow: \'hidden\'\n }\n }, renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), react["createElement"](rc_virtual_list_es["a" /* default */], {\n itemKey: "key",\n ref: listRef,\n data: memoFlattenOptions,\n height: height,\n itemHeight: itemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onScroll,\n virtual: virtual\n }, function (_ref3, itemIndex) {\n var _classNames;\n\n var group = _ref3.group,\n groupOption = _ref3.groupOption,\n data = _ref3.data;\n var label = data.label,\n key = data.key; // Group\n\n if (group) {\n return react["createElement"]("div", {\n className: classnames_default()(itemPrefixCls, "".concat(itemPrefixCls, "-group"))\n }, label !== undefined ? label : key);\n }\n\n var disabled = data.disabled,\n value = data.value,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = Object(objectWithoutProperties["a" /* default */])(data, ["disabled", "value", "title", "children", "style", "className"]); // Option\n\n\n var selected = values.has(value);\n var optionPrefixCls = "".concat(itemPrefixCls, "-option");\n var optionClassName = classnames_default()(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-grouped"), groupOption), Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-active"), activeIndex === itemIndex && !disabled), Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-disabled"), disabled), Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-selected"), selected), _classNames));\n var mergedLabel = childrenAsData ? children : label;\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === \'function\' || selected;\n return react["createElement"]("div", Object.assign({}, otherProps, {\n "aria-selected": selected,\n className: optionClassName,\n title: title,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), react["createElement"]("div", {\n className: "".concat(optionPrefixCls, "-content")\n }, mergedLabel || value), react["isValidElement"](menuItemSelectedIcon) || selected, iconVisible && react["createElement"](TransBtn["a" /* default */], {\n className: "".concat(itemPrefixCls, "-option-state"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n isSelected: selected\n }\n }, selected ? \'\u2713\' : null));\n }));\n};\n\nvar RefOptionList = react["forwardRef"](OptionList_OptionList);\nRefOptionList.displayName = \'OptionList\';\n/* harmony default export */ var es_OptionList = (RefOptionList);\n// CONCATENATED MODULE: ./node_modules/rc-select/es/Option.js\n/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\n\nOption.isSelectOption = true;\n/* harmony default export */ var es_Option = (Option);\n// CONCATENATED MODULE: ./node_modules/rc-select/es/OptGroup.js\n/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\n\nOptGroup.isSelectOptGroup = true;\n/* harmony default export */ var es_OptGroup = (OptGroup);\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Children/toArray.js\nvar toArray = __webpack_require__("Zm9Q");\n\n// CONCATENATED MODULE: ./node_modules/rc-select/es/utils/legacyUtil.js\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nfunction convertNodeToOption(node) {\n var key = node.key,\n _node$props = node.props,\n children = _node$props.children,\n value = _node$props.value,\n restProps = Object(objectWithoutProperties["a" /* default */])(_node$props, ["children", "value"]);\n\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\n\nfunction convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return Object(toArray["a" /* default */])(nodes).map(function (node, index) {\n if (!react["isValidElement"](node) || !node.type) {\n return null;\n }\n\n var isSelectOptGroup = node.type.isSelectOptGroup,\n key = node.key,\n _node$props2 = node.props,\n children = _node$props2.children,\n restProps = Object(objectWithoutProperties["a" /* default */])(_node$props2, ["children"]);\n\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n\n return _objectSpread(_objectSpread({\n key: "__RC_SELECT_GRP__".concat(key === null ? index : key, "__"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}\n// EXTERNAL MODULE: ./node_modules/rc-select/es/utils/valueUtil.js + 1 modules\nvar valueUtil = __webpack_require__("2Qr1");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/generate.js + 13 modules\nvar generate = __webpack_require__("qNPg");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\nvar esm_typeof = __webpack_require__("U8pU");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js\nvar warning = __webpack_require__("Kwbf");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/utils/commonUtil.js\nvar commonUtil = __webpack_require__("WKfj");\n\n// CONCATENATED MODULE: ./node_modules/rc-select/es/utils/warningPropsUtil.js\n\n\n\n\n\n\n\nfunction warningProps(props) {\n var mode = props.mode,\n options = props.options,\n children = props.children,\n backfill = props.backfill,\n allowClear = props.allowClear,\n placeholder = props.placeholder,\n getInputElement = props.getInputElement,\n showSearch = props.showSearch,\n onSearch = props.onSearch,\n defaultOpen = props.defaultOpen,\n autoFocus = props.autoFocus,\n labelInValue = props.labelInValue,\n value = props.value,\n inputValue = props.inputValue,\n optionLabelProp = props.optionLabelProp;\n var multiple = mode === \'multiple\' || mode === \'tags\';\n var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === \'combobox\';\n var mergedOptions = options || convertChildrenToData(children); // `tags` should not set option as disabled\n\n Object(warning["a" /* default */])(mode !== \'tags\' || mergedOptions.every(function (opt) {\n return !opt.disabled;\n }), \'Please avoid setting option to disabled in tags mode since user can always type text as tag.\'); // `combobox` & `tags` should option be `string` type\n\n if (mode === \'tags\' || mode === \'combobox\') {\n var hasNumberValue = mergedOptions.some(function (item) {\n if (item.options) {\n return item.options.some(function (opt) {\n return typeof (\'value\' in opt ? opt.value : opt.key) === \'number\';\n });\n }\n\n return typeof (\'value\' in item ? item.value : item.key) === \'number\';\n });\n Object(warning["a" /* default */])(!hasNumberValue, \'`value` of Option should not use number type when `mode` is `tags` or `combobox`.\');\n } // `combobox` should not use `optionLabelProp`\n\n\n Object(warning["a" /* default */])(mode !== \'combobox\' || !optionLabelProp, \'`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.\'); // Only `combobox` support `backfill`\n\n Object(warning["a" /* default */])(mode === \'combobox\' || !backfill, \'`backfill` only works with `combobox` mode.\'); // Only `combobox` support `getInputElement`\n\n Object(warning["a" /* default */])(mode === \'combobox\' || !getInputElement, \'`getInputElement` only work with `combobox` mode.\'); // Customize `getInputElement` should not use `allowClear` & `placeholder`\n\n Object(warning["b" /* noteOnce */])(mode !== \'combobox\' || !getInputElement || !allowClear || !placeholder, \'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.\'); // `onSearch` should use in `combobox` or `showSearch`\n\n if (onSearch && !mergedShowSearch && mode !== \'combobox\' && mode !== \'tags\') {\n Object(warning["a" /* default */])(false, \'`onSearch` should work with `showSearch` instead of use alone.\');\n }\n\n Object(warning["b" /* noteOnce */])(!defaultOpen || autoFocus, \'`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.\');\n\n if (value !== undefined && value !== null) {\n var values = Object(commonUtil["d" /* toArray */])(value);\n Object(warning["a" /* default */])(!labelInValue || values.every(function (val) {\n return Object(esm_typeof["a" /* default */])(val) === \'object\' && (\'key\' in val || \'value\' in val);\n }), \'`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`\');\n Object(warning["a" /* default */])(!multiple || Array.isArray(value), \'`value` should be array when `mode` is `multiple` or `tags`\');\n } // Syntactic sugar should use correct children type\n\n\n if (children) {\n var invalidateChildType = null;\n Object(toArray["a" /* default */])(children).some(function (node) {\n if (!react_default.a.isValidElement(node) || !node.type) {\n return false;\n }\n\n var type = node.type;\n\n if (type.isSelectOption) {\n return false;\n }\n\n if (type.isSelectOptGroup) {\n var allChildrenValid = Object(toArray["a" /* default */])(node.props.children).every(function (subNode) {\n if (!react_default.a.isValidElement(subNode) || !node.type || subNode.type.isSelectOption) {\n return true;\n }\n\n invalidateChildType = subNode.type;\n return false;\n });\n\n if (allChildrenValid) {\n return false;\n }\n\n return true;\n }\n\n invalidateChildType = type;\n return true;\n });\n\n if (invalidateChildType) {\n Object(warning["a" /* default */])(false, "`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, "`."));\n }\n\n Object(warning["a" /* default */])(inputValue === undefined, \'`inputValue` is deprecated, please use `searchValue` instead.\');\n }\n}\n\n/* harmony default export */ var warningPropsUtil = (warningProps);\n// CONCATENATED MODULE: ./node_modules/rc-select/es/Select.js\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live="polite"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it\'s meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\n\n\n\n\n\n\n\nvar RefSelect = Object(generate["a" /* default */])({\n prefixCls: \'rc-select\',\n components: {\n optionList: es_OptionList\n },\n convertChildrenToData: convertChildrenToData,\n flattenOptions: valueUtil["d" /* flattenOptions */],\n getLabeledValue: valueUtil["e" /* getLabeledValue */],\n filterOptions: valueUtil["b" /* filterOptions */],\n isValueDisabled: valueUtil["g" /* isValueDisabled */],\n findValueOption: valueUtil["c" /* findValueOption */],\n warningProps: warningPropsUtil,\n fillOptionsWithMissingValue: valueUtil["a" /* fillOptionsWithMissingValue */]\n});\n/**\n * Typescript not support generic with function component,\n * we have to wrap an class component to handle this.\n */\n\nvar Select_Select =\n/** @class */\nfunction () {\n var Select = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Select, _React$Component);\n\n var _super = _createSuper(Select);\n\n function Select() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Select);\n\n _this = _super.apply(this, arguments);\n _this.selectRef = react_default.a.createRef();\n\n _this.focus = function () {\n _this.selectRef.current.focus();\n };\n\n _this.blur = function () {\n _this.selectRef.current.blur();\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(Select, [{\n key: "render",\n value: function render() {\n return react_default.a.createElement(RefSelect, Object.assign({\n ref: this.selectRef\n }, this.props));\n }\n }]);\n\n return Select;\n }(react_default.a.Component);\n\n Select.Option = es_Option;\n Select.OptGroup = es_OptGroup;\n return Select;\n}();\n\n/* harmony default export */ var es_Select = (Select_Select);\n// CONCATENATED MODULE: ./node_modules/rc-select/es/index.js\n\n\n\n\n/* harmony default export */ var rc_select_es = (es_Select);\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/select/utils/iconUtil.js\nvar iconUtil = __webpack_require__("1vzs");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js\nvar SizeContext = __webpack_require__("3Nzz");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/select/index.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction select_createSuper(Derived) { var hasNativeReflectConstruct = select_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction select_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\n\n\n\n\n\n\n // We still use class here since `forwardRef` not support generic in typescript\n\nvar select_Select = /*#__PURE__*/function (_React$Component) {\n _inherits(Select, _React$Component);\n\n var _super = select_createSuper(Select);\n\n function Select() {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.apply(this, arguments);\n _this.selectRef = /*#__PURE__*/react["createRef"]();\n\n _this.focus = function () {\n if (_this.selectRef.current) {\n _this.selectRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.selectRef.current) {\n _this.selectRef.current.blur();\n }\n };\n\n _this.getMode = function () {\n var mode = _this.props.mode;\n\n if (mode === \'combobox\') {\n return undefined;\n }\n\n if (mode === Select.SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return \'combobox\';\n }\n\n return mode;\n };\n\n _this.renderSelect = function (_ref) {\n var getContextPopupContainer = _ref.getPopupContainer,\n getPrefixCls = _ref.getPrefixCls,\n renderEmpty = _ref.renderEmpty,\n direction = _ref.direction,\n virtual = _ref.virtual,\n dropdownMatchSelectWidth = _ref.dropdownMatchSelectWidth;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n notFoundContent = _this$props.notFoundContent,\n className = _this$props.className,\n customizeSize = _this$props.size,\n _this$props$listHeigh = _this$props.listHeight,\n listHeight = _this$props$listHeigh === void 0 ? 256 : _this$props$listHeigh,\n _this$props$listItemH = _this$props.listItemHeight,\n listItemHeight = _this$props$listItemH === void 0 ? 24 : _this$props$listItemH,\n getPopupContainer = _this$props.getPopupContainer,\n dropdownClassName = _this$props.dropdownClassName,\n bordered = _this$props.bordered;\n var prefixCls = getPrefixCls(\'select\', customizePrefixCls);\n\n var mode = _this.getMode();\n\n var isMultiple = mode === \'multiple\' || mode === \'tags\'; // ===================== Empty =====================\n\n var mergedNotFound;\n\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === \'combobox\') {\n mergedNotFound = null;\n } else {\n mergedNotFound = renderEmpty(\'Select\');\n } // ===================== Icons =====================\n\n\n var _getIcons = Object(iconUtil["a" /* default */])(_extends(_extends({}, _this.props), {\n multiple: isMultiple\n })),\n suffixIcon = _getIcons.suffixIcon,\n itemIcon = _getIcons.itemIcon,\n removeIcon = _getIcons.removeIcon,\n clearIcon = _getIcons.clearIcon;\n\n var selectProps = Object(es["a" /* default */])(_this.props, [\'prefixCls\', \'suffixIcon\', \'itemIcon\', \'removeIcon\', \'clearIcon\', \'size\', \'bordered\']);\n var rcSelectRtlDropDownClassName = classnames_default()(dropdownClassName, _defineProperty({}, "".concat(prefixCls, "-dropdown-").concat(direction), direction === \'rtl\'));\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n var _classNames2;\n\n var mergedSize = customizeSize || size;\n var mergedClassName = classnames_default()(className, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-lg"), mergedSize === \'large\'), _defineProperty(_classNames2, "".concat(prefixCls, "-sm"), mergedSize === \'small\'), _defineProperty(_classNames2, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _defineProperty(_classNames2, "".concat(prefixCls, "-borderless"), !bordered), _classNames2));\n return /*#__PURE__*/react["createElement"](rc_select_es, _extends({\n ref: _this.selectRef,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }, selectProps, {\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n direction: direction,\n inputIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n clearIcon: clearIcon,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropDownClassName\n }));\n });\n };\n\n return _this;\n }\n\n _createClass(Select, [{\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderSelect);\n }\n }]);\n\n return Select;\n}(react["Component"]);\n\nselect_Select.Option = es_Option;\nselect_Select.OptGroup = es_OptGroup;\nselect_Select.SECRET_COMBOBOX_MODE_DO_NOT_USE = \'SECRET_COMBOBOX_MODE_DO_NOT_USE\';\nselect_Select.defaultProps = {\n transitionName: \'slide-up\',\n choiceTransitionName: \'zoom\',\n bordered: true\n};\n/* harmony default export */ var es_select = __webpack_exports__["a"] = (select_Select);\n\n//# sourceURL=webpack:///./node_modules/antd/es/select/index.js_+_7_modules?')},"2fw6":function(module,exports,__webpack_require__){eval("var Path = __webpack_require__(\"y+Vt\");\n\n/**\n * \u5706\u5f62\n * @module zrender/shape/Circle\n */\nvar _default = Path.extend({\n type: 'circle',\n shape: {\n cx: 0,\n cy: 0,\n r: 0\n },\n buildPath: function (ctx, shape, inBundle) {\n // Better stroking in ShapeBundle\n // Always do it may have performence issue ( fill may be 2x more cost)\n if (inBundle) {\n ctx.moveTo(shape.cx + shape.r, shape.cy);\n } // else {\n // if (ctx.allocate && !ctx.data.length) {\n // ctx.allocate(ctx.CMD_MEM_SIZE.A);\n // }\n // }\n // Better stroking in ShapeBundle\n // ctx.moveTo(shape.cx + shape.r, shape.cy);\n\n\n ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/shape/Circle.js?")},"2gN3":function(module,exports,__webpack_require__){eval("var root = __webpack_require__(\"Kz5y\");\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_coreJsData.js?")},"2jpz":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return renderSwitcherIcon; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("gZBC");\n/* harmony import */ var _ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ant_design_icons_FileOutlined__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("vk+C");\n/* harmony import */ var _ant_design_icons_FileOutlined__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_FileOutlined__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ant_design_icons_MinusSquareOutlined__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("pG52");\n/* harmony import */ var _ant_design_icons_MinusSquareOutlined__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_MinusSquareOutlined__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _ant_design_icons_PlusSquareOutlined__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("Csr3");\n/* harmony import */ var _ant_design_icons_PlusSquareOutlined__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_PlusSquareOutlined__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _ant_design_icons_CaretDownFilled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("e5VY");\n/* harmony import */ var _ant_design_icons_CaretDownFilled__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_CaretDownFilled__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _util_reactNode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("0n0R");\n\n\n\n\n\n\n\n\nfunction renderSwitcherIcon(prefixCls, switcherIcon, showLine, _ref) {\n var isLeaf = _ref.isLeaf,\n expanded = _ref.expanded,\n loading = _ref.loading;\n\n if (loading) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_LoadingOutlined__WEBPACK_IMPORTED_MODULE_2___default.a, {\n className: "".concat(prefixCls, "-switcher-loading-icon")\n });\n }\n\n if (isLeaf) {\n return showLine ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_FileOutlined__WEBPACK_IMPORTED_MODULE_3___default.a, {\n className: "".concat(prefixCls, "-switcher-line-icon")\n }) : null;\n }\n\n var switcherCls = "".concat(prefixCls, "-switcher-icon");\n\n if (Object(_util_reactNode__WEBPACK_IMPORTED_MODULE_7__[/* isValidElement */ "b"])(switcherIcon)) {\n return Object(_util_reactNode__WEBPACK_IMPORTED_MODULE_7__[/* cloneElement */ "a"])(switcherIcon, {\n className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(switcherIcon.props.className || \'\', switcherCls)\n });\n }\n\n if (switcherIcon) {\n return switcherIcon;\n }\n\n if (showLine) {\n return expanded ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_MinusSquareOutlined__WEBPACK_IMPORTED_MODULE_4___default.a, {\n className: "".concat(prefixCls, "-switcher-line-icon")\n }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_PlusSquareOutlined__WEBPACK_IMPORTED_MODULE_5___default.a, {\n className: "".concat(prefixCls, "-switcher-line-icon")\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_CaretDownFilled__WEBPACK_IMPORTED_MODULE_6___default.a, {\n className: switcherCls\n });\n}\n\n//# sourceURL=webpack:///./node_modules/antd/es/tree/utils/iconUtil.js?')},"2oIt":function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar UpOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z" } }] }, "name": "up", "theme": "outlined" };\nexports.default = UpOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/UpOutlined.js?')},"2qtc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1wcP");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("+L6B");\n\n // style dependencies\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/modal/style/index.js?')},"2uGb":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("ko1b");\n\n__webpack_require__("s2lz");\n\n__webpack_require__("RBEP");\n\nvar treemapVisual = __webpack_require__("kMLO");\n\nvar treemapLayout = __webpack_require__("nKiI");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(treemapVisual);\necharts.registerLayout(treemapLayout);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap.js?')},"2w7y":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("qMZE");\n\n__webpack_require__("g0SD");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// HINT Markpoint can\'t be used too much\necharts.registerPreprocessor(function (opt) {\n // Make sure markPoint component is enabled\n opt.markPoint = opt.markPoint || {};\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/markPoint.js?')},"3/fG":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return localize; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nfunction _format(message, args) {\r\n var result;\r\n if (args.length === 0) {\r\n result = message;\r\n }\r\n else {\r\n result = message.replace(/\\{(\\d+)\\}/g, function (match, rest) {\r\n var index = rest[0];\r\n return typeof args[index] !== 'undefined' ? args[index] : match;\r\n });\r\n }\r\n return result;\r\n}\r\nfunction localize(data, message) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n return _format(message, args);\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/nls.js?")},"33Ds":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar history = __webpack_require__("b9oc");\n\nvar lang = __webpack_require__("Kagy");\n\nvar featureManager = __webpack_require__("IUWy");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 restoreLang = lang.toolbox.restore;\n\nfunction Restore(model) {\n this.model = model;\n}\n\nRestore.defaultOption = {\n show: true,\n\n /* eslint-disable */\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\n /* eslint-enable */\n title: restoreLang.title\n};\nvar proto = Restore.prototype;\n\nproto.onclick = function (ecModel, api, type) {\n history.clear(ecModel);\n api.dispatchAction({\n type: \'restore\',\n from: this.uid\n });\n};\n\nfeatureManager.register(\'restore\', Restore);\necharts.registerAction({\n type: \'restore\',\n event: \'restore\',\n update: \'prepareAndUpdate\'\n}, function (payload, ecModel) {\n ecModel.resetOption(\'recreate\');\n});\nvar _default = Restore;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/feature/Restore.js?')},"3A9y":function(module,exports){eval("/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_setCacheHas.js?")},"3C/r":function(module,exports){eval("var Pattern = function (image, repeat) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {image: ...}`, where this constructor will not be called.\n this.image = image;\n this.repeat = repeat; // Can be cloned\n\n this.type = 'pattern';\n};\n\nPattern.prototype.getCanvasPattern = function (ctx) {\n return ctx.createPattern(this.image, this.repeat || 'repeat');\n};\n\nvar _default = Pattern;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/Pattern.js?")},"3CBa":function(module,exports,__webpack_require__){eval("var _core = __webpack_require__(\"hydK\");\n\nvar createElement = _core.createElement;\n\nvar util = __webpack_require__(\"bYtY\");\n\nvar logError = __webpack_require__(\"SUKs\");\n\nvar Path = __webpack_require__(\"y+Vt\");\n\nvar ZImage = __webpack_require__(\"Dagg\");\n\nvar ZText = __webpack_require__(\"dqUG\");\n\nvar arrayDiff = __webpack_require__(\"DBLp\");\n\nvar GradientManager = __webpack_require__(\"sW+o\");\n\nvar ClippathManager = __webpack_require__(\"n6Mw\");\n\nvar ShadowManager = __webpack_require__(\"vKoX\");\n\nvar _graphic = __webpack_require__(\"P47w\");\n\nvar svgPath = _graphic.path;\nvar svgImage = _graphic.image;\nvar svgText = _graphic.text;\n\n/**\n * SVG Painter\n * @module zrender/svg/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction getSvgProxy(el) {\n if (el instanceof Path) {\n return svgPath;\n } else if (el instanceof ZImage) {\n return svgImage;\n } else if (el instanceof ZText) {\n return svgText;\n } else {\n return svgPath;\n }\n}\n\nfunction checkParentAvailable(parent, child) {\n return child && parent && child.parentNode !== parent;\n}\n\nfunction insertAfter(parent, child, prevSibling) {\n if (checkParentAvailable(parent, child) && prevSibling) {\n var nextSibling = prevSibling.nextSibling;\n nextSibling ? parent.insertBefore(child, nextSibling) : parent.appendChild(child);\n }\n}\n\nfunction prepend(parent, child) {\n if (checkParentAvailable(parent, child)) {\n var firstChild = parent.firstChild;\n firstChild ? parent.insertBefore(child, firstChild) : parent.appendChild(child);\n }\n} // function append(parent, child) {\n// if (checkParentAvailable(parent, child)) {\n// parent.appendChild(child);\n// }\n// }\n\n\nfunction remove(parent, child) {\n if (child && parent && child.parentNode === parent) {\n parent.removeChild(child);\n }\n}\n\nfunction getTextSvgElement(displayable) {\n return displayable.__textSvgEl;\n}\n\nfunction getSvgElement(displayable) {\n return displayable.__svgEl;\n}\n/**\n * @alias module:zrender/svg/Painter\n * @constructor\n * @param {HTMLElement} root \u7ed8\u56fe\u5bb9\u5668\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar SVGPainter = function (root, storage, opts, zrId) {\n this.root = root;\n this.storage = storage;\n this._opts = opts = util.extend({}, opts || {});\n var svgDom = createElement('svg');\n svgDom.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgDom.setAttribute('version', '1.1');\n svgDom.setAttribute('baseProfile', 'full');\n svgDom.style.cssText = 'user-select:none;position:absolute;left:0;top:0;';\n var bgRoot = createElement('g');\n svgDom.appendChild(bgRoot);\n var svgRoot = createElement('g');\n svgDom.appendChild(svgRoot);\n this.gradientManager = new GradientManager(zrId, svgRoot);\n this.clipPathManager = new ClippathManager(zrId, svgRoot);\n this.shadowManager = new ShadowManager(zrId, svgRoot);\n var viewport = document.createElement('div');\n viewport.style.cssText = 'overflow:hidden;position:relative';\n this._svgDom = svgDom;\n this._svgRoot = svgRoot;\n this._backgroundRoot = bgRoot;\n this._viewport = viewport;\n root.appendChild(viewport);\n viewport.appendChild(svgDom);\n this.resize(opts.width, opts.height);\n this._visibleList = [];\n};\n\nSVGPainter.prototype = {\n constructor: SVGPainter,\n getType: function () {\n return 'svg';\n },\n getViewportRoot: function () {\n return this._viewport;\n },\n getSvgDom: function () {\n return this._svgDom;\n },\n getSvgRoot: function () {\n return this._svgRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n refresh: function () {\n var list = this.storage.getDisplayList(true);\n\n this._paintList(list);\n },\n setBackgroundColor: function (backgroundColor) {\n // TODO gradient\n // Insert a bg rect instead of setting background to viewport.\n // Otherwise, the exported SVG don't have background.\n if (this._backgroundRoot && this._backgroundNode) {\n this._backgroundRoot.removeChild(this._backgroundNode);\n }\n\n var bgNode = createElement('rect');\n bgNode.setAttribute('width', this.getWidth());\n bgNode.setAttribute('height', this.getHeight());\n bgNode.setAttribute('x', 0);\n bgNode.setAttribute('y', 0);\n bgNode.setAttribute('id', 0);\n bgNode.style.fill = backgroundColor;\n\n this._backgroundRoot.appendChild(bgNode);\n\n this._backgroundNode = bgNode;\n },\n _paintList: function (list) {\n this.gradientManager.markAllUnused();\n this.clipPathManager.markAllUnused();\n this.shadowManager.markAllUnused();\n var svgRoot = this._svgRoot;\n var visibleList = this._visibleList;\n var listLen = list.length;\n var newVisibleList = [];\n var i;\n\n for (i = 0; i < listLen; i++) {\n var displayable = list[i];\n var svgProxy = getSvgProxy(displayable);\n var svgElement = getSvgElement(displayable) || getTextSvgElement(displayable);\n\n if (!displayable.invisible) {\n if (displayable.__dirty) {\n svgProxy && svgProxy.brush(displayable); // Update clipPath\n\n this.clipPathManager.update(displayable); // Update gradient and shadow\n\n if (displayable.style) {\n this.gradientManager.update(displayable.style.fill);\n this.gradientManager.update(displayable.style.stroke);\n this.shadowManager.update(svgElement, displayable);\n }\n\n displayable.__dirty = false;\n }\n\n newVisibleList.push(displayable);\n }\n }\n\n var diff = arrayDiff(visibleList, newVisibleList);\n var prevSvgElement; // First do remove, in case element moved to the head and do remove\n // after add\n\n for (i = 0; i < diff.length; i++) {\n var item = diff[i];\n\n if (item.removed) {\n for (var k = 0; k < item.count; k++) {\n var displayable = visibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n remove(svgRoot, svgElement);\n remove(svgRoot, textSvgElement);\n }\n }\n }\n\n for (i = 0; i < diff.length; i++) {\n var item = diff[i];\n\n if (item.added) {\n for (var k = 0; k < item.count; k++) {\n var displayable = newVisibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n prevSvgElement ? insertAfter(svgRoot, svgElement, prevSvgElement) : prepend(svgRoot, svgElement);\n\n if (svgElement) {\n insertAfter(svgRoot, textSvgElement, svgElement);\n } else if (prevSvgElement) {\n insertAfter(svgRoot, textSvgElement, prevSvgElement);\n } else {\n prepend(svgRoot, textSvgElement);\n } // Insert text\n\n\n insertAfter(svgRoot, textSvgElement, svgElement);\n prevSvgElement = textSvgElement || svgElement || prevSvgElement; // zrender.Text only create textSvgElement.\n\n this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.clipPathManager.markUsed(displayable);\n }\n } else if (!item.removed) {\n for (var k = 0; k < item.count; k++) {\n var displayable = newVisibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n this.gradientManager.markUsed(displayable);\n this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.shadowManager.markUsed(displayable);\n this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.clipPathManager.markUsed(displayable);\n\n if (textSvgElement) {\n // Insert text.\n insertAfter(svgRoot, textSvgElement, svgElement);\n }\n\n prevSvgElement = svgElement || textSvgElement || prevSvgElement;\n }\n }\n }\n\n this.gradientManager.removeUnused();\n this.clipPathManager.removeUnused();\n this.shadowManager.removeUnused();\n this._visibleList = newVisibleList;\n },\n _getDefs: function (isForceCreating) {\n var svgRoot = this._svgDom;\n var defs = svgRoot.getElementsByTagName('defs');\n\n if (defs.length === 0) {\n // Not exist\n if (isForceCreating) {\n var defs = svgRoot.insertBefore(createElement('defs'), // Create new tag\n svgRoot.firstChild // Insert in the front of svg\n );\n\n if (!defs.contains) {\n // IE doesn't support contains method\n defs.contains = function (el) {\n var children = defs.children;\n\n if (!children) {\n return false;\n }\n\n for (var i = children.length - 1; i >= 0; --i) {\n if (children[i] === el) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n return defs;\n } else {\n return null;\n }\n } else {\n return defs[0];\n }\n },\n resize: function (width, height) {\n var viewport = this._viewport; // FIXME Why ?\n\n viewport.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n viewport.style.display = '';\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var viewportStyle = viewport.style;\n viewportStyle.width = width + 'px';\n viewportStyle.height = height + 'px';\n var svgRoot = this._svgDom; // Set width by 'svgRoot.width = width' is invalid\n\n svgRoot.setAttribute('width', width);\n svgRoot.setAttribute('height', height);\n }\n\n if (this._backgroundNode) {\n this._backgroundNode.setAttribute('width', width);\n\n this._backgroundNode.setAttribute('height', height);\n }\n },\n\n /**\n * \u83b7\u53d6\u7ed8\u56fe\u533a\u57df\u5bbd\u5ea6\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * \u83b7\u53d6\u7ed8\u56fe\u533a\u57df\u9ad8\u5ea6\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._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\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._svgRoot = this._backgroundRoot = this._svgDom = this._backgroundNode = this._viewport = this.storage = null;\n },\n clear: function () {\n if (this._viewport) {\n this.root.removeChild(this._viewport);\n }\n },\n toDataURL: function () {\n this.refresh();\n var html = encodeURIComponent(this._svgDom.outerHTML.replace(/>\\n\\r<'));\n return 'data:image/svg+xml;charset=UTF-8,' + html;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n logError('In SVG mode painter not support method \"' + method + '\"');\n };\n} // Unsuppoted methods\n\n\nutil.each(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'pathToImage'], function (name) {\n SVGPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = SVGPainter;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/svg/Painter.js?")},"3Fdi":function(module,exports){eval("/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_toSource.js?")},"3GJH":function(module,exports,__webpack_require__){eval('__webpack_require__("lCc8");\nvar $Object = __webpack_require__("WEpk").Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/fn/object/create.js?')},"3LNs":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar clazzUtil = __webpack_require__(\"Yl7c\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar axisPointerModelHelper = __webpack_require__(\"zTMp\");\n\nvar eventTool = __webpack_require__(\"YH21\");\n\nvar throttleUtil = __webpack_require__(\"iLNv\");\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 inner = makeInner();\nvar clone = zrUtil.clone;\nvar bind = zrUtil.bind;\n/**\n * Base axis pointer class in 2D.\n * Implemenents {module:echarts/component/axis/IAxisPointer}.\n */\n\nfunction BaseAxisPointer() {}\n\nBaseAxisPointer.prototype = {\n /**\n * @private\n */\n _group: null,\n\n /**\n * @private\n */\n _lastGraphicKey: null,\n\n /**\n * @private\n */\n _handle: null,\n\n /**\n * @private\n */\n _dragging: false,\n\n /**\n * @private\n */\n _lastValue: null,\n\n /**\n * @private\n */\n _lastStatus: null,\n\n /**\n * @private\n */\n _payloadInfo: null,\n\n /**\n * In px, arbitrary value. Do not set too small,\n * no animation is ok for most cases.\n * @protected\n */\n animationThreshold: 15,\n\n /**\n * @implement\n */\n 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 graphic.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 = zrUtil.curry(updateProps, axisPointerModel, moveAnimation);\n this.updatePointerEl(group, elOption, doUpdateProps, axisPointerModel);\n this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);\n }\n\n updateMandatoryProps(group, axisPointerModel, true);\n\n this._renderHandle(value);\n },\n\n /**\n * @implement\n */\n remove: function (api) {\n this.clear(api);\n },\n\n /**\n * @implement\n */\n dispose: function (api) {\n this.clear(api);\n },\n\n /**\n * @protected\n */\n 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 = axisPointerModelHelper.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 /**\n * add {pointer, label, graphicKey} to elOption\n * @protected\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {// Shoule be implemenented by sub-class.\n },\n\n /**\n * @protected\n */\n createPointerEl: function (group, elOption, axisModel, axisPointerModel) {\n var pointerOption = elOption.pointer;\n\n if (pointerOption) {\n var pointerEl = inner(group).pointerEl = new graphic[pointerOption.type](clone(elOption.pointer));\n group.add(pointerEl);\n }\n },\n\n /**\n * @protected\n */\n createLabelEl: function (group, elOption, axisModel, axisPointerModel) {\n if (elOption.label) {\n var labelEl = inner(group).labelEl = new graphic.Rect(clone(elOption.label));\n group.add(labelEl);\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n },\n\n /**\n * @protected\n */\n 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 /**\n * @protected\n */\n 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 shape: elOption.label.shape,\n position: elOption.label.position\n });\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n },\n\n /**\n * @private\n */\n _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 = graphic.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 eventTool.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 var includeStyles = ['color', 'borderColor', 'borderWidth', 'opacity', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n handle.setStyle(handleModel.getItemStyle(null, includeStyles)); // update position\n\n var handleSize = handleModel.get('size');\n\n if (!zrUtil.isArray(handleSize)) {\n handleSize = [handleSize, handleSize];\n }\n\n handle.attr('scale', [handleSize[0] / 2, handleSize[1] / 2]);\n throttleUtil.createOrUpdate(this, '_doDispatchAxisPointer', handleModel.get('throttle') || 0, 'fixRate');\n\n this._moveHandleToValue(value, isInit);\n },\n\n /**\n * @private\n */\n _moveHandleToValue: function (value, isInit) {\n updateProps(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));\n },\n\n /**\n * @private\n */\n _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 /**\n * Throttled method.\n * @private\n */\n _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 /**\n * @private\n */\n _onHandleDragEnd: function (moveAnimation) {\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 /**\n * Should be implemenented by sub-class if support `handle`.\n * @protected\n * @param {number} value\n * @param {module:echarts/model/Model} axisModel\n * @param {module:echarts/model/Model} axisPointerModel\n * @return {Object} {position: [x, y], rotation: 0}\n */\n getHandleTransform: null,\n\n /**\n * * Should be implemenented by sub-class if support `handle`.\n * @protected\n * @param {Object} transform {position, rotation}\n * @param {Array.} delta [dx, dy]\n * @param {module:echarts/model/Model} axisModel\n * @param {module:echarts/model/Model} axisPointerModel\n * @return {Object} {position: [x, y], rotation: 0, cursorPoint: [x, y]}\n */\n updateHandleTransform: null,\n\n /**\n * @private\n */\n 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\n /**\n * @protected\n */\n doClear: function () {// Implemented by sub-class if necessary.\n },\n\n /**\n * @protected\n * @param {Array.} xy\n * @param {Array.} wh\n * @param {number} [xDimIndex=0] or 1\n */\n 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};\nBaseAxisPointer.prototype.constructor = BaseAxisPointer;\n\nfunction updateProps(animationModel, moveAnimation, el, props) {\n // Animation optimize.\n if (!propsEqual(inner(el).lastProp, props)) {\n inner(el).lastProp = props;\n moveAnimation ? graphic.updateProps(el, props, animationModel) : (el.stopAnimation(), el.attr(props));\n }\n}\n\nfunction propsEqual(lastProps, newProps) {\n if (zrUtil.isObject(lastProps) && zrUtil.isObject(newProps)) {\n var equals = true;\n zrUtil.each(newProps, function (item, key) {\n equals = equals && propsEqual(lastProps[key], item);\n });\n return !!equals;\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 position: trans.position.slice(),\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\nclazzUtil.enableClassExtend(BaseAxisPointer);\nvar _default = BaseAxisPointer;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js?")},"3Nzz":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SizeContextProvider; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar SizeContext = react__WEBPACK_IMPORTED_MODULE_0__["createContext"](undefined);\nvar SizeContextProvider = function SizeContextProvider(_ref) {\n var children = _ref.children,\n size = _ref.size;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SizeContext.Consumer, null, function (originSize) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SizeContext.Provider, {\n value: size || originSize\n }, children);\n });\n};\n/* harmony default export */ __webpack_exports__["b"] = (SizeContext);\n\n//# sourceURL=webpack:///./node_modules/antd/es/config-provider/SizeContext.js?')},"3OrL":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar ChartView = __webpack_require__(\"6Ic6\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar Path = __webpack_require__(\"y+Vt\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Update common properties\nvar NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar BoxplotView = ChartView.extend({\n type: 'boxplot',\n 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 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 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 dispose: zrUtil.noop\n});\nvar BoxPath = Path.extend({\n type: 'boxplotBoxPath',\n shape: {},\n 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\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 = graphic[isInit ? 'initProps' : 'updateProps'];\n updateMethod(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, dataIndex);\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var borderColor = data.getItemVisual(dataIndex, 'color'); // Exclude borderColor.\n\n var itemStyle = normalItemStyleModel.getItemStyle(['borderColor']);\n itemStyle.stroke = borderColor;\n itemStyle.strokeNoScale = true;\n el.useStyle(itemStyle);\n el.z2 = 100;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, dim, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[dim] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar _default = BoxplotView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotView.js?")},"3Rsk":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Extensions; });\n/* harmony import */ var _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ic2d");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MI8n");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nvar Extensions = {\r\n JSONContribution: \'base.contributions.json\'\r\n};\r\nfunction normalizeId(id) {\r\n if (id.length > 0 && id.charAt(id.length - 1) === \'#\') {\r\n return id.substring(0, id.length - 1);\r\n }\r\n return id;\r\n}\r\nvar JSONContributionRegistry = /** @class */ (function () {\r\n function JSONContributionRegistry() {\r\n this._onDidChangeSchema = new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]();\r\n this.schemasById = {};\r\n }\r\n JSONContributionRegistry.prototype.registerSchema = function (uri, unresolvedSchemaContent) {\r\n this.schemasById[normalizeId(uri)] = unresolvedSchemaContent;\r\n this._onDidChangeSchema.fire(uri);\r\n };\r\n JSONContributionRegistry.prototype.notifySchemaChanged = function (uri) {\r\n this._onDidChangeSchema.fire(uri);\r\n };\r\n return JSONContributionRegistry;\r\n}());\r\nvar jsonContributionRegistry = new JSONContributionRegistry();\r\n_registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* Registry */ "a"].add(Extensions.JSONContribution, jsonContributionRegistry);\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/jsonschemas/common/jsonContributionRegistry.js?')},"3S7+":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(\"q1tI\");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/rc-trigger/es/index.js + 10 modules\nvar es = __webpack_require__(\"uciX\");\n\n// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/placements.js\nvar placements_autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: placements_autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: placements_autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: placements_autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: placements_autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: placements_autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: placements_autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: placements_autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: placements_autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: placements_autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: placements_autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: placements_autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: placements_autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\n/* harmony default export */ var es_placements = (placements);\n// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/Content.js\n\n\nvar Content_Content = function Content(props) {\n var overlay = props.overlay,\n prefixCls = props.prefixCls,\n id = props.id,\n overlayInnerStyle = props.overlayInnerStyle;\n return react_default.a.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof overlay === 'function' ? overlay() : overlay);\n};\n\n/* harmony default export */ var es_Content = (Content_Content);\n// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/Tooltip.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n\n\n\n\nvar Tooltip_Tooltip = function Tooltip(props, ref) {\n var overlayClassName = props.overlayClassName,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n afterVisibleChange = props.afterVisibleChange,\n transitionName = props.transitionName,\n animation = props.animation,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$align = props.align,\n align = _props$align === void 0 ? {} : _props$align,\n _props$destroyTooltip = props.destroyTooltipOnHide,\n destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n defaultVisible = props.defaultVisible,\n getTooltipContainer = props.getTooltipContainer,\n overlayInnerStyle = props.overlayInnerStyle,\n restProps = _objectWithoutProperties(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\"]);\n\n var domRef = Object(react[\"useRef\"])(null);\n Object(react[\"useImperativeHandle\"])(ref, function () {\n return domRef.current;\n });\n\n var extraProps = _objectSpread({}, restProps);\n\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n\n var getPopupElement = function getPopupElement() {\n var _props$arrowContent = props.arrowContent,\n arrowContent = _props$arrowContent === void 0 ? null : _props$arrowContent,\n overlay = props.overlay,\n id = props.id;\n return [react_default.a.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\"),\n key: \"arrow\"\n }, arrowContent), react_default.a.createElement(es_Content, {\n key: \"content\",\n prefixCls: prefixCls,\n id: id,\n overlay: overlay,\n overlayInnerStyle: overlayInnerStyle\n })];\n };\n\n var destroyTooltip = false;\n var autoDestroy = false;\n\n if (typeof destroyTooltipOnHide === 'boolean') {\n destroyTooltip = destroyTooltipOnHide;\n } else if (destroyTooltipOnHide && _typeof(destroyTooltipOnHide) === 'object') {\n var keepParent = destroyTooltipOnHide.keepParent;\n destroyTooltip = keepParent === true;\n autoDestroy = keepParent === false;\n }\n\n return react_default.a.createElement(es[\"a\" /* default */], Object.assign({\n popupClassName: overlayClassName,\n prefixCls: prefixCls,\n popup: getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n ref: domRef,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltip,\n autoDestroy: autoDestroy,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay\n }, extraProps), children);\n};\n\n/* harmony default export */ var es_Tooltip = (Object(react[\"forwardRef\"])(Tooltip_Tooltip));\n// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/index.js\n\n/* harmony default export */ var rc_tooltip_es = (es_Tooltip);\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__(\"TSYQ\");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// CONCATENATED MODULE: ./node_modules/antd/es/tooltip/placements.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\n\nvar autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1\n};\nvar autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0\n};\nvar placements_targetOffset = [0, 0];\nfunction getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n\n return _extends(_extends({}, autoAdjustOverflowDisabled), autoAdjustOverflow);\n}\nfunction getPlacements(config) {\n var _config$arrowWidth = config.arrowWidth,\n arrowWidth = _config$arrowWidth === void 0 ? 5 : _config$arrowWidth,\n _config$horizontalArr = config.horizontalArrowShift,\n horizontalArrowShift = _config$horizontalArr === void 0 ? 16 : _config$horizontalArr,\n _config$verticalArrow = config.verticalArrowShift,\n verticalArrowShift = _config$verticalArrow === void 0 ? 8 : _config$verticalArrow,\n autoAdjustOverflow = config.autoAdjustOverflow;\n var placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0]\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0]\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4]\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4]\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4]\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)]\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4]\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)]\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4]\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth]\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4]\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth]\n }\n };\n Object.keys(placementMap).forEach(function (key) {\n placementMap[key] = config.arrowPointAtCenter ? _extends(_extends({}, placementMap[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset: placements_targetOffset\n }) : _extends(_extends({}, placements[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow)\n });\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__(\"0n0R\");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__(\"H84U\");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/colors.js\nvar colors = __webpack_require__(\"09Wf\");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/tooltip/index.js\nfunction tooltip_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction tooltip_extends() { tooltip_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; }; return tooltip_extends.apply(this, arguments); }\n\n\n\n\n\n\n\n\n\nvar splitObject = function splitObject(obj, keys) {\n var picked = {};\n\n var omitted = tooltip_extends({}, obj);\n\n keys.forEach(function (key) {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked: picked,\n omitted: omitted\n };\n};\n\nvar PresetColorRegex = new RegExp(\"^(\".concat(colors[\"a\" /* PresetColorTypes */].join('|'), \")(-inverse)?$\")); // Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\n\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n var elementType = element.type;\n\n if ((elementType.__ANT_BUTTON === true || elementType.__ANT_SWITCH === true || elementType.__ANT_CHECKBOX === true || element.type === 'button') && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n var _splitObject = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']),\n picked = _splitObject.picked,\n omitted = _splitObject.omitted;\n\n var spanStyle = tooltip_extends(tooltip_extends({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : null\n });\n\n var buttonStyle = tooltip_extends(tooltip_extends({}, omitted), {\n pointerEvents: 'none'\n });\n\n var child = Object(reactNode[\"a\" /* cloneElement */])(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/react[\"createElement\"](\"span\", {\n style: spanStyle,\n className: classnames_default()(element.props.className, \"\".concat(prefixCls, \"-disabled-compatible-wrapper\"))\n }, child);\n }\n\n return element;\n}\n\nvar tooltip_Tooltip = /*#__PURE__*/react[\"forwardRef\"](function (props, ref) {\n var _classNames2;\n\n var _React$useContext = react[\"useContext\"](context[\"b\" /* ConfigContext */]),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useState = react[\"useState\"](!!props.visible || !!props.defaultVisible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n\n react[\"useEffect\"](function () {\n if ('visible' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n\n var isNoTitle = function isNoTitle() {\n var title = props.title,\n overlay = props.overlay;\n return !title && !overlay && title !== 0; // overlay for old version compatibility\n };\n\n var onVisibleChange = function onVisibleChange(vis) {\n if (!('visible' in props)) {\n setVisible(isNoTitle() ? false : vis);\n }\n\n if (props.onVisibleChange && !isNoTitle()) {\n props.onVisibleChange(vis);\n }\n };\n\n var getTooltipPlacements = function getTooltipPlacements() {\n var builtinPlacements = props.builtinPlacements,\n arrowPointAtCenter = props.arrowPointAtCenter,\n autoAdjustOverflow = props.autoAdjustOverflow;\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: arrowPointAtCenter,\n autoAdjustOverflow: autoAdjustOverflow\n });\n }; // \u52a8\u6001\u8bbe\u7f6e\u52a8\u753b\u70b9\n\n\n var onPopupAlign = function onPopupAlign(domNode, align) {\n var placements = getTooltipPlacements(); // \u5f53\u524d\u8fd4\u56de\u7684\u4f4d\u7f6e\n\n var placement = Object.keys(placements).filter(function (key) {\n return placements[key].points[0] === align.points[0] && placements[key].points[1] === align.points[1];\n })[0];\n\n if (!placement) {\n return;\n } // \u6839\u636e\u5f53\u524d\u5750\u6807\u8bbe\u7f6e\u52a8\u753b\u70b9\n\n\n var rect = domNode.getBoundingClientRect();\n var transformOrigin = {\n top: '50%',\n left: '50%'\n };\n\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = \"\".concat(rect.height - align.offset[1], \"px\");\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = \"\".concat(-align.offset[1], \"px\");\n }\n\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = \"\".concat(rect.width - align.offset[0], \"px\");\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = \"\".concat(-align.offset[0], \"px\");\n }\n\n domNode.style.transformOrigin = \"\".concat(transformOrigin.left, \" \").concat(transformOrigin.top);\n };\n\n var getOverlay = function getOverlay() {\n var title = props.title,\n overlay = props.overlay;\n\n if (title === 0) {\n return title;\n }\n\n return overlay || title || '';\n };\n\n var customizePrefixCls = props.prefixCls,\n openClassName = props.openClassName,\n getPopupContainer = props.getPopupContainer,\n getTooltipContainer = props.getTooltipContainer,\n overlayClassName = props.overlayClassName,\n color = props.color,\n overlayInnerStyle = props.overlayInnerStyle;\n var children = props.children;\n var prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n var tempVisible = visible; // Hide tooltip when there is no title\n\n if (!('visible' in props) && isNoTitle()) {\n tempVisible = false;\n }\n\n var child = getDisabledCompatibleChildren(Object(reactNode[\"b\" /* isValidElement */])(children) ? children : /*#__PURE__*/react[\"createElement\"](\"span\", null, children), prefixCls);\n var childProps = child.props;\n var childCls = classnames_default()(childProps.className, tooltip_defineProperty({}, openClassName || \"\".concat(prefixCls, \"-open\"), true));\n var customOverlayClassName = classnames_default()(overlayClassName, (_classNames2 = {}, tooltip_defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), tooltip_defineProperty(_classNames2, \"\".concat(prefixCls, \"-\").concat(color), color && PresetColorRegex.test(color)), _classNames2));\n var formattedOverlayInnerStyle;\n var arrowContentStyle;\n\n if (color && !PresetColorRegex.test(color)) {\n formattedOverlayInnerStyle = tooltip_extends(tooltip_extends({}, overlayInnerStyle), {\n background: color\n });\n arrowContentStyle = {\n background: color\n };\n }\n\n return /*#__PURE__*/react[\"createElement\"](rc_tooltip_es, tooltip_extends({}, props, {\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: ref,\n builtinPlacements: getTooltipPlacements(),\n overlay: getOverlay(),\n visible: tempVisible,\n onVisibleChange: onVisibleChange,\n onPopupAlign: onPopupAlign,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/react[\"createElement\"](\"span\", {\n className: \"\".concat(prefixCls, \"-arrow-content\"),\n style: arrowContentStyle\n })\n }), tempVisible ? Object(reactNode[\"a\" /* cloneElement */])(child, {\n className: childCls\n }) : child);\n});\ntooltip_Tooltip.displayName = 'Tooltip';\ntooltip_Tooltip.defaultProps = {\n placement: 'top',\n transitionName: 'zoom-big-fast',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true\n};\n/* harmony default export */ var tooltip = __webpack_exports__[\"a\"] = (tooltip_Tooltip);\n\n//# sourceURL=webpack:///./node_modules/antd/es/tooltip/index.js_+_5_modules?")},"3TkU":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n__webpack_require__("aTJb");\n\n__webpack_require__("OlYY");\n\n__webpack_require__("fc+c");\n\n__webpack_require__("QUw5");\n\n__webpack_require__("Swgg");\n\n__webpack_require__("LBfv");\n\n__webpack_require__("noeP");\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoomSelect.js?')},"3X6L":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar TimelineModel = __webpack_require__(\"7a+S\");\n\nvar dataFormatMixin = __webpack_require__(\"OKJ2\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 SliderTimelineModel = TimelineModel.extend({\n type: 'timeline.slider',\n\n /**\n * @protected\n */\n defaultOption: {\n backgroundColor: 'rgba(0,0,0,0)',\n // \u65f6\u95f4\u8f74\u80cc\u666f\u989c\u8272\n borderColor: '#ccc',\n // \u65f6\u95f4\u8f74\u8fb9\u6846\u989c\u8272\n borderWidth: 0,\n // \u65f6\u95f4\u8f74\u8fb9\u6846\u7ebf\u5bbd\uff0c\u5355\u4f4dpx\uff0c\u9ed8\u8ba4\u4e3a0\uff08\u65e0\u8fb9\u6846\uff09\n orient: 'horizontal',\n // 'vertical'\n inverse: false,\n tooltip: {\n // boolean or Object\n trigger: 'item' // data item may also have tootip attr.\n\n },\n symbol: 'emptyCircle',\n symbolSize: 10,\n lineStyle: {\n show: true,\n width: 2,\n color: '#304654'\n },\n label: {\n // \u6587\u672c\u6807\u7b7e\n position: 'auto',\n // auto left right top bottom\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 // \u5176\u4f59\u5c5e\u6027\u9ed8\u8ba4\u4f7f\u7528\u5168\u5c40\u6587\u672c\u6837\u5f0f\uff0c\u8be6\u89c1TEXTSTYLE\n color: '#304654'\n },\n itemStyle: {\n color: '#304654',\n borderWidth: 1\n },\n checkpointStyle: {\n symbol: 'circle',\n symbolSize: 13,\n color: '#c23531',\n borderWidth: 5,\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: 22,\n itemGap: 12,\n position: 'left',\n // 'left' 'right' 'top' 'bottom'\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 // jshint ignore:line\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 // jshint ignore:line\n nextIcon: 'path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z',\n // jshint ignore:line\n prevIcon: 'path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z',\n // jshint ignore:line\n color: '#304654',\n borderColor: '#304654',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true,\n // \u5176\u4f59\u5c5e\u6027\u9ed8\u8ba4\u4f7f\u7528\u5168\u5c40\u6587\u672c\u6837\u5f0f\uff0c\u8be6\u89c1TEXTSTYLE\n color: '#c23531'\n },\n itemStyle: {\n color: '#c23531'\n },\n controlStyle: {\n color: '#c23531',\n borderColor: '#c23531',\n borderWidth: 2\n }\n },\n data: []\n }\n});\nzrUtil.mixin(SliderTimelineModel, dataFormatMixin);\nvar _default = SliderTimelineModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js?")},"3e3G":function(module,exports,__webpack_require__){eval("var zrUtil = __webpack_require__(\"bYtY\");\n\nvar Gradient = __webpack_require__(\"QuXc\");\n\n/**\n * x, y, r are all percent from 0 to 1\n * @param {number} [x=0.5]\n * @param {number} [y=0.5]\n * @param {number} [r=0.5]\n * @param {Array.} [colorStops]\n * @param {boolean} [globalCoord=false]\n */\nvar RadialGradient = function (x, y, r, colorStops, globalCoord) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {type: 'radial', colorStops: ...}`, where\n // this constructor will not be called.\n this.x = x == null ? 0.5 : x;\n this.y = y == null ? 0.5 : y;\n this.r = r == null ? 0.5 : r; // Can be cloned\n\n this.type = 'radial'; // If use global coord\n\n this.global = globalCoord || false;\n Gradient.call(this, colorStops);\n};\n\nRadialGradient.prototype = {\n constructor: RadialGradient\n};\nzrUtil.inherits(RadialGradient, Gradient);\nvar _default = RadialGradient;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/RadialGradient.js?")},"3gBT":function(module,exports){eval("/**\n * zrender: \u751f\u6210\u552f\u4e00id\n *\n * @author errorrik (errorrik@gmail.com)\n */\nvar idStart = 0x0907;\n\nfunction _default() {\n return idStart++;\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/guid.js?")},"3hzK":function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = {\n getBoxLayoutParams: function () {\n return {\n left: this.get('left'),\n top: this.get('top'),\n right: this.get('right'),\n bottom: this.get('bottom'),\n width: this.get('width'),\n height: this.get('height')\n };\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/boxLayout.js?")},"3m61":function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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\nfunction _default(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'));\n var colorQuery = 'lineStyle.color'.split('.');\n var opacityQuery = 'lineStyle.opacity'.split('.');\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('color', seriesModel.get(colorQuery));\n edgeData.setVisual('opacity', seriesModel.get(opacityQuery));\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 color = itemModel.get(colorQuery);\n var opacity = itemModel.get(opacityQuery);\n\n switch (color) {\n case 'source':\n color = edge.node1.getVisual('color');\n break;\n\n case 'target':\n color = edge.node2.getVisual('color');\n break;\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 edge.setVisual('color', color);\n edge.setVisual('opacity', opacity);\n });\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/edgeVisual.js?")},"3qCu":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* binding */ markdownRenderer_MarkdownRenderer; });\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/dom.js\nvar dom = __webpack_require__(\"EffR\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js\nvar formattedTextRenderer = __webpack_require__(\"Md8J\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/errors.js\nvar errors = __webpack_require__(\"/cxE\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js\nvar htmlContent = __webpack_require__(\"eLzo\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js\nvar idGenerator = __webpack_require__(\"nD70\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js\n/**\n * marked - a markdown parser\n * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n// BEGIN MONACOCHANGE\nvar __marked_exports;\n// END MONACOCHANGE\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /\x3c!--(?!-?>)[\\s\\S]*?--\x3e/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[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])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\n// BEGIN MONACOCHANGE\n// if (typeof module !== 'undefined' && typeof exports === 'object') {\n// module.exports = marked;\n// } else if (typeof define === 'function' && define.amd) {\n// define(function() { return marked; });\n// } else {\n// root.marked = marked;\n// }\n// })(this || (typeof window !== 'undefined' ? window : global));\n__marked_exports = marked;\n}).call(undefined);\n\n// ESM-comment-begin\n// define(function() { return __marked_exports; });\n// ESM-comment-end\n\n// ESM-uncomment-begin\nvar marked = __marked_exports;\nvar Parser = __marked_exports.Parser;\nvar parser = __marked_exports.parser;\nvar Renderer = __marked_exports.Renderer;\nvar TextRenderer = __marked_exports.TextRenderer;\nvar Lexer = __marked_exports.Lexer;\nvar lexer = __marked_exports.lexer;\nvar InlineLexer = __marked_exports.InlineLexer;\nvar inlineLexer = __marked_exports.inlineLexer;\nvar parse = __marked_exports.parse;\n// ESM-uncomment-end\n// END MONACOCHANGE\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/insane/insane.js\nvar require;var require;/*\nThe MIT License (MIT)\n\nCopyright \xa9 2015 Nicolas Bevacqua\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nlet __insane_func;\n\n(function () { function r(e, n, t) { function o(i, f) { if (!n[i]) { if (!e[i]) { var c = \"function\" == typeof require && require; if (!f && c) return require(i, !0); if (u) return u(i, !0); var a = new Error(\"Cannot find module '\" + i + \"'\"); throw a.code = \"MODULE_NOT_FOUND\", a } var p = n[i] = { exports: {} }; e[i][0].call(p.exports, function (r) { var n = e[i][1][r]; return o(n || r) }, p, p.exports, r, e, n, t) } return n[i].exports } for (var u = \"function\" == typeof require && require, i = 0; i < t.length; i++)o(t[i]); return o } return r })()({\n\t1: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar toMap = require('./toMap');\n\t\tvar uris = ['background', 'base', 'cite', 'href', 'longdesc', 'src', 'usemap'];\n\n\t\tmodule.exports = {\n\t\t\turis: toMap(uris) // attributes that have an href and hence need to be sanitized\n\t\t};\n\n\t}, { \"./toMap\": 10 }], 2: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar defaults = {\n\t\t\tallowedAttributes: {\n\t\t\t\t'*': ['title', 'accesskey'],\n\t\t\t\ta: ['href', 'name', 'target', 'aria-label'],\n\t\t\t\tiframe: ['allowfullscreen', 'frameborder', 'src'],\n\t\t\t\timg: ['src', 'alt', 'title', 'aria-label']\n\t\t\t},\n\t\t\tallowedClasses: {},\n\t\t\tallowedSchemes: ['http', 'https', 'mailto'],\n\t\t\tallowedTags: [\n\t\t\t\t'a', 'abbr', 'article', 'b', 'blockquote', 'br', 'caption', 'code', 'del', 'details', 'div', 'em',\n\t\t\t\t'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'ins', 'kbd', 'li', 'main', 'mark',\n\t\t\t\t'ol', 'p', 'pre', 'section', 'span', 'strike', 'strong', 'sub', 'summary', 'sup', 'table',\n\t\t\t\t'tbody', 'td', 'th', 'thead', 'tr', 'u', 'ul'\n\t\t\t],\n\t\t\tfilter: null\n\t\t};\n\n\t\tmodule.exports = defaults;\n\n\t}, {}], 3: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar toMap = require('./toMap');\n\t\tvar voids = ['area', 'br', 'col', 'hr', 'img', 'wbr', 'input', 'base', 'basefont', 'link', 'meta'];\n\n\t\tmodule.exports = {\n\t\t\tvoids: toMap(voids)\n\t\t};\n\n\t}, { \"./toMap\": 10 }], 4: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar he = require('he');\n\t\tvar assign = require('assignment');\n\t\tvar parser = require('./parser');\n\t\tvar sanitizer = require('./sanitizer');\n\t\tvar defaults = require('./defaults');\n\n\t\tfunction insane(html, options, strict) {\n\t\t\tvar buffer = [];\n\t\t\tvar configuration = strict === true ? options : assign({}, defaults, options);\n\t\t\tvar handler = sanitizer(buffer, configuration);\n\n\t\t\tparser(html, handler);\n\n\t\t\treturn buffer.join('');\n\t\t}\n\n\t\tinsane.defaults = defaults;\n\t\tmodule.exports = insane;\n\t\t__insane_func = insane;\n\n\t}, { \"./defaults\": 2, \"./parser\": 7, \"./sanitizer\": 8, \"assignment\": 6, \"he\": 9 }], 5: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tmodule.exports = function lowercase(string) {\n\t\t\treturn typeof string === 'string' ? string.toLowerCase() : string;\n\t\t};\n\n\t}, {}], 6: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tfunction assignment(result) {\n\t\t\tvar stack = Array.prototype.slice.call(arguments, 1);\n\t\t\tvar item;\n\t\t\tvar key;\n\t\t\twhile (stack.length) {\n\t\t\t\titem = stack.shift();\n\t\t\t\tfor (key in item) {\n\t\t\t\t\tif (item.hasOwnProperty(key)) {\n\t\t\t\t\t\tif (Object.prototype.toString.call(result[key]) === '[object Object]') {\n\t\t\t\t\t\t\tresult[key] = assignment(result[key], item[key]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[key] = item[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\n\t\tmodule.exports = assignment;\n\n\t}, {}], 7: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar he = require('he');\n\t\tvar lowercase = require('./lowercase');\n\t\tvar attributes = require('./attributes');\n\t\tvar elements = require('./elements');\n\t\tvar rstart = /^<\\s*([\\w:-]+)((?:\\s+[\\w:-]+(?:\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*(\\/?)\\s*>/;\n\t\tvar rend = /^<\\s*\\/\\s*([\\w:-]+)[^>]*>/;\n\t\tvar rattrs = /([\\w:-]+)(?:\\s*=\\s*(?:(?:\"((?:[^\"])*)\")|(?:'((?:[^'])*)')|([^>\\s]+)))?/g;\n\t\tvar rtag = /^= 0) {\n\t\t\t\t\tif (handler.comment) {\n\t\t\t\t\t\thandler.comment(html.substring(4, index));\n\t\t\t\t\t}\n\t\t\t\t\thtml = html.substring(index + 3);\n\t\t\t\t\tchars = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction parseTagDecode() {\n\t\t\t\tif (!chars) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar text;\n\t\t\t\tvar index = html.indexOf('<');\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\ttext = html.substring(0, index);\n\t\t\t\t\thtml = html.substring(index);\n\t\t\t\t} else {\n\t\t\t\t\ttext = html;\n\t\t\t\t\thtml = '';\n\t\t\t\t}\n\t\t\t\tif (handler.chars) {\n\t\t\t\t\thandler.chars(text);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction parseStartTag(tag, tagName, rest, unary) {\n\t\t\t\tvar attrs = {};\n\t\t\t\tvar low = lowercase(tagName);\n\t\t\t\tvar u = elements.voids[low] || !!unary;\n\n\t\t\t\trest.replace(rattrs, attrReplacer);\n\n\t\t\t\tif (!u) {\n\t\t\t\t\tstack.push(low);\n\t\t\t\t}\n\t\t\t\tif (handler.start) {\n\t\t\t\t\thandler.start(low, attrs, u);\n\t\t\t\t}\n\n\t\t\t\tfunction attrReplacer(match, name, doubleQuotedValue, singleQuotedValue, unquotedValue) {\n\t\t\t\t\tif (doubleQuotedValue === void 0 && singleQuotedValue === void 0 && unquotedValue === void 0) {\n\t\t\t\t\t\tattrs[name] = void 0; // attribute is like \n\t\t\t\t\t} else {\n\t\t\t\t\t\tattrs[name] = he.decode(doubleQuotedValue || singleQuotedValue || unquotedValue || '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction parseEndTag(tag, tagName) {\n\t\t\t\tvar i;\n\t\t\t\tvar pos = 0;\n\t\t\t\tvar low = lowercase(tagName);\n\t\t\t\tif (low) {\n\t\t\t\t\tfor (pos = stack.length - 1; pos >= 0; pos--) {\n\t\t\t\t\t\tif (stack[pos] === low) {\n\t\t\t\t\t\t\tbreak; // find the closest opened tag of the same type\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pos >= 0) {\n\t\t\t\t\tfor (i = stack.length - 1; i >= pos; i--) {\n\t\t\t\t\t\tif (handler.end) { // close all the open elements, up the stack\n\t\t\t\t\t\t\thandler.end(stack[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tstack.length = pos;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tmodule.exports = parser;\n\n\t}, { \"./attributes\": 1, \"./elements\": 3, \"./lowercase\": 5, \"he\": 9 }], 8: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar he = require('he');\n\t\tvar lowercase = require('./lowercase');\n\t\tvar attributes = require('./attributes');\n\t\tvar elements = require('./elements');\n\n\t\tfunction sanitizer(buffer, options) {\n\t\t\tvar last;\n\t\t\tvar context;\n\t\t\tvar o = options || {};\n\n\t\t\treset();\n\n\t\t\treturn {\n\t\t\t\tstart: start,\n\t\t\t\tend: end,\n\t\t\t\tchars: chars\n\t\t\t};\n\n\t\t\tfunction out(value) {\n\t\t\t\tbuffer.push(value);\n\t\t\t}\n\n\t\t\tfunction start(tag, attrs, unary) {\n\t\t\t\tvar low = lowercase(tag);\n\n\t\t\t\tif (context.ignoring) {\n\t\t\t\t\tignore(low); return;\n\t\t\t\t}\n\t\t\t\tif ((o.allowedTags || []).indexOf(low) === -1) {\n\t\t\t\t\tignore(low); return;\n\t\t\t\t}\n\t\t\t\tif (o.filter && !o.filter({ tag: low, attrs: attrs })) {\n\t\t\t\t\tignore(low); return;\n\t\t\t\t}\n\n\t\t\t\tout('<');\n\t\t\t\tout(low);\n\t\t\t\tObject.keys(attrs).forEach(parse);\n\t\t\t\tout(unary ? '/>' : '>');\n\n\t\t\t\tfunction parse(key) {\n\t\t\t\t\tvar value = attrs[key];\n\t\t\t\t\tvar classesOk = (o.allowedClasses || {})[low] || [];\n\t\t\t\t\tvar attrsOk = (o.allowedAttributes || {})[low] || [];\n\t\t\t\t\tattrsOk = attrsOk.concat((o.allowedAttributes || {})['*'] || []);\n\t\t\t\t\tvar valid;\n\t\t\t\t\tvar lkey = lowercase(key);\n\t\t\t\t\tif (lkey === 'class' && attrsOk.indexOf(lkey) === -1) {\n\t\t\t\t\t\tvalue = value.split(' ').filter(isValidClass).join(' ').trim();\n\t\t\t\t\t\tvalid = value.length;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalid = attrsOk.indexOf(lkey) !== -1 && (attributes.uris[lkey] !== true || testUrl(value));\n\t\t\t\t\t}\n\t\t\t\t\tif (valid) {\n\t\t\t\t\t\tout(' ');\n\t\t\t\t\t\tout(key);\n\t\t\t\t\t\tif (typeof value === 'string') {\n\t\t\t\t\t\t\tout('=\"');\n\t\t\t\t\t\t\tout(he.encode(value));\n\t\t\t\t\t\t\tout('\"');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfunction isValidClass(className) {\n\t\t\t\t\t\treturn classesOk && classesOk.indexOf(className) !== -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction end(tag) {\n\t\t\t\tvar low = lowercase(tag);\n\t\t\t\tvar allowed = (o.allowedTags || []).indexOf(low) !== -1;\n\t\t\t\tif (allowed) {\n\t\t\t\t\tif (context.ignoring === false) {\n\t\t\t\t\t\tout('');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tunignore(low);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tunignore(low);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction testUrl(text) {\n\t\t\t\tvar start = text[0];\n\t\t\t\tif (start === '#' || start === '/') {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tvar colon = text.indexOf(':');\n\t\t\t\tif (colon === -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tvar questionmark = text.indexOf('?');\n\t\t\t\tif (questionmark !== -1 && colon > questionmark) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tvar hash = text.indexOf('#');\n\t\t\t\tif (hash !== -1 && colon > hash) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn o.allowedSchemes.some(matches);\n\n\t\t\t\tfunction matches(scheme) {\n\t\t\t\t\treturn text.indexOf(scheme + ':') === 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction chars(text) {\n\t\t\t\tif (context.ignoring === false) {\n\t\t\t\t\tout(o.transformText ? o.transformText(text) : text);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction ignore(tag) {\n\t\t\t\tif (elements.voids[tag]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (context.ignoring === false) {\n\t\t\t\t\tcontext = { ignoring: tag, depth: 1 };\n\t\t\t\t} else if (context.ignoring === tag) {\n\t\t\t\t\tcontext.depth++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction unignore(tag) {\n\t\t\t\tif (context.ignoring === tag) {\n\t\t\t\t\tif (--context.depth <= 0) {\n\t\t\t\t\t\treset();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction reset() {\n\t\t\t\tcontext = { ignoring: false, depth: 0 };\n\t\t\t}\n\t\t}\n\n\t\tmodule.exports = sanitizer;\n\n\t}, { \"./attributes\": 1, \"./elements\": 3, \"./lowercase\": 5, \"he\": 9 }], 9: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tvar escapes = {\n\t\t\t'&': '&',\n\t\t\t'<': '<',\n\t\t\t'>': '>',\n\t\t\t'\"': '"',\n\t\t\t\"'\": '''\n\t\t};\n\t\tvar unescapes = {\n\t\t\t'&': '&',\n\t\t\t'<': '<',\n\t\t\t'>': '>',\n\t\t\t'"': '\"',\n\t\t\t''': \"'\"\n\t\t};\n\t\tvar rescaped = /(&|<|>|"|')/g;\n\t\tvar runescaped = /[&<>\"']/g;\n\n\t\tfunction escapeHtmlChar(match) {\n\t\t\treturn escapes[match];\n\t\t}\n\t\tfunction unescapeHtmlChar(match) {\n\t\t\treturn unescapes[match];\n\t\t}\n\n\t\tfunction escapeHtml(text) {\n\t\t\treturn text == null ? '' : String(text).replace(runescaped, escapeHtmlChar);\n\t\t}\n\n\t\tfunction unescapeHtml(html) {\n\t\t\treturn html == null ? '' : String(html).replace(rescaped, unescapeHtmlChar);\n\t\t}\n\n\t\tescapeHtml.options = unescapeHtml.options = {};\n\n\t\tmodule.exports = {\n\t\t\tencode: escapeHtml,\n\t\t\tescape: escapeHtml,\n\t\t\tdecode: unescapeHtml,\n\t\t\tunescape: unescapeHtml,\n\t\t\tversion: '1.0.0-browser'\n\t\t};\n\n\t}, {}], 10: [function (require, module, exports) {\n\t\t'use strict';\n\n\t\tfunction toMap(list) {\n\t\t\treturn list.reduce(asKey, {});\n\t\t}\n\n\t\tfunction asKey(accumulator, item) {\n\t\t\taccumulator[item] = true;\n\t\t\treturn accumulator;\n\t\t}\n\n\t\tmodule.exports = toMap;\n\n\t}, {}]\n}, {}, [4]);\n\n// ESM-comment-begin\n// define(function() { return { insane: __insane_func }; });\n// ESM-comment-end\n\n// ESM-uncomment-begin\nvar insane = __insane_func;\n// ESM-uncomment-end\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/marshalling.js\nvar marshalling = __webpack_require__(\"Q4rV\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/objects.js\nvar objects = __webpack_require__(\"qj0h\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/strings.js\nvar strings = __webpack_require__(\"N0LK\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/uri.js\nvar common_uri = __webpack_require__(\"bY76\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/network.js\nvar network = __webpack_require__(\"tYmi\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/codicons.js\nvar codicons = __webpack_require__(\"Vhoy\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * Create html nodes for the given content element.\r\n */\r\nfunction renderMarkdown(markdown, options) {\r\n if (options === void 0) { options = {}; }\r\n var element = Object(formattedTextRenderer[\"a\" /* createElement */])(options);\r\n var _uriMassage = function (part) {\r\n var data;\r\n try {\r\n data = Object(marshalling[\"a\" /* parse */])(decodeURIComponent(part));\r\n }\r\n catch (e) {\r\n // ignore\r\n }\r\n if (!data) {\r\n return part;\r\n }\r\n data = Object(objects[\"b\" /* cloneAndChange */])(data, function (value) {\r\n if (markdown.uris && markdown.uris[value]) {\r\n return common_uri[\"a\" /* URI */].revive(markdown.uris[value]);\r\n }\r\n else {\r\n return undefined;\r\n }\r\n });\r\n return encodeURIComponent(JSON.stringify(data));\r\n };\r\n var _href = function (href, isDomUri) {\r\n var data = markdown.uris && markdown.uris[href];\r\n if (!data) {\r\n return href; // no uri exists\r\n }\r\n var uri = common_uri[\"a\" /* URI */].revive(data);\r\n if (common_uri[\"a\" /* URI */].parse(href).toString() === uri.toString()) {\r\n return href; // no tranformation performed\r\n }\r\n if (isDomUri) {\r\n uri = dom[\"r\" /* asDomUri */](uri);\r\n }\r\n if (uri.query) {\r\n uri = uri.with({ query: _uriMassage(uri.query) });\r\n }\r\n return uri.toString(true);\r\n };\r\n // signal to code-block render that the\r\n // element has been created\r\n var signalInnerHTML;\r\n var withInnerHTML = new Promise(function (c) { return signalInnerHTML = c; });\r\n var renderer = new Renderer();\r\n renderer.image = function (href, title, text) {\r\n var _a;\r\n var dimensions = [];\r\n var attributes = [];\r\n if (href) {\r\n (_a = Object(htmlContent[\"d\" /* parseHrefAndDimensions */])(href), href = _a.href, dimensions = _a.dimensions);\r\n href = _href(href, true);\r\n attributes.push(\"src=\\\"\" + href + \"\\\"\");\r\n }\r\n if (text) {\r\n attributes.push(\"alt=\\\"\" + text + \"\\\"\");\r\n }\r\n if (title) {\r\n attributes.push(\"title=\\\"\" + title + \"\\\"\");\r\n }\r\n if (dimensions.length) {\r\n attributes = attributes.concat(dimensions);\r\n }\r\n return '';\r\n };\r\n renderer.link = function (href, title, text) {\r\n // Remove markdown escapes. Workaround for https://github.com/chjj/marked/issues/829\r\n if (href === text) { // raw link case\r\n text = Object(htmlContent[\"e\" /* removeMarkdownEscapes */])(text);\r\n }\r\n href = _href(href, false);\r\n title = Object(htmlContent[\"e\" /* removeMarkdownEscapes */])(title);\r\n href = Object(htmlContent[\"e\" /* removeMarkdownEscapes */])(href);\r\n if (!href\r\n || href.match(/^data:|javascript:/i)\r\n || (href.match(/^command:/i) && !markdown.isTrusted)\r\n || href.match(/^command:(\\/\\/\\/)?_workbench\\.downloadResource/i)) {\r\n // drop the link\r\n return text;\r\n }\r\n else {\r\n // HTML Encode href\r\n href = href.replace(/&/g, '&')\r\n .replace(//g, '>')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''');\r\n return \"
    \" + text + \"\";\r\n }\r\n };\r\n renderer.paragraph = function (text) {\r\n return \"

    \" + (markdown.supportThemeIcons ? Object(codicons[\"c\" /* renderCodicons */])(text) : text) + \"

    \";\r\n };\r\n if (options.codeBlockRenderer) {\r\n renderer.code = function (code, lang) {\r\n var value = options.codeBlockRenderer(lang, code);\r\n // when code-block rendering is async we return sync\r\n // but update the node with the real result later.\r\n var id = idGenerator[\"b\" /* defaultGenerator */].nextId();\r\n var promise = Promise.all([value, withInnerHTML]).then(function (values) {\r\n var strValue = values[0];\r\n var span = element.querySelector(\"div[data-code=\\\"\" + id + \"\\\"]\");\r\n if (span) {\r\n span.innerHTML = strValue;\r\n }\r\n }).catch(function (err) {\r\n // ignore\r\n });\r\n if (options.codeBlockRenderCallback) {\r\n promise.then(options.codeBlockRenderCallback);\r\n }\r\n return \"
    \" + Object(strings[\"o\" /* escape */])(code) + \"
    \";\r\n };\r\n }\r\n var actionHandler = options.actionHandler;\r\n if (actionHandler) {\r\n actionHandler.disposeables.add(dom[\"n\" /* addStandardDisposableListener */](element, 'click', function (event) {\r\n var target = event.target;\r\n if (target.tagName !== 'A') {\r\n target = target.parentElement;\r\n if (!target || target.tagName !== 'A') {\r\n return;\r\n }\r\n }\r\n try {\r\n var href = target.dataset['href'];\r\n if (href) {\r\n actionHandler.callback(href, event);\r\n }\r\n }\r\n catch (err) {\r\n Object(errors[\"e\" /* onUnexpectedError */])(err);\r\n }\r\n finally {\r\n event.preventDefault();\r\n }\r\n }));\r\n }\r\n var markedOptions = {\r\n sanitize: true,\r\n renderer: renderer\r\n };\r\n var allowedSchemes = [network[\"b\" /* Schemas */].http, network[\"b\" /* Schemas */].https, network[\"b\" /* Schemas */].mailto, network[\"b\" /* Schemas */].data, network[\"b\" /* Schemas */].file, network[\"b\" /* Schemas */].vscodeRemote, network[\"b\" /* Schemas */].vscodeRemoteResource];\r\n if (markdown.isTrusted) {\r\n allowedSchemes.push(network[\"b\" /* Schemas */].command);\r\n }\r\n var renderedMarkdown = parse(markdown.supportThemeIcons\r\n ? Object(codicons[\"b\" /* markdownEscapeEscapedCodicons */])(markdown.value)\r\n : markdown.value, markedOptions);\r\n element.innerHTML = insane(renderedMarkdown, {\r\n allowedSchemes: allowedSchemes,\r\n allowedAttributes: {\r\n 'a': ['href', 'name', 'target', 'data-href'],\r\n 'iframe': ['allowfullscreen', 'frameborder', 'src'],\r\n 'img': ['src', 'title', 'alt', 'width', 'height'],\r\n 'div': ['class', 'data-code'],\r\n 'span': ['class']\r\n }\r\n });\r\n signalInnerHTML();\r\n return element;\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/opener/common/opener.js\nvar common_opener = __webpack_require__(\"W9cx\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/modeService.js\nvar modeService = __webpack_require__(\"WBhO\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/textToHtmlTokenizer.js\nvar textToHtmlTokenizer = __webpack_require__(\"TQUy\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiation.js\nvar instantiation = __webpack_require__(\"Cg/j\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/event.js\nvar common_event = __webpack_require__(\"MI8n\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\nvar lifecycle = __webpack_require__(\"pmY6\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes.js + 3 modules\nvar modes = __webpack_require__(\"twdY\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/contrib/markdown/markdownRenderer.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 __decorate = (undefined && undefined.__decorate) || function (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\nvar __param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar markdownRenderer_MarkdownRenderer = /** @class */ (function (_super) {\r\n __extends(MarkdownRenderer, _super);\r\n function MarkdownRenderer(_editor, _modeService, _openerService) {\r\n if (_openerService === void 0) { _openerService = common_opener[\"b\" /* NullOpenerService */]; }\r\n var _this = _super.call(this) || this;\r\n _this._editor = _editor;\r\n _this._modeService = _modeService;\r\n _this._openerService = _openerService;\r\n _this._onDidRenderCodeBlock = _this._register(new common_event[\"a\" /* Emitter */]());\r\n _this.onDidRenderCodeBlock = _this._onDidRenderCodeBlock.event;\r\n return _this;\r\n }\r\n MarkdownRenderer.prototype.getOptions = function (disposeables) {\r\n var _this = this;\r\n return {\r\n codeBlockRenderer: function (languageAlias, value) {\r\n // In markdown,\r\n // it is possible that we stumble upon language aliases (e.g.js instead of javascript)\r\n // it is possible no alias is given in which case we fall back to the current editor lang\r\n var modeId = null;\r\n if (languageAlias) {\r\n modeId = _this._modeService.getModeIdForLanguageName(languageAlias);\r\n }\r\n else {\r\n var model = _this._editor.getModel();\r\n if (model) {\r\n modeId = model.getLanguageIdentifier().language;\r\n }\r\n }\r\n _this._modeService.triggerMode(modeId || '');\r\n return Promise.resolve(true).then(function (_) {\r\n var promise = modes[\"y\" /* TokenizationRegistry */].getPromise(modeId || '');\r\n if (promise) {\r\n return promise.then(function (support) { return Object(textToHtmlTokenizer[\"b\" /* tokenizeToString */])(value, support); });\r\n }\r\n return Object(textToHtmlTokenizer[\"b\" /* tokenizeToString */])(value, undefined);\r\n }).then(function (code) {\r\n return \"\" + code + \"\";\r\n });\r\n },\r\n codeBlockRenderCallback: function () { return _this._onDidRenderCodeBlock.fire(); },\r\n actionHandler: {\r\n callback: function (content) {\r\n _this._openerService.open(content, { fromUserGesture: true }).catch(errors[\"e\" /* onUnexpectedError */]);\r\n },\r\n disposeables: disposeables\r\n }\r\n };\r\n };\r\n MarkdownRenderer.prototype.render = function (markdown) {\r\n var disposeables = new lifecycle[\"b\" /* DisposableStore */]();\r\n var element;\r\n if (!markdown) {\r\n element = document.createElement('span');\r\n }\r\n else {\r\n element = renderMarkdown(markdown, this.getOptions(disposeables));\r\n }\r\n return {\r\n element: element,\r\n dispose: function () { return disposeables.dispose(); }\r\n };\r\n };\r\n MarkdownRenderer = __decorate([\r\n __param(1, modeService[\"a\" /* IModeService */]),\r\n __param(2, Object(instantiation[\"d\" /* optional */])(common_opener[\"a\" /* IOpenerService */]))\r\n ], MarkdownRenderer);\r\n return MarkdownRenderer;\r\n}(lifecycle[\"a\" /* Disposable */]));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/markdown/markdownRenderer.js_+_3_modules?")},"3rx1":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getPathLabel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getBaseLabel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return normalizeDriveLetter; });\n/* unused harmony export tildify */\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bY76");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MrjW");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("N0LK");\n/* harmony import */ var _network_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("tYmi");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("MNsG");\n/* harmony import */ var _resources_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("gslv");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * @deprecated use LabelService instead\r\n */\r\nfunction getPathLabel(resource, userHomeProvider, rootProvider) {\r\n if (typeof resource === \'string\') {\r\n resource = _uri_js__WEBPACK_IMPORTED_MODULE_0__[/* URI */ "a"].file(resource);\r\n }\r\n // return early if we can resolve a relative path label from the root\r\n if (rootProvider) {\r\n var baseResource = rootProvider.getWorkspaceFolder(resource);\r\n if (baseResource) {\r\n var hasMultipleRoots = rootProvider.getWorkspace().folders.length > 1;\r\n var pathLabel = void 0;\r\n if (Object(_resources_js__WEBPACK_IMPORTED_MODULE_5__[/* isEqual */ "e"])(baseResource.uri, resource)) {\r\n pathLabel = \'\'; // no label if paths are identical\r\n }\r\n else {\r\n pathLabel = Object(_resources_js__WEBPACK_IMPORTED_MODULE_5__[/* relativePath */ "h"])(baseResource.uri, resource);\r\n }\r\n if (hasMultipleRoots) {\r\n var rootName = baseResource.name ? baseResource.name : Object(_resources_js__WEBPACK_IMPORTED_MODULE_5__[/* basename */ "b"])(baseResource.uri);\r\n pathLabel = pathLabel ? (rootName + \' \u2022 \' + pathLabel) : rootName; // always show root basename if there are multiple\r\n }\r\n return pathLabel;\r\n }\r\n }\r\n // return if the resource is neither file:// nor untitled:// and no baseResource was provided\r\n if (resource.scheme !== _network_js__WEBPACK_IMPORTED_MODULE_3__[/* Schemas */ "b"].file && resource.scheme !== _network_js__WEBPACK_IMPORTED_MODULE_3__[/* Schemas */ "b"].untitled) {\r\n return resource.with({ query: null, fragment: null }).toString(true);\r\n }\r\n // convert c:\\something => C:\\something\r\n if (hasDriveLetter(resource.fsPath)) {\r\n return Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["normalize"])(normalizeDriveLetter(resource.fsPath));\r\n }\r\n // normalize and tildify (macOS, Linux only)\r\n var res = Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["normalize"])(resource.fsPath);\r\n if (!_platform_js__WEBPACK_IMPORTED_MODULE_4__[/* isWindows */ "h"] && userHomeProvider) {\r\n res = tildify(res, userHomeProvider.userHome);\r\n }\r\n return res;\r\n}\r\nfunction getBaseLabel(resource) {\r\n if (!resource) {\r\n return undefined;\r\n }\r\n if (typeof resource === \'string\') {\r\n resource = _uri_js__WEBPACK_IMPORTED_MODULE_0__[/* URI */ "a"].file(resource);\r\n }\r\n var base = Object(_resources_js__WEBPACK_IMPORTED_MODULE_5__[/* basename */ "b"])(resource) || (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_3__[/* Schemas */ "b"].file ? resource.fsPath : resource.path) /* can be empty string if \'/\' is passed in */;\r\n // convert c: => C:\r\n if (hasDriveLetter(base)) {\r\n return normalizeDriveLetter(base);\r\n }\r\n return base;\r\n}\r\nfunction hasDriveLetter(path) {\r\n return !!(_platform_js__WEBPACK_IMPORTED_MODULE_4__[/* isWindows */ "h"] && path && path[1] === \':\');\r\n}\r\nfunction normalizeDriveLetter(path) {\r\n if (hasDriveLetter(path)) {\r\n return path.charAt(0).toUpperCase() + path.slice(1);\r\n }\r\n return path;\r\n}\r\nvar normalizedUserHomeCached = Object.create(null);\r\nfunction tildify(path, userHome) {\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_4__[/* isWindows */ "h"] || !path || !userHome) {\r\n return path; // unsupported\r\n }\r\n // Keep a normalized user home path as cache to prevent accumulated string creation\r\n var normalizedUserHome = normalizedUserHomeCached.original === userHome ? normalizedUserHomeCached.normalized : undefined;\r\n if (!normalizedUserHome) {\r\n normalizedUserHome = "" + Object(_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* rtrim */ "K"])(userHome, _path_js__WEBPACK_IMPORTED_MODULE_1__["posix"].sep) + _path_js__WEBPACK_IMPORTED_MODULE_1__["posix"].sep;\r\n normalizedUserHomeCached = { original: userHome, normalized: normalizedUserHome };\r\n }\r\n // Linux: case sensitive, macOS: case insensitive\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_4__[/* isLinux */ "d"] ? Object(_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* startsWith */ "M"])(path, normalizedUserHome) : Object(_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* startsWithIgnoreCase */ "N"])(path, normalizedUserHome)) {\r\n path = "~/" + path.substr(normalizedUserHome.length);\r\n }\r\n return path;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/labels.js?')},"3zoK":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar ComponentModel = __webpack_require__(\"bLfw\");\n\nvar makeStyleMapper = __webpack_require__(\"KCsZ\");\n\nvar axisModelCreator = __webpack_require__(\"nkfE\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar axisModelCommonMixin = __webpack_require__(\"ICMv\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 AxisModel = ComponentModel.extend({\n type: 'baseParallelAxis',\n\n /**\n * @type {module:echarts/coord/parallel/Axis}\n */\n axis: null,\n\n /**\n * @type {Array.}\n * @readOnly\n */\n activeIntervals: [],\n\n /**\n * @return {Object}\n */\n getAreaSelectStyle: function () {\n return makeStyleMapper([['fill', 'color'], ['lineWidth', 'borderWidth'], ['stroke', 'borderColor'], ['width', 'width'], ['opacity', 'opacity']])(this.getModel('areaSelectStyle'));\n },\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 {Array.>} intervals interval.length === 0\n * means set all active.\n * @public\n */\n setActiveIntervals: function (intervals) {\n var activeIntervals = this.activeIntervals = zrUtil.clone(intervals); // Normalize\n\n if (activeIntervals) {\n for (var i = activeIntervals.length - 1; i >= 0; i--) {\n numberUtil.asc(activeIntervals[i]);\n }\n }\n },\n\n /**\n * @param {number|string} [value] When attempting to detect 'no activeIntervals set',\n * value can not be input.\n * @return {string} 'normal': no activeIntervals set,\n * 'active',\n * 'inactive'.\n * @public\n */\n 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});\nvar defaultOption = {\n type: 'value',\n\n /**\n * @type {Array.}\n */\n dim: null,\n // 0, 1, 2, ...\n // parallelIndex: null,\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 // Whether realtime update view when select.\n z: 10\n};\nzrUtil.merge(AxisModel.prototype, axisModelCommonMixin);\n\nfunction getAxisType(axisName, option) {\n return option.type || (option.data ? 'category' : 'value');\n}\n\naxisModelCreator('parallel', AxisModel, getAxisType, defaultOption);\nvar _default = AxisModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/AxisModel.js?")},"4Feb":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphicUtil = __webpack_require__(\"IwbS\");\n\nvar _labelHelper = __webpack_require__(\"x3X8\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\nvar createListFromArray = __webpack_require__(\"MwEJ\");\n\nvar _barGrid = __webpack_require__(\"nVfU\");\n\nvar getLayoutOnAxis = _barGrid.getLayoutOnAxis;\n\nvar DataDiffer = __webpack_require__(\"gPAo\");\n\nvar SeriesModel = __webpack_require__(\"T4UG\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar ChartView = __webpack_require__(\"6Ic6\");\n\nvar _createClipPathFromCoordSys = __webpack_require__(\"sK/D\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\nvar prepareCartesian2d = __webpack_require__(\"qj72\");\n\nvar prepareGeo = __webpack_require__(\"ANjR\");\n\nvar prepareSingleAxis = __webpack_require__(\"MHtr\");\n\nvar preparePolar = __webpack_require__(\"6usn\");\n\nvar prepareCalendar = __webpack_require__(\"Rx6q\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 CACHED_LABEL_STYLE_PROPERTIES = graphicUtil.CACHED_LABEL_STYLE_PROPERTIES;\nvar ITEM_STYLE_NORMAL_PATH = ['itemStyle'];\nvar ITEM_STYLE_EMPHASIS_PATH = ['emphasis', 'itemStyle'];\nvar LABEL_NORMAL = ['label'];\nvar LABEL_EMPHASIS = ['emphasis', 'label']; // Use prefix to avoid index to be the same as el.name,\n// which will cause weird udpate animation.\n\nvar GROUP_DIFF_PREFIX = 'e\\0\\0';\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: prepareCartesian2d,\n geo: prepareGeo,\n singleAxis: prepareSingleAxis,\n polar: preparePolar,\n calendar: prepareCalendar\n}; // ------\n// Model\n// ------\n\nSeriesModel.extend({\n type: 'series.custom',\n dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'],\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n // Can be set as 'none'\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n useTransform: 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 // Only works on polar and cartesian2d coordinate system.\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 // label: {}\n // itemStyle: {}\n\n },\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this);\n },\n\n /**\n * @override\n */\n getDataParams: function (dataIndex, dataType, el) {\n var params = SeriesModel.prototype.getDataParams.apply(this, arguments);\n el && (params.info = el.info);\n return params;\n }\n}); // -----\n// View\n// -----\n\nChartView.extend({\n type: 'custom',\n\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n _data: null,\n\n /**\n * @override\n */\n render: function (customSeries, ecModel, api, payload) {\n var oldData = this._data;\n var data = customSeries.getData();\n var group = this.group;\n var renderItem = makeRenderItem(customSeries, data, ecModel, api); // By default, merge mode is applied. In most cases, custom series is\n // used in the scenario that data amount is not large but graphic elements\n // is complicated, where merge mode is probably necessary for optimization.\n // For example, reuse graphic elements and only update the transform when\n // roam or data zoom according to `actionType`.\n\n data.diff(oldData).add(function (newIdx) {\n createOrUpdate(null, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n }).update(function (newIdx, oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n createOrUpdate(el, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute(); // Do clipping\n\n var clipPath = customSeries.get('clip', true) ? 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 incrementalPrepareRender: function (customSeries, ecModel, api) {\n this.group.removeAll();\n this._data = null;\n },\n incrementalRender: function (params, customSeries, ecModel, api, payload) {\n var data = customSeries.getData();\n var renderItem = makeRenderItem(customSeries, data, ecModel, api);\n\n function setIncrementalAndHoverLayer(el) {\n if (!el.isGroup) {\n el.incremental = true;\n el.useHoverLayer = true;\n }\n }\n\n for (var idx = params.start; idx < params.end; idx++) {\n var el = createOrUpdate(null, idx, renderItem(idx, payload), customSeries, this.group, data);\n el.traverse(setIncrementalAndHoverLayer);\n }\n },\n\n /**\n * @override\n */\n dispose: zrUtil.noop,\n\n /**\n * @override\n */\n 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.parent) && targetEl !== this.group) {\n if (targetEl.name === elementName) {\n return true;\n }\n }\n\n return false;\n }\n});\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 = graphicUtil.makePath(pathData, null, pathRect, shape.layout || 'center');\n el.__customPathData = pathData;\n } else if (graphicType === 'image') {\n el = new graphicUtil.Image({});\n el.__customImagePath = elOption.style.image;\n } else if (graphicType === 'text') {\n el = new graphicUtil.Text({});\n el.__customText = elOption.style.text;\n } else if (graphicType === 'group') {\n el = new graphicUtil.Group();\n } else if (graphicType === 'compoundPath') {\n throw new Error('\"compoundPath\" is not supported yet.');\n } else {\n var Clz = graphicUtil.getShapeClass(graphicType);\n el = new Clz();\n }\n\n el.__customGraphicType = graphicType;\n el.name = elOption.name;\n return el;\n}\n\nfunction updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot) {\n var transitionProps = {};\n var elOptionStyle = elOption.style || {};\n elOption.shape && (transitionProps.shape = zrUtil.clone(elOption.shape));\n elOption.position && (transitionProps.position = elOption.position.slice());\n elOption.scale && (transitionProps.scale = elOption.scale.slice());\n elOption.origin && (transitionProps.origin = elOption.origin.slice());\n elOption.rotation && (transitionProps.rotation = elOption.rotation);\n\n if (el.type === 'image' && elOption.style) {\n var targetStyle = transitionProps.style = {};\n zrUtil.each(['x', 'y', 'width', 'height'], function (prop) {\n prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);\n });\n }\n\n if (el.type === 'text' && elOption.style) {\n var targetStyle = transitionProps.style = {};\n zrUtil.each(['x', 'y'], function (prop) {\n prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);\n }); // Compatible with previous: both support\n // textFill and fill, textStroke and stroke in 'text' element.\n\n !elOptionStyle.hasOwnProperty('textFill') && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);\n !elOptionStyle.hasOwnProperty('textStroke') && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);\n }\n\n if (el.type !== 'group') {\n el.useStyle(elOptionStyle); // Init animation.\n\n if (isInit) {\n el.style.opacity = 0;\n var targetOpacity = elOptionStyle.opacity;\n targetOpacity == null && (targetOpacity = 1);\n graphicUtil.initProps(el, {\n style: {\n opacity: targetOpacity\n }\n }, animatableModel, dataIndex);\n }\n }\n\n if (isInit) {\n el.attr(transitionProps);\n } else {\n graphicUtil.updateProps(el, transitionProps, animatableModel, dataIndex);\n } // Merge by default.\n // z2 must not be null/undefined, otherwise sort error may occur.\n\n\n elOption.hasOwnProperty('z2') && el.attr('z2', elOption.z2 || 0);\n elOption.hasOwnProperty('silent') && el.attr('silent', elOption.silent);\n elOption.hasOwnProperty('invisible') && el.attr('invisible', elOption.invisible);\n elOption.hasOwnProperty('ignore') && el.attr('ignore', elOption.ignore); // `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 elOption.hasOwnProperty('info') && el.attr('info', elOption.info); // If `elOption.styleEmphasis` is `false`, remove hover style. The\n // logic is ensured by `graphicUtil.setElementHoverStyle`.\n\n var styleEmphasis = elOption.styleEmphasis; // hoverStyle should always be set here, because if the hover style\n // may already be changed, where the inner cache should be reset.\n\n graphicUtil.setElementHoverStyle(el, styleEmphasis);\n\n if (isRoot) {\n graphicUtil.setAsHighDownDispatcher(el, styleEmphasis !== false);\n }\n}\n\nfunction prepareStyleTransition(prop, targetStyle, elOptionStyle, oldElStyle, isInit) {\n if (elOptionStyle[prop] != null && !isInit) {\n targetStyle[prop] = elOptionStyle[prop];\n elOptionStyle[prop] = oldElStyle[prop];\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 prepareResult = coordSys.prepareCustoms ? coordSys.prepareCustoms() : prepareCustoms[coordSys.type](coordSys);\n }\n\n var userAPI = zrUtil.defaults({\n getWidth: api.getWidth,\n getHeight: api.getHeight,\n getZr: api.getZr,\n getDevicePixelRatio: api.getDevicePixelRatio,\n value: value,\n style: style,\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 }; // Do not support call `api` asynchronously without dataIndexInside input.\n\n var currDataIndexInside;\n var currDirty = true;\n var currItemModel;\n var currLabelNormalModel;\n var currLabelEmphasisModel;\n var currVisualColor;\n return function (dataIndexInside, payload) {\n currDataIndexInside = dataIndexInside;\n currDirty = true;\n return renderItem && renderItem(zrUtil.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 }; // Do not update cache until api called.\n\n function updateCache(dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n\n if (currDirty) {\n currItemModel = data.getItemModel(dataIndexInside);\n currLabelNormalModel = currItemModel.getModel(LABEL_NORMAL);\n currLabelEmphasisModel = currItemModel.getModel(LABEL_EMPHASIS);\n currVisualColor = data.getItemVisual(dataIndexInside, 'color');\n currDirty = false;\n }\n }\n /**\n * @public\n * @param {number|string} dim\n * @param {number} [dataIndexInside=currDataIndexInside]\n * @return {number|string} value\n */\n\n\n function value(dim, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n return data.get(data.getDimension(dim || 0), dataIndexInside);\n }\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 * @public\n * @param {Object} [extra]\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function style(extra, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n updateCache(dataIndexInside);\n var itemStyle = currItemModel.getModel(ITEM_STYLE_NORMAL_PATH).getItemStyle();\n currVisualColor != null && (itemStyle.fill = currVisualColor);\n var opacity = data.getItemVisual(dataIndexInside, 'opacity');\n opacity != null && (itemStyle.opacity = opacity);\n var labelModel = extra ? applyExtraBefore(extra, currLabelNormalModel) : currLabelNormalModel;\n graphicUtil.setTextStyle(itemStyle, labelModel, null, {\n autoColor: currVisualColor,\n isRectText: true\n });\n itemStyle.text = labelModel.getShallow('show') ? zrUtil.retrieve2(customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && applyExtraAfter(itemStyle, extra);\n return itemStyle;\n }\n /**\n * @public\n * @param {Object} [extra]\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function styleEmphasis(extra, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n updateCache(dataIndexInside);\n var itemStyle = currItemModel.getModel(ITEM_STYLE_EMPHASIS_PATH).getItemStyle();\n var labelModel = extra ? applyExtraBefore(extra, currLabelEmphasisModel) : currLabelEmphasisModel;\n graphicUtil.setTextStyle(itemStyle, labelModel, null, {\n isRectText: true\n }, true);\n itemStyle.text = labelModel.getShallow('show') ? zrUtil.retrieve3(customSeries.getFormattedLabel(dataIndexInside, 'emphasis'), customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && applyExtraAfter(itemStyle, extra);\n return itemStyle;\n }\n /**\n * @public\n * @param {string} visualType\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function visual(visualType, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n return data.getItemVisual(dataIndexInside, visualType);\n }\n /**\n * @public\n * @param {number} opt.count Positive interger.\n * @param {number} [opt.barWidth]\n * @param {number} [opt.barMaxWidth]\n * @param {number} [opt.barMinWidth]\n * @param {number} [opt.barGap]\n * @param {number} [opt.barCategoryGap]\n * @return {Object} {width, offset, offsetCenter} is not support, return undefined.\n */\n\n\n function barLayout(opt) {\n if (coordSys.getBaseAxis) {\n var baseAxis = coordSys.getBaseAxis();\n return getLayoutOnAxis(zrUtil.defaults({\n axis: baseAxis\n }, opt), api);\n }\n }\n /**\n * @public\n * @return {Array.}\n */\n\n\n function currentSeriesIndices() {\n return ecModel.getCurrentSeriesIndices();\n }\n /**\n * @public\n * @param {Object} opt\n * @param {string} [opt.fontStyle]\n * @param {number} [opt.fontWeight]\n * @param {number} [opt.fontSize]\n * @param {string} [opt.fontFamily]\n * @return {string} font string\n */\n\n\n function font(opt) {\n return graphicUtil.getFont(opt, ecModel);\n }\n}\n\nfunction wrapEncodeDef(data) {\n var encodeDef = {};\n zrUtil.each(data.dimensions, function (dimName, dataDimIndex) {\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] = dataDimIndex;\n }\n });\n return encodeDef;\n}\n\nfunction createOrUpdate(el, dataIndex, elOption, animatableModel, group, data) {\n el = doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data, true);\n el && data.setItemGraphicEl(dataIndex, el);\n return el;\n}\n\nfunction doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data, isRoot) {\n // [Rule]\n // By default, follow merge mode.\n // (It probably brings benifit for performance in some cases of large data, where\n // user program can be optimized to that only updated props needed to be re-calculated,\n // or according to `actionType` some calculation can be skipped.)\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 var simplyRemove = !elOption; // `null`/`undefined`/`false`\n\n elOption = elOption || {};\n var elOptionType = elOption.type;\n var elOptionShape = elOption.shape;\n var elOptionStyle = elOption.style;\n\n if (el && (simplyRemove // || elOption.$merge === false\n // If `elOptionType` is `null`, follow the merge principle.\n || elOptionType != null && elOptionType !== el.__customGraphicType || elOptionType === 'path' && hasOwnPathData(elOptionShape) && getPathData(elOptionShape) !== el.__customPathData || elOptionType === 'image' && hasOwn(elOptionStyle, 'image') && elOptionStyle.image !== el.__customImagePath // FIXME test and remove this restriction?\n || elOptionType === 'text' && hasOwn(elOptionShape, 'text') && elOptionStyle.text !== el.__customText)) {\n group.remove(el);\n el = null;\n } // `elOption.type` is undefined when `renderItem` returns nothing.\n\n\n if (simplyRemove) {\n return;\n }\n\n var isInit = !el;\n !el && (el = createEl(elOption));\n updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot);\n\n if (elOptionType === 'group') {\n mergeChildren(el, dataIndex, elOption, animatableModel, data);\n } // Always add whatever already added to ensure sequence.\n\n\n group.add(el);\n return el;\n} // Usage:\n// (1) By default, `elOption.$mergeChildren` is `'byIndex'`, which indicates that\n// the existing children will not be removed, and enables the feature that\n// 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 happen.\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` or replace\n// it by another element, where its `$merge` can be set as `true` if necessary.\n\n\nfunction mergeChildren(el, dataIndex, elOption, animatableModel, data) {\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 oldChildren: el.children() || [],\n newChildren: newChildren || [],\n dataIndex: dataIndex,\n animatableModel: animatableModel,\n group: el,\n data: data\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 newChildren[index] && doCreateOrUpdate(el.childAt(index), dataIndex, newChildren[index], animatableModel, el, data);\n }\n}\n\nfunction diffGroupChildren(context) {\n new DataDiffer(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 doCreateOrUpdate(child, context.dataIndex, childOption, context.animatableModel, context.group, context.data);\n} // `graphic#applyDefaultTextStyle` will cache\n// textFill, textStroke, textStrokeWidth.\n// We have to do this trick.\n\n\nfunction applyExtraBefore(extra, model) {\n var dummyModel = new Model({}, model);\n zrUtil.each(CACHED_LABEL_STYLE_PROPERTIES, function (stylePropName, modelPropName) {\n if (extra.hasOwnProperty(stylePropName)) {\n dummyModel.option[modelPropName] = extra[stylePropName];\n }\n });\n return dummyModel;\n}\n\nfunction applyExtraAfter(itemStyle, extra) {\n for (var key in extra) {\n if (extra.hasOwnProperty(key) || !CACHED_LABEL_STYLE_PROPERTIES.hasOwnProperty(key)) {\n itemStyle[key] = extra[key];\n }\n }\n}\n\nfunction processRemove(oldIndex) {\n var context = this.context;\n var child = context.oldChildren[oldIndex];\n child && context.group.remove(child);\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 && (shape.hasOwnProperty('pathData') || shape.hasOwnProperty('d'));\n}\n\nfunction hasOwn(host, prop) {\n return host && host.hasOwnProperty(prop);\n}\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/custom.js?")},"4HMb":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar textContain = __webpack_require__(\"6GrX\");\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar makeInner = _model.makeInner;\n\nvar _axisHelper = __webpack_require__(\"aX7z\");\n\nvar makeLabelFormatter = _axisHelper.makeLabelFormatter;\nvar getOptionCategoryInterval = _axisHelper.getOptionCategoryInterval;\nvar shouldShowAllLabels = _axisHelper.shouldShowAllLabels;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 inner = makeInner();\n/**\n * @param {module:echats/coord/Axis} axis\n * @return {Object} {\n * labels: [{\n * formattedLabel: string,\n * rawLabel: string,\n * tickValue: number\n * }, ...],\n * labelCategoryInterval: number\n * }\n */\n\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.\n * tickCategoryInterval: number\n * }\n */\n\n\nfunction createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: axis.scale.getTicks()\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 = 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 (zrUtil.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 = 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 (zrUtil.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 = zrUtil.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 = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tickValue, idx) {\n return {\n formattedLabel: labelFormatter(tickValue, idx),\n rawLabel: axis.scale.getLabel(tickValue),\n tickValue: tickValue\n };\n })\n };\n} // Large category data calculation is performence sensitive, and ticks and label\n// probably be fetched by multiple times. So we cache the result.\n// axis is created each time during a ec process, so we do not need to clear cache.\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 = 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 = textContain.getBoundingRect(labelFormatter(tickValue), 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.axisExtend0 === axisExtent[0] && cache.axisExtend1 === 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.axisExtend0 = axisExtent[0];\n cache.axisExtend1 = 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 = 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 = 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(tVal) {\n result.push(onlyTick ? tVal : {\n formattedLabel: labelFormatter(tVal),\n rawLabel: ordinalScale.getLabel(tVal),\n tickValue: tVal\n });\n }\n\n return result;\n} // When interval is function, the result `false` means ignore the tick.\n// It is time consuming for large category data.\n\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tickValue) {\n var rawLabel = ordinalScale.getLabel(tickValue);\n\n if (categoryInterval(tickValue, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickValue),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}\n\nexports.createAxisLabels = createAxisLabels;\nexports.createAxisTicks = createAxisTicks;\nexports.calculateCategoryInterval = calculateCategoryInterval;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisTickLabelBuilder.js?")},"4IlW":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (KeyCode);\n\n//# sourceURL=webpack:///./node_modules/rc-util/es/KeyCode.js?")},"4NO4":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar env = __webpack_require__(\"ItGF\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar isArray = zrUtil.isArray;\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\nvar DUMMY_COMPONENT_NAME_PREFIX = 'series\\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 * @param {Object} opt\n * @param {string} key\n * @param {Array.} subOpts\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}\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 * @param {string|number|Date|Array|Object} dataItem\n * @return {number|string|Date|Array.}\n */\n\nfunction getDataItemValue(dataItem) {\n return isObject(dataItem) && !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 * @param {string|number|Date|Array|Object} dataItem\n */\n\n\nfunction isDataItemOption(dataItem) {\n return isObject(dataItem) && !(dataItem instanceof Array); // // markLine data can be array\n // && !(dataItem[0] && isObject(dataItem[0]) && !(dataItem[0] instanceof Array));\n}\n/**\n * Mapping to exists for merge.\n *\n * @public\n * @param {Array.|Array.} exists\n * @param {Object|Array.} newCptOptions\n * @return {Array.} Result, like [{exist: ..., option: ...}, {}],\n * index of which is the same as exists.\n */\n\n\nfunction mappingToExists(exists, newCptOptions) {\n // Mapping by the order by original option (but not order of\n // new option) in merge mode. Because we should ensure\n // some specified index (like xAxisIndex) is consistent with\n // original option, which is easy to understand, espatially in\n // media query. And in most case, merge option is used to\n // update partial option but not be expected to change order.\n newCptOptions = (newCptOptions || []).slice();\n var result = zrUtil.map(exists || [], function (obj, index) {\n return {\n exist: obj\n };\n }); // Mapping by id or name if specified.\n\n each(newCptOptions, function (cptOption, index) {\n if (!isObject(cptOption)) {\n return;\n } // id has highest priority.\n\n\n for (var i = 0; i < result.length; i++) {\n if (!result[i].option // Consider name: two map to one.\n && cptOption.id != null && result[i].exist.id === cptOption.id + '') {\n result[i].option = cptOption;\n newCptOptions[index] = null;\n return;\n }\n }\n\n for (var i = 0; i < result.length; i++) {\n var exist = result[i].exist;\n\n if (!result[i].option // Consider name: two map to one.\n // Can not match when both ids exist but different.\n && (exist.id == null || cptOption.id == null) && cptOption.name != null && !isIdInner(cptOption) && !isIdInner(exist) && exist.name === cptOption.name + '') {\n result[i].option = cptOption;\n newCptOptions[index] = null;\n return;\n }\n }\n }); // Otherwise mapping by index.\n\n each(newCptOptions, function (cptOption, index) {\n if (!isObject(cptOption)) {\n return;\n }\n\n var i = 0;\n\n for (; i < result.length; i++) {\n var exist = result[i].exist;\n\n if (!result[i].option // Existing model that already has id should be able to\n // mapped to (because after mapping performed model may\n // be assigned with a id, whish should not affect next\n // mapping), except those has inner id.\n && !isIdInner(exist) // Caution:\n // Do not overwrite id. But name can be overwritten,\n // because axis use name as 'show label text'.\n // 'exist' always has id and name and we dont\n // need to check it.\n && cptOption.id == null) {\n result[i].option = cptOption;\n break;\n }\n }\n\n if (i >= result.length) {\n result.push({\n option: cptOption\n });\n }\n });\n return result;\n}\n/**\n * Make id and name for mapping result (result of mappingToExists)\n * into `keyInfo` field.\n *\n * @public\n * @param {Array.} Result, like [{exist: ..., option: ...}, {}],\n * which order is the same as exists.\n * @return {Array.} The input.\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 = zrUtil.createHashMap();\n each(mapResult, function (item, index) {\n var existCpt = item.exist;\n existCpt && idMap.set(existCpt.id, item);\n });\n each(mapResult, function (item, index) {\n var opt = item.option;\n zrUtil.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 each(mapResult, function (item, index) {\n var existCpt = item.exist;\n var opt = item.option;\n var keyInfo = item.keyInfo;\n\n if (!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 ? opt.name + '' : existCpt ? existCpt.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 (existCpt) {\n keyInfo.id = existCpt.id;\n } else if (opt.id != null) {\n keyInfo.id = 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 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} cptOption\n * @return {boolean}\n */\n\n\nfunction isIdInner(cptOption) {\n return isObject(cptOption) && cptOption.id && (cptOption.id + '').indexOf('\\0_ec_\\0') === 0;\n}\n/**\n * A helper for removing duplicate items between batchA and batchB,\n * and in themselves, and categorize by series.\n *\n * @param {Array.} batchA Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @param {Array.} batchB Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @return {Array., Array.>} 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 = sourceBatch[i].seriesId;\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 {module:echarts/data/List} data\n * @param {Object} payload Contains dataIndex (means rawIndex) / dataIndexInside / name\n * each of which can be Array or primary type.\n * @return {number|Array.} dataIndex If not found, return undefined/null.\n */\n\n\nfunction queryDataIndex(data, payload) {\n if (payload.dataIndexInside != null) {\n return payload.dataIndexInside;\n } else if (payload.dataIndex != null) {\n return zrUtil.isArray(payload.dataIndex) ? zrUtil.map(payload.dataIndex, function (value) {\n return data.indexOfRawIndex(value);\n }) : data.indexOfRawIndex(payload.dataIndex);\n } else if (payload.name != null) {\n return zrUtil.isArray(payload.name) ? zrUtil.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 * var inner = zrUitl.makeInner();\n *\n * function some1(hostObj) {\n * inner(hostObj).someProperty = 1212;\n * ...\n * }\n * function some2() {\n * var fields = inner(this);\n * fields.someProperty1 = 1212;\n * fields.someProperty2 = 'xx';\n * ...\n * }\n *\n * @return {Function}\n */\n\n\nfunction makeInner() {\n // Consider different scope by es module import.\n var key = '__\\0ec_inner_' + innerUniqueIndex++ + '_' + Math.random().toFixed(5);\n return function (hostObj) {\n return hostObj[key] || (hostObj[key] = {});\n };\n}\n\nvar innerUniqueIndex = 0;\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex, seriesId, seriesName,\n * geoIndex, geoId, geoName,\n * bmapIndex, bmapId, bmapName,\n * xAxisIndex, xAxisId, xAxisName,\n * yAxisIndex, yAxisId, yAxisName,\n * gridIndex, gridId, gridName,\n * ... (can be extended)\n * }\n * Each properties can be number|string|Array.|Array.\n * For example, a finder could be\n * {\n * seriesIndex: 3,\n * geoId: ['aa', 'cc'],\n * gridName: ['xx', 'rr']\n * }\n * xxxIndex can be set as 'all' (means all xxx) or 'none' (means not specify)\n * If nothing or null/undefined specified, return nothing.\n * @param {Object} [opt]\n * @param {string} [opt.defaultMainType]\n * @param {Array.} [opt.includeMainTypes]\n * @return {Object} result like:\n * {\n * seriesModels: [seriesModel1, seriesModel2],\n * seriesModel: seriesModel1, // The first model\n * geoModels: [geoModel1, geoModel2],\n * geoModel: geoModel1, // The first model\n * ...\n * }\n */\n\nfunction parseFinder(ecModel, finder, opt) {\n if (zrUtil.isString(finder)) {\n var obj = {};\n obj[finder + 'Index'] = 0;\n finder = obj;\n }\n\n var defaultMainType = opt && opt.defaultMainType;\n\n if (defaultMainType && !has(finder, defaultMainType + 'Index') && !has(finder, defaultMainType + 'Id') && !has(finder, defaultMainType + 'Name')) {\n finder[defaultMainType + 'Index'] = 0;\n }\n\n var result = {};\n each(finder, function (value, key) {\n var value = finder[key]; // Exclude 'dataIndex' and other illgal keys.\n\n if (key === 'dataIndex' || key === 'dataIndexInside') {\n result[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 || value == null || queryType === 'index' && value === 'none' || opt && opt.includeMainTypes && zrUtil.indexOf(opt.includeMainTypes, mainType) < 0) {\n return;\n }\n\n var queryParam = {\n mainType: mainType\n };\n\n if (queryType !== 'index' || value !== 'all') {\n queryParam[queryType] = value;\n }\n\n var models = ecModel.queryComponents(queryParam);\n result[mainType + 'Models'] = models;\n result[mainType + 'Model'] = models[0];\n });\n return result;\n}\n\nfunction has(obj, prop) {\n return obj && obj.hasOwnProperty(prop);\n}\n\nfunction setAttribute(dom, key, value) {\n dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value;\n}\n\nfunction getAttribute(dom, key) {\n return dom.getAttribute ? dom.getAttribute(key) : dom[key];\n}\n\nfunction getTooltipRenderMode(renderModeOption) {\n if (renderModeOption === 'auto') {\n // Using html when `document` exists, use richText otherwise\n return env.domSupported ? 'html' : 'richText';\n } else {\n return renderModeOption || 'html';\n }\n}\n/**\n * Group a list by key.\n *\n * @param {Array} array\n * @param {Function} getKey\n * param {*} Array item\n * return {string} key\n * @return {Object} Result\n * {Array}: keys,\n * {module:zrender/core/util/HashMap} buckets: {key -> Array}\n */\n\n\nfunction groupData(array, getKey) {\n var buckets = zrUtil.createHashMap();\n var keys = [];\n zrUtil.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\nexports.normalizeToArray = normalizeToArray;\nexports.defaultEmphasis = defaultEmphasis;\nexports.TEXT_STYLE_OPTIONS = TEXT_STYLE_OPTIONS;\nexports.getDataItemValue = getDataItemValue;\nexports.isDataItemOption = isDataItemOption;\nexports.mappingToExists = mappingToExists;\nexports.makeIdAndName = makeIdAndName;\nexports.isNameSpecified = isNameSpecified;\nexports.isIdInner = isIdInner;\nexports.compressBatches = compressBatches;\nexports.queryDataIndex = queryDataIndex;\nexports.makeInner = makeInner;\nexports.parseFinder = parseFinder;\nexports.setAttribute = setAttribute;\nexports.getAttribute = getAttribute;\nexports.getTooltipRenderMode = getTooltipRenderMode;\nexports.groupData = groupData;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/model.js?")},"4NgU":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 clazzUtil = __webpack_require__("Yl7c");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * // Scale class management\n * @module echarts/scale/Scale\n */\n\n/**\n * @param {Object} [setting]\n */\nfunction Scale(setting) {\n this._setting = setting || {};\n /**\n * Extent\n * @type {Array.}\n * @protected\n */\n\n this._extent = [Infinity, -Infinity];\n /**\n * Step is calculated in adjustExtent\n * @type {Array.}\n * @protected\n */\n\n this._interval = 0;\n this.init && this.init.apply(this, arguments);\n}\n/**\n * Parse input val to valid inner number.\n * @param {*} val\n * @return {number}\n */\n\n\nScale.prototype.parse = function (val) {\n // Notice: This would be a trap here, If the implementation\n // of this method depends on extent, and this method is used\n // before extent set (like in dataZoom), it would be wrong.\n // Nevertheless, parse does not depend on extent generally.\n return val;\n};\n\nScale.prototype.getSetting = function (name) {\n return this._setting[name];\n};\n\nScale.prototype.contain = function (val) {\n var extent = this._extent;\n return val >= extent[0] && val <= extent[1];\n};\n/**\n * Normalize value to linear [0, 1], return 0.5 if extent span is 0\n * @param {number} val\n * @return {number}\n */\n\n\nScale.prototype.normalize = function (val) {\n var extent = this._extent;\n\n if (extent[1] === extent[0]) {\n return 0.5;\n }\n\n return (val - extent[0]) / (extent[1] - extent[0]);\n};\n/**\n * Scale normalized value\n * @param {number} val\n * @return {number}\n */\n\n\nScale.prototype.scale = function (val) {\n var extent = this._extent;\n return val * (extent[1] - extent[0]) + extent[0];\n};\n/**\n * Set extent from data\n * @param {Array.} other\n */\n\n\nScale.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 * @param {module:echarts/data/List} data\n * @param {string} dim\n */\n\n\nScale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n};\n/**\n * Get extent\n * @return {Array.}\n */\n\n\nScale.prototype.getExtent = function () {\n return this._extent.slice();\n};\n/**\n * Set extent\n * @param {number} start\n * @param {number} end\n */\n\n\nScale.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 * When axis extent depends on data and no data exists,\n * axis ticks should not be drawn, which is named \'blank\'.\n */\n\n\nScale.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 */\nScale.prototype.setBlank = function (isBlank) {\n this._isBlank = isBlank;\n};\n/**\n * @abstract\n * @param {*} tick\n * @return {string} label of the tick.\n */\n\nScale.prototype.getLabel = null;\nclazzUtil.enableClassExtend(Scale);\nclazzUtil.enableClassManagement(Scale, {\n registerWhenExtend: true\n});\nvar _default = Scale;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Scale.js?')},"4bUh":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LineTokens; });\n/* unused harmony export SlicedLineTokens */\n/* harmony import */ var _modes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("twdY");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar LineTokens = /** @class */ (function () {\r\n function LineTokens(tokens, text) {\r\n this._tokens = tokens;\r\n this._tokensCount = (this._tokens.length >>> 1);\r\n this._text = text;\r\n }\r\n LineTokens.prototype.equals = function (other) {\r\n if (other instanceof LineTokens) {\r\n return this.slicedEquals(other, 0, this._tokensCount);\r\n }\r\n return false;\r\n };\r\n LineTokens.prototype.slicedEquals = function (other, sliceFromTokenIndex, sliceTokenCount) {\r\n if (this._text !== other._text) {\r\n return false;\r\n }\r\n if (this._tokensCount !== other._tokensCount) {\r\n return false;\r\n }\r\n var from = (sliceFromTokenIndex << 1);\r\n var to = from + (sliceTokenCount << 1);\r\n for (var i = from; i < to; i++) {\r\n if (this._tokens[i] !== other._tokens[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n LineTokens.prototype.getLineContent = function () {\r\n return this._text;\r\n };\r\n LineTokens.prototype.getCount = function () {\r\n return this._tokensCount;\r\n };\r\n LineTokens.prototype.getStartOffset = function (tokenIndex) {\r\n if (tokenIndex > 0) {\r\n return this._tokens[(tokenIndex - 1) << 1];\r\n }\r\n return 0;\r\n };\r\n LineTokens.prototype.getMetadata = function (tokenIndex) {\r\n var metadata = this._tokens[(tokenIndex << 1) + 1];\r\n return metadata;\r\n };\r\n LineTokens.prototype.getLanguageId = function (tokenIndex) {\r\n var metadata = this._tokens[(tokenIndex << 1) + 1];\r\n return _modes_js__WEBPACK_IMPORTED_MODULE_0__[/* TokenMetadata */ "x"].getLanguageId(metadata);\r\n };\r\n LineTokens.prototype.getStandardTokenType = function (tokenIndex) {\r\n var metadata = this._tokens[(tokenIndex << 1) + 1];\r\n return _modes_js__WEBPACK_IMPORTED_MODULE_0__[/* TokenMetadata */ "x"].getTokenType(metadata);\r\n };\r\n LineTokens.prototype.getForeground = function (tokenIndex) {\r\n var metadata = this._tokens[(tokenIndex << 1) + 1];\r\n return _modes_js__WEBPACK_IMPORTED_MODULE_0__[/* TokenMetadata */ "x"].getForeground(metadata);\r\n };\r\n LineTokens.prototype.getClassName = function (tokenIndex) {\r\n var metadata = this._tokens[(tokenIndex << 1) + 1];\r\n return _modes_js__WEBPACK_IMPORTED_MODULE_0__[/* TokenMetadata */ "x"].getClassNameFromMetadata(metadata);\r\n };\r\n LineTokens.prototype.getInlineStyle = function (tokenIndex, colorMap) {\r\n var metadata = this._tokens[(tokenIndex << 1) + 1];\r\n return _modes_js__WEBPACK_IMPORTED_MODULE_0__[/* TokenMetadata */ "x"].getInlineStyleFromMetadata(metadata, colorMap);\r\n };\r\n LineTokens.prototype.getEndOffset = function (tokenIndex) {\r\n return this._tokens[tokenIndex << 1];\r\n };\r\n /**\r\n * Find the token containing offset `offset`.\r\n * @param offset The search offset\r\n * @return The index of the token containing the offset.\r\n */\r\n LineTokens.prototype.findTokenIndexAtOffset = function (offset) {\r\n return LineTokens.findIndexInTokensArray(this._tokens, offset);\r\n };\r\n LineTokens.prototype.inflate = function () {\r\n return this;\r\n };\r\n LineTokens.prototype.sliceAndInflate = function (startOffset, endOffset, deltaOffset) {\r\n return new SlicedLineTokens(this, startOffset, endOffset, deltaOffset);\r\n };\r\n LineTokens.convertToEndOffset = function (tokens, lineTextLength) {\r\n var tokenCount = (tokens.length >>> 1);\r\n var lastTokenIndex = tokenCount - 1;\r\n for (var tokenIndex = 0; tokenIndex < lastTokenIndex; tokenIndex++) {\r\n tokens[tokenIndex << 1] = tokens[(tokenIndex + 1) << 1];\r\n }\r\n tokens[lastTokenIndex << 1] = lineTextLength;\r\n };\r\n LineTokens.findIndexInTokensArray = function (tokens, desiredIndex) {\r\n if (tokens.length <= 2) {\r\n return 0;\r\n }\r\n var low = 0;\r\n var high = (tokens.length >>> 1) - 1;\r\n while (low < high) {\r\n var mid = low + Math.floor((high - low) / 2);\r\n var endOffset = tokens[(mid << 1)];\r\n if (endOffset === desiredIndex) {\r\n return mid + 1;\r\n }\r\n else if (endOffset < desiredIndex) {\r\n low = mid + 1;\r\n }\r\n else if (endOffset > desiredIndex) {\r\n high = mid;\r\n }\r\n }\r\n return low;\r\n };\r\n return LineTokens;\r\n}());\r\n\r\nvar SlicedLineTokens = /** @class */ (function () {\r\n function SlicedLineTokens(source, startOffset, endOffset, deltaOffset) {\r\n this._source = source;\r\n this._startOffset = startOffset;\r\n this._endOffset = endOffset;\r\n this._deltaOffset = deltaOffset;\r\n this._firstTokenIndex = source.findTokenIndexAtOffset(startOffset);\r\n this._tokensCount = 0;\r\n for (var i = this._firstTokenIndex, len = source.getCount(); i < len; i++) {\r\n var tokenStartOffset = source.getStartOffset(i);\r\n if (tokenStartOffset >= endOffset) {\r\n break;\r\n }\r\n this._tokensCount++;\r\n }\r\n }\r\n SlicedLineTokens.prototype.equals = function (other) {\r\n if (other instanceof SlicedLineTokens) {\r\n return (this._startOffset === other._startOffset\r\n && this._endOffset === other._endOffset\r\n && this._deltaOffset === other._deltaOffset\r\n && this._source.slicedEquals(other._source, this._firstTokenIndex, this._tokensCount));\r\n }\r\n return false;\r\n };\r\n SlicedLineTokens.prototype.getCount = function () {\r\n return this._tokensCount;\r\n };\r\n SlicedLineTokens.prototype.getForeground = function (tokenIndex) {\r\n return this._source.getForeground(this._firstTokenIndex + tokenIndex);\r\n };\r\n SlicedLineTokens.prototype.getEndOffset = function (tokenIndex) {\r\n var tokenEndOffset = this._source.getEndOffset(this._firstTokenIndex + tokenIndex);\r\n return Math.min(this._endOffset, tokenEndOffset) - this._startOffset + this._deltaOffset;\r\n };\r\n SlicedLineTokens.prototype.getClassName = function (tokenIndex) {\r\n return this._source.getClassName(this._firstTokenIndex + tokenIndex);\r\n };\r\n SlicedLineTokens.prototype.getInlineStyle = function (tokenIndex, colorMap) {\r\n return this._source.getInlineStyle(this._firstTokenIndex + tokenIndex, colorMap);\r\n };\r\n SlicedLineTokens.prototype.findTokenIndexAtOffset = function (offset) {\r\n return this._source.findTokenIndexAtOffset(offset + this._startOffset - this._deltaOffset) - this._firstTokenIndex;\r\n };\r\n return SlicedLineTokens;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/core/lineTokens.js?')},"4fz+":function(module,exports,__webpack_require__){eval("var zrUtil = __webpack_require__(\"bYtY\");\n\nvar Element = __webpack_require__(\"1bdT\");\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\n/**\n * Group\u662f\u4e00\u4e2a\u5bb9\u5668\uff0c\u53ef\u4ee5\u63d2\u5165\u5b50\u8282\u70b9\uff0cGroup\u7684\u53d8\u6362\u4e5f\u4f1a\u88ab\u5e94\u7528\u5230\u5b50\u8282\u70b9\u4e0a\n * @module zrender/graphic/Group\n * @example\n * var Group = require('zrender/container/Group');\n * var Circle = require('zrender/graphic/shape/Circle');\n * var g = new Group();\n * g.position[0] = 100;\n * g.position[1] = 100;\n * g.add(new Circle({\n * style: {\n * x: 100,\n * y: 100,\n * r: 20,\n * }\n * }));\n * zr.add(g);\n */\n\n/**\n * @alias module:zrender/graphic/Group\n * @constructor\n * @extends module:zrender/mixin/Transformable\n * @extends module:zrender/mixin/Eventful\n */\nvar Group = function (opts) {\n opts = opts || {};\n Element.call(this, opts);\n\n for (var key in opts) {\n if (opts.hasOwnProperty(key)) {\n this[key] = opts[key];\n }\n }\n\n this._children = [];\n this.__storage = null;\n this.__dirty = true;\n};\n\nGroup.prototype = {\n constructor: Group,\n isGroup: true,\n\n /**\n * @type {string}\n */\n type: 'group',\n\n /**\n * \u6240\u6709\u5b50\u5b59\u5143\u7d20\u662f\u5426\u54cd\u5e94\u9f20\u6807\u4e8b\u4ef6\n * @name module:/zrender/container/Group#silent\n * @type {boolean}\n * @default false\n */\n silent: false,\n\n /**\n * @return {Array.}\n */\n children: function () {\n return this._children.slice();\n },\n\n /**\n * \u83b7\u53d6\u6307\u5b9a index \u7684\u513f\u5b50\u8282\u70b9\n * @param {number} idx\n * @return {module:zrender/Element}\n */\n childAt: function (idx) {\n return this._children[idx];\n },\n\n /**\n * \u83b7\u53d6\u6307\u5b9a\u540d\u5b57\u7684\u513f\u5b50\u8282\u70b9\n * @param {string} name\n * @return {module:zrender/Element}\n */\n childOfName: function (name) {\n var children = this._children;\n\n for (var i = 0; i < children.length; i++) {\n if (children[i].name === name) {\n return children[i];\n }\n }\n },\n\n /**\n * @return {number}\n */\n childCount: function () {\n return this._children.length;\n },\n\n /**\n * \u6dfb\u52a0\u5b50\u8282\u70b9\u5230\u6700\u540e\n * @param {module:zrender/Element} child\n */\n add: function (child) {\n if (child && child !== this && child.parent !== this) {\n this._children.push(child);\n\n this._doAdd(child);\n }\n\n return this;\n },\n\n /**\n * \u6dfb\u52a0\u5b50\u8282\u70b9\u5728 nextSibling \u4e4b\u524d\n * @param {module:zrender/Element} child\n * @param {module:zrender/Element} nextSibling\n */\n addBefore: function (child, nextSibling) {\n if (child && child !== this && child.parent !== this && nextSibling && nextSibling.parent === this) {\n var children = this._children;\n var idx = children.indexOf(nextSibling);\n\n if (idx >= 0) {\n children.splice(idx, 0, child);\n\n this._doAdd(child);\n }\n }\n\n return this;\n },\n _doAdd: function (child) {\n if (child.parent) {\n child.parent.remove(child);\n }\n\n child.parent = this;\n var storage = this.__storage;\n var zr = this.__zr;\n\n if (storage && storage !== child.__storage) {\n storage.addToStorage(child);\n\n if (child instanceof Group) {\n child.addChildrenToStorage(storage);\n }\n }\n\n zr && zr.refresh();\n },\n\n /**\n * \u79fb\u9664\u5b50\u8282\u70b9\n * @param {module:zrender/Element} child\n */\n remove: function (child) {\n var zr = this.__zr;\n var storage = this.__storage;\n var children = this._children;\n var idx = zrUtil.indexOf(children, child);\n\n if (idx < 0) {\n return this;\n }\n\n children.splice(idx, 1);\n child.parent = null;\n\n if (storage) {\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n\n zr && zr.refresh();\n return this;\n },\n\n /**\n * \u79fb\u9664\u6240\u6709\u5b50\u8282\u70b9\n */\n removeAll: function () {\n var children = this._children;\n var storage = this.__storage;\n var child;\n var i;\n\n for (i = 0; i < children.length; i++) {\n child = children[i];\n\n if (storage) {\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n\n child.parent = null;\n }\n\n children.length = 0;\n return this;\n },\n\n /**\n * \u904d\u5386\u6240\u6709\u5b50\u8282\u70b9\n * @param {Function} cb\n * @param {} context\n */\n eachChild: function (cb, context) {\n var children = this._children;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n cb.call(context, child, i);\n }\n\n return this;\n },\n\n /**\n * \u6df1\u5ea6\u4f18\u5148\u904d\u5386\u6240\u6709\u5b50\u5b59\u8282\u70b9\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n cb.call(context, child);\n\n if (child.type === 'group') {\n child.traverse(cb, context);\n }\n }\n\n return this;\n },\n addChildrenToStorage: function (storage) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n storage.addToStorage(child);\n\n if (child instanceof Group) {\n child.addChildrenToStorage(storage);\n }\n }\n },\n delChildrenFromStorage: function (storage) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n },\n dirty: function () {\n this.__dirty = true;\n this.__zr && this.__zr.refresh();\n return this;\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function (includeChildren) {\n // TODO Caching\n var rect = null;\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = includeChildren || this._children;\n var tmpMat = [];\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.ignore || child.invisible) {\n continue;\n }\n\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat); // TODO\n // The boundingRect cacluated by transforming original\n // rect may be bigger than the actual bundingRect when rotation\n // is used. (Consider a circle rotated aginst its center, where\n // the actual boundingRect should be the same as that not be\n // rotated.) But we can not find better approach to calculate\n // actual boundingRect yet, considering performance.\n\n if (transform) {\n tmpRect.copy(childRect);\n tmpRect.applyTransform(transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n } else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n\n return rect || tmpRect;\n }\n};\nzrUtil.inherits(Group, Element);\nvar _default = Group;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/container/Group.js?")},"4i/N":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js\n// This icon file is generated automatically.\nvar CloseOutlined_CloseOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z" } }] }, "name": "close", "theme": "outlined" };\n/* harmony default export */ var asn_CloseOutlined = (CloseOutlined_CloseOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/CloseOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_CloseOutlined_CloseOutlined = function CloseOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_CloseOutlined\n }));\n};\n\nicons_CloseOutlined_CloseOutlined.displayName = \'CloseOutlined\';\n/* harmony default export */ var icons_CloseOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_CloseOutlined_CloseOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/CloseOutlined.js_+_1_modules?')},"4kuk":function(module,exports,__webpack_require__){eval('var hashClear = __webpack_require__("SfRM"),\n hashDelete = __webpack_require__("Hvzi"),\n hashGet = __webpack_require__("u8Dt"),\n hashHas = __webpack_require__("ekgI"),\n hashSet = __webpack_require__("JSQU");\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype[\'delete\'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_Hash.js?')},"4mN7":function(module,exports,__webpack_require__){eval('var vec2 = __webpack_require__("QBsz");\n\nvar curve = __webpack_require__("Sj9i");\n\n/**\n * @author Yi Shen(https://github.com/pissang)\n */\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = vec2.create();\nvar end = vec2.create();\nvar extremity = vec2.create();\n/**\n * \u4ece\u9876\u70b9\u6570\u7ec4\u4e2d\u8ba1\u7b97\u51fa\u6700\u5c0f\u5305\u56f4\u76d2\uff0c\u5199\u5165`min`\u548c`max`\u4e2d\n * @module zrender/core/bbox\n * @param {Array} points \u9876\u70b9\u6570\u7ec4\n * @param {number} min\n * @param {number} max\n */\n\nfunction fromPoints(points, min, max) {\n if (points.length === 0) {\n return;\n }\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 var i;\n\n for (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\n min[0] = left;\n min[1] = top;\n max[0] = right;\n max[1] = bottom;\n}\n/**\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {Array.} min\n * @param {Array.} max\n */\n\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}\n\nvar xDim = [];\nvar yDim = [];\n/**\n * \u4ece\u4e09\u9636\u8d1d\u585e\u5c14\u66f2\u7ebf(p0, p1, p2, p3)\u4e2d\u8ba1\u7b97\u51fa\u6700\u5c0f\u5305\u56f4\u76d2\uff0c\u5199\u5165`min`\u548c`max`\u4e2d\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {Array.} min\n * @param {Array.} max\n */\n\nfunction fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n var cubicExtrema = curve.cubicExtrema;\n var cubicAt = curve.cubicAt;\n var i;\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\n for (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 n = cubicExtrema(y0, y1, y2, y3, yDim);\n\n for (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\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}\n/**\n * \u4ece\u4e8c\u9636\u8d1d\u585e\u5c14\u66f2\u7ebf(p0, p1, p2)\u4e2d\u8ba1\u7b97\u51fa\u6700\u5c0f\u5305\u56f4\u76d2\uff0c\u5199\u5165`min`\u548c`max`\u4e2d\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n var quadraticExtremum = curve.quadraticExtremum;\n var quadraticAt = curve.quadraticAt; // Find extremities, where derivative in x dim or y dim is zero\n\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}\n/**\n * \u4ece\u5706\u5f27\u4e2d\u8ba1\u7b97\u51fa\u6700\u5c0f\u5305\u56f4\u76d2\uff0c\u5199\u5165`min`\u548c`max`\u4e2d\n * @method\n * @memberOf module:zrender/core/bbox\n * @param {number} x\n * @param {number} y\n * @param {number} rx\n * @param {number} ry\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {number} anticlockwise\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n var vec2Min = vec2.min;\n var vec2Max = vec2.max;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff % PI2 < 1e-4 && diff > 1e-4) {\n // Is a circle\n min[0] = x - rx;\n min[1] = y - ry;\n max[0] = x + rx;\n max[1] = y + ry;\n return;\n }\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); // Thresh to [0, Math.PI * 2]\n\n startAngle = startAngle % PI2;\n\n if (startAngle < 0) {\n startAngle = startAngle + PI2;\n }\n\n endAngle = endAngle % PI2;\n\n if (endAngle < 0) {\n endAngle = endAngle + PI2;\n }\n\n if (startAngle > endAngle && !anticlockwise) {\n endAngle += PI2;\n } else if (startAngle < endAngle && anticlockwise) {\n startAngle += PI2;\n }\n\n if (anticlockwise) {\n var tmp = endAngle;\n endAngle = startAngle;\n startAngle = tmp;\n } // var number = 0;\n // var step = (anticlockwise ? -Math.PI : Math.PI) / 2;\n\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\nexports.fromPoints = fromPoints;\nexports.fromLine = fromLine;\nexports.fromCubic = fromCubic;\nexports.fromQuadratic = fromQuadratic;\nexports.fromArc = fromArc;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/bbox.js?')},"4oKn":function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports["default"] = void 0;\n\nvar monaco = _interopRequireWildcard(__webpack_require__("M/lh"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__("17x9"));\n\nvar _react = _interopRequireDefault(__webpack_require__("q1tI"));\n\nvar _utils = __webpack_require__("JwdM");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar MonacoDiffEditor = /*#__PURE__*/function (_React$Component) {\n _inherits(MonacoDiffEditor, _React$Component);\n\n var _super = _createSuper(MonacoDiffEditor);\n\n function MonacoDiffEditor(props) {\n var _this;\n\n _classCallCheck(this, MonacoDiffEditor);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), "assignRef", function (component) {\n _this.containerElement = component;\n });\n\n _this.containerElement = undefined;\n return _this;\n }\n\n _createClass(MonacoDiffEditor, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.initMonaco();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n language = _this$props.language,\n theme = _this$props.theme,\n height = _this$props.height,\n options = _this$props.options,\n width = _this$props.width;\n\n var _this$editor$getModel = this.editor.getModel(),\n original = _this$editor$getModel.original,\n modified = _this$editor$getModel.modified;\n\n if (this.props.original !== original.getValue()) {\n original.setValue(this.props.original);\n }\n\n if (this.props.value != null && this.props.value !== modified.getValue()) {\n this.__prevent_trigger_change_event = true;\n this.editor.modifiedEditor.pushUndoStop();\n modified.pushEditOperations([], [{\n range: modified.getFullModelRange(),\n text: this.props.value\n }]);\n this.editor.modifiedEditor.pushUndoStop();\n this.__prevent_trigger_change_event = false;\n }\n\n if (prevProps.language !== language) {\n monaco.editor.setModelLanguage(original, language);\n monaco.editor.setModelLanguage(modified, language);\n }\n\n if (prevProps.theme !== theme) {\n monaco.editor.setTheme(theme);\n }\n\n if (this.editor && (width !== prevProps.width || height !== prevProps.height)) {\n this.editor.layout();\n }\n\n if (prevProps.options !== options) {\n this.editor.updateOptions(options);\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n this.destroyMonaco();\n }\n }, {\n key: "editorWillMount",\n value: function editorWillMount() {\n var editorWillMount = this.props.editorWillMount;\n var options = editorWillMount(monaco);\n return options || {};\n }\n }, {\n key: "editorDidMount",\n value: function editorDidMount(editor) {\n var _this2 = this;\n\n this.props.editorDidMount(editor, monaco);\n\n var _editor$getModel = editor.getModel(),\n modified = _editor$getModel.modified;\n\n this._subscription = modified.onDidChangeContent(function (event) {\n if (!_this2.__prevent_trigger_change_event) {\n _this2.props.onChange(modified.getValue(), event);\n }\n });\n }\n }, {\n key: "initModels",\n value: function initModels(value, original) {\n var language = this.props.language;\n var originalModel = monaco.editor.createModel(original, language);\n var modifiedModel = monaco.editor.createModel(value, language);\n this.editor.setModel({\n original: originalModel,\n modified: modifiedModel\n });\n }\n }, {\n key: "initMonaco",\n value: function initMonaco() {\n var value = this.props.value != null ? this.props.value : this.props.defaultValue;\n var _this$props2 = this.props,\n original = _this$props2.original,\n theme = _this$props2.theme,\n options = _this$props2.options,\n overrideServices = _this$props2.overrideServices;\n\n if (this.containerElement) {\n // Before initializing monaco editor\n this.editorWillMount();\n this.editor = monaco.editor.createDiffEditor(this.containerElement, _objectSpread({}, options, {}, theme ? {\n theme: theme\n } : {}), overrideServices); // After initializing monaco editor\n\n this.initModels(value, original);\n this.editorDidMount(this.editor);\n }\n }\n }, {\n key: "destroyMonaco",\n value: function destroyMonaco() {\n if (this.editor) {\n this.editor.dispose();\n\n var _this$editor$getModel2 = this.editor.getModel(),\n original = _this$editor$getModel2.original,\n modified = _this$editor$getModel2.modified;\n\n if (original) {\n original.dispose();\n }\n\n if (modified) {\n modified.dispose();\n }\n }\n\n if (this._subscription) {\n this._subscription.dispose();\n }\n }\n }, {\n key: "render",\n value: function render() {\n var _this$props3 = this.props,\n width = _this$props3.width,\n height = _this$props3.height;\n var fixedWidth = (0, _utils.processSize)(width);\n var fixedHeight = (0, _utils.processSize)(height);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n return /*#__PURE__*/_react["default"].createElement("div", {\n ref: this.assignRef,\n style: style,\n className: "react-monaco-editor-container"\n });\n }\n }]);\n\n return MonacoDiffEditor;\n}(_react["default"].Component);\n\nMonacoDiffEditor.propTypes = {\n width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),\n height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),\n original: _propTypes["default"].string,\n value: _propTypes["default"].string,\n defaultValue: _propTypes["default"].string,\n language: _propTypes["default"].string,\n theme: _propTypes["default"].string,\n options: _propTypes["default"].object,\n overrideServices: _propTypes["default"].object,\n editorDidMount: _propTypes["default"].func,\n editorWillMount: _propTypes["default"].func,\n onChange: _propTypes["default"].func\n};\nMonacoDiffEditor.defaultProps = {\n width: "100%",\n height: "100%",\n original: null,\n value: null,\n defaultValue: "",\n language: "javascript",\n theme: null,\n options: {},\n overrideServices: {},\n editorDidMount: _utils.noop,\n editorWillMount: _utils.noop,\n onChange: _utils.noop\n};\nvar _default = MonacoDiffEditor;\nexports["default"] = _default;\n\n//# sourceURL=webpack:///./node_modules/react-monaco-editor/lib/diff.js?')},"4rho":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css?")},"4vCz":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _PlusSquareOutlined = _interopRequireDefault(__webpack_require__("X2/X"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar PlusSquareOutlined = function PlusSquareOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _PlusSquareOutlined.default\n }));\n};\n\nPlusSquareOutlined.displayName = \'PlusSquareOutlined\';\n\nvar _default = React.forwardRef(PlusSquareOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/PlusSquareOutlined.js?')},"4xFK":function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar DoubleRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z" } }] }, "name": "double-right", "theme": "outlined" };\nexports.default = DoubleRightOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/DoubleRightOutlined.js?')},"4y0V":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return domEvent; });\n/* unused harmony export stop */\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MI8n");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar domEvent = function (element, type, useCapture) {\r\n var fn = function (e) { return emitter.fire(e); };\r\n var emitter = new _common_event_js__WEBPACK_IMPORTED_MODULE_0__[/* Emitter */ "a"]({\r\n onFirstListenerAdd: function () {\r\n element.addEventListener(type, fn, useCapture);\r\n },\r\n onLastListenerRemove: function () {\r\n element.removeEventListener(type, fn, useCapture);\r\n }\r\n });\r\n return emitter.event;\r\n};\r\nfunction stop(event) {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_0__[/* Event */ "b"].map(event, function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return e;\r\n });\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/event.js?')},"51B1":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css?")},"51f4":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return IframeUtils; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar hasDifferentOriginAncestorFlag = false;\r\nvar sameOriginWindowChainCache = null;\r\nfunction getParentWindowIfSameOrigin(w) {\r\n if (!w.parent || w.parent === w) {\r\n return null;\r\n }\r\n // Cannot really tell if we have access to the parent window unless we try to access something in it\r\n try {\r\n var location_1 = w.location;\r\n var parentLocation = w.parent.location;\r\n if (location_1.protocol !== parentLocation.protocol || location_1.hostname !== parentLocation.hostname || location_1.port !== parentLocation.port) {\r\n hasDifferentOriginAncestorFlag = true;\r\n return null;\r\n }\r\n }\r\n catch (e) {\r\n hasDifferentOriginAncestorFlag = true;\r\n return null;\r\n }\r\n return w.parent;\r\n}\r\nfunction findIframeElementInParentWindow(parentWindow, childWindow) {\r\n var parentWindowIframes = parentWindow.document.getElementsByTagName('iframe');\r\n var iframe;\r\n for (var i = 0, len = parentWindowIframes.length; i < len; i++) {\r\n iframe = parentWindowIframes[i];\r\n if (iframe.contentWindow === childWindow) {\r\n return iframe;\r\n }\r\n }\r\n return null;\r\n}\r\nvar IframeUtils = /** @class */ (function () {\r\n function IframeUtils() {\r\n }\r\n /**\r\n * Returns a chain of embedded windows with the same origin (which can be accessed programmatically).\r\n * Having a chain of length 1 might mean that the current execution environment is running outside of an iframe or inside an iframe embedded in a window with a different origin.\r\n * To distinguish if at one point the current execution environment is running inside a window with a different origin, see hasDifferentOriginAncestor()\r\n */\r\n IframeUtils.getSameOriginWindowChain = function () {\r\n if (!sameOriginWindowChainCache) {\r\n sameOriginWindowChainCache = [];\r\n var w = window;\r\n var parent_1;\r\n do {\r\n parent_1 = getParentWindowIfSameOrigin(w);\r\n if (parent_1) {\r\n sameOriginWindowChainCache.push({\r\n window: w,\r\n iframeElement: findIframeElementInParentWindow(parent_1, w)\r\n });\r\n }\r\n else {\r\n sameOriginWindowChainCache.push({\r\n window: w,\r\n iframeElement: null\r\n });\r\n }\r\n w = parent_1;\r\n } while (w);\r\n }\r\n return sameOriginWindowChainCache.slice(0);\r\n };\r\n /**\r\n * Returns true if the current execution environment is chained in a list of iframes which at one point ends in a window with a different origin.\r\n * Returns false if the current execution environment is not running inside an iframe or if the entire chain of iframes have the same origin.\r\n */\r\n IframeUtils.hasDifferentOriginAncestor = function () {\r\n if (!sameOriginWindowChainCache) {\r\n this.getSameOriginWindowChain();\r\n }\r\n return hasDifferentOriginAncestorFlag;\r\n };\r\n /**\r\n * Returns the position of `childWindow` relative to `ancestorWindow`\r\n */\r\n IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow = function (childWindow, ancestorWindow) {\r\n if (!ancestorWindow || childWindow === ancestorWindow) {\r\n return {\r\n top: 0,\r\n left: 0\r\n };\r\n }\r\n var top = 0, left = 0;\r\n var windowChain = this.getSameOriginWindowChain();\r\n for (var _i = 0, windowChain_1 = windowChain; _i < windowChain_1.length; _i++) {\r\n var windowChainEl = windowChain_1[_i];\r\n if (windowChainEl.window === ancestorWindow) {\r\n break;\r\n }\r\n if (!windowChainEl.iframeElement) {\r\n break;\r\n }\r\n var boundingRect = windowChainEl.iframeElement.getBoundingClientRect();\r\n top += boundingRect.top;\r\n left += boundingRect.left;\r\n }\r\n return {\r\n top: top,\r\n left: left\r\n };\r\n };\r\n return IframeUtils;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/iframe.js?")},"56rv":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 graphic = __webpack_require__("IwbS");\n\nvar _labelHelper = __webpack_require__("x3X8");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 setLabel(normalStyle, hoverStyle, itemModel, color, seriesModel, dataIndex, labelPositionOutside) {\n var labelModel = itemModel.getModel(\'label\');\n var hoverLabelModel = itemModel.getModel(\'emphasis.label\');\n graphic.setLabelStyle(normalStyle, hoverStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n isRectText: true,\n autoColor: color\n });\n fixPosition(normalStyle);\n fixPosition(hoverStyle);\n}\n\nfunction fixPosition(style, labelPositionOutside) {\n if (style.textPosition === \'outside\') {\n style.textPosition = labelPositionOutside;\n }\n}\n\nexports.setLabel = setLabel;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/helper.js?')},"59Ip":function(module,exports,__webpack_require__){eval('var curve = __webpack_require__("Sj9i");\n\n/**\n * \u4e09\u6b21\u8d1d\u585e\u5c14\u66f2\u7ebf\u63cf\u8fb9\u5305\u542b\u5224\u65ad\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l && y > y2 + _l && y > y3 + _l || y < y0 - _l && y < y1 - _l && y < y2 - _l && y < y3 - _l || x > x0 + _l && x > x1 + _l && x > x2 + _l && x > x3 + _l || x < x0 - _l && x < x1 - _l && x < x2 - _l && x < x3 - _l) {\n return false;\n }\n\n var d = curve.cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, null);\n return d <= _l / 2;\n}\n\nexports.containStroke = containStroke;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/contain/cubic.js?')},"5DEy":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.css?")},"5Dmo":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("5YgA");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/tooltip/style/index.js?')},"5GOC":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/antd/es/style/index.less\nvar style = __webpack_require__("cIOH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/anchor/style/index.less\nvar anchor_style = __webpack_require__("b56q");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/affix/style/index.less\nvar affix_style = __webpack_require__("15/o");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/affix/style/index.js\n\n\n// CONCATENATED MODULE: ./node_modules/antd/es/anchor/style/index.js\n\n // style dependencies\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/anchor/style/index.js_+_1_modules?')},"5GhG":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 createListSimply = __webpack_require__(\"5GtS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar _dimensionHelper = __webpack_require__(\"L0Ub\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _sourceHelper = __webpack_require__(\"D5nY\");\n\nvar makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 seriesModelMixin = {\n /**\n * @private\n * @type {string}\n */\n _baseAxisDim: null,\n\n /**\n * @override\n */\n 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; // ??? FIXME make a stage to perform data transfrom.\n // MUST create a new data, consider setOption({}) again.\n\n if (data && addOrdinal) {\n var newOptionData = [];\n zrUtil.each(data, function (item, index) {\n var newItem;\n\n if (item.value && zrUtil.isArray(item.value)) {\n newItem = item.value.slice();\n item.value.unshift(index);\n } else if (zrUtil.isArray(item)) {\n newItem = item.slice();\n item.unshift(index);\n } else {\n newItem = item;\n }\n\n newOptionData.push(newItem);\n });\n option.data = newOptionData;\n }\n\n var defaultValueDimensions = this.defaultValueDimensions;\n var coordDimensions = [{\n name: baseAxisDim,\n type: getDimensionTypeByAxis(baseAxisType),\n ordinalMeta: ordinalMeta,\n otherDims: {\n tooltip: false,\n itemName: 0\n },\n dimsDef: ['base']\n }, {\n name: otherAxisDim,\n type: getDimensionTypeByAxis(otherAxisType),\n dimsDef: defaultValueDimensions.slice()\n }];\n return createListSimply(this, {\n coordDimensions: coordDimensions,\n dimensionsCount: defaultValueDimensions.length + 1,\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordDimensions, this)\n });\n },\n\n /**\n * If horizontal, base axis is x, otherwise y.\n * @override\n */\n getBaseAxis: function () {\n var dim = this._baseAxisDim;\n return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;\n }\n};\nexports.seriesModelMixin = seriesModelMixin;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js?")},"5GtS":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 createDimensions = __webpack_require__("sdST");\n\nvar List = __webpack_require__("YXkt");\n\nvar _util = __webpack_require__("bYtY");\n\nvar extend = _util.extend;\nvar isArray = _util.isArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\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 * @param {module:echarts/model/Series} seriesModel\n * @param {Object|Array.} opt opt or coordDimensions\n * The options in opt, see `echarts/data/helper/createDimensions`\n * @param {Array.} [nameList]\n * @return {module:echarts/data/List}\n */\nfunction _default(seriesModel, opt, nameList) {\n opt = isArray(opt) && {\n coordDimensions: opt\n } || extend({}, opt);\n var source = seriesModel.getSource();\n var dimensionsInfo = createDimensions(source, opt);\n var list = new List(dimensionsInfo, seriesModel);\n list.initData(source, nameList);\n return list;\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createListSimply.js?')},"5Hur":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _model = __webpack_require__("4NO4");\n\nvar makeInner = _model.makeInner;\nvar normalizeToArray = _model.normalizeToArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 inner = makeInner();\n\nfunction getNearestColorPalette(colors, requestColorNum) {\n var paletteNum = colors.length; // TODO colors must be in order\n\n for (var i = 0; i < paletteNum; i++) {\n if (colors[i].length > requestColorNum) {\n return colors[i];\n }\n }\n\n return colors[paletteNum - 1];\n}\n\nvar _default = {\n clearColorPalette: function () {\n inner(this).colorIdx = 0;\n inner(this).colorNameMap = {};\n },\n\n /**\n * @param {string} name MUST NOT be null/undefined. Otherwise call this function\n * twise with the same parameters will get different result.\n * @param {Object} [scope=this]\n * @param {Object} [requestColorNum]\n * @return {string} color string.\n */\n getColorFromPalette: function (name, scope, requestColorNum) {\n scope = scope || this;\n var scopeFields = inner(scope);\n var colorIdx = scopeFields.colorIdx || 0;\n var colorNameMap = scopeFields.colorNameMap = scopeFields.colorNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n if (colorNameMap.hasOwnProperty(name)) {\n return colorNameMap[name];\n }\n\n var defaultColorPalette = normalizeToArray(this.get(\'color\', true));\n var layeredColorPalette = this.get(\'colorLayer\', true);\n var colorPalette = requestColorNum == null || !layeredColorPalette ? defaultColorPalette : getNearestColorPalette(layeredColorPalette, requestColorNum); // In case can\'t find in layered color palette.\n\n colorPalette = colorPalette || defaultColorPalette;\n\n if (!colorPalette || !colorPalette.length) {\n return;\n }\n\n var color = colorPalette[colorIdx];\n\n if (name) {\n colorNameMap[name] = color;\n }\n\n scopeFields.colorIdx = (colorIdx + 1) % colorPalette.length;\n return color;\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/colorPalette.js?')},"5NDa":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("OnYD");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("+L6B");\n\n // style dependencies\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/input/style/index.js?')},"5NHt":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n__webpack_require__("aTJb");\n\n__webpack_require__("OlYY");\n\n__webpack_require__("fc+c");\n\n__webpack_require__("N5BQ");\n\n__webpack_require__("IyUQ");\n\n__webpack_require__("LBfv");\n\n__webpack_require__("noeP");\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoomSlider.js?')},"5OYt":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_responsiveObserve__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ACnJ");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nfunction useBreakpoint() {\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])({}),\n _useState2 = _slicedToArray(_useState, 2),\n screens = _useState2[0],\n setScreens = _useState2[1];\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {\n var token = _util_responsiveObserve__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].subscribe(function (supportScreens) {\n setScreens(supportScreens);\n });\n return function () {\n return _util_responsiveObserve__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].unsubscribe(token);\n };\n }, []);\n return screens;\n}\n\n/* harmony default export */ __webpack_exports__["a"] = (useBreakpoint);\n\n//# sourceURL=webpack:///./node_modules/antd/es/grid/hooks/useBreakpoint.js?')},"5RzL":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// UNUSED EXPORTS: TreeNode\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules\nvar toConsumableArray = __webpack_require__("KQm4");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\nvar esm_typeof = __webpack_require__("U8pU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules\nvar slicedToArray = __webpack_require__("ODXe");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/generate.js + 13 modules\nvar generate = __webpack_require__("qNPg");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/utils/valueUtil.js + 1 modules\nvar valueUtil = __webpack_require__("2Qr1");\n\n// EXTERNAL MODULE: ./node_modules/rc-tree/es/utils/treeUtil.js\nvar treeUtil = __webpack_require__("815F");\n\n// EXTERNAL MODULE: ./node_modules/rc-tree/es/utils/conductUtil.js\nvar conductUtil = __webpack_require__("NvD2");\n\n// EXTERNAL MODULE: ./node_modules/rc-select/es/interface/generator.js\nvar generator = __webpack_require__("wPlo");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js\nvar warning = __webpack_require__("Kwbf");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useMemo.js\nvar useMemo = __webpack_require__("YrtM");\n\n// EXTERNAL MODULE: ./node_modules/rc-tree/es/index.js + 4 modules\nvar es = __webpack_require__("fAei");\n\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/Context.js\n\nvar SelectContext = react_default.a.createContext(null);\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/hooks/useKeyValueMapping.js\n\nfunction isDisabled(dataNode, skipType) {\n if (!dataNode) {\n return true;\n }\n\n var _dataNode$data = dataNode.data,\n disabled = _dataNode$data.disabled,\n disableCheckbox = _dataNode$data.disableCheckbox;\n\n switch (skipType) {\n case \'select\':\n return disabled;\n\n case \'checkbox\':\n return disabled || disableCheckbox;\n }\n\n return false;\n}\nfunction useKeyValueMapping(cacheKeyMap, cacheValueMap) {\n var getEntityByKey = react_default.a.useCallback(function (key) {\n var skipType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \'select\';\n var ignoreDisabledCheck = arguments.length > 2 ? arguments[2] : undefined;\n var dataNode = cacheKeyMap.get(key);\n\n if (!ignoreDisabledCheck && isDisabled(dataNode, skipType)) {\n return null;\n }\n\n return dataNode;\n }, [cacheKeyMap]);\n var getEntityByValue = react_default.a.useCallback(function (value) {\n var skipType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \'select\';\n var ignoreDisabledCheck = arguments.length > 2 ? arguments[2] : undefined;\n var dataNode = cacheValueMap.get(value);\n\n if (!ignoreDisabledCheck && isDisabled(dataNode, skipType)) {\n return null;\n }\n\n return dataNode;\n }, [cacheValueMap]);\n return [getEntityByKey, getEntityByValue];\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/hooks/useKeyValueMap.js\n\n/**\n * Return cached Key Value map with DataNode.\n * Only re-calculate when `flattenOptions` changed.\n */\n\nfunction useKeyValueMap(flattenOptions) {\n return react_default.a.useMemo(function () {\n var cacheKeyMap = new Map();\n var cacheValueMap = new Map(); // Cache options by key\n\n flattenOptions.forEach(function (dataNode) {\n cacheKeyMap.set(dataNode.key, dataNode);\n cacheValueMap.set(dataNode.data.value, dataNode);\n });\n return [cacheKeyMap, cacheValueMap];\n }, [flattenOptions]);\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/OptionList.js\n\n\n\n\n\n\n\n\n\nvar HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: \'flex\',\n overflow: \'hidden\',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n};\n\nvar OptionList_OptionList = function OptionList(props, ref) {\n var prefixCls = props.prefixCls,\n height = props.height,\n itemHeight = props.itemHeight,\n virtual = props.virtual,\n options = props.options,\n flattenOptions = props.flattenOptions,\n multiple = props.multiple,\n searchValue = props.searchValue,\n onSelect = props.onSelect,\n onToggleOpen = props.onToggleOpen,\n open = props.open,\n notFoundContent = props.notFoundContent;\n\n var _React$useContext = react_default.a.useContext(SelectContext),\n checkable = _React$useContext.checkable,\n checkedKeys = _React$useContext.checkedKeys,\n halfCheckedKeys = _React$useContext.halfCheckedKeys,\n treeExpandedKeys = _React$useContext.treeExpandedKeys,\n treeDefaultExpandAll = _React$useContext.treeDefaultExpandAll,\n treeDefaultExpandedKeys = _React$useContext.treeDefaultExpandedKeys,\n onTreeExpand = _React$useContext.onTreeExpand,\n treeIcon = _React$useContext.treeIcon,\n showTreeIcon = _React$useContext.showTreeIcon,\n switcherIcon = _React$useContext.switcherIcon,\n treeLine = _React$useContext.treeLine,\n treeNodeFilterProp = _React$useContext.treeNodeFilterProp,\n loadData = _React$useContext.loadData,\n treeLoadedKeys = _React$useContext.treeLoadedKeys,\n treeMotion = _React$useContext.treeMotion,\n onTreeLoad = _React$useContext.onTreeLoad;\n\n var treeRef = react_default.a.useRef();\n var memoOptions = Object(useMemo["a" /* default */])(function () {\n return options;\n }, [open, options], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n });\n\n var _useKeyValueMap = useKeyValueMap(flattenOptions),\n _useKeyValueMap2 = Object(slicedToArray["a" /* default */])(_useKeyValueMap, 2),\n cacheKeyMap = _useKeyValueMap2[0],\n cacheValueMap = _useKeyValueMap2[1];\n\n var _useKeyValueMapping = useKeyValueMapping(cacheKeyMap, cacheValueMap),\n _useKeyValueMapping2 = Object(slicedToArray["a" /* default */])(_useKeyValueMapping, 2),\n getEntityByKey = _useKeyValueMapping2[0],\n getEntityByValue = _useKeyValueMapping2[1]; // ========================== Values ==========================\n\n\n var valueKeys = react_default.a.useMemo(function () {\n return checkedKeys.map(function (val) {\n var entity = getEntityByValue(val);\n return entity ? entity.key : null;\n });\n }, [checkedKeys]);\n var mergedCheckedKeys = react_default.a.useMemo(function () {\n if (!checkable) {\n return null;\n }\n\n return {\n checked: valueKeys,\n halfChecked: halfCheckedKeys\n };\n }, [valueKeys, halfCheckedKeys, checkable]); // ========================== Scroll ==========================\n\n react_default.a.useEffect(function () {\n // Single mode should scroll to current key\n if (open && !multiple && valueKeys.length) {\n var _treeRef$current;\n\n (_treeRef$current = treeRef.current) === null || _treeRef$current === void 0 ? void 0 : _treeRef$current.scrollTo({\n key: valueKeys[0]\n });\n }\n }, [open]); // ========================== Search ==========================\n\n var lowerSearchValue = String(searchValue).toLowerCase();\n\n var filterTreeNode = function filterTreeNode(treeNode) {\n if (!lowerSearchValue) {\n return false;\n }\n\n return String(treeNode[treeNodeFilterProp]).toLowerCase().includes(lowerSearchValue);\n }; // =========================== Keys ===========================\n\n\n var _React$useState = react_default.a.useState(treeDefaultExpandedKeys),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n expandedKeys = _React$useState2[0],\n setExpandedKeys = _React$useState2[1];\n\n var _React$useState3 = react_default.a.useState(null),\n _React$useState4 = Object(slicedToArray["a" /* default */])(_React$useState3, 2),\n searchExpandedKeys = _React$useState4[0],\n setSearchExpandedKeys = _React$useState4[1];\n\n var mergedExpandedKeys = react_default.a.useMemo(function () {\n if (treeExpandedKeys) {\n return Object(toConsumableArray["a" /* default */])(treeExpandedKeys);\n }\n\n return searchValue ? searchExpandedKeys : expandedKeys;\n }, [expandedKeys, searchExpandedKeys, lowerSearchValue, treeExpandedKeys]);\n react_default.a.useEffect(function () {\n if (searchValue) {\n setSearchExpandedKeys(flattenOptions.map(function (o) {\n return o.key;\n }));\n }\n }, [searchValue]);\n\n var onInternalExpand = function onInternalExpand(keys) {\n setExpandedKeys(keys);\n setSearchExpandedKeys(keys);\n\n if (onTreeExpand) {\n onTreeExpand(keys);\n }\n }; // ========================== Events ==========================\n\n\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n\n var onInternalSelect = function onInternalSelect(_, _ref) {\n var key = _ref.node.key;\n var entity = getEntityByKey(key, checkable ? \'checkbox\' : \'select\');\n\n if (entity !== null) {\n onSelect(entity.data.value, {\n selected: !checkedKeys.includes(entity.data.value)\n });\n }\n\n if (!multiple) {\n onToggleOpen(false);\n }\n }; // ========================= Keyboard =========================\n\n\n var _React$useState5 = react_default.a.useState(null),\n _React$useState6 = Object(slicedToArray["a" /* default */])(_React$useState5, 2),\n activeKey = _React$useState6[0],\n setActiveKey = _React$useState6[1];\n\n var activeEntity = getEntityByKey(activeKey);\n react_default.a.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var _treeRef$current2;\n\n var which = event.which;\n\n switch (which) {\n // >>> Arrow keys\n case KeyCode["a" /* default */].UP:\n case KeyCode["a" /* default */].DOWN:\n case KeyCode["a" /* default */].LEFT:\n case KeyCode["a" /* default */].RIGHT:\n (_treeRef$current2 = treeRef.current) === null || _treeRef$current2 === void 0 ? void 0 : _treeRef$current2.onKeyDown(event);\n break;\n // >>> Select item\n\n case KeyCode["a" /* default */].ENTER:\n {\n if (activeEntity !== null) {\n onInternalSelect(null, {\n node: {\n key: activeKey\n },\n selected: !checkedKeys.includes(activeEntity.data.value)\n });\n }\n\n break;\n }\n // >>> Close\n\n case KeyCode["a" /* default */].ESC:\n {\n onToggleOpen(false);\n }\n }\n },\n onKeyUp: function onKeyUp() {}\n };\n }); // ========================== Render ==========================\n\n if (memoOptions.length === 0) {\n return react_default.a.createElement("div", {\n role: "listbox",\n className: "".concat(prefixCls, "-empty"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n\n var treeProps = {};\n\n if (treeLoadedKeys) {\n treeProps.loadedKeys = treeLoadedKeys;\n }\n\n if (mergedExpandedKeys) {\n treeProps.expandedKeys = mergedExpandedKeys;\n }\n\n return react_default.a.createElement("div", {\n onMouseDown: onListMouseDown\n }, activeEntity && open && react_default.a.createElement("span", {\n style: HIDDEN_STYLE,\n "aria-live": "assertive"\n }, activeEntity.data.value), react_default.a.createElement(es["b" /* default */], Object.assign({\n ref: treeRef,\n focusable: false,\n prefixCls: "".concat(prefixCls, "-tree"),\n treeData: memoOptions,\n height: height,\n itemHeight: itemHeight,\n virtual: virtual,\n multiple: multiple,\n icon: treeIcon,\n showIcon: showTreeIcon,\n switcherIcon: switcherIcon,\n showLine: treeLine,\n loadData: searchValue ? null : loadData,\n motion: treeMotion,\n // We handle keys by out instead tree self\n checkable: checkable,\n checkStrictly: true,\n checkedKeys: mergedCheckedKeys,\n selectedKeys: !checkable ? valueKeys : [],\n defaultExpandAll: treeDefaultExpandAll\n }, treeProps, {\n // Proxy event out\n onActiveChange: setActiveKey,\n onSelect: onInternalSelect,\n onCheck: onInternalSelect,\n onExpand: onInternalExpand,\n onLoad: onTreeLoad,\n filterTreeNode: filterTreeNode\n })));\n};\n\nvar RefOptionList = react_default.a.forwardRef(OptionList_OptionList);\nRefOptionList.displayName = \'OptionList\';\n/* harmony default export */ var es_OptionList = (RefOptionList);\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/TreeNode.js\n/** This is a placeholder, not real render in dom */\nvar TreeNode = function TreeNode() {\n return null;\n};\n\n/* harmony default export */ var es_TreeNode = (TreeNode);\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__("Ff2n");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Children/toArray.js\nvar toArray = __webpack_require__("Zm9Q");\n\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/utils/legacyUtil.js\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\nfunction convertChildrenToData(nodes) {\n return Object(toArray["a" /* default */])(nodes).map(function (node) {\n if (!react_default.a.isValidElement(node) || !node.type) {\n return null;\n }\n\n var key = node.key,\n _node$props = node.props,\n children = _node$props.children,\n value = _node$props.value,\n restProps = Object(objectWithoutProperties["a" /* default */])(_node$props, ["children", "value"]);\n\n var data = _objectSpread({\n key: key,\n value: value\n }, restProps);\n\n var childData = convertChildrenToData(children);\n\n if (childData.length) {\n data.children = childData;\n }\n\n return data;\n }).filter(function (data) {\n return data;\n });\n}\nfunction fillLegacyProps(dataNode) {\n // Skip if not dataNode exist\n if (!dataNode) {\n return dataNode;\n }\n\n var cloneNode = _objectSpread({}, dataNode);\n\n if (!(\'props\' in cloneNode)) {\n Object.defineProperty(cloneNode, \'props\', {\n get: function get() {\n Object(warning["a" /* default */])(false, \'New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access.\');\n return cloneNode;\n }\n });\n }\n\n return cloneNode;\n}\nfunction fillAdditionalInfo(extra, triggerValue, checkedValues, treeData, showPosition) {\n var triggerNode = null;\n var nodeList = null;\n\n function generateMap() {\n function dig(list) {\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \'0\';\n var parentIncluded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return list.map(function (dataNode, index) {\n var pos = "".concat(level, "-").concat(index);\n var included = checkedValues.includes(dataNode.value);\n var children = dig(dataNode.children || [], pos, included);\n var node = react_default.a.createElement(es_TreeNode, Object.assign({}, dataNode), children.map(function (child) {\n return child.node;\n })); // Link with trigger node\n\n if (triggerValue === dataNode.value) {\n triggerNode = node;\n }\n\n if (included) {\n var checkedNode = {\n pos: pos,\n node: node,\n children: children\n };\n\n if (!parentIncluded) {\n nodeList.push(checkedNode);\n }\n\n return checkedNode;\n }\n\n return null;\n }).filter(function (node) {\n return node;\n });\n }\n\n if (!nodeList) {\n nodeList = [];\n dig(treeData); // Sort to keep the checked node length\n\n nodeList.sort(function (_ref, _ref2) {\n var val1 = _ref.node.props.value;\n var val2 = _ref2.node.props.value;\n var index1 = checkedValues.indexOf(val1);\n var index2 = checkedValues.indexOf(val2);\n return index1 - index2;\n });\n }\n }\n\n Object.defineProperty(extra, \'triggerNode\', {\n get: function get() {\n Object(warning["a" /* default */])(false, \'`triggerNode` is deprecated. Please consider decoupling data with node.\');\n generateMap();\n return triggerNode;\n }\n });\n Object.defineProperty(extra, \'allCheckedNodes\', {\n get: function get() {\n Object(warning["a" /* default */])(false, \'`allCheckedNodes` is deprecated. Please consider decoupling data with node.\');\n generateMap();\n\n if (showPosition) {\n return nodeList;\n }\n\n return nodeList.map(function (_ref3) {\n var node = _ref3.node;\n return node;\n });\n }\n });\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/utils/valueUtil.js\n\n\n\nfunction valueUtil_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction valueUtil_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { valueUtil_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { valueUtil_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\nfunction valueUtil_toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n\n return value !== undefined ? [value] : [];\n}\nfunction findValueOption(values, options) {\n var optionMap = new Map();\n options.forEach(function (flattenItem) {\n var data = flattenItem.data;\n optionMap.set(data.value, data);\n });\n return values.map(function (val) {\n return fillLegacyProps(optionMap.get(val));\n });\n}\nfunction isValueDisabled(value, options) {\n var option = findValueOption([value], options)[0];\n\n if (option) {\n return option.disabled;\n }\n\n return false;\n}\nfunction isCheckDisabled(node) {\n return node.disabled || node.disableCheckbox || node.checkable === false;\n}\n\nfunction getLevel(_ref) {\n var parent = _ref.parent;\n var level = 0;\n var current = parent;\n\n while (current) {\n current = current.parent;\n level += 1;\n }\n\n return level;\n}\n/**\n * Before reuse `rc-tree` logic, we need to add key since TreeSelect use `value` instead of `key`.\n */\n\n\nfunction valueUtil_flattenOptions(options) {\n // Add missing key\n function fillKey(list) {\n return (list || []).map(function (node) {\n var value = node.value,\n key = node.key,\n children = node.children;\n\n var clone = valueUtil_objectSpread(valueUtil_objectSpread({}, node), {}, {\n key: \'key\' in node ? key : value\n });\n\n if (children) {\n clone.children = fillKey(children);\n }\n\n return clone;\n });\n }\n\n var flattenList = Object(treeUtil["d" /* flattenTreeData */])(fillKey(options), true);\n return flattenList.map(function (node) {\n return {\n key: node.data.key,\n data: node.data,\n level: getLevel(node)\n };\n });\n}\n\nfunction getDefaultFilterOption(optionFilterProp) {\n return function (searchValue, dataNode) {\n var value = dataNode[optionFilterProp];\n return String(value).toLowerCase().includes(String(searchValue).toLowerCase());\n };\n}\n/** Filter options and return a new options by the search text */\n\n\nfunction filterOptions(searchValue, options, _ref2) {\n var optionFilterProp = _ref2.optionFilterProp,\n filterOption = _ref2.filterOption;\n\n if (filterOption === false) {\n return options;\n }\n\n var filterOptionFunc;\n\n if (typeof filterOption === \'function\') {\n filterOptionFunc = filterOption;\n } else {\n filterOptionFunc = getDefaultFilterOption(optionFilterProp);\n }\n\n function dig(list) {\n var keepAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return list.map(function (dataNode) {\n var children = dataNode.children;\n var match = keepAll || filterOptionFunc(searchValue, fillLegacyProps(dataNode));\n var childList = dig(children || [], match);\n\n if (match || childList.length) {\n return valueUtil_objectSpread(valueUtil_objectSpread({}, dataNode), {}, {\n children: childList\n });\n }\n\n return null;\n }).filter(function (node) {\n return node;\n });\n }\n\n return dig(options);\n}\nfunction getRawValueLabeled(values, prevValue, getEntityByValue, getLabelProp) {\n var valueMap = new Map();\n valueUtil_toArray(prevValue).forEach(function (item) {\n if (item && Object(esm_typeof["a" /* default */])(item) === \'object\' && \'value\' in item) {\n valueMap.set(item.value, item);\n }\n });\n return values.map(function (val) {\n var item = {\n value: val\n };\n var entity = getEntityByValue(val, \'select\', true);\n var label = entity ? getLabelProp(entity.data) : val;\n\n if (valueMap.has(val)) {\n var labeledValue = valueMap.get(val);\n item.label = \'label\' in labeledValue ? labeledValue.label : label;\n\n if (\'halfChecked\' in labeledValue) {\n item.halfChecked = labeledValue.halfChecked;\n }\n } else {\n item.label = label;\n }\n\n return item;\n });\n}\nfunction addValue(rawValues, value) {\n var values = new Set(rawValues);\n values.add(value);\n return Array.from(values);\n}\nfunction removeValue(rawValues, value) {\n var values = new Set(rawValues);\n values.delete(value);\n return Array.from(values);\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/utils/warningPropsUtil.js\n\n\n\n\nfunction warningProps(props) {\n var searchPlaceholder = props.searchPlaceholder,\n treeCheckStrictly = props.treeCheckStrictly,\n treeCheckable = props.treeCheckable,\n labelInValue = props.labelInValue,\n value = props.value,\n multiple = props.multiple;\n Object(warning["a" /* default */])(!searchPlaceholder, \'`searchPlaceholder` has been removed.\');\n\n if (treeCheckStrictly && labelInValue === false) {\n Object(warning["a" /* default */])(false, \'`treeCheckStrictly` will force set `labelInValue` to `true`.\');\n }\n\n if (labelInValue || treeCheckStrictly) {\n Object(warning["a" /* default */])(valueUtil_toArray(value).every(function (val) {\n return val && Object(esm_typeof["a" /* default */])(val) === \'object\' && \'value\' in val;\n }), \'Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead.\');\n }\n\n if (treeCheckStrictly || multiple || treeCheckable) {\n Object(warning["a" /* default */])(!value || Array.isArray(value), \'`value` should be an array when `TreeSelect` is checkable or multiple.\');\n } else {\n Object(warning["a" /* default */])(!Array.isArray(value), \'`value` should not be array when `TreeSelect` is single mode.\');\n }\n}\n\n/* harmony default export */ var warningPropsUtil = (warningProps);\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/hooks/useTreeData.js\n\n\n\nfunction useTreeData_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction useTreeData_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { useTreeData_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { useTreeData_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nvar MAX_WARNING_TIMES = 10;\n\nfunction parseSimpleTreeData(treeData, _ref) {\n var id = _ref.id,\n pId = _ref.pId,\n rootPId = _ref.rootPId;\n var keyNodes = {};\n var rootNodeList = []; // Fill in the map\n\n var nodeList = treeData.map(function (node) {\n var clone = useTreeData_objectSpread({}, node);\n\n var key = clone[id];\n keyNodes[key] = clone;\n clone.key = clone.key || key;\n return clone;\n }); // Connect tree\n\n nodeList.forEach(function (node) {\n var parentKey = node[pId];\n var parent = keyNodes[parentKey]; // Fill parent\n\n if (parent) {\n parent.children = parent.children || [];\n parent.children.push(node);\n } // Fill root tree node\n\n\n if (parentKey === rootPId || !parent && rootPId === null) {\n rootNodeList.push(node);\n }\n });\n return rootNodeList;\n}\n/**\n * Format `treeData` with `value` & `key` which is used for calculation\n */\n\n\nfunction formatTreeData(treeData, getLabelProp) {\n var warningTimes = 0;\n var valueSet = new Set();\n\n function dig(dataNodes) {\n return (dataNodes || []).map(function (node) {\n var key = node.key,\n value = node.value,\n children = node.children,\n rest = Object(objectWithoutProperties["a" /* default */])(node, ["key", "value", "children"]);\n\n var mergedValue = \'value\' in node ? value : key;\n\n var dataNode = useTreeData_objectSpread(useTreeData_objectSpread({}, rest), {}, {\n key: key !== null && key !== undefined ? key : mergedValue,\n value: mergedValue,\n title: getLabelProp(node)\n }); // Check `key` & `value` and warning user\n\n\n if (false) {}\n\n if (\'children\' in node) {\n dataNode.children = dig(children);\n }\n\n return dataNode;\n });\n }\n\n return dig(treeData);\n}\n/**\n * Convert `treeData` or `children` into formatted `treeData`.\n * Will not re-calculate if `treeData` or `children` not change.\n */\n\n\nfunction useTreeData(treeData, children, _ref2) {\n var getLabelProp = _ref2.getLabelProp,\n simpleMode = _ref2.simpleMode;\n var cacheRef = react_default.a.useRef({});\n\n if (treeData) {\n cacheRef.current.formatTreeData = cacheRef.current.treeData === treeData ? cacheRef.current.formatTreeData : formatTreeData(simpleMode ? parseSimpleTreeData(treeData, useTreeData_objectSpread({\n id: \'id\',\n pId: \'pId\',\n rootPId: null\n }, simpleMode !== true ? simpleMode : {})) : treeData, getLabelProp);\n cacheRef.current.treeData = treeData;\n } else {\n cacheRef.current.formatTreeData = cacheRef.current.children === children ? cacheRef.current.formatTreeData : formatTreeData(convertChildrenToData(children), getLabelProp);\n }\n\n return cacheRef.current.formatTreeData;\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/utils/strategyUtil.js\n\nvar SHOW_ALL = \'SHOW_ALL\';\nvar SHOW_PARENT = \'SHOW_PARENT\';\nvar SHOW_CHILD = \'SHOW_CHILD\';\nfunction formatStrategyKeys(keys, strategy, keyEntities) {\n var keySet = new Set(keys);\n\n if (strategy === SHOW_CHILD) {\n return keys.filter(function (key) {\n var entity = keyEntities[key];\n\n if (entity && entity.children && entity.children.every(function (_ref) {\n var node = _ref.node;\n return isCheckDisabled(node) || keySet.has(node.key);\n })) {\n return false;\n }\n\n return true;\n });\n }\n\n if (strategy === SHOW_PARENT) {\n return keys.filter(function (key) {\n var entity = keyEntities[key];\n var parent = entity ? entity.parent : null;\n\n if (parent && !isCheckDisabled(parent.node) && keySet.has(parent.node.key)) {\n return false;\n }\n\n return true;\n });\n }\n\n return keys;\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/hooks/useSelectValues.js\n\n\n\n/** Return */\n\nfunction useSelectValues(rawValues, _ref) {\n var value = _ref.value,\n getEntityByValue = _ref.getEntityByValue,\n getEntityByKey = _ref.getEntityByKey,\n treeConduction = _ref.treeConduction,\n showCheckedStrategy = _ref.showCheckedStrategy,\n conductKeyEntities = _ref.conductKeyEntities,\n getLabelProp = _ref.getLabelProp;\n return react_default.a.useMemo(function () {\n var mergedRawValues = rawValues;\n\n if (treeConduction) {\n var rawKeys = formatStrategyKeys(rawValues.map(function (val) {\n var entity = getEntityByValue(val);\n return entity ? entity.key : val;\n }), showCheckedStrategy, conductKeyEntities);\n mergedRawValues = rawKeys.map(function (key) {\n var entity = getEntityByKey(key);\n return entity ? entity.data.value : key;\n });\n }\n\n return getRawValueLabeled(mergedRawValues, value, getEntityByValue, getLabelProp);\n }, [rawValues, value, treeConduction, showCheckedStrategy, getEntityByValue]);\n}\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/TreeSelect.js\n\n\n\n\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction TreeSelect_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction TreeSelect_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { TreeSelect_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { TreeSelect_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar OMIT_PROPS = [\'expandedKeys\', \'treeData\', \'treeCheckable\', \'showCheckedStrategy\', \'searchPlaceholder\', \'treeLine\', \'treeIcon\', \'showTreeIcon\', \'switcherIcon\', \'treeNodeFilterProp\', \'filterTreeNode\', \'dropdownPopupAlign\', \'treeDefaultExpandAll\', \'treeCheckStrictly\', \'treeExpandedKeys\', \'treeLoadedKeys\', \'treeMotion\', \'onTreeExpand\', \'onTreeLoad\', \'loadData\', \'treeDataSimpleMode\', \'treeNodeLabelProp\', \'treeDefaultExpandedKeys\'];\nvar RefSelect = Object(generate["a" /* default */])({\n prefixCls: \'rc-tree-select\',\n components: {\n optionList: es_OptionList\n },\n // Not use generate since we will handle ourself\n convertChildrenToData: function convertChildrenToData() {\n return null;\n },\n flattenOptions: valueUtil_flattenOptions,\n // Handle `optionLabelProp` in TreeSelect component\n getLabeledValue: valueUtil["e" /* getLabeledValue */],\n filterOptions: filterOptions,\n isValueDisabled: isValueDisabled,\n findValueOption: findValueOption,\n omitDOMProps: function omitDOMProps(props) {\n var cloneProps = TreeSelect_objectSpread({}, props);\n\n OMIT_PROPS.forEach(function (prop) {\n delete cloneProps[prop];\n });\n return cloneProps;\n }\n});\nRefSelect.displayName = \'Select\';\nvar RefTreeSelect = react_default.a.forwardRef(function (props, ref) {\n var multiple = props.multiple,\n treeCheckable = props.treeCheckable,\n treeCheckStrictly = props.treeCheckStrictly,\n _props$showCheckedStr = props.showCheckedStrategy,\n showCheckedStrategy = _props$showCheckedStr === void 0 ? \'SHOW_CHILD\' : _props$showCheckedStr,\n labelInValue = props.labelInValue,\n loadData = props.loadData,\n treeLoadedKeys = props.treeLoadedKeys,\n _props$treeNodeFilter = props.treeNodeFilterProp,\n treeNodeFilterProp = _props$treeNodeFilter === void 0 ? \'value\' : _props$treeNodeFilter,\n treeNodeLabelProp = props.treeNodeLabelProp,\n treeDataSimpleMode = props.treeDataSimpleMode,\n treeData = props.treeData,\n treeExpandedKeys = props.treeExpandedKeys,\n treeDefaultExpandedKeys = props.treeDefaultExpandedKeys,\n treeDefaultExpandAll = props.treeDefaultExpandAll,\n children = props.children,\n treeIcon = props.treeIcon,\n showTreeIcon = props.showTreeIcon,\n switcherIcon = props.switcherIcon,\n treeLine = props.treeLine,\n treeMotion = props.treeMotion,\n filterTreeNode = props.filterTreeNode,\n dropdownPopupAlign = props.dropdownPopupAlign,\n onChange = props.onChange,\n onTreeExpand = props.onTreeExpand,\n onTreeLoad = props.onTreeLoad,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect;\n var mergedCheckable = treeCheckable || treeCheckStrictly;\n var mergedMultiple = multiple || mergedCheckable;\n var treeConduction = treeCheckable && !treeCheckStrictly;\n var mergedLabelInValue = treeCheckStrictly || labelInValue; // ========================== Ref ==========================\n\n var selectRef = react_default.a.useRef(null);\n react_default.a.useImperativeHandle(ref, function () {\n return {\n focus: selectRef.current.focus,\n blur: selectRef.current.blur\n };\n }); // ======================= Tree Data =======================\n // Legacy both support `label` or `title` if not set.\n // We have to fallback to function to handle this\n\n var getTreeNodeLabelProp = function getTreeNodeLabelProp(node) {\n if (treeNodeLabelProp) {\n return node[treeNodeLabelProp];\n }\n\n if (!treeData) {\n return node.title;\n }\n\n return node.label || node.title;\n };\n\n var mergedTreeData = useTreeData(treeData, children, {\n getLabelProp: getTreeNodeLabelProp,\n simpleMode: treeDataSimpleMode\n });\n var flattedOptions = react_default.a.useMemo(function () {\n return valueUtil_flattenOptions(mergedTreeData);\n }, [mergedTreeData]);\n\n var _useKeyValueMap = useKeyValueMap(flattedOptions),\n _useKeyValueMap2 = Object(slicedToArray["a" /* default */])(_useKeyValueMap, 2),\n cacheKeyMap = _useKeyValueMap2[0],\n cacheValueMap = _useKeyValueMap2[1];\n\n var _useKeyValueMapping = useKeyValueMapping(cacheKeyMap, cacheValueMap),\n _useKeyValueMapping2 = Object(slicedToArray["a" /* default */])(_useKeyValueMapping, 2),\n getEntityByKey = _useKeyValueMapping2[0],\n getEntityByValue = _useKeyValueMapping2[1]; // Only generate keyEntities for check conduction when is `treeCheckable`\n\n\n var _React$useMemo = react_default.a.useMemo(function () {\n if (treeConduction) {\n return Object(treeUtil["a" /* convertDataToEntities */])(mergedTreeData);\n }\n\n return {\n keyEntities: null\n };\n }, [mergedTreeData, treeCheckable, treeCheckStrictly]),\n conductKeyEntities = _React$useMemo.keyEntities; // ========================= Value =========================\n\n\n var _React$useState = react_default.a.useState(props.defaultValue),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n\n var mergedValue = \'value\' in props ? props.value : value;\n /** Get `missingRawValues` which not exist in the tree yet */\n\n var splitRawValues = function splitRawValues(newRawValues) {\n var missingRawValues = [];\n var existRawValues = []; // Keep missing value in the cache\n\n newRawValues.forEach(function (val) {\n if (getEntityByValue(val)) {\n existRawValues.push(val);\n } else {\n missingRawValues.push(val);\n }\n });\n return {\n missingRawValues: missingRawValues,\n existRawValues: existRawValues\n };\n };\n\n var _React$useMemo2 = react_default.a.useMemo(function () {\n var valueHalfCheckedKeys = [];\n var newRawValues = [];\n valueUtil_toArray(mergedValue).forEach(function (item) {\n if (item && Object(esm_typeof["a" /* default */])(item) === \'object\' && \'value\' in item) {\n if (item.halfChecked && treeCheckStrictly) {\n var entity = getEntityByValue(item.value);\n valueHalfCheckedKeys.push(entity ? entity.key : item.value);\n } else {\n newRawValues.push(item.value);\n }\n } else {\n newRawValues.push(item);\n }\n }); // We need do conduction of values\n\n if (treeConduction) {\n var _splitRawValues = splitRawValues(newRawValues),\n missingRawValues = _splitRawValues.missingRawValues,\n existRawValues = _splitRawValues.existRawValues;\n\n var keyList = existRawValues.map(function (val) {\n return getEntityByValue(val).key;\n });\n\n var _conductCheck = Object(conductUtil["a" /* conductCheck */])(keyList, true, conductKeyEntities),\n checkedKeys = _conductCheck.checkedKeys,\n halfCheckedKeys = _conductCheck.halfCheckedKeys;\n\n return [[].concat(Object(toConsumableArray["a" /* default */])(missingRawValues), Object(toConsumableArray["a" /* default */])(checkedKeys.map(function (key) {\n return getEntityByKey(key).data.value;\n }))), halfCheckedKeys];\n }\n\n return [newRawValues, valueHalfCheckedKeys];\n }, [mergedValue, mergedMultiple, mergedLabelInValue, treeCheckable, treeCheckStrictly]),\n _React$useMemo3 = Object(slicedToArray["a" /* default */])(_React$useMemo2, 2),\n rawValues = _React$useMemo3[0],\n rawHalfCheckedKeys = _React$useMemo3[1];\n\n var selectValues = useSelectValues(rawValues, {\n treeConduction: treeConduction,\n value: mergedValue,\n showCheckedStrategy: showCheckedStrategy,\n conductKeyEntities: conductKeyEntities,\n getEntityByValue: getEntityByValue,\n getEntityByKey: getEntityByKey,\n getLabelProp: getTreeNodeLabelProp\n });\n\n var triggerChange = function triggerChange(newRawValues, extra, source) {\n setValue(mergedMultiple ? newRawValues : newRawValues[0]);\n\n if (onChange) {\n var eventValues = newRawValues;\n\n if (treeConduction && showCheckedStrategy !== \'SHOW_ALL\') {\n var keyList = newRawValues.map(function (val) {\n var entity = getEntityByValue(val);\n return entity ? entity.key : val;\n });\n var formattedKeyList = formatStrategyKeys(keyList, showCheckedStrategy, conductKeyEntities);\n eventValues = formattedKeyList.map(function (key) {\n var entity = getEntityByKey(key);\n return entity ? entity.data.value : key;\n });\n }\n\n var _ref = extra || {\n triggerValue: undefined,\n selected: undefined\n },\n triggerValue = _ref.triggerValue,\n selected = _ref.selected;\n\n var returnValues = mergedLabelInValue ? getRawValueLabeled(eventValues, mergedValue, getEntityByValue, getTreeNodeLabelProp) : eventValues; // We need fill half check back\n\n if (treeCheckStrictly) {\n var halfValues = rawHalfCheckedKeys.map(function (key) {\n var entity = getEntityByKey(key);\n return entity ? entity.data.value : key;\n }).filter(function (val) {\n return !eventValues.includes(val);\n });\n returnValues = [].concat(Object(toConsumableArray["a" /* default */])(returnValues), Object(toConsumableArray["a" /* default */])(getRawValueLabeled(halfValues, mergedValue, getEntityByValue, getTreeNodeLabelProp)));\n }\n\n var additionalInfo = {\n // [Legacy] Always return as array contains label & value\n preValue: selectValues,\n triggerValue: triggerValue\n }; // [Legacy] Fill legacy data if user query.\n // This is expansive that we only fill when user query\n // https://github.com/react-component/tree-select/blob/fe33eb7c27830c9ac70cd1fdb1ebbe7bc679c16a/src/Select.jsx\n\n var showPosition = true;\n\n if (treeCheckStrictly || source === \'selection\' && !selected) {\n showPosition = false;\n }\n\n fillAdditionalInfo(additionalInfo, triggerValue, newRawValues, mergedTreeData, showPosition);\n\n if (mergedCheckable) {\n additionalInfo.checked = selected;\n } else {\n additionalInfo.selected = selected;\n }\n\n onChange(mergedMultiple ? returnValues : returnValues[0], mergedLabelInValue ? null : eventValues.map(function (val) {\n var entity = getEntityByValue(val);\n return entity ? getTreeNodeLabelProp(entity.data) : null;\n }), additionalInfo);\n }\n };\n\n var onInternalSelect = function onInternalSelect(selectValue, option, source) {\n var eventValue = mergedLabelInValue ? selectValue : selectValue;\n\n if (!mergedMultiple) {\n // Single mode always set value\n triggerChange([selectValue], {\n selected: true,\n triggerValue: selectValue\n }, source);\n } else {\n var newRawValues = addValue(rawValues, selectValue); // Add keys if tree conduction\n\n if (treeConduction) {\n // Should keep missing values\n var _splitRawValues2 = splitRawValues(newRawValues),\n missingRawValues = _splitRawValues2.missingRawValues,\n existRawValues = _splitRawValues2.existRawValues;\n\n var keyList = existRawValues.map(function (val) {\n return getEntityByValue(val).key;\n });\n\n var _conductCheck2 = Object(conductUtil["a" /* conductCheck */])(keyList, true, conductKeyEntities),\n checkedKeys = _conductCheck2.checkedKeys;\n\n newRawValues = [].concat(Object(toConsumableArray["a" /* default */])(missingRawValues), Object(toConsumableArray["a" /* default */])(checkedKeys.map(function (key) {\n return getEntityByKey(key).data.value;\n })));\n }\n\n triggerChange(newRawValues, {\n selected: true,\n triggerValue: selectValue\n }, source);\n }\n\n if (onSelect) {\n onSelect(eventValue, option);\n }\n };\n\n var onInternalDeselect = function onInternalDeselect(selectValue, option, source) {\n var eventValue = mergedLabelInValue ? selectValue : selectValue;\n var newRawValues = removeValue(rawValues, selectValue); // Remove keys if tree conduction\n\n if (treeConduction) {\n var _splitRawValues3 = splitRawValues(newRawValues),\n missingRawValues = _splitRawValues3.missingRawValues,\n existRawValues = _splitRawValues3.existRawValues;\n\n var keyList = existRawValues.map(function (val) {\n return getEntityByValue(val).key;\n });\n\n var _conductCheck3 = Object(conductUtil["a" /* conductCheck */])(keyList, {\n checked: false,\n halfCheckedKeys: rawHalfCheckedKeys\n }, conductKeyEntities),\n checkedKeys = _conductCheck3.checkedKeys;\n\n newRawValues = [].concat(Object(toConsumableArray["a" /* default */])(missingRawValues), Object(toConsumableArray["a" /* default */])(checkedKeys.map(function (key) {\n return getEntityByKey(key).data.value;\n })));\n }\n\n triggerChange(newRawValues, {\n selected: false,\n triggerValue: selectValue\n }, source);\n\n if (onDeselect) {\n onDeselect(eventValue, option);\n }\n };\n\n var onInternalClear = function onInternalClear() {\n triggerChange([], null, \'clear\');\n }; // ========================= Open ==========================\n\n\n var onInternalDropdownVisibleChange = react_default.a.useCallback(function (open) {\n if (onDropdownVisibleChange) {\n var legacyParam = {};\n Object.defineProperty(legacyParam, \'documentClickClose\', {\n get: function get() {\n Object(warning["a" /* default */])(false, \'Second param of `onDropdownVisibleChange` has been removed.\');\n return false;\n }\n });\n onDropdownVisibleChange(open, legacyParam);\n }\n }, [onDropdownVisibleChange]); // ======================== Warning ========================\n\n if (false) {} // ======================== Render =========================\n // We pass some props into select props style\n\n\n var selectProps = {\n optionLabelProp: null,\n optionFilterProp: treeNodeFilterProp,\n dropdownAlign: dropdownPopupAlign,\n internalProps: {\n mark: generator["a" /* INTERNAL_PROPS_MARK */],\n onClear: onInternalClear,\n skipTriggerChange: true,\n skipTriggerSelect: true,\n onRawSelect: onInternalSelect,\n onRawDeselect: onInternalDeselect\n }\n };\n\n if (\'filterTreeNode\' in props) {\n selectProps.filterOption = filterTreeNode;\n }\n\n return react_default.a.createElement(SelectContext.Provider, {\n value: {\n checkable: mergedCheckable,\n loadData: loadData,\n treeLoadedKeys: treeLoadedKeys,\n onTreeLoad: onTreeLoad,\n checkedKeys: rawValues,\n halfCheckedKeys: rawHalfCheckedKeys,\n treeDefaultExpandAll: treeDefaultExpandAll,\n treeExpandedKeys: treeExpandedKeys,\n treeDefaultExpandedKeys: treeDefaultExpandedKeys,\n onTreeExpand: onTreeExpand,\n treeIcon: treeIcon,\n treeMotion: treeMotion,\n showTreeIcon: showTreeIcon,\n switcherIcon: switcherIcon,\n treeLine: treeLine,\n treeNodeFilterProp: treeNodeFilterProp\n }\n }, react_default.a.createElement(RefSelect, Object.assign({\n ref: selectRef,\n mode: mergedMultiple ? \'multiple\' : null\n }, props, selectProps, {\n value: selectValues,\n // We will handle this ourself since we need calculate conduction\n labelInValue: true,\n options: mergedTreeData,\n onChange: null,\n onSelect: null,\n onDeselect: null,\n onDropdownVisibleChange: onInternalDropdownVisibleChange\n })));\n}); // Use class component since typescript not support generic\n// by `forwardRef` with function component yet.\n\nvar TreeSelect_TreeSelect = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(TreeSelect, _React$Component);\n\n var _super = _createSuper(TreeSelect);\n\n function TreeSelect() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, TreeSelect);\n\n _this = _super.apply(this, arguments);\n _this.selectRef = react_default.a.createRef();\n\n _this.focus = function () {\n _this.selectRef.current.focus();\n };\n\n _this.blur = function () {\n _this.selectRef.current.blur();\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(TreeSelect, [{\n key: "render",\n value: function render() {\n return react_default.a.createElement(RefTreeSelect, Object.assign({\n ref: this.selectRef\n }, this.props));\n }\n }]);\n\n return TreeSelect;\n}(react_default.a.Component);\n\nTreeSelect_TreeSelect.TreeNode = es_TreeNode;\nTreeSelect_TreeSelect.SHOW_ALL = SHOW_ALL;\nTreeSelect_TreeSelect.SHOW_PARENT = SHOW_PARENT;\nTreeSelect_TreeSelect.SHOW_CHILD = SHOW_CHILD;\n/* harmony default export */ var es_TreeSelect = (TreeSelect_TreeSelect);\n// CONCATENATED MODULE: ./node_modules/rc-tree-select/es/index.js\n\n\n\n\n/* harmony default export */ var rc_tree_select_es = (es_TreeSelect);\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar omit_js_es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/devWarning.js\nvar devWarning = __webpack_require__("uaoM");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/select/utils/iconUtil.js\nvar iconUtil = __webpack_require__("1vzs");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/tree/utils/iconUtil.js\nvar utils_iconUtil = __webpack_require__("2jpz");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js\nvar SizeContext = __webpack_require__("3Nzz");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/tree-select/index.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction tree_select_createSuper(Derived) { var hasNativeReflectConstruct = tree_select_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction tree_select_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\nvar tree_select_TreeSelect = /*#__PURE__*/function (_React$Component) {\n _inherits(TreeSelect, _React$Component);\n\n var _super = tree_select_createSuper(TreeSelect);\n\n function TreeSelect(props) {\n var _this;\n\n _classCallCheck(this, TreeSelect);\n\n _this = _super.call(this, props);\n _this.selectRef = /*#__PURE__*/react["createRef"]();\n\n _this.renderTreeSelect = function (_ref) {\n var getContextPopupContainer = _ref.getPopupContainer,\n getPrefixCls = _ref.getPrefixCls,\n renderEmpty = _ref.renderEmpty,\n direction = _ref.direction,\n virtual = _ref.virtual,\n dropdownMatchSelectWidth = _ref.dropdownMatchSelectWidth;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n customizeSize = _this$props.size,\n className = _this$props.className,\n treeCheckable = _this$props.treeCheckable,\n multiple = _this$props.multiple,\n _this$props$listHeigh = _this$props.listHeight,\n listHeight = _this$props$listHeigh === void 0 ? 256 : _this$props$listHeigh,\n _this$props$listItemH = _this$props.listItemHeight,\n listItemHeight = _this$props$listItemH === void 0 ? 26 : _this$props$listItemH,\n notFoundContent = _this$props.notFoundContent,\n _switcherIcon = _this$props.switcherIcon,\n treeLine = _this$props.treeLine,\n getPopupContainer = _this$props.getPopupContainer,\n dropdownClassName = _this$props.dropdownClassName,\n bordered = _this$props.bordered,\n _this$props$treeIcon = _this$props.treeIcon,\n treeIcon = _this$props$treeIcon === void 0 ? false : _this$props$treeIcon;\n var prefixCls = getPrefixCls(\'select\', customizePrefixCls);\n var treePrefixCls = getPrefixCls(\'select-tree\', customizePrefixCls);\n var treeSelectPrefixCls = getPrefixCls(\'tree-select\', customizePrefixCls);\n var mergedDropdownClassName = classnames_default()(dropdownClassName, "".concat(treeSelectPrefixCls, "-dropdown"), _defineProperty({}, "".concat(treeSelectPrefixCls, "-dropdown-rtl"), direction === \'rtl\'));\n var isMultiple = !!(treeCheckable || multiple); // ===================== Icons =====================\n\n var _getIcons = Object(iconUtil["a" /* default */])(_extends(_extends({}, _this.props), {\n multiple: isMultiple\n })),\n suffixIcon = _getIcons.suffixIcon,\n itemIcon = _getIcons.itemIcon,\n removeIcon = _getIcons.removeIcon,\n clearIcon = _getIcons.clearIcon; // ===================== Empty =====================\n\n\n var mergedNotFound;\n\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else {\n mergedNotFound = renderEmpty(\'Select\');\n } // ==================== Render =====================\n\n\n var selectProps = Object(omit_js_es["a" /* default */])(_this.props, [\'prefixCls\', \'suffixIcon\', \'itemIcon\', \'removeIcon\', \'clearIcon\', \'switcherIcon\', \'size\', \'bordered\']);\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n var _classNames2;\n\n var mergedSize = customizeSize || size;\n var mergedClassName = classnames_default()(!customizePrefixCls && treeSelectPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-lg"), mergedSize === \'large\'), _defineProperty(_classNames2, "".concat(prefixCls, "-sm"), mergedSize === \'small\'), _defineProperty(_classNames2, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _defineProperty(_classNames2, "".concat(prefixCls, "-borderless"), !bordered), _classNames2), className);\n return /*#__PURE__*/react["createElement"](rc_tree_select_es, _extends({\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }, selectProps, {\n ref: _this.selectRef,\n prefixCls: prefixCls,\n className: mergedClassName,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n treeCheckable: treeCheckable ? /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-tree-checkbox-inner")\n }) : treeCheckable,\n inputIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n clearIcon: clearIcon,\n switcherIcon: function switcherIcon(nodeProps) {\n return Object(utils_iconUtil["a" /* default */])(treePrefixCls, _switcherIcon, treeLine, nodeProps);\n },\n showTreeIcon: treeIcon,\n notFoundContent: mergedNotFound,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n treeMotion: null,\n dropdownClassName: mergedDropdownClassName\n }));\n });\n };\n\n Object(devWarning["a" /* default */])(props.multiple !== false || !props.treeCheckable, \'TreeSelect\', \'`multiple` will alway be `true` when `treeCheckable` is true\');\n return _this;\n }\n\n _createClass(TreeSelect, [{\n key: "focus",\n value: function focus() {\n if (this.selectRef.current) {\n this.selectRef.current.focus();\n }\n }\n }, {\n key: "blur",\n value: function blur() {\n if (this.selectRef.current) {\n this.selectRef.current.blur();\n }\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderTreeSelect);\n }\n }]);\n\n return TreeSelect;\n}(react["Component"]);\n\ntree_select_TreeSelect.TreeNode = es_TreeNode;\ntree_select_TreeSelect.SHOW_ALL = SHOW_ALL;\ntree_select_TreeSelect.SHOW_PARENT = SHOW_PARENT;\ntree_select_TreeSelect.SHOW_CHILD = SHOW_CHILD;\ntree_select_TreeSelect.defaultProps = {\n transitionName: \'slide-up\',\n choiceTransitionName: \'zoom\',\n bordered: true\n};\n\n/* harmony default export */ var tree_select = __webpack_exports__["a"] = (tree_select_TreeSelect);\n\n//# sourceURL=webpack:///./node_modules/antd/es/tree-select/index.js_+_13_modules?')},"5TxY":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CopyOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return TextAreaInput; });\n/* harmony import */ var _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("D3Dy");\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("EffR");\n/* harmony import */ var _base_common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("X+cX");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("MI8n");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("pmY6");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("MNsG");\n/* harmony import */ var _base_common_strings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("N0LK");\n/* harmony import */ var _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("Comh");\n/* harmony import */ var _common_core_selection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("gCVg");\n/* harmony import */ var _base_browser_canIUse_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("CjF5");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar CopyOptions = {\r\n forceCopyWithSyntaxHighlighting: false\r\n};\r\n/**\r\n * Every time we write to the clipboard, we record a bit of extra metadata here.\r\n * Every time we read from the cipboard, if the text matches our last written text,\r\n * we can fetch the previous metadata.\r\n */\r\nvar InMemoryClipboardMetadataManager = /** @class */ (function () {\r\n function InMemoryClipboardMetadataManager() {\r\n this._lastState = null;\r\n }\r\n InMemoryClipboardMetadataManager.prototype.set = function (lastCopiedValue, data) {\r\n this._lastState = { lastCopiedValue: lastCopiedValue, data: data };\r\n };\r\n InMemoryClipboardMetadataManager.prototype.get = function (pastedText) {\r\n if (this._lastState && this._lastState.lastCopiedValue === pastedText) {\r\n // match!\r\n return this._lastState.data;\r\n }\r\n this._lastState = null;\r\n return null;\r\n };\r\n InMemoryClipboardMetadataManager.INSTANCE = new InMemoryClipboardMetadataManager();\r\n return InMemoryClipboardMetadataManager;\r\n}());\r\n/**\r\n * Writes screen reader content to the textarea and is able to analyze its input events to generate:\r\n * - onCut\r\n * - onPaste\r\n * - onType\r\n *\r\n * Composition events are generated for presentation purposes (composition input is reflected in onType).\r\n */\r\nvar TextAreaInput = /** @class */ (function (_super) {\r\n __extends(TextAreaInput, _super);\r\n function TextAreaInput(host, textArea) {\r\n var _this = _super.call(this) || this;\r\n _this.textArea = textArea;\r\n _this._onFocus = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onFocus = _this._onFocus.event;\r\n _this._onBlur = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onBlur = _this._onBlur.event;\r\n _this._onKeyDown = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onKeyDown = _this._onKeyDown.event;\r\n _this._onKeyUp = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onKeyUp = _this._onKeyUp.event;\r\n _this._onCut = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onCut = _this._onCut.event;\r\n _this._onPaste = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onPaste = _this._onPaste.event;\r\n _this._onType = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onType = _this._onType.event;\r\n _this._onCompositionStart = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onCompositionStart = _this._onCompositionStart.event;\r\n _this._onCompositionUpdate = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onCompositionUpdate = _this._onCompositionUpdate.event;\r\n _this._onCompositionEnd = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onCompositionEnd = _this._onCompositionEnd.event;\r\n _this._onSelectionChangeRequest = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_3__[/* Emitter */ "a"]());\r\n _this.onSelectionChangeRequest = _this._onSelectionChangeRequest.event;\r\n _this._host = host;\r\n _this._textArea = _this._register(new TextAreaWrapper(textArea));\r\n _this._asyncTriggerCut = _this._register(new _base_common_async_js__WEBPACK_IMPORTED_MODULE_2__[/* RunOnceScheduler */ "d"](function () { return _this._onCut.fire(); }, 0));\r\n _this._textAreaState = _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].EMPTY;\r\n _this._selectionChangeListener = null;\r\n _this.writeScreenReaderContent(\'ctor\');\r\n _this._hasFocus = false;\r\n _this._isDoingComposition = false;\r\n _this._nextCommand = 0 /* Type */;\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addStandardDisposableListener */ "n"](textArea.domNode, \'keydown\', function (e) {\r\n if (_this._isDoingComposition &&\r\n (e.keyCode === 109 /* KEY_IN_COMPOSITION */ || e.keyCode === 1 /* Backspace */)) {\r\n // Stop propagation for keyDown events if the IME is processing key input\r\n e.stopPropagation();\r\n }\r\n if (e.equals(9 /* Escape */)) {\r\n // Prevent default always for `Esc`, otherwise it will generate a keypress\r\n // See https://msdn.microsoft.com/en-us/library/ie/ms536939(v=vs.85).aspx\r\n e.preventDefault();\r\n }\r\n _this._onKeyDown.fire(e);\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addStandardDisposableListener */ "n"](textArea.domNode, \'keyup\', function (e) {\r\n _this._onKeyUp.fire(e);\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'compositionstart\', function (e) {\r\n if (_this._isDoingComposition) {\r\n return;\r\n }\r\n _this._isDoingComposition = true;\r\n // In IE we cannot set .value when handling \'compositionstart\' because the entire composition will get canceled.\r\n if (!_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isEdgeOrIE */ "f"]) {\r\n _this._setAndWriteTextAreaState(\'compositionstart\', _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].EMPTY);\r\n }\r\n _this._onCompositionStart.fire();\r\n }));\r\n /**\r\n * Deduce the typed input from a text area\'s value and the last observed state.\r\n */\r\n var deduceInputFromTextAreaValue = function (couldBeEmojiInput) {\r\n var oldState = _this._textAreaState;\r\n var newState = _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].readFromTextArea(_this._textArea);\r\n return [newState, _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].deduceInput(oldState, newState, couldBeEmojiInput)];\r\n };\r\n /**\r\n * Deduce the composition input from a string.\r\n */\r\n var deduceComposition = function (text) {\r\n var oldState = _this._textAreaState;\r\n var newState = _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].selectedText(text);\r\n var typeInput = {\r\n text: newState.value,\r\n replaceCharCnt: oldState.selectionEnd - oldState.selectionStart\r\n };\r\n return [newState, typeInput];\r\n };\r\n var compositionDataInValid = function (locale) {\r\n // https://github.com/Microsoft/monaco-editor/issues/339\r\n // Multi-part Japanese compositions reset cursor in Edge/IE, Chinese and Korean IME don\'t have this issue.\r\n // The reason that we can\'t use this path for all CJK IME is IE and Edge behave differently when handling Korean IME,\r\n // which breaks this path of code.\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isEdgeOrIE */ "f"] && locale === \'ja\') {\r\n return true;\r\n }\r\n // https://github.com/Microsoft/monaco-editor/issues/545\r\n // On IE11, we can\'t trust composition data when typing Chinese as IE11 doesn\'t emit correct\r\n // events when users type numbers in IME.\r\n // Chinese: zh-Hans-CN, zh-Hans-SG, zh-Hant-TW, zh-Hant-HK\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isIE */ "i"] && locale.indexOf(\'zh-Han\') === 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'compositionupdate\', function (e) {\r\n if (compositionDataInValid(e.locale)) {\r\n var _a = deduceInputFromTextAreaValue(/*couldBeEmojiInput*/ false), newState_1 = _a[0], typeInput_1 = _a[1];\r\n _this._textAreaState = newState_1;\r\n _this._onType.fire(typeInput_1);\r\n _this._onCompositionUpdate.fire(e);\r\n return;\r\n }\r\n var _b = deduceComposition(e.data), newState = _b[0], typeInput = _b[1];\r\n _this._textAreaState = newState;\r\n _this._onType.fire(typeInput);\r\n _this._onCompositionUpdate.fire(e);\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'compositionend\', function (e) {\r\n // https://github.com/microsoft/monaco-editor/issues/1663\r\n // On iOS 13.2, Chinese system IME randomly trigger an additional compositionend event with empty data\r\n if (!_this._isDoingComposition) {\r\n return;\r\n }\r\n if (compositionDataInValid(e.locale)) {\r\n // https://github.com/Microsoft/monaco-editor/issues/339\r\n var _a = deduceInputFromTextAreaValue(/*couldBeEmojiInput*/ false), newState = _a[0], typeInput = _a[1];\r\n _this._textAreaState = newState;\r\n _this._onType.fire(typeInput);\r\n }\r\n else {\r\n var _b = deduceComposition(e.data), newState = _b[0], typeInput = _b[1];\r\n _this._textAreaState = newState;\r\n _this._onType.fire(typeInput);\r\n }\r\n // Due to isEdgeOrIE (where the textarea was not cleared initially) and isChrome (the textarea is not updated correctly when composition ends)\r\n // we cannot assume the text at the end consists only of the composited text\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isEdgeOrIE */ "f"] || _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isChrome */ "d"]) {\r\n _this._textAreaState = _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].readFromTextArea(_this._textArea);\r\n }\r\n if (!_this._isDoingComposition) {\r\n return;\r\n }\r\n _this._isDoingComposition = false;\r\n _this._onCompositionEnd.fire();\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'input\', function () {\r\n // Pretend here we touched the text area, as the `input` event will most likely\r\n // result in a `selectionchange` event which we want to ignore\r\n _this._textArea.setIgnoreSelectionChangeTime(\'received input event\');\r\n if (_this._isDoingComposition) {\r\n return;\r\n }\r\n var _a = deduceInputFromTextAreaValue(/*couldBeEmojiInput*/ _base_common_platform_js__WEBPACK_IMPORTED_MODULE_5__[/* isMacintosh */ "e"]), newState = _a[0], typeInput = _a[1];\r\n if (typeInput.replaceCharCnt === 0 && typeInput.text.length === 1 && _base_common_strings_js__WEBPACK_IMPORTED_MODULE_6__[/* isHighSurrogate */ "z"](typeInput.text.charCodeAt(0))) {\r\n // Ignore invalid input but keep it around for next time\r\n return;\r\n }\r\n _this._textAreaState = newState;\r\n if (_this._nextCommand === 0 /* Type */) {\r\n if (typeInput.text !== \'\') {\r\n _this._onType.fire(typeInput);\r\n }\r\n }\r\n else {\r\n if (typeInput.text !== \'\' || typeInput.replaceCharCnt !== 0) {\r\n _this._firePaste(typeInput.text, null);\r\n }\r\n _this._nextCommand = 0 /* Type */;\r\n }\r\n }));\r\n // --- Clipboard operations\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'cut\', function (e) {\r\n // Pretend here we touched the text area, as the `cut` event will most likely\r\n // result in a `selectionchange` event which we want to ignore\r\n _this._textArea.setIgnoreSelectionChangeTime(\'received cut event\');\r\n _this._ensureClipboardGetsEditorSelection(e);\r\n _this._asyncTriggerCut.schedule();\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'copy\', function (e) {\r\n _this._ensureClipboardGetsEditorSelection(e);\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'paste\', function (e) {\r\n // Pretend here we touched the text area, as the `paste` event will most likely\r\n // result in a `selectionchange` event which we want to ignore\r\n _this._textArea.setIgnoreSelectionChangeTime(\'received paste event\');\r\n if (ClipboardEventUtils.canUseTextData(e)) {\r\n var _a = ClipboardEventUtils.getTextData(e), pastePlainText = _a[0], metadata = _a[1];\r\n if (pastePlainText !== \'\') {\r\n _this._firePaste(pastePlainText, metadata);\r\n }\r\n }\r\n else {\r\n if (_this._textArea.getSelectionStart() !== _this._textArea.getSelectionEnd()) {\r\n // Clean up the textarea, to get a clean paste\r\n _this._setAndWriteTextAreaState(\'paste\', _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].EMPTY);\r\n }\r\n _this._nextCommand = 1 /* Paste */;\r\n }\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'focus\', function () {\r\n _this._setHasFocus(true);\r\n }));\r\n _this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](textArea.domNode, \'blur\', function () {\r\n _this._setHasFocus(false);\r\n }));\r\n return _this;\r\n }\r\n TextAreaInput.prototype._installSelectionChangeListener = function () {\r\n // See https://github.com/Microsoft/vscode/issues/27216\r\n // When using a Braille display, it is possible for users to reposition the\r\n // system caret. This is reflected in Chrome as a `selectionchange` event.\r\n //\r\n // The `selectionchange` event appears to be emitted under numerous other circumstances,\r\n // so it is quite a challenge to distinguish a `selectionchange` coming in from a user\r\n // using a Braille display from all the other cases.\r\n //\r\n // The problems with the `selectionchange` event are:\r\n // * the event is emitted when the textarea is focused programmatically -- textarea.focus()\r\n // * the event is emitted when the selection is changed in the textarea programmatically -- textarea.setSelectionRange(...)\r\n // * the event is emitted when the value of the textarea is changed programmatically -- textarea.value = \'...\'\r\n // * the event is emitted when tabbing into the textarea\r\n // * the event is emitted asynchronously (sometimes with a delay as high as a few tens of ms)\r\n // * the event sometimes comes in bursts for a single logical textarea operation\r\n var _this = this;\r\n // `selectionchange` events often come multiple times for a single logical change\r\n // so throttle multiple `selectionchange` events that burst in a short period of time.\r\n var previousSelectionChangeEventTime = 0;\r\n return _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* addDisposableListener */ "i"](document, \'selectionchange\', function (e) {\r\n if (!_this._hasFocus) {\r\n return;\r\n }\r\n if (_this._isDoingComposition) {\r\n return;\r\n }\r\n if (!_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isChrome */ "d"] || !_base_common_platform_js__WEBPACK_IMPORTED_MODULE_5__[/* isWindows */ "h"]) {\r\n // Support only for Chrome on Windows until testing happens on other browsers + OS configurations\r\n return;\r\n }\r\n var now = Date.now();\r\n var delta1 = now - previousSelectionChangeEventTime;\r\n previousSelectionChangeEventTime = now;\r\n if (delta1 < 5) {\r\n // received another `selectionchange` event within 5ms of the previous `selectionchange` event\r\n // => ignore it\r\n return;\r\n }\r\n var delta2 = now - _this._textArea.getIgnoreSelectionChangeTime();\r\n _this._textArea.resetSelectionChangeTime();\r\n if (delta2 < 100) {\r\n // received a `selectionchange` event within 100ms since we touched the textarea\r\n // => ignore it, since we caused it\r\n return;\r\n }\r\n if (!_this._textAreaState.selectionStartPosition || !_this._textAreaState.selectionEndPosition) {\r\n // Cannot correlate a position in the textarea with a position in the editor...\r\n return;\r\n }\r\n var newValue = _this._textArea.getValue();\r\n if (_this._textAreaState.value !== newValue) {\r\n // Cannot correlate a position in the textarea with a position in the editor...\r\n return;\r\n }\r\n var newSelectionStart = _this._textArea.getSelectionStart();\r\n var newSelectionEnd = _this._textArea.getSelectionEnd();\r\n if (_this._textAreaState.selectionStart === newSelectionStart && _this._textAreaState.selectionEnd === newSelectionEnd) {\r\n // Nothing to do...\r\n return;\r\n }\r\n var _newSelectionStartPosition = _this._textAreaState.deduceEditorPosition(newSelectionStart);\r\n var newSelectionStartPosition = _this._host.deduceModelPosition(_newSelectionStartPosition[0], _newSelectionStartPosition[1], _newSelectionStartPosition[2]);\r\n var _newSelectionEndPosition = _this._textAreaState.deduceEditorPosition(newSelectionEnd);\r\n var newSelectionEndPosition = _this._host.deduceModelPosition(_newSelectionEndPosition[0], _newSelectionEndPosition[1], _newSelectionEndPosition[2]);\r\n var newSelection = new _common_core_selection_js__WEBPACK_IMPORTED_MODULE_8__[/* Selection */ "a"](newSelectionStartPosition.lineNumber, newSelectionStartPosition.column, newSelectionEndPosition.lineNumber, newSelectionEndPosition.column);\r\n _this._onSelectionChangeRequest.fire(newSelection);\r\n });\r\n };\r\n TextAreaInput.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n if (this._selectionChangeListener) {\r\n this._selectionChangeListener.dispose();\r\n this._selectionChangeListener = null;\r\n }\r\n };\r\n TextAreaInput.prototype.focusTextArea = function () {\r\n // Setting this._hasFocus and writing the screen reader content\r\n // will result in a focus() and setSelectionRange() in the textarea\r\n this._setHasFocus(true);\r\n // If the editor is off DOM, focus cannot be really set, so let\'s double check that we have managed to set the focus\r\n this.refreshFocusState();\r\n };\r\n TextAreaInput.prototype.isFocused = function () {\r\n return this._hasFocus;\r\n };\r\n TextAreaInput.prototype.refreshFocusState = function () {\r\n var shadowRoot = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* getShadowRoot */ "D"](this.textArea.domNode);\r\n if (shadowRoot) {\r\n this._setHasFocus(shadowRoot.activeElement === this.textArea.domNode);\r\n }\r\n else if (_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* isInDOM */ "L"](this.textArea.domNode)) {\r\n this._setHasFocus(document.activeElement === this.textArea.domNode);\r\n }\r\n else {\r\n this._setHasFocus(false);\r\n }\r\n };\r\n TextAreaInput.prototype._setHasFocus = function (newHasFocus) {\r\n if (this._hasFocus === newHasFocus) {\r\n // no change\r\n return;\r\n }\r\n this._hasFocus = newHasFocus;\r\n if (this._selectionChangeListener) {\r\n this._selectionChangeListener.dispose();\r\n this._selectionChangeListener = null;\r\n }\r\n if (this._hasFocus) {\r\n this._selectionChangeListener = this._installSelectionChangeListener();\r\n }\r\n if (this._hasFocus) {\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isEdge */ "e"]) {\r\n // Edge has a bug where setting the selection range while the focus event\r\n // is dispatching doesn\'t work. To reproduce, "tab into" the editor.\r\n this._setAndWriteTextAreaState(\'focusgain\', _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].EMPTY);\r\n }\r\n else {\r\n this.writeScreenReaderContent(\'focusgain\');\r\n }\r\n }\r\n if (this._hasFocus) {\r\n this._onFocus.fire();\r\n }\r\n else {\r\n this._onBlur.fire();\r\n }\r\n };\r\n TextAreaInput.prototype._setAndWriteTextAreaState = function (reason, textAreaState) {\r\n if (!this._hasFocus) {\r\n textAreaState = textAreaState.collapseSelection();\r\n }\r\n textAreaState.writeToTextArea(reason, this._textArea, this._hasFocus);\r\n this._textAreaState = textAreaState;\r\n };\r\n TextAreaInput.prototype.writeScreenReaderContent = function (reason) {\r\n if (this._isDoingComposition) {\r\n // Do not write to the text area when doing composition\r\n return;\r\n }\r\n this._setAndWriteTextAreaState(reason, this._host.getScreenReaderContent(this._textAreaState));\r\n };\r\n TextAreaInput.prototype._ensureClipboardGetsEditorSelection = function (e) {\r\n var dataToCopy = this._host.getDataToCopy(ClipboardEventUtils.canUseTextData(e) && _base_browser_canIUse_js__WEBPACK_IMPORTED_MODULE_9__[/* BrowserFeatures */ "a"].clipboard.richText);\r\n var storedMetadata = {\r\n version: 1,\r\n isFromEmptySelection: dataToCopy.isFromEmptySelection,\r\n multicursorText: dataToCopy.multicursorText,\r\n mode: dataToCopy.mode\r\n };\r\n InMemoryClipboardMetadataManager.INSTANCE.set(\r\n // When writing "LINE\\r\\n" to the clipboard and then pasting,\r\n // Firefox pastes "LINE\\n", so let\'s work around this quirk\r\n (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isFirefox */ "h"] ? dataToCopy.text.replace(/\\r\\n/g, \'\\n\') : dataToCopy.text), storedMetadata);\r\n if (!ClipboardEventUtils.canUseTextData(e)) {\r\n // Looks like an old browser. The strategy is to place the text\r\n // we\'d like to be copied to the clipboard in the textarea and select it.\r\n this._setAndWriteTextAreaState(\'copy or cut\', _textAreaState_js__WEBPACK_IMPORTED_MODULE_7__[/* TextAreaState */ "b"].selectedText(dataToCopy.text));\r\n return;\r\n }\r\n ClipboardEventUtils.setTextData(e, dataToCopy.text, dataToCopy.html, storedMetadata);\r\n };\r\n TextAreaInput.prototype._firePaste = function (text, metadata) {\r\n if (!metadata) {\r\n // try the in-memory store\r\n metadata = InMemoryClipboardMetadataManager.INSTANCE.get(text);\r\n }\r\n this._onPaste.fire({\r\n text: text,\r\n metadata: metadata\r\n });\r\n };\r\n return TextAreaInput;\r\n}(_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__[/* Disposable */ "a"]));\r\n\r\nvar ClipboardEventUtils = /** @class */ (function () {\r\n function ClipboardEventUtils() {\r\n }\r\n ClipboardEventUtils.canUseTextData = function (e) {\r\n if (e.clipboardData) {\r\n return true;\r\n }\r\n if (window.clipboardData) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n ClipboardEventUtils.getTextData = function (e) {\r\n if (e.clipboardData) {\r\n e.preventDefault();\r\n var text = e.clipboardData.getData(\'text/plain\');\r\n var metadata = null;\r\n var rawmetadata = e.clipboardData.getData(\'vscode-editor-data\');\r\n if (typeof rawmetadata === \'string\') {\r\n try {\r\n metadata = JSON.parse(rawmetadata);\r\n if (metadata.version !== 1) {\r\n metadata = null;\r\n }\r\n }\r\n catch (err) {\r\n // no problem!\r\n }\r\n }\r\n return [text, metadata];\r\n }\r\n if (window.clipboardData) {\r\n e.preventDefault();\r\n var text = window.clipboardData.getData(\'Text\');\r\n return [text, null];\r\n }\r\n throw new Error(\'ClipboardEventUtils.getTextData: Cannot use text data!\');\r\n };\r\n ClipboardEventUtils.setTextData = function (e, text, html, metadata) {\r\n if (e.clipboardData) {\r\n e.clipboardData.setData(\'text/plain\', text);\r\n if (typeof html === \'string\') {\r\n e.clipboardData.setData(\'text/html\', html);\r\n }\r\n e.clipboardData.setData(\'vscode-editor-data\', JSON.stringify(metadata));\r\n e.preventDefault();\r\n return;\r\n }\r\n if (window.clipboardData) {\r\n window.clipboardData.setData(\'Text\', text);\r\n e.preventDefault();\r\n return;\r\n }\r\n throw new Error(\'ClipboardEventUtils.setTextData: Cannot use text data!\');\r\n };\r\n return ClipboardEventUtils;\r\n}());\r\nvar TextAreaWrapper = /** @class */ (function (_super) {\r\n __extends(TextAreaWrapper, _super);\r\n function TextAreaWrapper(_textArea) {\r\n var _this = _super.call(this) || this;\r\n _this._actual = _textArea;\r\n _this._ignoreSelectionChangeTime = 0;\r\n return _this;\r\n }\r\n TextAreaWrapper.prototype.setIgnoreSelectionChangeTime = function (reason) {\r\n this._ignoreSelectionChangeTime = Date.now();\r\n };\r\n TextAreaWrapper.prototype.getIgnoreSelectionChangeTime = function () {\r\n return this._ignoreSelectionChangeTime;\r\n };\r\n TextAreaWrapper.prototype.resetSelectionChangeTime = function () {\r\n this._ignoreSelectionChangeTime = 0;\r\n };\r\n TextAreaWrapper.prototype.getValue = function () {\r\n // console.log(\'current value: \' + this._textArea.value);\r\n return this._actual.domNode.value;\r\n };\r\n TextAreaWrapper.prototype.setValue = function (reason, value) {\r\n var textArea = this._actual.domNode;\r\n if (textArea.value === value) {\r\n // No change\r\n return;\r\n }\r\n // console.log(\'reason: \' + reason + \', current value: \' + textArea.value + \' => new value: \' + value);\r\n this.setIgnoreSelectionChangeTime(\'setValue\');\r\n textArea.value = value;\r\n };\r\n TextAreaWrapper.prototype.getSelectionStart = function () {\r\n return this._actual.domNode.selectionStart;\r\n };\r\n TextAreaWrapper.prototype.getSelectionEnd = function () {\r\n return this._actual.domNode.selectionEnd;\r\n };\r\n TextAreaWrapper.prototype.setSelectionRange = function (reason, selectionStart, selectionEnd) {\r\n var textArea = this._actual.domNode;\r\n var activeElement = null;\r\n var shadowRoot = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* getShadowRoot */ "D"](textArea);\r\n if (shadowRoot) {\r\n activeElement = shadowRoot.activeElement;\r\n }\r\n else {\r\n activeElement = document.activeElement;\r\n }\r\n var currentIsFocused = (activeElement === textArea);\r\n var currentSelectionStart = textArea.selectionStart;\r\n var currentSelectionEnd = textArea.selectionEnd;\r\n if (currentIsFocused && currentSelectionStart === selectionStart && currentSelectionEnd === selectionEnd) {\r\n // No change\r\n // Firefox iframe bug https://github.com/Microsoft/monaco-editor/issues/643#issuecomment-367871377\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isFirefox */ "h"] && window.parent !== window) {\r\n textArea.focus();\r\n }\r\n return;\r\n }\r\n // console.log(\'reason: \' + reason + \', setSelectionRange: \' + selectionStart + \' -> \' + selectionEnd);\r\n if (currentIsFocused) {\r\n // No need to focus, only need to change the selection range\r\n this.setIgnoreSelectionChangeTime(\'setSelectionRange\');\r\n textArea.setSelectionRange(selectionStart, selectionEnd);\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isFirefox */ "h"] && window.parent !== window) {\r\n textArea.focus();\r\n }\r\n return;\r\n }\r\n // If the focus is outside the textarea, browsers will try really hard to reveal the textarea.\r\n // Here, we try to undo the browser\'s desperate reveal.\r\n try {\r\n var scrollState = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* saveParentsScrollTop */ "U"](textArea);\r\n this.setIgnoreSelectionChangeTime(\'setSelectionRange\');\r\n textArea.focus();\r\n textArea.setSelectionRange(selectionStart, selectionEnd);\r\n _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__[/* restoreParentsScrollTop */ "S"](textArea, scrollState);\r\n }\r\n catch (e) {\r\n // Sometimes IE throws when setting selection (e.g. textarea is off-DOM)\r\n }\r\n };\r\n return TextAreaWrapper;\r\n}(_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__[/* Disposable */ "a"]));\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.js?')},"5Uyt":function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _FilterFilled = _interopRequireDefault(__webpack_require__("KmBX"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _FilterFilled;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/FilterFilled.js?')},"5Y4S":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StopWatch; });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MNsG");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar hasPerformanceNow = (_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* globals */ "b"].performance && typeof _platform_js__WEBPACK_IMPORTED_MODULE_0__[/* globals */ "b"].performance.now === \'function\');\r\nvar StopWatch = /** @class */ (function () {\r\n function StopWatch(highResolution) {\r\n this._highResolution = hasPerformanceNow && highResolution;\r\n this._startTime = this._now();\r\n this._stopTime = -1;\r\n }\r\n StopWatch.create = function (highResolution) {\r\n if (highResolution === void 0) { highResolution = true; }\r\n return new StopWatch(highResolution);\r\n };\r\n StopWatch.prototype.stop = function () {\r\n this._stopTime = this._now();\r\n };\r\n StopWatch.prototype.elapsed = function () {\r\n if (this._stopTime !== -1) {\r\n return this._stopTime - this._startTime;\r\n }\r\n return this._now() - this._startTime;\r\n };\r\n StopWatch.prototype._now = function () {\r\n return this._highResolution ? _platform_js__WEBPACK_IMPORTED_MODULE_0__[/* globals */ "b"].performance.now() : new Date().getTime();\r\n };\r\n return StopWatch;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js?')},"5YOS":function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _RedoOutlined = _interopRequireDefault(__webpack_require__("xb2K"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _RedoOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/RedoOutlined.js?')},"5YgA":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/tooltip/style/index.less?")},"5bA4":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js\n// This icon file is generated automatically.\nvar LeftOutlined_LeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z" } }] }, "name": "left", "theme": "outlined" };\n/* harmony default export */ var asn_LeftOutlined = (LeftOutlined_LeftOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/LeftOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_LeftOutlined_LeftOutlined = function LeftOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_LeftOutlined\n }));\n};\n\nicons_LeftOutlined_LeftOutlined.displayName = \'LeftOutlined\';\n/* harmony default export */ var icons_LeftOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_LeftOutlined_LeftOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/LeftOutlined.js_+_1_modules?')},"5nXd":function(module,exports,__webpack_require__){eval("var util = __webpack_require__(\"MFOe\")\nvar slice = util.slice\nvar pluck = util.pluck\nvar each = util.each\nvar bind = util.bind\nvar create = util.create\nvar isList = util.isList\nvar isFunction = util.isFunction\nvar isObject = util.isObject\n\nmodule.exports = {\n\tcreateStore: createStore\n}\n\nvar storeAPI = {\n\tversion: '2.0.12',\n\tenabled: false,\n\t\n\t// get returns the value of the given key. If that value\n\t// is undefined, it returns optionalDefaultValue instead.\n\tget: function(key, optionalDefaultValue) {\n\t\tvar data = this.storage.read(this._namespacePrefix + key)\n\t\treturn this._deserialize(data, optionalDefaultValue)\n\t},\n\n\t// set will store the given value at key and returns value.\n\t// Calling set with value === undefined is equivalent to calling remove.\n\tset: function(key, value) {\n\t\tif (value === undefined) {\n\t\t\treturn this.remove(key)\n\t\t}\n\t\tthis.storage.write(this._namespacePrefix + key, this._serialize(value))\n\t\treturn value\n\t},\n\n\t// remove deletes the key and value stored at the given key.\n\tremove: function(key) {\n\t\tthis.storage.remove(this._namespacePrefix + key)\n\t},\n\n\t// each will call the given callback once for each key-value pair\n\t// in this store.\n\teach: function(callback) {\n\t\tvar self = this\n\t\tthis.storage.each(function(val, namespacedKey) {\n\t\t\tcallback.call(self, self._deserialize(val), (namespacedKey || '').replace(self._namespaceRegexp, ''))\n\t\t})\n\t},\n\n\t// clearAll will remove all the stored key-value pairs in this store.\n\tclearAll: function() {\n\t\tthis.storage.clearAll()\n\t},\n\n\t// additional functionality that can't live in plugins\n\t// ---------------------------------------------------\n\n\t// hasNamespace returns true if this store instance has the given namespace.\n\thasNamespace: function(namespace) {\n\t\treturn (this._namespacePrefix == '__storejs_'+namespace+'_')\n\t},\n\n\t// createStore creates a store.js instance with the first\n\t// functioning storage in the list of storage candidates,\n\t// and applies the the given mixins to the instance.\n\tcreateStore: function() {\n\t\treturn createStore.apply(this, arguments)\n\t},\n\t\n\taddPlugin: function(plugin) {\n\t\tthis._addPlugin(plugin)\n\t},\n\t\n\tnamespace: function(namespace) {\n\t\treturn createStore(this.storage, this.plugins, namespace)\n\t}\n}\n\nfunction _warn() {\n\tvar _console = (typeof console == 'undefined' ? null : console)\n\tif (!_console) { return }\n\tvar fn = (_console.warn ? _console.warn : _console.log)\n\tfn.apply(_console, arguments)\n}\n\nfunction createStore(storages, plugins, namespace) {\n\tif (!namespace) {\n\t\tnamespace = ''\n\t}\n\tif (storages && !isList(storages)) {\n\t\tstorages = [storages]\n\t}\n\tif (plugins && !isList(plugins)) {\n\t\tplugins = [plugins]\n\t}\n\n\tvar namespacePrefix = (namespace ? '__storejs_'+namespace+'_' : '')\n\tvar namespaceRegexp = (namespace ? new RegExp('^'+namespacePrefix) : null)\n\tvar legalNamespaces = /^[a-zA-Z0-9_\\-]*$/ // alpha-numeric + underscore and dash\n\tif (!legalNamespaces.test(namespace)) {\n\t\tthrow new Error('store.js namespaces can only have alphanumerics + underscores and dashes')\n\t}\n\t\n\tvar _privateStoreProps = {\n\t\t_namespacePrefix: namespacePrefix,\n\t\t_namespaceRegexp: namespaceRegexp,\n\n\t\t_testStorage: function(storage) {\n\t\t\ttry {\n\t\t\t\tvar testStr = '__storejs__test__'\n\t\t\t\tstorage.write(testStr, testStr)\n\t\t\t\tvar ok = (storage.read(testStr) === testStr)\n\t\t\t\tstorage.remove(testStr)\n\t\t\t\treturn ok\n\t\t\t} catch(e) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\t_assignPluginFnProp: function(pluginFnProp, propName) {\n\t\t\tvar oldFn = this[propName]\n\t\t\tthis[propName] = function pluginFn() {\n\t\t\t\tvar args = slice(arguments, 0)\n\t\t\t\tvar self = this\n\n\t\t\t\t// super_fn calls the old function which was overwritten by\n\t\t\t\t// this mixin.\n\t\t\t\tfunction super_fn() {\n\t\t\t\t\tif (!oldFn) { return }\n\t\t\t\t\teach(arguments, function(arg, i) {\n\t\t\t\t\t\targs[i] = arg\n\t\t\t\t\t})\n\t\t\t\t\treturn oldFn.apply(self, args)\n\t\t\t\t}\n\n\t\t\t\t// Give mixing function access to super_fn by prefixing all mixin function\n\t\t\t\t// arguments with super_fn.\n\t\t\t\tvar newFnArgs = [super_fn].concat(args)\n\n\t\t\t\treturn pluginFnProp.apply(self, newFnArgs)\n\t\t\t}\n\t\t},\n\n\t\t_serialize: function(obj) {\n\t\t\treturn JSON.stringify(obj)\n\t\t},\n\n\t\t_deserialize: function(strVal, defaultVal) {\n\t\t\tif (!strVal) { return defaultVal }\n\t\t\t// It is possible that a raw string value has been previously stored\n\t\t\t// in a storage without using store.js, meaning it will be a raw\n\t\t\t// string value instead of a JSON serialized string. By defaulting\n\t\t\t// to the raw string value in case of a JSON parse error, we allow\n\t\t\t// for past stored values to be forwards-compatible with store.js\n\t\t\tvar val = ''\n\t\t\ttry { val = JSON.parse(strVal) }\n\t\t\tcatch(e) { val = strVal }\n\n\t\t\treturn (val !== undefined ? val : defaultVal)\n\t\t},\n\t\t\n\t\t_addStorage: function(storage) {\n\t\t\tif (this.enabled) { return }\n\t\t\tif (this._testStorage(storage)) {\n\t\t\t\tthis.storage = storage\n\t\t\t\tthis.enabled = true\n\t\t\t}\n\t\t},\n\n\t\t_addPlugin: function(plugin) {\n\t\t\tvar self = this\n\n\t\t\t// If the plugin is an array, then add all plugins in the array.\n\t\t\t// This allows for a plugin to depend on other plugins.\n\t\t\tif (isList(plugin)) {\n\t\t\t\teach(plugin, function(plugin) {\n\t\t\t\t\tself._addPlugin(plugin)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Keep track of all plugins we've seen so far, so that we\n\t\t\t// don't add any of them twice.\n\t\t\tvar seenPlugin = pluck(this.plugins, function(seenPlugin) {\n\t\t\t\treturn (plugin === seenPlugin)\n\t\t\t})\n\t\t\tif (seenPlugin) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.plugins.push(plugin)\n\n\t\t\t// Check that the plugin is properly formed\n\t\t\tif (!isFunction(plugin)) {\n\t\t\t\tthrow new Error('Plugins must be function values that return objects')\n\t\t\t}\n\n\t\t\tvar pluginProperties = plugin.call(this)\n\t\t\tif (!isObject(pluginProperties)) {\n\t\t\t\tthrow new Error('Plugins must return an object of function properties')\n\t\t\t}\n\n\t\t\t// Add the plugin function properties to this store instance.\n\t\t\teach(pluginProperties, function(pluginFnProp, propName) {\n\t\t\t\tif (!isFunction(pluginFnProp)) {\n\t\t\t\t\tthrow new Error('Bad plugin property: '+propName+' from plugin '+plugin.name+'. Plugins should only return functions.')\n\t\t\t\t}\n\t\t\t\tself._assignPluginFnProp(pluginFnProp, propName)\n\t\t\t})\n\t\t},\n\t\t\n\t\t// Put deprecated properties in the private API, so as to not expose it to accidential\n\t\t// discovery through inspection of the store object.\n\t\t\n\t\t// Deprecated: addStorage\n\t\taddStorage: function(storage) {\n\t\t\t_warn('store.addStorage(storage) is deprecated. Use createStore([storages])')\n\t\t\tthis._addStorage(storage)\n\t\t}\n\t}\n\n\tvar store = create(_privateStoreProps, storeAPI, {\n\t\tplugins: []\n\t})\n\tstore.raw = {}\n\teach(store, function(prop, propName) {\n\t\tif (isFunction(prop)) {\n\t\t\tstore.raw[propName] = bind(store, prop)\t\t\t\n\t\t}\n\t})\n\teach(storages, function(storage) {\n\t\tstore._addStorage(storage)\n\t})\n\teach(plugins, function(plugin) {\n\t\tstore._addPlugin(plugin)\n\t})\n\treturn store\n}\n\n\n//# sourceURL=webpack:///./node_modules/store/src/store-engine.js?")},"5rEg":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CloseCircleFilled.js\nvar CloseCircleFilled = __webpack_require__("kbBi");\nvar CloseCircleFilled_default = /*#__PURE__*/__webpack_require__.n(CloseCircleFilled);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/type.js\nvar type = __webpack_require__("CWQg");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__("0n0R");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/input/ClearableLabeledInput.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar ClearableInputType = Object(type["a" /* tuple */])(\'text\', \'input\');\nfunction hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}\n\nvar ClearableLabeledInput_ClearableLabeledInput = /*#__PURE__*/function (_React$Component) {\n _inherits(ClearableLabeledInput, _React$Component);\n\n var _super = _createSuper(ClearableLabeledInput);\n\n function ClearableLabeledInput() {\n var _this;\n\n _classCallCheck(this, ClearableLabeledInput);\n\n _this = _super.apply(this, arguments);\n /** @private Do not use out of this class. We do not promise this is always keep. */\n\n _this.containerRef = /*#__PURE__*/react["createRef"]();\n\n _this.onInputMouseUp = function (e) {\n var _a;\n\n if ((_a = _this.containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {\n var triggerFocus = _this.props.triggerFocus;\n triggerFocus();\n }\n };\n\n return _this;\n }\n\n _createClass(ClearableLabeledInput, [{\n key: "renderClearIcon",\n value: function renderClearIcon(prefixCls) {\n var _this$props = this.props,\n allowClear = _this$props.allowClear,\n value = _this$props.value,\n disabled = _this$props.disabled,\n readOnly = _this$props.readOnly,\n inputType = _this$props.inputType,\n handleReset = _this$props.handleReset;\n\n if (!allowClear) {\n return null;\n }\n\n var needClear = !disabled && !readOnly && value;\n var className = inputType === ClearableInputType[0] ? "".concat(prefixCls, "-textarea-clear-icon") : "".concat(prefixCls, "-clear-icon");\n return /*#__PURE__*/react["createElement"](CloseCircleFilled_default.a, {\n onClick: handleReset,\n className: classnames_default()(className, _defineProperty({}, "".concat(className, "-hidden"), !needClear)),\n role: "button"\n });\n }\n }, {\n key: "renderSuffix",\n value: function renderSuffix(prefixCls) {\n var _this$props2 = this.props,\n suffix = _this$props2.suffix,\n allowClear = _this$props2.allowClear;\n\n if (suffix || allowClear) {\n return /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-suffix")\n }, this.renderClearIcon(prefixCls), suffix);\n }\n\n return null;\n }\n }, {\n key: "renderLabeledIcon",\n value: function renderLabeledIcon(prefixCls, element) {\n var _classNames2;\n\n var _this$props3 = this.props,\n focused = _this$props3.focused,\n value = _this$props3.value,\n prefix = _this$props3.prefix,\n className = _this$props3.className,\n size = _this$props3.size,\n suffix = _this$props3.suffix,\n disabled = _this$props3.disabled,\n allowClear = _this$props3.allowClear,\n direction = _this$props3.direction,\n style = _this$props3.style,\n readOnly = _this$props3.readOnly;\n var suffixNode = this.renderSuffix(prefixCls);\n\n if (!hasPrefixSuffix(this.props)) {\n return Object(reactNode["a" /* cloneElement */])(element, {\n value: value\n });\n }\n\n var prefixNode = prefix ? /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-prefix")\n }, prefix) : null;\n var affixWrapperCls = classnames_default()(className, "".concat(prefixCls, "-affix-wrapper"), (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-focused"), focused), _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-disabled"), disabled), _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-sm"), size === \'small\'), _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-lg"), size === \'large\'), _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-input-with-clear-btn"), suffix && allowClear && value), _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-rtl"), direction === \'rtl\'), _defineProperty(_classNames2, "".concat(prefixCls, "-affix-wrapper-readonly"), readOnly), _classNames2));\n return /*#__PURE__*/react["createElement"]("span", {\n ref: this.containerRef,\n className: affixWrapperCls,\n style: style,\n onMouseUp: this.onInputMouseUp\n }, prefixNode, Object(reactNode["a" /* cloneElement */])(element, {\n style: null,\n value: value,\n className: getInputClassName(prefixCls, size, disabled)\n }), suffixNode);\n }\n }, {\n key: "renderInputWithLabel",\n value: function renderInputWithLabel(prefixCls, labeledElement) {\n var _classNames3, _classNames4;\n\n var _this$props4 = this.props,\n addonBefore = _this$props4.addonBefore,\n addonAfter = _this$props4.addonAfter,\n style = _this$props4.style,\n size = _this$props4.size,\n className = _this$props4.className,\n direction = _this$props4.direction; // Not wrap when there is not addons\n\n if (!addonBefore && !addonAfter) {\n return labeledElement;\n }\n\n var wrapperClassName = "".concat(prefixCls, "-group");\n var addonClassName = "".concat(wrapperClassName, "-addon");\n var addonBeforeNode = addonBefore ? /*#__PURE__*/react["createElement"]("span", {\n className: addonClassName\n }, addonBefore) : null;\n var addonAfterNode = addonAfter ? /*#__PURE__*/react["createElement"]("span", {\n className: addonClassName\n }, addonAfter) : null;\n var mergedWrapperClassName = classnames_default()("".concat(prefixCls, "-wrapper"), (_classNames3 = {}, _defineProperty(_classNames3, wrapperClassName, addonBefore || addonAfter), _defineProperty(_classNames3, "".concat(wrapperClassName, "-rtl"), direction === \'rtl\'), _classNames3));\n var mergedGroupClassName = classnames_default()(className, "".concat(prefixCls, "-group-wrapper"), (_classNames4 = {}, _defineProperty(_classNames4, "".concat(prefixCls, "-group-wrapper-sm"), size === \'small\'), _defineProperty(_classNames4, "".concat(prefixCls, "-group-wrapper-lg"), size === \'large\'), _defineProperty(_classNames4, "".concat(prefixCls, "-group-wrapper-rtl"), direction === \'rtl\'), _classNames4)); // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n\n return /*#__PURE__*/react["createElement"]("span", {\n className: mergedGroupClassName,\n style: style\n }, /*#__PURE__*/react["createElement"]("span", {\n className: mergedWrapperClassName\n }, addonBeforeNode, Object(reactNode["a" /* cloneElement */])(labeledElement, {\n style: null\n }), addonAfterNode));\n }\n }, {\n key: "renderTextAreaWithClearIcon",\n value: function renderTextAreaWithClearIcon(prefixCls, element) {\n var _this$props5 = this.props,\n value = _this$props5.value,\n allowClear = _this$props5.allowClear,\n className = _this$props5.className,\n style = _this$props5.style,\n direction = _this$props5.direction;\n\n if (!allowClear) {\n return Object(reactNode["a" /* cloneElement */])(element, {\n value: value\n });\n }\n\n var affixWrapperCls = classnames_default()(className, "".concat(prefixCls, "-affix-wrapper"), _defineProperty({}, "".concat(prefixCls, "-affix-wrapper-rtl"), direction === \'rtl\'), "".concat(prefixCls, "-affix-wrapper-textarea-with-clear-btn"));\n return /*#__PURE__*/react["createElement"]("span", {\n className: affixWrapperCls,\n style: style\n }, Object(reactNode["a" /* cloneElement */])(element, {\n style: null,\n value: value\n }), this.renderClearIcon(prefixCls));\n }\n }, {\n key: "render",\n value: function render() {\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n inputType = _this$props6.inputType,\n element = _this$props6.element;\n\n if (inputType === ClearableInputType[0]) {\n return this.renderTextAreaWithClearIcon(prefixCls, element);\n }\n\n return this.renderInputWithLabel(prefixCls, this.renderLabeledIcon(prefixCls, element));\n }\n }]);\n\n return ClearableLabeledInput;\n}(react["Component"]);\n\n/* harmony default export */ var input_ClearableLabeledInput = (ClearableLabeledInput_ClearableLabeledInput);\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js\nvar SizeContext = __webpack_require__("3Nzz");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/devWarning.js\nvar devWarning = __webpack_require__("uaoM");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/input/Input.js\nfunction Input_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Input_typeof = function _typeof(obj) { return typeof obj; }; } else { Input_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Input_typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction Input_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Input_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction Input_createClass(Constructor, protoProps, staticProps) { if (protoProps) Input_defineProperties(Constructor.prototype, protoProps); if (staticProps) Input_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction Input_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Input_setPrototypeOf(subClass, superClass); }\n\nfunction Input_setPrototypeOf(o, p) { Input_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Input_setPrototypeOf(o, p); }\n\nfunction Input_createSuper(Derived) { var hasNativeReflectConstruct = Input_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Input_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Input_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Input_possibleConstructorReturn(this, result); }; }\n\nfunction Input_possibleConstructorReturn(self, call) { if (call && (Input_typeof(call) === "object" || typeof call === "function")) { return call; } return Input_assertThisInitialized(self); }\n\nfunction Input_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Input_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Input_getPrototypeOf(o) { Input_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Input_getPrototypeOf(o); }\n\nfunction Input_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\nfunction fixControlledValue(value) {\n if (typeof value === \'undefined\' || value === null) {\n return \'\';\n }\n\n return value;\n}\nfunction resolveOnChange(target, e, onChange) {\n if (onChange) {\n var event = e;\n\n if (e.type === \'click\') {\n // click clear icon\n event = Object.create(e);\n event.target = target;\n event.currentTarget = target;\n var originalInputValue = target.value; // change target ref value cause e.target.value should be \'\' when clear input\n\n target.value = \'\';\n onChange(event); // reset target ref value\n\n target.value = originalInputValue;\n return;\n }\n\n onChange(event);\n }\n}\nfunction getInputClassName(prefixCls, size, disabled, direction) {\n var _classNames;\n\n return classnames_default()(prefixCls, (_classNames = {}, Input_defineProperty(_classNames, "".concat(prefixCls, "-sm"), size === \'small\'), Input_defineProperty(_classNames, "".concat(prefixCls, "-lg"), size === \'large\'), Input_defineProperty(_classNames, "".concat(prefixCls, "-disabled"), disabled), Input_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames));\n}\n\nvar Input_Input = /*#__PURE__*/function (_React$Component) {\n Input_inherits(Input, _React$Component);\n\n var _super = Input_createSuper(Input);\n\n function Input(props) {\n var _this;\n\n Input_classCallCheck(this, Input);\n\n _this = _super.call(this, props);\n _this.direction = \'ltr\';\n\n _this.focus = function () {\n _this.input.focus();\n };\n\n _this.saveClearableInput = function (input) {\n _this.clearableInput = input;\n };\n\n _this.saveInput = function (input) {\n _this.input = input;\n };\n\n _this.onFocus = function (e) {\n var onFocus = _this.props.onFocus;\n\n _this.setState({\n focused: true\n }, _this.clearPasswordValueAttribute);\n\n if (onFocus) {\n onFocus(e);\n }\n };\n\n _this.onBlur = function (e) {\n var onBlur = _this.props.onBlur;\n\n _this.setState({\n focused: false\n }, _this.clearPasswordValueAttribute);\n\n if (onBlur) {\n onBlur(e);\n }\n };\n\n _this.handleReset = function (e) {\n _this.setValue(\'\', function () {\n _this.focus();\n });\n\n resolveOnChange(_this.input, e, _this.props.onChange);\n };\n\n _this.renderInput = function (prefixCls, size) {\n var input = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _this$props = _this.props,\n className = _this$props.className,\n addonBefore = _this$props.addonBefore,\n addonAfter = _this$props.addonAfter,\n customizeSize = _this$props.size,\n disabled = _this$props.disabled; // Fix https://fb.me/react-unknown-prop\n\n var otherProps = Object(es["a" /* default */])(_this.props, [\'prefixCls\', \'onPressEnter\', \'addonBefore\', \'addonAfter\', \'prefix\', \'suffix\', \'allowClear\', // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n \'defaultValue\', \'size\', \'inputType\']);\n return /*#__PURE__*/react["createElement"]("input", _extends({\n autoComplete: input.autoComplete\n }, otherProps, {\n onChange: _this.handleChange,\n onFocus: _this.onFocus,\n onBlur: _this.onBlur,\n onKeyDown: _this.handleKeyDown,\n className: classnames_default()(getInputClassName(prefixCls, customizeSize || size, disabled, _this.direction), Input_defineProperty({}, className, className && !addonBefore && !addonAfter)),\n ref: _this.saveInput\n }));\n };\n\n _this.clearPasswordValueAttribute = function () {\n // https://github.com/ant-design/ant-design/issues/20541\n _this.removePasswordTimeout = setTimeout(function () {\n if (_this.input && _this.input.getAttribute(\'type\') === \'password\' && _this.input.hasAttribute(\'value\')) {\n _this.input.removeAttribute(\'value\');\n }\n });\n };\n\n _this.handleChange = function (e) {\n _this.setValue(e.target.value, _this.clearPasswordValueAttribute);\n\n resolveOnChange(_this.input, e, _this.props.onChange);\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props2 = _this.props,\n onPressEnter = _this$props2.onPressEnter,\n onKeyDown = _this$props2.onKeyDown;\n\n if (e.keyCode === 13 && onPressEnter) {\n onPressEnter(e);\n }\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n };\n\n _this.renderComponent = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction,\n input = _ref.input;\n var _this$state = _this.state,\n value = _this$state.value,\n focused = _this$state.focused;\n var customizePrefixCls = _this.props.prefixCls;\n var prefixCls = getPrefixCls(\'input\', customizePrefixCls);\n _this.direction = direction;\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n return /*#__PURE__*/react["createElement"](input_ClearableLabeledInput, _extends({\n size: size\n }, _this.props, {\n prefixCls: prefixCls,\n inputType: "input",\n value: fixControlledValue(value),\n element: _this.renderInput(prefixCls, size, input),\n handleReset: _this.handleReset,\n ref: _this.saveClearableInput,\n direction: direction,\n focused: focused,\n triggerFocus: _this.focus\n }));\n });\n };\n\n var value = typeof props.value === \'undefined\' ? props.defaultValue : props.value;\n _this.state = {\n value: value,\n focused: false,\n // eslint-disable-next-line react/no-unused-state\n prevValue: props.value\n };\n return _this;\n }\n\n Input_createClass(Input, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.clearPasswordValueAttribute();\n } // Since polyfill `getSnapshotBeforeUpdate` need work with `componentDidUpdate`.\n // We keep an empty function here.\n\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {}\n }, {\n key: "getSnapshotBeforeUpdate",\n value: function getSnapshotBeforeUpdate(prevProps) {\n if (hasPrefixSuffix(prevProps) !== hasPrefixSuffix(this.props)) {\n Object(devWarning["a" /* default */])(this.input !== document.activeElement, \'Input\', "When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ");\n }\n\n return null;\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n if (this.removePasswordTimeout) {\n clearTimeout(this.removePasswordTimeout);\n }\n }\n }, {\n key: "blur",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: "select",\n value: function select() {\n this.input.select();\n }\n }, {\n key: "setValue",\n value: function setValue(value, callback) {\n if (this.props.value === undefined) {\n this.setState({\n value: value\n }, callback);\n }\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderComponent);\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps, _ref2) {\n var prevValue = _ref2.prevValue;\n var newState = {\n prevValue: nextProps.value\n };\n\n if (nextProps.value !== undefined || prevValue !== nextProps.value) {\n newState.value = nextProps.value;\n }\n\n return newState;\n }\n }]);\n\n return Input;\n}(react["Component"]);\n\nInput_Input.defaultProps = {\n type: \'text\'\n};\n/* harmony default export */ var input_Input = (Input_Input);\n// CONCATENATED MODULE: ./node_modules/antd/es/input/Group.js\nfunction Group_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\nvar Group_Group = function Group(props) {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? \'\' : _props$className;\n var prefixCls = getPrefixCls(\'input-group\', customizePrefixCls);\n var cls = classnames_default()(prefixCls, (_classNames = {}, Group_defineProperty(_classNames, "".concat(prefixCls, "-lg"), props.size === \'large\'), Group_defineProperty(_classNames, "".concat(prefixCls, "-sm"), props.size === \'small\'), Group_defineProperty(_classNames, "".concat(prefixCls, "-compact"), props.compact), Group_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames), className);\n return /*#__PURE__*/react["createElement"]("span", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, props.children);\n });\n};\n\n/* harmony default export */ var input_Group = (Group_Group);\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/SearchOutlined.js\nvar SearchOutlined = __webpack_require__("w6Tc");\nvar SearchOutlined_default = /*#__PURE__*/__webpack_require__.n(SearchOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/LoadingOutlined.js\nvar LoadingOutlined = __webpack_require__("gZBC");\nvar LoadingOutlined_default = /*#__PURE__*/__webpack_require__.n(LoadingOutlined);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js\nvar es_button = __webpack_require__("2/Rp");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/input/Search.js\nfunction Search_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Search_typeof = function _typeof(obj) { return typeof obj; }; } else { Search_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Search_typeof(obj); }\n\nfunction Search_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Search_extends() { Search_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; }; return Search_extends.apply(this, arguments); }\n\nfunction Search_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Search_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction Search_createClass(Constructor, protoProps, staticProps) { if (protoProps) Search_defineProperties(Constructor.prototype, protoProps); if (staticProps) Search_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction Search_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Search_setPrototypeOf(subClass, superClass); }\n\nfunction Search_setPrototypeOf(o, p) { Search_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Search_setPrototypeOf(o, p); }\n\nfunction Search_createSuper(Derived) { var hasNativeReflectConstruct = Search_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Search_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Search_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Search_possibleConstructorReturn(this, result); }; }\n\nfunction Search_possibleConstructorReturn(self, call) { if (call && (Search_typeof(call) === "object" || typeof call === "function")) { return call; } return Search_assertThisInitialized(self); }\n\nfunction Search_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Search_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Search_getPrototypeOf(o) { Search_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Search_getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar Search_Search = /*#__PURE__*/function (_React$Component) {\n Search_inherits(Search, _React$Component);\n\n var _super = Search_createSuper(Search);\n\n function Search() {\n var _this;\n\n Search_classCallCheck(this, Search);\n\n _this = _super.apply(this, arguments);\n\n _this.saveInput = function (node) {\n _this.input = node;\n };\n\n _this.onChange = function (e) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n onSearch = _this$props.onSearch;\n\n if (e && e.target && e.type === \'click\' && onSearch) {\n onSearch(e.target.value, e);\n }\n\n if (onChange) {\n onChange(e);\n }\n };\n\n _this.onMouseDown = function (e) {\n if (document.activeElement === _this.input.input) {\n e.preventDefault();\n }\n };\n\n _this.onSearch = function (e) {\n var _this$props2 = _this.props,\n onSearch = _this$props2.onSearch,\n loading = _this$props2.loading,\n disabled = _this$props2.disabled;\n\n if (loading || disabled) {\n return;\n }\n\n if (onSearch) {\n onSearch(_this.input.input.value, e);\n }\n };\n\n _this.renderLoading = function (prefixCls) {\n var _this$props3 = _this.props,\n enterButton = _this$props3.enterButton,\n customizeSize = _this$props3.size;\n\n if (enterButton) {\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, {\n key: "enterButton"\n }, function (size) {\n return /*#__PURE__*/react["createElement"](es_button["a" /* default */], {\n className: "".concat(prefixCls, "-button"),\n type: "primary",\n size: customizeSize || size\n }, /*#__PURE__*/react["createElement"](LoadingOutlined_default.a, null));\n });\n }\n\n return /*#__PURE__*/react["createElement"](LoadingOutlined_default.a, {\n className: "".concat(prefixCls, "-icon"),\n key: "loadingIcon"\n });\n };\n\n _this.renderSuffix = function (prefixCls) {\n var _this$props4 = _this.props,\n suffix = _this$props4.suffix,\n enterButton = _this$props4.enterButton,\n loading = _this$props4.loading;\n\n if (loading && !enterButton) {\n return [suffix, _this.renderLoading(prefixCls)];\n }\n\n if (enterButton) return suffix;\n var icon = /*#__PURE__*/react["createElement"](SearchOutlined_default.a, {\n className: "".concat(prefixCls, "-icon"),\n key: "searchIcon",\n onClick: _this.onSearch\n });\n\n if (suffix) {\n return [Object(reactNode["c" /* replaceElement */])(suffix, null, {\n key: \'suffix\'\n }), icon];\n }\n\n return icon;\n };\n\n _this.renderAddonAfter = function (prefixCls, size) {\n var _this$props5 = _this.props,\n enterButton = _this$props5.enterButton,\n disabled = _this$props5.disabled,\n addonAfter = _this$props5.addonAfter,\n loading = _this$props5.loading;\n var btnClassName = "".concat(prefixCls, "-button");\n\n if (loading && enterButton) {\n return [_this.renderLoading(prefixCls), addonAfter];\n }\n\n if (!enterButton) return addonAfter;\n var button;\n var enterButtonAsElement = enterButton;\n var isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n\n if (isAntdButton || enterButtonAsElement.type === \'button\') {\n button = Object(reactNode["a" /* cloneElement */])(enterButtonAsElement, Search_extends({\n onMouseDown: _this.onMouseDown,\n onClick: _this.onSearch,\n key: \'enterButton\'\n }, isAntdButton ? {\n className: btnClassName,\n size: size\n } : {}));\n } else {\n button = /*#__PURE__*/react["createElement"](es_button["a" /* default */], {\n className: btnClassName,\n type: "primary",\n size: size,\n disabled: disabled,\n key: "enterButton",\n onMouseDown: _this.onMouseDown,\n onClick: _this.onSearch\n }, enterButton === true ? /*#__PURE__*/react["createElement"](SearchOutlined_default.a, null) : enterButton);\n }\n\n if (addonAfter) {\n return [button, Object(reactNode["c" /* replaceElement */])(addonAfter, null, {\n key: \'addonAfter\'\n })];\n }\n\n return button;\n };\n\n _this.renderSearch = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n customizeInputPrefixCls = _a.inputPrefixCls,\n enterButton = _a.enterButton,\n className = _a.className,\n customizeSize = _a.size,\n restProps = __rest(_a, ["prefixCls", "inputPrefixCls", "enterButton", "className", "size"]);\n\n delete restProps.onSearch;\n delete restProps.loading;\n var prefixCls = getPrefixCls(\'input-search\', customizePrefixCls);\n var inputPrefixCls = getPrefixCls(\'input\', customizeInputPrefixCls);\n\n var getClassName = function getClassName(size) {\n var inputClassName;\n\n if (enterButton) {\n var _classNames;\n\n inputClassName = classnames_default()(prefixCls, className, (_classNames = {}, Search_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), Search_defineProperty(_classNames, "".concat(prefixCls, "-enter-button"), !!enterButton), Search_defineProperty(_classNames, "".concat(prefixCls, "-").concat(size), !!size), _classNames));\n } else {\n inputClassName = classnames_default()(prefixCls, className, Search_defineProperty({}, "".concat(prefixCls, "-rtl"), direction === \'rtl\'));\n }\n\n return inputClassName;\n };\n\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n return /*#__PURE__*/react["createElement"](input_Input, Search_extends({\n onPressEnter: _this.onSearch\n }, restProps, {\n size: customizeSize || size,\n prefixCls: inputPrefixCls,\n addonAfter: _this.renderAddonAfter(prefixCls, customizeSize || size),\n suffix: _this.renderSuffix(prefixCls),\n onChange: _this.onChange,\n ref: _this.saveInput,\n className: getClassName(customizeSize || size)\n }));\n });\n };\n\n return _this;\n }\n\n Search_createClass(Search, [{\n key: "focus",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: "blur",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderSearch);\n }\n }]);\n\n return Search;\n}(react["Component"]);\n\n\nSearch_Search.defaultProps = {\n enterButton: false\n};\n// EXTERNAL MODULE: ./node_modules/rc-resize-observer/es/index.js\nvar rc_resize_observer_es = __webpack_require__("t23M");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/input/calculateNodeHeight.js\n// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\nvar HIDDEN_TEXTAREA_STYLE = "\\n min-height:0 !important;\\n max-height:none !important;\\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";\nvar SIZING_STYLE = [\'letter-spacing\', \'line-height\', \'padding-top\', \'padding-bottom\', \'font-family\', \'font-weight\', \'font-size\', \'font-variant\', \'text-rendering\', \'text-transform\', \'width\', \'text-indent\', \'padding-left\', \'padding-right\', \'border-width\', \'box-sizing\'];\nvar computedStyleCache = {};\nvar hiddenTextarea;\nfunction calculateNodeStyling(node) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var nodeRef = node.getAttribute(\'id\') || node.getAttribute(\'data-reactid\') || node.getAttribute(\'name\');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n var style = window.getComputedStyle(node);\n var boxSizing = style.getPropertyValue(\'box-sizing\') || style.getPropertyValue(\'-moz-box-sizing\') || style.getPropertyValue(\'-webkit-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 sizingStyle = SIZING_STYLE.map(function (name) {\n return "".concat(name, ":").concat(style.getPropertyValue(name));\n }).join(\';\');\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\nfunction calculateNodeHeight(uiTextNode) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\'textarea\');\n hiddenTextarea.setAttribute(\'tab-index\', \'-1\');\n hiddenTextarea.setAttribute(\'aria-hidden\', \'true\');\n document.body.appendChild(hiddenTextarea);\n } // Fix wrap="off" issue\n // https://github.com/ant-design/ant-design/issues/6577\n\n\n if (uiTextNode.getAttribute(\'wrap\')) {\n hiddenTextarea.setAttribute(\'wrap\', uiTextNode.getAttribute(\'wrap\'));\n } else {\n hiddenTextarea.removeAttribute(\'wrap\');\n } // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n\n hiddenTextarea.setAttribute(\'style\', "".concat(sizingStyle, ";").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \'\';\n var minHeight = Number.MIN_SAFE_INTEGER;\n var maxHeight = Number.MAX_SAFE_INTEGER;\n var height = hiddenTextarea.scrollHeight;\n var overflowY;\n\n if (boxSizing === \'border-box\') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === \'content-box\') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \' \';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n\n if (boxSizing === \'border-box\') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n }\n\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n\n if (boxSizing === \'border-box\') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n overflowY = height > maxHeight ? \'\' : \'hidden\';\n height = Math.min(maxHeight, height);\n }\n }\n\n return {\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight,\n overflowY: overflowY\n };\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/raf.js\nvar raf = __webpack_require__("oHiP");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/input/ResizableTextArea.js\nfunction ResizableTextArea_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ResizableTextArea_typeof = function _typeof(obj) { return typeof obj; }; } else { ResizableTextArea_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ResizableTextArea_typeof(obj); }\n\nfunction ResizableTextArea_extends() { ResizableTextArea_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; }; return ResizableTextArea_extends.apply(this, arguments); }\n\nfunction ResizableTextArea_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction ResizableTextArea_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction ResizableTextArea_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ResizableTextArea_createClass(Constructor, protoProps, staticProps) { if (protoProps) ResizableTextArea_defineProperties(Constructor.prototype, protoProps); if (staticProps) ResizableTextArea_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction ResizableTextArea_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ResizableTextArea_setPrototypeOf(subClass, superClass); }\n\nfunction ResizableTextArea_setPrototypeOf(o, p) { ResizableTextArea_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ResizableTextArea_setPrototypeOf(o, p); }\n\nfunction ResizableTextArea_createSuper(Derived) { var hasNativeReflectConstruct = ResizableTextArea_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = ResizableTextArea_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = ResizableTextArea_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return ResizableTextArea_possibleConstructorReturn(this, result); }; }\n\nfunction ResizableTextArea_possibleConstructorReturn(self, call) { if (call && (ResizableTextArea_typeof(call) === "object" || typeof call === "function")) { return call; } return ResizableTextArea_assertThisInitialized(self); }\n\nfunction ResizableTextArea_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction ResizableTextArea_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction ResizableTextArea_getPrototypeOf(o) { ResizableTextArea_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ResizableTextArea_getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar RESIZE_STATUS_NONE = 0;\nvar RESIZE_STATUS_RESIZING = 1;\nvar RESIZE_STATUS_RESIZED = 2;\n\nvar ResizableTextArea_ResizableTextArea = /*#__PURE__*/function (_React$Component) {\n ResizableTextArea_inherits(ResizableTextArea, _React$Component);\n\n var _super = ResizableTextArea_createSuper(ResizableTextArea);\n\n function ResizableTextArea(props) {\n var _this;\n\n ResizableTextArea_classCallCheck(this, ResizableTextArea);\n\n _this = _super.call(this, props);\n\n _this.saveTextArea = function (textArea) {\n _this.textArea = textArea;\n };\n\n _this.handleResize = function (size) {\n var resizeStatus = _this.state.resizeStatus;\n var _this$props = _this.props,\n autoSize = _this$props.autoSize,\n onResize = _this$props.onResize;\n\n if (resizeStatus !== RESIZE_STATUS_NONE) {\n return;\n }\n\n if (typeof onResize === \'function\') {\n onResize(size);\n }\n\n if (autoSize) {\n _this.resizeOnNextFrame();\n }\n };\n\n _this.resizeOnNextFrame = function () {\n raf["a" /* default */].cancel(_this.nextFrameActionId);\n _this.nextFrameActionId = Object(raf["a" /* default */])(_this.resizeTextarea);\n };\n\n _this.resizeTextarea = function () {\n var autoSize = _this.props.autoSize;\n\n if (!autoSize || !_this.textArea) {\n return;\n }\n\n var minRows = autoSize.minRows,\n maxRows = autoSize.maxRows;\n var textareaStyles = calculateNodeHeight(_this.textArea, false, minRows, maxRows);\n\n _this.setState({\n textareaStyles: textareaStyles,\n resizeStatus: RESIZE_STATUS_RESIZING\n }, function () {\n raf["a" /* default */].cancel(_this.resizeFrameId);\n _this.resizeFrameId = Object(raf["a" /* default */])(function () {\n _this.setState({\n resizeStatus: RESIZE_STATUS_RESIZED\n }, function () {\n _this.resizeFrameId = Object(raf["a" /* default */])(function () {\n _this.setState({\n resizeStatus: RESIZE_STATUS_NONE\n });\n\n _this.fixFirefoxAutoScroll();\n });\n });\n });\n });\n };\n\n _this.renderTextArea = function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n autoSize = _this$props2.autoSize,\n onResize = _this$props2.onResize,\n className = _this$props2.className,\n disabled = _this$props2.disabled;\n var _this$state = _this.state,\n textareaStyles = _this$state.textareaStyles,\n resizeStatus = _this$state.resizeStatus;\n var otherProps = Object(es["a" /* default */])(_this.props, [\'prefixCls\', \'onPressEnter\', \'autoSize\', \'defaultValue\', \'allowClear\', \'onResize\']);\n var cls = classnames_default()(prefixCls, className, ResizableTextArea_defineProperty({}, "".concat(prefixCls, "-disabled"), disabled)); // Fix https://github.com/ant-design/ant-design/issues/6776\n // Make sure it could be reset when using form.getFieldDecorator\n\n if (\'value\' in otherProps) {\n otherProps.value = otherProps.value || \'\';\n }\n\n var style = ResizableTextArea_extends(ResizableTextArea_extends(ResizableTextArea_extends({}, _this.props.style), textareaStyles), resizeStatus === RESIZE_STATUS_RESIZING ? // React will warning when mix `overflow` & `overflowY`.\n // We need to define this separately.\n {\n overflowX: \'hidden\',\n overflowY: \'hidden\'\n } : null);\n\n return /*#__PURE__*/react["createElement"](rc_resize_observer_es["a" /* default */], {\n onResize: _this.handleResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/react["createElement"]("textarea", ResizableTextArea_extends({}, otherProps, {\n className: cls,\n style: style,\n ref: _this.saveTextArea\n })));\n };\n\n _this.state = {\n textareaStyles: {},\n resizeStatus: RESIZE_STATUS_NONE\n };\n return _this;\n }\n\n ResizableTextArea_createClass(ResizableTextArea, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.resizeTextarea();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n // Re-render with the new content then recalculate the height as required.\n if (prevProps.value !== this.props.value) {\n this.resizeTextarea();\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n raf["a" /* default */].cancel(this.nextFrameActionId);\n raf["a" /* default */].cancel(this.resizeFrameId);\n } // https://github.com/ant-design/ant-design/issues/21870\n\n }, {\n key: "fixFirefoxAutoScroll",\n value: function fixFirefoxAutoScroll() {\n try {\n if (document.activeElement === this.textArea) {\n var currentStart = this.textArea.selectionStart;\n var currentEnd = this.textArea.selectionEnd;\n this.textArea.setSelectionRange(currentStart, currentEnd);\n }\n } catch (e) {// Fix error in Chrome:\n // Failed to read the \'selectionStart\' property from \'HTMLInputElement\'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n }, {\n key: "render",\n value: function render() {\n return this.renderTextArea();\n }\n }]);\n\n return ResizableTextArea;\n}(react["Component"]);\n\n/* harmony default export */ var input_ResizableTextArea = (ResizableTextArea_ResizableTextArea);\n// CONCATENATED MODULE: ./node_modules/antd/es/input/TextArea.js\nfunction TextArea_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { TextArea_typeof = function _typeof(obj) { return typeof obj; }; } else { TextArea_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return TextArea_typeof(obj); }\n\nfunction TextArea_extends() { TextArea_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; }; return TextArea_extends.apply(this, arguments); }\n\nfunction TextArea_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction TextArea_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction TextArea_createClass(Constructor, protoProps, staticProps) { if (protoProps) TextArea_defineProperties(Constructor.prototype, protoProps); if (staticProps) TextArea_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction TextArea_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) TextArea_setPrototypeOf(subClass, superClass); }\n\nfunction TextArea_setPrototypeOf(o, p) { TextArea_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return TextArea_setPrototypeOf(o, p); }\n\nfunction TextArea_createSuper(Derived) { var hasNativeReflectConstruct = TextArea_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = TextArea_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = TextArea_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return TextArea_possibleConstructorReturn(this, result); }; }\n\nfunction TextArea_possibleConstructorReturn(self, call) { if (call && (TextArea_typeof(call) === "object" || typeof call === "function")) { return call; } return TextArea_assertThisInitialized(self); }\n\nfunction TextArea_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction TextArea_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction TextArea_getPrototypeOf(o) { TextArea_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return TextArea_getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar TextArea_TextArea = /*#__PURE__*/function (_React$Component) {\n TextArea_inherits(TextArea, _React$Component);\n\n var _super = TextArea_createSuper(TextArea);\n\n function TextArea(props) {\n var _this;\n\n TextArea_classCallCheck(this, TextArea);\n\n _this = _super.call(this, props);\n\n _this.focus = function () {\n _this.resizableTextArea.textArea.focus();\n };\n\n _this.saveTextArea = function (resizableTextArea) {\n _this.resizableTextArea = resizableTextArea;\n };\n\n _this.saveClearableInput = function (clearableInput) {\n _this.clearableInput = clearableInput;\n };\n\n _this.handleChange = function (e) {\n _this.setValue(e.target.value, function () {\n _this.resizableTextArea.resizeTextarea();\n });\n\n resolveOnChange(_this.resizableTextArea.textArea, e, _this.props.onChange);\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onPressEnter = _this$props.onPressEnter,\n onKeyDown = _this$props.onKeyDown;\n\n if (e.keyCode === 13 && onPressEnter) {\n onPressEnter(e);\n }\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n };\n\n _this.handleReset = function (e) {\n _this.setValue(\'\', function () {\n _this.resizableTextArea.renderTextArea();\n\n _this.focus();\n });\n\n resolveOnChange(_this.resizableTextArea.textArea, e, _this.props.onChange);\n };\n\n _this.renderTextArea = function (prefixCls) {\n return /*#__PURE__*/react["createElement"](input_ResizableTextArea, TextArea_extends({}, _this.props, {\n prefixCls: prefixCls,\n onKeyDown: _this.handleKeyDown,\n onChange: _this.handleChange,\n ref: _this.saveTextArea\n }));\n };\n\n _this.renderComponent = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var value = _this.state.value;\n var customizePrefixCls = _this.props.prefixCls;\n var prefixCls = getPrefixCls(\'input\', customizePrefixCls);\n return /*#__PURE__*/react["createElement"](input_ClearableLabeledInput, TextArea_extends({}, _this.props, {\n prefixCls: prefixCls,\n direction: direction,\n inputType: "text",\n value: fixControlledValue(value),\n element: _this.renderTextArea(prefixCls),\n handleReset: _this.handleReset,\n ref: _this.saveClearableInput,\n triggerFocus: _this.focus\n }));\n };\n\n var value = typeof props.value === \'undefined\' ? props.defaultValue : props.value;\n _this.state = {\n value: value\n };\n return _this;\n }\n\n TextArea_createClass(TextArea, [{\n key: "setValue",\n value: function setValue(value, callback) {\n if (!(\'value\' in this.props)) {\n this.setState({\n value: value\n }, callback);\n }\n }\n }, {\n key: "blur",\n value: function blur() {\n this.resizableTextArea.textArea.blur();\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderComponent);\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps) {\n if (\'value\' in nextProps) {\n return {\n value: nextProps.value\n };\n }\n\n return null;\n }\n }]);\n\n return TextArea;\n}(react["Component"]);\n\n/* harmony default export */ var input_TextArea = (TextArea_TextArea);\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/EyeOutlined.js\nvar EyeOutlined = __webpack_require__("qPY4");\nvar EyeOutlined_default = /*#__PURE__*/__webpack_require__.n(EyeOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/EyeInvisibleOutlined.js\nvar EyeInvisibleOutlined = __webpack_require__("fUL4");\nvar EyeInvisibleOutlined_default = /*#__PURE__*/__webpack_require__.n(EyeInvisibleOutlined);\n\n// CONCATENATED MODULE: ./node_modules/antd/es/input/Password.js\nfunction Password_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Password_typeof = function _typeof(obj) { return typeof obj; }; } else { Password_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Password_typeof(obj); }\n\nfunction Password_extends() { Password_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; }; return Password_extends.apply(this, arguments); }\n\nfunction Password_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Password_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Password_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction Password_createClass(Constructor, protoProps, staticProps) { if (protoProps) Password_defineProperties(Constructor.prototype, protoProps); if (staticProps) Password_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction Password_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Password_setPrototypeOf(subClass, superClass); }\n\nfunction Password_setPrototypeOf(o, p) { Password_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Password_setPrototypeOf(o, p); }\n\nfunction Password_createSuper(Derived) { var hasNativeReflectConstruct = Password_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Password_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Password_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Password_possibleConstructorReturn(this, result); }; }\n\nfunction Password_possibleConstructorReturn(self, call) { if (call && (Password_typeof(call) === "object" || typeof call === "function")) { return call; } return Password_assertThisInitialized(self); }\n\nfunction Password_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Password_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Password_getPrototypeOf(o) { Password_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Password_getPrototypeOf(o); }\n\nvar Password_rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\nvar ActionMap = {\n click: \'onClick\',\n hover: \'onMouseOver\'\n};\n\nvar Password_Password = /*#__PURE__*/function (_React$Component) {\n Password_inherits(Password, _React$Component);\n\n var _super = Password_createSuper(Password);\n\n function Password() {\n var _this;\n\n Password_classCallCheck(this, Password);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n visible: false\n };\n\n _this.onVisibleChange = function () {\n var disabled = _this.props.disabled;\n\n if (disabled) {\n return;\n }\n\n _this.setState(function (_ref) {\n var visible = _ref.visible;\n return {\n visible: !visible\n };\n });\n };\n\n _this.getIcon = function (prefixCls) {\n var _iconProps;\n\n var _this$props = _this.props,\n action = _this$props.action,\n _this$props$iconRende = _this$props.iconRender,\n iconRender = _this$props$iconRende === void 0 ? function () {\n return null;\n } : _this$props$iconRende;\n var visible = _this.state.visible;\n var iconTrigger = ActionMap[action] || \'\';\n var icon = iconRender(visible);\n var iconProps = (_iconProps = {}, Password_defineProperty(_iconProps, iconTrigger, _this.onVisibleChange), Password_defineProperty(_iconProps, "className", "".concat(prefixCls, "-icon")), Password_defineProperty(_iconProps, "key", \'passwordIcon\'), Password_defineProperty(_iconProps, "onMouseDown", function onMouseDown(e) {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n }), Password_defineProperty(_iconProps, "onMouseUp", function onMouseUp(e) {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }), _iconProps);\n return /*#__PURE__*/react["cloneElement"]( /*#__PURE__*/react["isValidElement"](icon) ? icon : /*#__PURE__*/react["createElement"]("span", null, icon), iconProps);\n };\n\n _this.saveInput = function (instance) {\n if (instance && instance.input) {\n _this.input = instance.input;\n }\n };\n\n _this.renderPassword = function (_ref2) {\n var getPrefixCls = _ref2.getPrefixCls;\n\n var _a = _this.props,\n className = _a.className,\n customizePrefixCls = _a.prefixCls,\n customizeInputPrefixCls = _a.inputPrefixCls,\n size = _a.size,\n visibilityToggle = _a.visibilityToggle,\n restProps = Password_rest(_a, ["className", "prefixCls", "inputPrefixCls", "size", "visibilityToggle"]);\n\n var inputPrefixCls = getPrefixCls(\'input\', customizeInputPrefixCls);\n var prefixCls = getPrefixCls(\'input-password\', customizePrefixCls);\n\n var suffixIcon = visibilityToggle && _this.getIcon(prefixCls);\n\n var inputClassName = classnames_default()(prefixCls, className, Password_defineProperty({}, "".concat(prefixCls, "-").concat(size), !!size));\n\n var props = Password_extends(Password_extends({}, Object(es["a" /* default */])(restProps, [\'suffix\', \'iconRender\'])), {\n type: _this.state.visible ? \'text\' : \'password\',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon,\n ref: _this.saveInput\n });\n\n if (size) {\n props.size = size;\n }\n\n return /*#__PURE__*/react["createElement"](input_Input, props);\n };\n\n return _this;\n }\n\n Password_createClass(Password, [{\n key: "focus",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: "blur",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: "select",\n value: function select() {\n this.input.select();\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderPassword);\n }\n }]);\n\n return Password;\n}(react["Component"]);\n\n\nPassword_Password.defaultProps = {\n action: \'click\',\n visibilityToggle: true,\n iconRender: function iconRender(visible) {\n return visible ? /*#__PURE__*/react["createElement"](EyeOutlined_default.a, null) : /*#__PURE__*/react["createElement"](EyeInvisibleOutlined_default.a, null);\n }\n};\n// CONCATENATED MODULE: ./node_modules/antd/es/input/index.js\n\n\n\n\n\ninput_Input.Group = input_Group;\ninput_Input.Search = Search_Search;\ninput_Input.TextArea = input_TextArea;\ninput_Input.Password = Password_Password;\n/* harmony default export */ var es_input = __webpack_exports__["a"] = (input_Input);\n\n//# sourceURL=webpack:///./node_modules/antd/es/input/index.js_+_8_modules?')},"5s0K":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {number} [time=500] Time in ms\n * @param {string} [easing='linear']\n * @param {number} [delay=0]\n * @param {Function} [callback]\n *\n * @example\n * // Animate position\n * animation\n * .createWrap()\n * .add(el1, {position: [10, 10]})\n * .add(el2, {shape: {width: 500}, style: {fill: 'red'}}, 400)\n * .done(function () { // done })\n * .start('cubicOut');\n */\nfunction createWrap() {\n var storage = [];\n var elExistsMap = {};\n var doneCallback;\n return {\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 * @param {modele:zrender/Element} el\n * @param {Object} target\n * @param {number} [time=500]\n * @param {number} [delay=0]\n * @param {string} [easing='linear']\n * @return {boolean} Whether adding succeeded.\n *\n * @example\n * add(el, target, time, delay, easing);\n * add(el, target, time, easing);\n * add(el, target, time);\n * add(el, target);\n */\n add: function (el, target, time, delay, easing) {\n if (zrUtil.isString(delay)) {\n easing = delay;\n delay = 0;\n }\n\n if (elExistsMap[el.id]) {\n return false;\n }\n\n elExistsMap[el.id] = 1;\n storage.push({\n el: el,\n target: target,\n time: time,\n delay: delay,\n easing: easing\n });\n return true;\n },\n\n /**\n * Only execute when animation finished. Will not execute when any\n * of 'stop' or 'stopAnimation' called.\n *\n * @param {Function} callback\n */\n done: function (callback) {\n doneCallback = callback;\n return this;\n },\n\n /**\n * Will stop exist animation firstly.\n */\n start: function () {\n var count = storage.length;\n\n for (var i = 0, len = storage.length; i < len; i++) {\n var item = storage[i];\n item.el.animateTo(item.target, item.time, item.delay, item.easing, done);\n }\n\n return this;\n\n function done() {\n count--;\n\n if (!count) {\n storage.length = 0;\n elExistsMap = {};\n doneCallback && doneCallback();\n }\n }\n }\n };\n}\n\nexports.createWrap = createWrap;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/animation.js?")},"5v8Y":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export WordCharacterClassifier */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getMapForWordSeparators; });\n/* harmony import */ var _core_characterClassifier_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MXAL");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\nvar WordCharacterClassifier = /** @class */ (function (_super) {\r\n __extends(WordCharacterClassifier, _super);\r\n function WordCharacterClassifier(wordSeparators) {\r\n var _this = _super.call(this, 0 /* Regular */) || this;\r\n for (var i = 0, len = wordSeparators.length; i < len; i++) {\r\n _this.set(wordSeparators.charCodeAt(i), 2 /* WordSeparator */);\r\n }\r\n _this.set(32 /* Space */, 1 /* Whitespace */);\r\n _this.set(9 /* Tab */, 1 /* Whitespace */);\r\n return _this;\r\n }\r\n return WordCharacterClassifier;\r\n}(_core_characterClassifier_js__WEBPACK_IMPORTED_MODULE_0__[/* CharacterClassifier */ "a"]));\r\n\r\nfunction once(computeFn) {\r\n var cache = {}; // TODO@Alex unbounded cache\r\n return function (input) {\r\n if (!cache.hasOwnProperty(input)) {\r\n cache[input] = computeFn(input);\r\n }\r\n return cache[input];\r\n };\r\n}\r\nvar getMapForWordSeparators = once(function (input) { return new WordCharacterClassifier(input); });\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/controller/wordCharacterClassifier.js?')},"5yev":function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar RedoOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z" } }] }, "name": "redo", "theme": "outlined" };\nexports.default = RedoOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/RedoOutlined.js?')},"6/1s":function(module,exports,__webpack_require__){eval("var META = __webpack_require__(\"YqAc\")('meta');\nvar isObject = __webpack_require__(\"93I4\");\nvar has = __webpack_require__(\"B+OT\");\nvar setDesc = __webpack_require__(\"2faE\").f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(\"KUxP\")(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/core-js/library/modules/_meta.js?")},"6/nd":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @event legendScroll\n * @type {Object}\n * @property {string} type 'legendScroll'\n * @property {string} scrollDataIndex\n */\necharts.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//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/scrollableLegendAction.js?")},"62hx":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.css?")},"62sa":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar makeInner = _model.makeInner;\n\nvar modelHelper = __webpack_require__(\"zTMp\");\n\nvar findPointFromSeries = __webpack_require__(\"Ez2D\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar curry = zrUtil.curry;\nvar inner = makeInner();\n/**\n * Basic logic: check all axis, if they do not demand show/highlight,\n * then hide/downplay them.\n *\n * @param {Object} coordSysAxesInfo\n * @param {Object} payload\n * @param {string} [payload.currTrigger] 'click' | 'mousemove' | 'leave'\n * @param {Array.} [payload.x] x and y, which are mandatory, specify a point to\n * trigger axisPointer and tooltip.\n * @param {Array.} [payload.y] x and y, which are mandatory, specify a point to\n * trigger axisPointer and tooltip.\n * @param {Object} [payload.seriesIndex] finder, optional, restrict target axes.\n * @param {Object} [payload.dataIndex] finder, restrict target axes.\n * @param {Object} [payload.axesInfo] finder, restrict target axes.\n * [{\n * axisDim: 'x'|'y'|'angle'|...,\n * axisIndex: ...,\n * value: ...\n * }, ...]\n * @param {Function} [payload.dispatchAction]\n * @param {Object} [payload.tooltipOption]\n * @param {Object|Array.|Function} [payload.position] Tooltip position,\n * which can be specified in dispatchAction\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @return {Object} content of event obj for echarts.connect.\n */\n\nfunction _default(payload, ecModel, api) {\n var currTrigger = payload.currTrigger;\n var point = [payload.x, payload.y];\n var finder = payload;\n var dispatchAction = payload.dispatchAction || zrUtil.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 = findPointFromSeries({\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 outputFinder = {};\n var showValueMap = {};\n var dataByCoordSys = {\n list: [],\n map: {}\n };\n var updaters = {\n showPointer: curry(showPointer, showValueMap),\n showTooltip: curry(showTooltip, dataByCoordSys)\n }; // Process for triggered axes.\n\n 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 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, outputFinder);\n }\n });\n }); // Process for linked axes.\n\n var linkTriggers = {};\n 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 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 each(linkTriggers, function (val, tarKey) {\n processOnAxis(axesInfo[tarKey], val, updaters, true, outputFinder);\n });\n updateModelActually(showValueMap, axesInfo, outputFinder);\n dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction);\n dispatchHighDownActually(axesInfo, dispatchAction, api);\n return outputFinder;\n}\n\nfunction processOnAxis(axisInfo, newValue, updaters, dontSnap, 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 defualt use the first involved series data as a sample to connect.\n\n if (payloadBatch[0] && outputFinder.seriesIndex == null) {\n zrUtil.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 (!dontSnap && axisInfo.snap) {\n if (axis.containData(snapToValue) && snapToValue != null) {\n newValue = snapToValue;\n }\n }\n\n updaters.showPointer(axisInfo, newValue, payloadBatch, outputFinder); // 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 each(axisInfo.seriesModels, function (series, idx) {\n var dataDim = series.getData().mapDimension(dim, true);\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 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.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, outputFinder) {\n var outputAxesInfo = outputFinder.axesInfo = []; // Basic logic: If no 'show' required, 'hide' this axisPointer.\n\n 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 each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n option.status === 'show' && 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 zrUtil.each(lastHighlights, function (batchItem, key) {\n !newHighlights[key] && toDownplay.push(batchItem);\n });\n zrUtil.each(newHighlights, function (batchItem, key) {\n !lastHighlights[key] && toHighlight.push(batchItem);\n });\n toDownplay.length && api.dispatchAction({\n type: 'downplay',\n escapeConnect: true,\n batch: toDownplay\n });\n toHighlight.length && api.dispatchAction({\n type: 'highlight',\n escapeConnect: 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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/axisTrigger.js?")},"6D9b":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/statistic/style/index.less?")},"6GrX":function(module,exports,__webpack_require__){eval("var BoundingRect = __webpack_require__(\"mFDi\");\n\nvar imageHelper = __webpack_require__(\"Xnb7\");\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar getContext = _util.getContext;\nvar extend = _util.extend;\nvar retrieve2 = _util.retrieve2;\nvar retrieve3 = _util.retrieve3;\nvar trim = _util.trim;\nvar textWidthCache = {};\nvar textWidthCacheCounter = 0;\nvar TEXT_CACHE_MAX = 5000;\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nvar DEFAULT_FONT = '12px sans-serif'; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n methods[name] = fn;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {number} width\n */\n\n\nfunction getWidth(text, font) {\n font = font || DEFAULT_FONT;\n var key = text + ':' + font;\n\n if (textWidthCache[key]) {\n return textWidthCache[key];\n }\n\n var textLines = (text + '').split('\\n');\n var width = 0;\n\n for (var i = 0, l = textLines.length; i < l; i++) {\n // textContain.measureText may be overrided in SVG or VML\n width = Math.max(measureText(textLines[i], font).width, width);\n }\n\n if (textWidthCacheCounter > TEXT_CACHE_MAX) {\n textWidthCacheCounter = 0;\n textWidthCache = {};\n }\n\n textWidthCacheCounter++;\n textWidthCache[key] = width;\n return width;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {string} [textAlign='left']\n * @param {string} [textVerticalAlign='top']\n * @param {Array.} [textPadding]\n * @param {Object} [rich]\n * @param {Object} [truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\n\nfunction getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n return rich ? getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) : getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate);\n}\n\nfunction getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate) {\n var contentBlock = parsePlainText(text, font, textPadding, textLineHeight, truncate);\n var outerWidth = getWidth(text, font);\n\n if (textPadding) {\n outerWidth += textPadding[1] + textPadding[3];\n }\n\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n var rect = new BoundingRect(x, y, outerWidth, outerHeight);\n rect.lineHeight = contentBlock.lineHeight;\n return rect;\n}\n\nfunction getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n var contentBlock = parseRichText(text, {\n rich: rich,\n truncate: truncate,\n font: font,\n textAlign: textAlign,\n textPadding: textPadding,\n textLineHeight: textLineHeight\n });\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n return new BoundingRect(x, y, outerWidth, outerHeight);\n}\n/**\n * @public\n * @param {number} x\n * @param {number} width\n * @param {string} [textAlign='left']\n * @return {number} Adjusted x.\n */\n\n\nfunction adjustTextX(x, width, textAlign) {\n // FIXME Right to left language\n if (textAlign === 'right') {\n x -= width;\n } else if (textAlign === 'center') {\n x -= width / 2;\n }\n\n return x;\n}\n/**\n * @public\n * @param {number} y\n * @param {number} height\n * @param {string} [textVerticalAlign='top']\n * @return {number} Adjusted y.\n */\n\n\nfunction adjustTextY(y, height, textVerticalAlign) {\n if (textVerticalAlign === 'middle') {\n y -= height / 2;\n } else if (textVerticalAlign === 'bottom') {\n y -= height;\n }\n\n return y;\n}\n/**\n * Follow same interface to `Displayable.prototype.calculateTextPosition`.\n * @public\n * @param {Obejct} [out] Prepared out object. If not input, auto created in the method.\n * @param {module:zrender/graphic/Style} style where `textPosition` and `textDistance` are visited.\n * @param {Object} rect {x, y, width, height} Rect of the host elment, according to which the text positioned.\n * @return {Object} The input `out`. Set: {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction calculateTextPosition(out, style, rect) {\n var textPosition = style.textPosition;\n var distance = style.textDistance;\n var x = rect.x;\n var y = rect.y;\n distance = distance || 0;\n var height = rect.height;\n var width = rect.width;\n var halfHeight = height / 2;\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (textPosition) {\n case 'left':\n x -= distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'right':\n x += distance + width;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'top':\n x += width / 2;\n y -= distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'bottom':\n x += width / 2;\n y += height + distance;\n textAlign = 'center';\n break;\n\n case 'inside':\n x += width / 2;\n y += halfHeight;\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideLeft':\n x += distance;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'insideRight':\n x += width - distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideTop':\n x += width / 2;\n y += distance;\n textAlign = 'center';\n break;\n\n case 'insideBottom':\n x += width / 2;\n y += height - distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideTopLeft':\n x += distance;\n y += distance;\n break;\n\n case 'insideTopRight':\n x += width - distance;\n y += distance;\n textAlign = 'right';\n break;\n\n case 'insideBottomLeft':\n x += distance;\n y += height - distance;\n textVerticalAlign = 'bottom';\n break;\n\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.textAlign = textAlign;\n out.textVerticalAlign = textVerticalAlign;\n return out;\n}\n/**\n * To be removed. But still do not remove in case that some one has imported it.\n * @deprecated\n * @public\n * @param {stirng} textPosition\n * @param {Object} rect {x, y, width, height}\n * @param {number} distance\n * @return {Object} {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction adjustTextPositionOnRect(textPosition, rect, distance) {\n var dummyStyle = {\n textPosition: textPosition,\n textDistance: distance\n };\n return calculateTextPosition({}, dummyStyle, rect);\n}\n/**\n * Show ellipsis if overflow.\n *\n * @public\n * @param {string} text\n * @param {string} containerWidth\n * @param {string} font\n * @param {number} [ellipsis='...']\n * @param {Object} [options]\n * @param {number} [options.maxIterations=3]\n * @param {number} [options.minChar=0] If truncate result are less\n * then minChar, ellipsis will not show, which is\n * better for user hint in some cases.\n * @param {number} [options.placeholder=''] When all truncated, use the placeholder.\n * @return {string}\n */\n\n\nfunction truncateText(text, containerWidth, font, ellipsis, options) {\n if (!containerWidth) {\n return '';\n }\n\n var textLines = (text + '').split('\\n');\n options = prepareTruncateOptions(containerWidth, font, ellipsis, options); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = textLines.length; i < len; i++) {\n textLines[i] = truncateSingleLine(textLines[i], options);\n }\n\n return textLines.join('\\n');\n}\n\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n options = extend({}, options);\n options.font = font;\n var ellipsis = retrieve2(ellipsis, '...');\n options.maxIterations = retrieve2(options.maxIterations, 2);\n var minChar = options.minChar = retrieve2(options.minChar, 0); // FIXME\n // Other languages?\n\n options.cnCharWidth = getWidth('\u56fd', font); // FIXME\n // Consider proportional font?\n\n var ascCharWidth = options.ascCharWidth = getWidth('a', font);\n options.placeholder = retrieve2(options.placeholder, ''); // Example 1: minChar: 3, text: 'asdfzxcv', truncate result: 'asdf', but not: 'a...'.\n // Example 2: minChar: 3, text: '\u7ef4\u5ea6', truncate result: '\u7ef4', but not: '...'.\n\n var contentWidth = containerWidth = Math.max(0, containerWidth - 1); // Reserve some gap.\n\n for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n contentWidth -= ascCharWidth;\n }\n\n var ellipsisWidth = getWidth(ellipsis, font);\n\n if (ellipsisWidth > contentWidth) {\n ellipsis = '';\n ellipsisWidth = 0;\n }\n\n contentWidth = containerWidth - ellipsisWidth;\n options.ellipsis = ellipsis;\n options.ellipsisWidth = ellipsisWidth;\n options.contentWidth = contentWidth;\n options.containerWidth = containerWidth;\n return options;\n}\n\nfunction truncateSingleLine(textLine, options) {\n var containerWidth = options.containerWidth;\n var font = options.font;\n var contentWidth = options.contentWidth;\n\n if (!containerWidth) {\n return '';\n }\n\n var lineWidth = getWidth(textLine, font);\n\n if (lineWidth <= containerWidth) {\n return textLine;\n }\n\n for (var j = 0;; j++) {\n if (lineWidth <= contentWidth || j >= options.maxIterations) {\n textLine += options.ellipsis;\n break;\n }\n\n var subLength = j === 0 ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;\n textLine = textLine.substr(0, subLength);\n lineWidth = getWidth(textLine, font);\n }\n\n if (textLine === '') {\n textLine = options.placeholder;\n }\n\n return textLine;\n}\n\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n var width = 0;\n var i = 0;\n\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\n return i;\n}\n/**\n * @public\n * @param {string} font\n * @return {number} line height\n */\n\n\nfunction getLineHeight(font) {\n // FIXME A rough approach.\n return getWidth('\u56fd', font);\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {Object} width\n */\n\n\nfunction measureText(text, font) {\n return methods.measureText(text, font);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nmethods.measureText = function (text, font) {\n var ctx = getContext();\n ctx.font = font || DEFAULT_FONT;\n return ctx.measureText(text);\n};\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {Object} [truncate]\n * @return {Object} block: {lineHeight, lines, height, outerHeight, canCacheByTextString}\n * Notice: for performance, do not calculate outerWidth util needed.\n * `canCacheByTextString` means the result `lines` is only determined by the input `text`.\n * Thus we can simply comparing the `input` text to determin whether the result changed,\n * without travel the result `lines`.\n */\n\n\nfunction parsePlainText(text, font, padding, textLineHeight, truncate) {\n text != null && (text += '');\n var lineHeight = retrieve2(textLineHeight, getLineHeight(font));\n var lines = text ? text.split('\\n') : [];\n var height = lines.length * lineHeight;\n var outerHeight = height;\n var canCacheByTextString = true;\n\n if (padding) {\n outerHeight += padding[0] + padding[2];\n }\n\n if (text && truncate) {\n canCacheByTextString = false;\n var truncOuterHeight = truncate.outerHeight;\n var truncOuterWidth = truncate.outerWidth;\n\n if (truncOuterHeight != null && outerHeight > truncOuterHeight) {\n text = '';\n lines = [];\n } else if (truncOuterWidth != null) {\n var options = prepareTruncateOptions(truncOuterWidth - (padding ? padding[1] + padding[3] : 0), font, truncate.ellipsis, {\n minChar: truncate.minChar,\n placeholder: truncate.placeholder\n }); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = lines.length; i < len; i++) {\n lines[i] = truncateSingleLine(lines[i], options);\n }\n }\n }\n\n return {\n lines: lines,\n height: height,\n outerHeight: outerHeight,\n lineHeight: lineHeight,\n canCacheByTextString: canCacheByTextString\n };\n}\n/**\n * For example: 'some text {a|some text}other text{b|some text}xxx{c|}xxx'\n * Also consider 'bbbb{a|xxx\\nzzz}xxxx\\naaaa'.\n *\n * @public\n * @param {string} text\n * @param {Object} style\n * @return {Object} block\n * {\n * width,\n * height,\n * lines: [{\n * lineHeight,\n * width,\n * tokens: [[{\n * styleName,\n * text,\n * width, // include textPadding\n * height, // include textPadding\n * textWidth, // pure text width\n * textHeight, // pure text height\n * lineHeihgt,\n * font,\n * textAlign,\n * textVerticalAlign\n * }], [...], ...]\n * }, ...]\n * }\n * If styleName is undefined, it is plain text.\n */\n\n\nfunction parseRichText(text, style) {\n var contentBlock = {\n lines: [],\n width: 0,\n height: 0\n };\n text != null && (text += '');\n\n if (!text) {\n return contentBlock;\n }\n\n var lastIndex = STYLE_REG.lastIndex = 0;\n var result;\n\n while ((result = STYLE_REG.exec(text)) != null) {\n var matchedIndex = result.index;\n\n if (matchedIndex > lastIndex) {\n pushTokens(contentBlock, text.substring(lastIndex, matchedIndex));\n }\n\n pushTokens(contentBlock, result[2], result[1]);\n lastIndex = STYLE_REG.lastIndex;\n }\n\n if (lastIndex < text.length) {\n pushTokens(contentBlock, text.substring(lastIndex, text.length));\n }\n\n var lines = contentBlock.lines;\n var contentHeight = 0;\n var contentWidth = 0; // For `textWidth: 100%`\n\n var pendingList = [];\n var stlPadding = style.textPadding;\n var truncate = style.truncate;\n var truncateWidth = truncate && truncate.outerWidth;\n var truncateHeight = truncate && truncate.outerHeight;\n\n if (stlPadding) {\n truncateWidth != null && (truncateWidth -= stlPadding[1] + stlPadding[3]);\n truncateHeight != null && (truncateHeight -= stlPadding[0] + stlPadding[2]);\n } // Calculate layout info of tokens.\n\n\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var lineHeight = 0;\n var lineWidth = 0;\n\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] || {}; // textPadding should not inherit from style.\n\n var textPadding = token.textPadding = tokenStyle.textPadding; // textFont has been asigned to font by `normalizeStyle`.\n\n var font = token.font = tokenStyle.font || style.font; // textHeight can be used when textVerticalAlign is specified in token.\n\n var tokenHeight = token.textHeight = retrieve2( // textHeight should not be inherited, consider it can be specified\n // as box height of the block.\n tokenStyle.textHeight, getLineHeight(font));\n textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n token.height = tokenHeight;\n token.lineHeight = retrieve3(tokenStyle.textLineHeight, style.textLineHeight, tokenHeight);\n token.textAlign = tokenStyle && tokenStyle.textAlign || style.textAlign;\n token.textVerticalAlign = tokenStyle && tokenStyle.textVerticalAlign || 'middle';\n\n if (truncateHeight != null && contentHeight + token.lineHeight > truncateHeight) {\n return {\n lines: [],\n width: 0,\n height: 0\n };\n }\n\n token.textWidth = getWidth(token.text, font);\n var tokenWidth = tokenStyle.textWidth;\n var tokenWidthNotSpecified = tokenWidth == null || tokenWidth === 'auto'; // Percent width, can be `100%`, can be used in drawing separate\n // line when box width is needed to be auto.\n\n if (typeof tokenWidth === 'string' && tokenWidth.charAt(tokenWidth.length - 1) === '%') {\n token.percentWidth = tokenWidth;\n pendingList.push(token);\n tokenWidth = 0; // Do not truncate in this case, because there is no user case\n // and it is too complicated.\n } else {\n if (tokenWidthNotSpecified) {\n tokenWidth = token.textWidth; // FIXME: If image is not loaded and textWidth is not specified, calling\n // `getBoundingRect()` will not get correct result.\n\n var textBackgroundColor = tokenStyle.textBackgroundColor;\n var bgImg = textBackgroundColor && textBackgroundColor.image; // Use cases:\n // (1) If image is not loaded, it will be loaded at render phase and call\n // `dirty()` and `textBackgroundColor.image` will be replaced with the loaded\n // image, and then the right size will be calculated here at the next tick.\n // See `graphic/helper/text.js`.\n // (2) If image loaded, and `textBackgroundColor.image` is image src string,\n // use `imageHelper.findExistImage` to find cached image.\n // `imageHelper.findExistImage` will always be called here before\n // `imageHelper.createOrUpdateImage` in `graphic/helper/text.js#renderRichText`\n // which ensures that image will not be rendered before correct size calcualted.\n\n if (bgImg) {\n bgImg = imageHelper.findExistImage(bgImg);\n\n if (imageHelper.isImageReady(bgImg)) {\n tokenWidth = Math.max(tokenWidth, bgImg.width * tokenHeight / bgImg.height);\n }\n }\n }\n\n var paddingW = textPadding ? textPadding[1] + textPadding[3] : 0;\n tokenWidth += paddingW;\n var remianTruncWidth = truncateWidth != null ? truncateWidth - lineWidth : null;\n\n if (remianTruncWidth != null && remianTruncWidth < tokenWidth) {\n if (!tokenWidthNotSpecified || remianTruncWidth < paddingW) {\n token.text = '';\n token.textWidth = tokenWidth = 0;\n } else {\n token.text = truncateText(token.text, remianTruncWidth - paddingW, font, truncate.ellipsis, {\n minChar: truncate.minChar\n });\n token.textWidth = getWidth(token.text, font);\n tokenWidth = token.textWidth + paddingW;\n }\n }\n }\n\n lineWidth += token.width = tokenWidth;\n tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n }\n\n line.width = lineWidth;\n line.lineHeight = lineHeight;\n contentHeight += lineHeight;\n contentWidth = Math.max(contentWidth, lineWidth);\n }\n\n contentBlock.outerWidth = contentBlock.width = retrieve2(style.textWidth, contentWidth);\n contentBlock.outerHeight = contentBlock.height = retrieve2(style.textHeight, contentHeight);\n\n if (stlPadding) {\n contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n }\n\n for (var i = 0; i < pendingList.length; i++) {\n var token = pendingList[i];\n var percentWidth = token.percentWidth; // Should not base on outerWidth, because token can not be placed out of padding.\n\n token.width = parseInt(percentWidth, 10) / 100 * contentWidth;\n }\n\n return contentBlock;\n}\n\nfunction pushTokens(block, str, styleName) {\n var isEmptyStr = str === '';\n var strs = str.split('\\n');\n var lines = block.lines;\n\n for (var i = 0; i < strs.length; i++) {\n var text = strs[i];\n var token = {\n styleName: styleName,\n text: text,\n isLineHolder: !text && !isEmptyStr\n }; // The first token should be appended to the last line.\n\n if (!i) {\n var tokens = (lines[lines.length - 1] || (lines[0] = {\n tokens: []\n })).tokens; // Consider cases:\n // (1) ''.split('\\n') => ['', '\\n', ''], the '' at the first item\n // (which is a placeholder) should be replaced by new token.\n // (2) A image backage, where token likes {a|}.\n // (3) A redundant '' will affect textAlign in line.\n // (4) tokens with the same tplName should not be merged, because\n // they should be displayed in different box (with border and padding).\n\n var tokensLen = tokens.length;\n tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token : // Consider text is '', only insert when it is the \"lineHolder\" or\n // \"emptyStr\". Otherwise a redundant '' will affect textAlign in line.\n (text || !tokensLen || isEmptyStr) && tokens.push(token);\n } // Other tokens always start a new line.\n else {\n // If there is '', insert it as a placeholder.\n lines.push({\n tokens: [token]\n });\n }\n }\n}\n\nfunction makeFont(style) {\n // FIXME in node-canvas fontWeight is before fontStyle\n // Use `fontSize` `fontFamily` to check whether font properties are defined.\n var font = (style.fontSize || style.fontFamily) && [style.fontStyle, style.fontWeight, (style.fontSize || 12) + 'px', // If font properties are defined, `fontFamily` should not be ignored.\n style.fontFamily || 'sans-serif'].join(' ');\n return font && trim(font) || style.textFont || style.font;\n}\n\nexports.DEFAULT_FONT = DEFAULT_FONT;\nexports.$override = $override;\nexports.getWidth = getWidth;\nexports.getBoundingRect = getBoundingRect;\nexports.adjustTextX = adjustTextX;\nexports.adjustTextY = adjustTextY;\nexports.calculateTextPosition = calculateTextPosition;\nexports.adjustTextPositionOnRect = adjustTextPositionOnRect;\nexports.truncateText = truncateText;\nexports.getLineHeight = getLineHeight;\nexports.measureText = measureText;\nexports.parsePlainText = parsePlainText;\nexports.parseRichText = parseRichText;\nexports.makeFont = makeFont;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/contain/text.js?")},"6Hfg":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _SwapRightOutlined = _interopRequireDefault(__webpack_require__("FhB9"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar SwapRightOutlined = function SwapRightOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _SwapRightOutlined.default\n }));\n};\n\nSwapRightOutlined.displayName = \'SwapRightOutlined\';\n\nvar _default = React.forwardRef(SwapRightOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/SwapRightOutlined.js?')},"6Ic6":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar each = _util.each;\n\nvar Group = __webpack_require__(\"4fz+\");\n\nvar componentUtil = __webpack_require__(\"iRjW\");\n\nvar clazzUtil = __webpack_require__(\"Yl7c\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar graphicUtil = __webpack_require__(\"IwbS\");\n\nvar _task = __webpack_require__(\"9H2F\");\n\nvar createTask = _task.createTask;\n\nvar createRenderPlanner = __webpack_require__(\"zM3Q\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 inner = modelUtil.makeInner();\nvar renderPlanner = createRenderPlanner();\n\nfunction Chart() {\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n this.group = new Group();\n /**\n * @type {string}\n * @readOnly\n */\n\n this.uid = componentUtil.getUID('viewChart');\n this.renderTask = createTask({\n plan: renderTaskPlan,\n reset: renderTaskReset\n });\n this.renderTask.context = {\n view: this\n };\n}\n\nChart.prototype = {\n type: 'chart',\n\n /**\n * Init the chart.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n init: function (ecModel, api) {},\n\n /**\n * Render the chart.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n render: function (seriesModel, ecModel, api, payload) {},\n\n /**\n * Highlight series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n highlight: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'emphasis');\n },\n\n /**\n * Downplay series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n downplay: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'normal');\n },\n\n /**\n * Remove self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n remove: function (ecModel, api) {\n this.group.removeAll();\n },\n\n /**\n * Dispose self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n dispose: function () {},\n\n /**\n * Rendering preparation in progressive mode.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalPrepareRender: null,\n\n /**\n * Render in progressive mode.\n * @param {Object} params See taskParams in `stream/task.js`\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalRender: null,\n\n /**\n * Update transform directly.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n * @return {Object} {update: true}\n */\n updateTransform: null,\n\n /**\n * The view contains the given point.\n * @interface\n * @param {Array.} point\n * @return {boolean}\n */\n // containPoint: function () {}\n\n /**\n * @param {string} eventType\n * @param {Object} query\n * @param {module:zrender/Element} targetEl\n * @param {Object} packedEvent\n * @return {boolen} Pass only when return `true`.\n */\n filterForExposedEvent: null\n};\nvar chartProto = Chart.prototype;\n\nchartProto.updateView = chartProto.updateLayout = chartProto.updateVisual = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n};\n/**\n * Set state of single element\n * @param {module:zrender/Element} el\n * @param {string} state 'normal'|'emphasis'\n * @param {number} highlightDigit\n */\n\n\nfunction elSetState(el, state, highlightDigit) {\n if (el) {\n el.trigger(state, highlightDigit);\n\n if (el.isGroup // Simple optimize.\n && !graphicUtil.isHighDownDispatcher(el)) {\n for (var i = 0, len = el.childCount(); i < len; i++) {\n elSetState(el.childAt(i), state, highlightDigit);\n }\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Object} payload\n * @param {string} state 'normal'|'emphasis'\n */\n\n\nfunction toggleHighlight(data, payload, state) {\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n var highlightDigit = payload && payload.highlightKey != null ? graphicUtil.getHighlightDigit(payload.highlightKey) : null;\n\n if (dataIndex != null) {\n each(modelUtil.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} // Enable Chart.extend.\n\n\nclazzUtil.enableClassExtend(Chart, ['dispose']); // Add capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nclazzUtil.enableClassManagement(Chart, {\n registerWhenExtend: true\n});\n\nChart.markUpdateMethod = function (payload, methodName) {\n inner(payload).updateMethod = methodName;\n};\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; // ???! 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};\nvar _default = Chart;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/view/Chart.js?")},"6MrE":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/tag/style/index.less?")},"6OMU":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return tail; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return tail2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return equals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return binarySearch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return findFirstInSorted; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return mergeSort; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return groupBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return coalesce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return isFalsyOrEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return isNonEmptyArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return distinct; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return distinctES6; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return fromSet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return firstIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return first; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return firstOrDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return flatten; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayInsert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return pushToStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return pushToEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return asArray; });\n/**\r\n * Returns the last element of an array.\r\n * @param array The array.\r\n * @param n Which element from the end (default is zero).\r\n */\r\nfunction tail(array, n) {\r\n if (n === void 0) { n = 0; }\r\n return array[array.length - (1 + n)];\r\n}\r\nfunction tail2(arr) {\r\n if (arr.length === 0) {\r\n throw new Error(\'Invalid tail call\');\r\n }\r\n return [arr.slice(0, arr.length - 1), arr[arr.length - 1]];\r\n}\r\nfunction equals(one, other, itemEquals) {\r\n if (itemEquals === void 0) { itemEquals = function (a, b) { return a === b; }; }\r\n if (one === other) {\r\n return true;\r\n }\r\n if (!one || !other) {\r\n return false;\r\n }\r\n if (one.length !== other.length) {\r\n return false;\r\n }\r\n for (var i = 0, len = one.length; i < len; i++) {\r\n if (!itemEquals(one[i], other[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction binarySearch(array, key, comparator) {\r\n var low = 0, high = array.length - 1;\r\n while (low <= high) {\r\n var mid = ((low + high) / 2) | 0;\r\n var comp = comparator(array[mid], key);\r\n if (comp < 0) {\r\n low = mid + 1;\r\n }\r\n else if (comp > 0) {\r\n high = mid - 1;\r\n }\r\n else {\r\n return mid;\r\n }\r\n }\r\n return -(low + 1);\r\n}\r\n/**\r\n * Takes a sorted array and a function p. The array is sorted in such a way that all elements where p(x) is false\r\n * are located before all elements where p(x) is true.\r\n * @returns the least x for which p(x) is true or array.length if no element fullfills the given function.\r\n */\r\nfunction findFirstInSorted(array, p) {\r\n var low = 0, high = array.length;\r\n if (high === 0) {\r\n return 0; // no children\r\n }\r\n while (low < high) {\r\n var mid = Math.floor((low + high) / 2);\r\n if (p(array[mid])) {\r\n high = mid;\r\n }\r\n else {\r\n low = mid + 1;\r\n }\r\n }\r\n return low;\r\n}\r\n/**\r\n * Like `Array#sort` but always stable. Usually runs a little slower `than Array#sort`\r\n * so only use this when actually needing stable sort.\r\n */\r\nfunction mergeSort(data, compare) {\r\n _sort(data, compare, 0, data.length - 1, []);\r\n return data;\r\n}\r\nfunction _merge(a, compare, lo, mid, hi, aux) {\r\n var leftIdx = lo, rightIdx = mid + 1;\r\n for (var i = lo; i <= hi; i++) {\r\n aux[i] = a[i];\r\n }\r\n for (var i = lo; i <= hi; i++) {\r\n if (leftIdx > mid) {\r\n // left side consumed\r\n a[i] = aux[rightIdx++];\r\n }\r\n else if (rightIdx > hi) {\r\n // right side consumed\r\n a[i] = aux[leftIdx++];\r\n }\r\n else if (compare(aux[rightIdx], aux[leftIdx]) < 0) {\r\n // right element is less -> comes first\r\n a[i] = aux[rightIdx++];\r\n }\r\n else {\r\n // left element comes first (less or equal)\r\n a[i] = aux[leftIdx++];\r\n }\r\n }\r\n}\r\nfunction _sort(a, compare, lo, hi, aux) {\r\n if (hi <= lo) {\r\n return;\r\n }\r\n var mid = lo + ((hi - lo) / 2) | 0;\r\n _sort(a, compare, lo, mid, aux);\r\n _sort(a, compare, mid + 1, hi, aux);\r\n if (compare(a[mid], a[mid + 1]) <= 0) {\r\n // left and right are sorted and if the last-left element is less\r\n // or equals than the first-right element there is nothing else\r\n // to do\r\n return;\r\n }\r\n _merge(a, compare, lo, mid, hi, aux);\r\n}\r\nfunction groupBy(data, compare) {\r\n var result = [];\r\n var currentGroup = undefined;\r\n for (var _i = 0, _a = mergeSort(data.slice(0), compare); _i < _a.length; _i++) {\r\n var element = _a[_i];\r\n if (!currentGroup || compare(currentGroup[0], element) !== 0) {\r\n currentGroup = [element];\r\n result.push(currentGroup);\r\n }\r\n else {\r\n currentGroup.push(element);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * @returns New array with all falsy values removed. The original array IS NOT modified.\r\n */\r\nfunction coalesce(array) {\r\n return array.filter(function (e) { return !!e; });\r\n}\r\n/**\r\n * @returns false if the provided object is an array and not empty.\r\n */\r\nfunction isFalsyOrEmpty(obj) {\r\n return !Array.isArray(obj) || obj.length === 0;\r\n}\r\nfunction isNonEmptyArray(obj) {\r\n return Array.isArray(obj) && obj.length > 0;\r\n}\r\n/**\r\n * Removes duplicates from the given array. The optional keyFn allows to specify\r\n * how elements are checked for equalness by returning a unique string for each.\r\n */\r\nfunction distinct(array, keyFn) {\r\n if (!keyFn) {\r\n return array.filter(function (element, position) {\r\n return array.indexOf(element) === position;\r\n });\r\n }\r\n var seen = Object.create(null);\r\n return array.filter(function (elem) {\r\n var key = keyFn(elem);\r\n if (seen[key]) {\r\n return false;\r\n }\r\n seen[key] = true;\r\n return true;\r\n });\r\n}\r\nfunction distinctES6(array) {\r\n var seen = new Set();\r\n return array.filter(function (element) {\r\n if (seen.has(element)) {\r\n return false;\r\n }\r\n seen.add(element);\r\n return true;\r\n });\r\n}\r\nfunction fromSet(set) {\r\n var result = [];\r\n set.forEach(function (o) { return result.push(o); });\r\n return result;\r\n}\r\nfunction firstIndex(array, fn) {\r\n for (var i = 0; i < array.length; i++) {\r\n var element = array[i];\r\n if (fn(element)) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nfunction first(array, fn, notFoundValue) {\r\n if (notFoundValue === void 0) { notFoundValue = undefined; }\r\n var index = firstIndex(array, fn);\r\n return index < 0 ? notFoundValue : array[index];\r\n}\r\nfunction firstOrDefault(array, notFoundValue) {\r\n return array.length > 0 ? array[0] : notFoundValue;\r\n}\r\nfunction flatten(arr) {\r\n var _a;\r\n return (_a = []).concat.apply(_a, arr);\r\n}\r\nfunction range(arg, to) {\r\n var from = typeof to === \'number\' ? arg : 0;\r\n if (typeof to === \'number\') {\r\n from = arg;\r\n }\r\n else {\r\n from = 0;\r\n to = arg;\r\n }\r\n var result = [];\r\n if (from <= to) {\r\n for (var i = from; i < to; i++) {\r\n result.push(i);\r\n }\r\n }\r\n else {\r\n for (var i = from; i > to; i--) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Insert `insertArr` inside `target` at `insertIndex`.\r\n * Please don\'t touch unless you understand https://jsperf.com/inserting-an-array-within-an-array\r\n */\r\nfunction arrayInsert(target, insertIndex, insertArr) {\r\n var before = target.slice(0, insertIndex);\r\n var after = target.slice(insertIndex);\r\n return before.concat(insertArr, after);\r\n}\r\n/**\r\n * Pushes an element to the start of the array, if found.\r\n */\r\nfunction pushToStart(arr, value) {\r\n var index = arr.indexOf(value);\r\n if (index > -1) {\r\n arr.splice(index, 1);\r\n arr.unshift(value);\r\n }\r\n}\r\n/**\r\n * Pushes an element to the end of the array, if found.\r\n */\r\nfunction pushToEnd(arr, value) {\r\n var index = arr.indexOf(value);\r\n if (index > -1) {\r\n arr.splice(index, 1);\r\n arr.push(value);\r\n }\r\n}\r\nfunction find(arr, predicate) {\r\n for (var i = 0; i < arr.length; i++) {\r\n var element = arr[i];\r\n if (predicate(element, i, arr)) {\r\n return element;\r\n }\r\n }\r\n return undefined;\r\n}\r\nfunction asArray(x) {\r\n return Array.isArray(x) ? x : [x];\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/arrays.js?')},"6SEX":function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _CaretDownOutlined = _interopRequireDefault(__webpack_require__("qWUW"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _CaretDownOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/CaretDownOutlined.js?')},"6UJt":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("v56E");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _empty_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("R9oj");\n/* harmony import */ var _input_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("5NDa");\n\n // style dependencies\n\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/cascader/style/index.js?')},"6VBw":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules\nvar slicedToArray = __webpack_require__("ODXe");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__("Ff2n");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/utils.js\nvar utils = __webpack_require__("Qi1f");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/IconBase.js\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\nvar twoToneColorPalette = {\n primaryColor: \'#333\',\n secondaryColor: \'#E6E6E6\',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || Object(utils["b" /* getSecondaryColor */])(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase_IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = Object(objectWithoutProperties["a" /* default */])(props, ["icon", "className", "onClick", "style", "primaryColor", "secondaryColor"]);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || Object(utils["b" /* getSecondaryColor */])(primaryColor)\n };\n }\n\n Object(utils["f" /* useInsertStyles */])();\n Object(utils["g" /* warning */])(Object(utils["c" /* isIconDefinition */])(icon), "icon should be icon definiton, but got ".concat(icon));\n\n if (!Object(utils["c" /* isIconDefinition */])(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === \'function\') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return Object(utils["a" /* generate */])(target.icon, "svg-".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n \'data-icon\': target.name,\n width: \'1em\',\n height: \'1em\',\n fill: \'currentColor\',\n \'aria-hidden\': \'true\'\n }, restProps));\n};\n\nIconBase_IconBase.displayName = \'IconReact\';\nIconBase_IconBase.getTwoToneColors = getTwoToneColors;\nIconBase_IconBase.setTwoToneColors = setTwoToneColors;\n/* harmony default export */ var components_IconBase = (IconBase_IconBase);\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js\n\n\n\nfunction setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = Object(utils["d" /* normalizeTwoToneColors */])(twoToneColor),\n _normalizeTwoToneColo2 = Object(slicedToArray["a" /* default */])(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return components_IconBase.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nfunction getTwoToneColor() {\n var colors = components_IconBase.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js\n\n\n\n\n\n\n\n // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor(\'#1890ff\');\nvar Icon = react["forwardRef"](function (props, ref) {\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = Object(objectWithoutProperties["a" /* default */])(props, ["className", "icon", "spin", "rotate", "tabIndex", "onClick", "twoToneColor"]);\n\n var classString = classnames_default()(\'anticon\', Object(defineProperty["a" /* default */])({}, "anticon-".concat(icon.name), Boolean(icon.name)), className);\n var svgClassString = classnames_default()({\n \'anticon-spin\': !!spin || icon.name === \'loading\'\n });\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: "rotate(".concat(rotate, "deg)"),\n transform: "rotate(".concat(rotate, "deg)")\n } : undefined;\n\n var _normalizeTwoToneColo = Object(utils["d" /* normalizeTwoToneColors */])(twoToneColor),\n _normalizeTwoToneColo2 = Object(slicedToArray["a" /* default */])(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return react["createElement"]("span", Object.assign({\n role: "img",\n "aria-label": icon.name\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), react["createElement"](components_IconBase, {\n className: svgClassString,\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = \'AntdIcon\';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\n/* harmony default export */ var AntdIcon = __webpack_exports__["a"] = (Icon);\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/components/AntdIcon.js_+_2_modules?')},"6cGi":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useControlledState; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\nfunction useControlledState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === \'function\' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === \'function\' ? defaultStateValue() : defaultStateValue;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerValue = _React$useState2[0],\n setInnerValue = _React$useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n }\n\n function triggerChange(newValue) {\n setInnerValue(newValue);\n\n if (mergedValue !== newValue && onChange) {\n onChange(newValue, mergedValue);\n }\n } // Effect of reset value to `undefined`\n\n\n var firstRenderRef = react__WEBPACK_IMPORTED_MODULE_0__["useRef"](true);\n react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n\n if (value === undefined) {\n setInnerValue(value);\n }\n }, [value]);\n return [mergedValue, triggerChange];\n}\n\n//# sourceURL=webpack:///./node_modules/rc-util/es/hooks/useMergedState.js?')},"6fms":function(module,exports,__webpack_require__){eval("var logError = __webpack_require__(\"SUKs\");\n\nvar vmlCore = __webpack_require__(\"06Qe\");\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar each = _util.each;\n\n/**\n * VML Painter.\n *\n * @module zrender/vml/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n/**\n * @alias module:zrender/vml/Painter\n */\n\n\nfunction VMLPainter(root, storage) {\n vmlCore.initVML();\n this.root = root;\n this.storage = storage;\n var vmlViewport = document.createElement('div');\n var vmlRoot = document.createElement('div');\n vmlViewport.style.cssText = 'display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;';\n vmlRoot.style.cssText = 'position:absolute;left:0;top:0;';\n root.appendChild(vmlViewport);\n this._vmlRoot = vmlRoot;\n this._vmlViewport = vmlViewport;\n this.resize(); // Modify storage\n\n var oldDelFromStorage = storage.delFromStorage;\n var oldAddToStorage = storage.addToStorage;\n\n storage.delFromStorage = function (el) {\n oldDelFromStorage.call(storage, el);\n\n if (el) {\n el.onRemove && el.onRemove(vmlRoot);\n }\n };\n\n storage.addToStorage = function (el) {\n // Displayable already has a vml node\n el.onAdd && el.onAdd(vmlRoot);\n oldAddToStorage.call(storage, el);\n };\n\n this._firstPaint = true;\n}\n\nVMLPainter.prototype = {\n constructor: VMLPainter,\n getType: function () {\n return 'vml';\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._vmlViewport;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * \u5237\u65b0\n */\n refresh: function () {\n var list = this.storage.getDisplayList(true, true);\n\n this._paintList(list);\n },\n _paintList: function (list) {\n var vmlRoot = this._vmlRoot;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n\n if (el.invisible || el.ignore) {\n if (!el.__alreadyNotVisible) {\n el.onRemove(vmlRoot);\n } // Set as already invisible\n\n\n el.__alreadyNotVisible = true;\n } else {\n if (el.__alreadyNotVisible) {\n el.onAdd(vmlRoot);\n }\n\n el.__alreadyNotVisible = false;\n\n if (el.__dirty) {\n el.beforeBrush && el.beforeBrush();\n (el.brushVML || el.brush).call(el, vmlRoot);\n el.afterBrush && el.afterBrush();\n }\n }\n\n el.__dirty = false;\n }\n\n if (this._firstPaint) {\n // Detached from document at first time\n // to avoid page refreshing too many times\n // FIXME \u5982\u679c\u6bcf\u6b21\u90fd\u5148 removeChild \u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e00\u4e9b\u586b\u5145\u548c\u63cf\u8fb9\u7684\u6548\u679c\u6539\u53d8\n this._vmlViewport.appendChild(vmlRoot);\n\n this._firstPaint = false;\n }\n },\n resize: function (width, height) {\n var width = width == null ? this._getWidth() : width;\n var height = height == null ? this._getHeight() : height;\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var vmlViewportStyle = this._vmlViewport.style;\n vmlViewportStyle.width = width + 'px';\n vmlViewportStyle.height = height + 'px';\n }\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._vmlRoot = this._vmlViewport = this.storage = null;\n },\n getWidth: function () {\n return this._width;\n },\n getHeight: function () {\n return this._height;\n },\n clear: function () {\n if (this._vmlViewport) {\n this.root.removeChild(this._vmlViewport);\n }\n },\n _getWidth: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientWidth || parseInt10(stl.width)) - parseInt10(stl.paddingLeft) - parseInt10(stl.paddingRight) | 0;\n },\n _getHeight: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientHeight || parseInt10(stl.height)) - parseInt10(stl.paddingTop) - parseInt10(stl.paddingBottom) | 0;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n logError('In IE8.0 VML mode painter not support method \"' + method + '\"');\n };\n} // Unsupported methods\n\n\neach(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'toDataURL', 'pathToImage'], function (name) {\n VMLPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = VMLPainter;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/vml/Painter.js?")},"6lNC":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'pascal',\r\n extensions: ['.pas', '.p', '.pp'],\r\n aliases: ['Pascal', 'pas'],\r\n mimetypes: ['text/x-pascal-source', 'text/x-pascal'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 191).then(__webpack_require__.bind(null, \"meXB\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js?")},"6r85":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default(option) {\n if (!option || !zrUtil.isArray(option.series)) {\n return;\n } // Translate \'k\' to \'candlestick\'.\n\n\n zrUtil.each(option.series, function (seriesItem) {\n if (zrUtil.isObject(seriesItem) && seriesItem.type === \'k\') {\n seriesItem.type = \'candlestick\';\n }\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/preprocessor.js?')},"6sVZ":function(module,exports){eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_isPrototype.js?")},"6tYh":function(module,exports,__webpack_require__){eval('// Works with __proto__ only. Old v8 can\'t work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__("93I4");\nvar anObject = __webpack_require__("5K7Z");\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can\'t set as prototype!");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || (\'__proto__\' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__("2GTP")(Function.call, __webpack_require__("vwuL").f(Object.prototype, \'__proto__\').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/modules/_set-proto.js?')},"6uqw":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar env = __webpack_require__(\"ItGF\");\n\nvar visualDefault = __webpack_require__(\"YOMW\");\n\nvar VisualMapping = __webpack_require__(\"XxSj\");\n\nvar visualSolution = __webpack_require__(\"K4ya\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 mapVisual = VisualMapping.mapVisual;\nvar eachVisual = VisualMapping.eachVisual;\nvar isArray = zrUtil.isArray;\nvar each = zrUtil.each;\nvar asc = numberUtil.asc;\nvar linearMap = numberUtil.linearMap;\nvar noop = zrUtil.noop;\nvar VisualMapModel = echarts.extendComponentModel({\n type: 'visualMap',\n dependencies: ['series'],\n\n /**\n * @readOnly\n * @type {Array.}\n */\n stateList: ['inRange', 'outOfRange'],\n\n /**\n * @readOnly\n * @type {Array.}\n */\n replacableOptionKeys: ['inRange', 'outOfRange', 'target', 'controller', 'color'],\n\n /**\n * [lowerBound, upperBound]\n *\n * @readOnly\n * @type {Array.}\n */\n dataBound: [-Infinity, Infinity],\n\n /**\n * @readOnly\n * @type {string|Object}\n */\n layoutMode: {\n type: 'box',\n ignoreSize: true\n },\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n zlevel: 0,\n z: 4,\n seriesIndex: 'all',\n // 'all' or null/undefined: all series.\n // A number or an array of number: the specified series.\n // set min: 0, max: 200, only for campatible with ec2.\n // In fact min max should not have default value.\n min: 0,\n // min value, must specified if pieces is not specified.\n max: 200,\n // max value, must specified if pieces is not specified.\n dimension: null,\n inRange: null,\n // 'color', 'colorHue', 'colorSaturation', 'colorLightness', 'colorAlpha',\n // 'symbol', 'symbolSize'\n outOfRange: null,\n // 'color', 'colorHue', 'colorSaturation',\n // 'colorLightness', 'colorAlpha',\n // 'symbol', 'symbolSize'\n left: 0,\n // 'center' \xa6 'left' \xa6 'right' \xa6 {number} (px)\n right: null,\n // The same as left.\n top: null,\n // 'top' \xa6 'bottom' \xa6 'center' \xa6 {number} (px)\n bottom: 0,\n // The same as top.\n itemWidth: null,\n itemHeight: null,\n inverse: false,\n orient: 'vertical',\n // 'horizontal' \xa6 'vertical'\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n // \u503c\u57df\u8fb9\u6846\u989c\u8272\n contentColor: '#5793f3',\n inactiveColor: '#aaa',\n borderWidth: 0,\n // \u503c\u57df\u8fb9\u6846\u7ebf\u5bbd\uff0c\u5355\u4f4dpx\uff0c\u9ed8\u8ba4\u4e3a0\uff08\u65e0\u8fb9\u6846\uff09\n padding: 5,\n // \u503c\u57df\u5185\u8fb9\u8ddd\uff0c\u5355\u4f4dpx\uff0c\u9ed8\u8ba4\u5404\u65b9\u5411\u5185\u8fb9\u8ddd\u4e3a5\uff0c\n // \u63a5\u53d7\u6570\u7ec4\u5206\u522b\u8bbe\u5b9a\u4e0a\u53f3\u4e0b\u5de6\u8fb9\u8ddd\uff0c\u540ccss\n textGap: 10,\n //\n precision: 0,\n // \u5c0f\u6570\u7cbe\u5ea6\uff0c\u9ed8\u8ba4\u4e3a0\uff0c\u65e0\u5c0f\u6570\u70b9\n color: null,\n //\u989c\u8272\uff08deprecated\uff0c\u517c\u5bb9ec2\uff0c\u987a\u5e8f\u540cpieces\uff0c\u4e0d\u540c\u4e8einRange/outOfRange\uff09\n formatter: null,\n text: null,\n // \u6587\u672c\uff0c\u5982['\u9ad8', '\u4f4e']\uff0c\u517c\u5bb9ec2\uff0ctext[0]\u5bf9\u5e94\u9ad8\u503c\uff0ctext[1]\u5bf9\u5e94\u4f4e\u503c\n textStyle: {\n color: '#333' // \u503c\u57df\u6587\u5b57\u989c\u8272\n\n }\n },\n\n /**\n * @protected\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {Array.}\n */\n this._dataExtent;\n /**\n * @readOnly\n */\n\n this.targetVisuals = {};\n /**\n * @readOnly\n */\n\n this.controllerVisuals = {};\n /**\n * @readOnly\n */\n\n this.textStyleModel;\n /**\n * [width, height]\n * @readOnly\n * @type {Array.}\n */\n\n this.itemSize;\n this.mergeDefaultAndTheme(option, ecModel);\n },\n\n /**\n * @protected\n */\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option; // FIXME\n // necessary?\n // Disable realtime view update if canvas is not supported.\n\n if (!env.canvasSupported) {\n thisOption.realtime = false;\n }\n\n !isInit && visualSolution.replaceVisualOption(thisOption, newOption, this.replacableOptionKeys);\n this.textStyleModel = this.getModel('textStyle');\n this.resetItemSize();\n this.completeVisualOption();\n },\n\n /**\n * @protected\n */\n resetVisual: function (supplementVisualOption) {\n var stateList = this.stateList;\n supplementVisualOption = zrUtil.bind(supplementVisualOption, this);\n this.controllerVisuals = visualSolution.createVisualMappings(this.option.controller, stateList, supplementVisualOption);\n this.targetVisuals = visualSolution.createVisualMappings(this.option.target, stateList, supplementVisualOption);\n },\n\n /**\n * @protected\n * @return {Array.} An array of series indices.\n */\n 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 = modelUtil.normalizeToArray(optionSeriesIndex);\n }\n\n return seriesIndices;\n },\n\n /**\n * @public\n */\n eachTargetSeries: function (callback, context) {\n zrUtil.each(this.getTargetSeriesIndices(), function (seriesIndex) {\n callback.call(context, this.ecModel.getSeriesByIndex(seriesIndex));\n }, this);\n },\n\n /**\n * @pubilc\n */\n isTargetSeries: function (seriesModel) {\n var is = false;\n this.eachTargetSeries(function (model) {\n model === seriesModel && (is = true);\n });\n return is;\n },\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 {number|Array.} value Real value, or this.dataBound[0 or 1].\n * @param {boolean} [isCategory=false] Only available when value is number.\n * @param {Array.} edgeSymbols Open-close symbol when value is interval.\n * @return {string}\n * @protected\n */\n 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 var textValue;\n edgeSymbols = edgeSymbols || ['<', '>'];\n\n if (zrUtil.isArray(value)) {\n value = value.slice();\n isMinMax = true;\n }\n\n textValue = isCategory ? value : isMinMax ? [toFixed(value[0]), toFixed(value[1])] : toFixed(value);\n\n if (zrUtil.isString(formatter)) {\n return formatter.replace('{value}', isMinMax ? textValue[0] : textValue).replace('{value2}', isMinMax ? textValue[1] : textValue);\n } else if (zrUtil.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 /**\n * @protected\n */\n 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 /**\n * @public\n * @param {module:echarts/data/List} list\n * @return {string} Concrete dimention. If return null/undefined,\n * no dimension used.\n */\n getDataDimension: function (list) {\n var optDim = this.option.dimension;\n var listDimensions = list.dimensions;\n\n if (optDim == null && !listDimensions.length) {\n return;\n }\n\n if (optDim != null) {\n return list.getDimension(optDim);\n }\n\n var dimNames = list.dimensions;\n\n for (var i = dimNames.length - 1; i >= 0; i--) {\n var dimName = dimNames[i];\n var dimInfo = list.getDimensionInfo(dimName);\n\n if (!dimInfo.isCalculationCoord) {\n return dimName;\n }\n }\n },\n\n /**\n * @public\n * @override\n */\n getExtent: function () {\n return this._dataExtent.slice();\n },\n\n /**\n * @protected\n */\n 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 zrUtil.merge(target, base); // Do not override\n\n zrUtil.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 defualt color, set inRange: {color: null}.\n\n\n base.inRange = base.inRange || {\n color: ecModel.get('gradientColor')\n }; // If using shortcut like: {inRange: 'symbol'}, complete default value.\n\n each(this.stateList, function (state) {\n var visualType = base[state];\n\n if (zrUtil.isString(visualType)) {\n var defa = visualDefault.get(visualType, 'active', isCategory);\n\n if (defa) {\n base[state] = {};\n base[state][visualType] = defa;\n } else {\n // Mark as not specified.\n delete base[state];\n }\n }\n }, this);\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 (!VisualMapping.isValidType(visualType)) {\n return;\n }\n\n var defa = visualDefault.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 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 && zrUtil.clone(symbolExists) || (isCategory ? 'roundRect' : ['roundRect']);\n }\n\n if (visuals.symbolSize == null) {\n visuals.symbolSize = symbolSizeExists && zrUtil.clone(symbolSizeExists) || (isCategory ? itemSize[0] : [itemSize[0], itemSize[0]]);\n } // Filter square and none.\n\n\n visuals.symbol = mapVisual(visuals.symbol, function (symbol) {\n return symbol === 'none' || symbol === 'square' ? 'roundRect' : symbol;\n }); // Normalize symbolSize\n\n var symbolSize = visuals.symbolSize;\n\n if (symbolSize != null) {\n var max = -Infinity; // symbolSize can be object when categories defined.\n\n eachVisual(symbolSize, function (value) {\n value > max && (max = value);\n });\n visuals.symbolSize = mapVisual(symbolSize, function (value) {\n return linearMap(value, [0, max], [0, itemSize[0]], true);\n });\n }\n }, this);\n }\n },\n\n /**\n * @protected\n */\n resetItemSize: function () {\n this.itemSize = [parseFloat(this.get('itemWidth')), parseFloat(this.get('itemHeight'))];\n },\n\n /**\n * @public\n */\n isCategory: function () {\n return !!this.option.categories;\n },\n\n /**\n * @public\n * @abstract\n */\n setSelected: noop,\n\n /**\n * @public\n * @abstract\n * @param {*|module:echarts/data/List} valueOrData\n * @param {number} dataIndex\n * @return {string} state See this.stateList\n */\n getValueState: noop,\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 {Function} getColorVisual\n * params: value, valueState\n * return: color\n * @return {Object} visualMeta\n * should includes {stops, outerColors}\n * outerColor means [colorBeyondMinValue, colorBeyondMaxValue]\n */\n getVisualMeta: noop\n});\nvar _default = VisualMapModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapModel.js?")},"6usn":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n return zrUtil.map(['Radius', 'Angle'], function (dim, dimIdx) {\n var axis = this['get' + dim + 'Axis']();\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var method = 'dataTo' + dim;\n var result = axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis[method](val - halfSize) - axis[method](val + halfSize));\n\n if (dim === 'Angle') {\n result = result * Math.PI / 180;\n }\n\n return result;\n }, this);\n}\n\nfunction _default(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: zrUtil.bind(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: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/prepareCustom.js?")},"6xvX":function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _FileTwoTone = _interopRequireDefault(__webpack_require__("V7ic"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _FileTwoTone;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/FileTwoTone.js?')},"711d":function(module,exports){eval("/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_baseProperty.js?")},"72pK":function(module,exports){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 {number} delta Move length.\n * @param {Array.} handleEnds handleEnds[0] can be bigger then handleEnds[1].\n * handleEnds will be modified in this method.\n * @param {Array.} extent handleEnds is restricted by extent.\n * extent[0] should less or equals than extent[1].\n * @param {number|string} handleIndex Can be \'all\', means that both move the two handleEnds.\n * @param {number} [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 {number} [maxSpan] The range of dataZoom can not be larger than that.\n * @return {Array.} The input handleEnds.\n */\nfunction _default(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 = 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 var 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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/sliderMove.js?')},"746U":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return isNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isBoolean; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return isUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return isUndefinedOrNull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return assertType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isEmptyObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return validateConstraints; });\n/* unused harmony export validateConstraint */\n/* unused harmony export getAllPropertyNames */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getAllMethodNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return createProxyObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return withNullAsUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return withUndefinedAsNull; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar _typeof = {\r\n number: \'number\',\r\n string: \'string\',\r\n undefined: \'undefined\',\r\n object: \'object\',\r\n function: \'function\'\r\n};\r\n/**\r\n * @returns whether the provided parameter is a JavaScript Array or not.\r\n */\r\nfunction isArray(array) {\r\n if (Array.isArray) {\r\n return Array.isArray(array);\r\n }\r\n if (array && typeof (array.length) === _typeof.number && array.constructor === Array) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n/**\r\n * @returns whether the provided parameter is a JavaScript String or not.\r\n */\r\nfunction isString(str) {\r\n if (typeof (str) === _typeof.string || str instanceof String) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n/**\r\n *\r\n * @returns whether the provided parameter is of type `object` but **not**\r\n *\t`null`, an `array`, a `regexp`, nor a `date`.\r\n */\r\nfunction isObject(obj) {\r\n // The method can\'t do a type cast since there are type (like strings) which\r\n // are subclasses of any put not positvely matched by the function. Hence type\r\n // narrowing results in wrong results.\r\n return typeof obj === _typeof.object\r\n && obj !== null\r\n && !Array.isArray(obj)\r\n && !(obj instanceof RegExp)\r\n && !(obj instanceof Date);\r\n}\r\n/**\r\n * In **contrast** to just checking `typeof` this will return `false` for `NaN`.\r\n * @returns whether the provided parameter is a JavaScript Number or not.\r\n */\r\nfunction isNumber(obj) {\r\n if ((typeof (obj) === _typeof.number || obj instanceof Number) && !isNaN(obj)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n/**\r\n * @returns whether the provided parameter is a JavaScript Boolean or not.\r\n */\r\nfunction isBoolean(obj) {\r\n return obj === true || obj === false;\r\n}\r\n/**\r\n * @returns whether the provided parameter is undefined.\r\n */\r\nfunction isUndefined(obj) {\r\n return typeof (obj) === _typeof.undefined;\r\n}\r\n/**\r\n * @returns whether the provided parameter is undefined or null.\r\n */\r\nfunction isUndefinedOrNull(obj) {\r\n return isUndefined(obj) || obj === null;\r\n}\r\nfunction assertType(condition, type) {\r\n if (!condition) {\r\n throw new Error(type ? "Unexpected type, expected \'" + type + "\'" : \'Unexpected type\');\r\n }\r\n}\r\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\r\n/**\r\n * @returns whether the provided parameter is an empty JavaScript Object or not.\r\n */\r\nfunction isEmptyObject(obj) {\r\n if (!isObject(obj)) {\r\n return false;\r\n }\r\n for (var key in obj) {\r\n if (hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * @returns whether the provided parameter is a JavaScript Function or not.\r\n */\r\nfunction isFunction(obj) {\r\n return typeof obj === _typeof.function;\r\n}\r\nfunction validateConstraints(args, constraints) {\r\n var len = Math.min(args.length, constraints.length);\r\n for (var i = 0; i < len; i++) {\r\n validateConstraint(args[i], constraints[i]);\r\n }\r\n}\r\nfunction validateConstraint(arg, constraint) {\r\n if (isString(constraint)) {\r\n if (typeof arg !== constraint) {\r\n throw new Error("argument does not match constraint: typeof " + constraint);\r\n }\r\n }\r\n else if (isFunction(constraint)) {\r\n try {\r\n if (arg instanceof constraint) {\r\n return;\r\n }\r\n }\r\n catch (_a) {\r\n // ignore\r\n }\r\n if (!isUndefinedOrNull(arg) && arg.constructor === constraint) {\r\n return;\r\n }\r\n if (constraint.length === 1 && constraint.call(undefined, arg) === true) {\r\n return;\r\n }\r\n throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true");\r\n }\r\n}\r\nfunction getAllPropertyNames(obj) {\r\n var res = [];\r\n var proto = Object.getPrototypeOf(obj);\r\n while (Object.prototype !== proto) {\r\n res = res.concat(Object.getOwnPropertyNames(proto));\r\n proto = Object.getPrototypeOf(proto);\r\n }\r\n return res;\r\n}\r\nfunction getAllMethodNames(obj) {\r\n var methods = [];\r\n for (var _i = 0, _a = getAllPropertyNames(obj); _i < _a.length; _i++) {\r\n var prop = _a[_i];\r\n if (typeof obj[prop] === \'function\') {\r\n methods.push(prop);\r\n }\r\n }\r\n return methods;\r\n}\r\nfunction createProxyObject(methodNames, invoke) {\r\n var createProxyMethod = function (method) {\r\n return function () {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n return invoke(method, args);\r\n };\r\n };\r\n var result = {};\r\n for (var _i = 0, methodNames_1 = methodNames; _i < methodNames_1.length; _i++) {\r\n var methodName = methodNames_1[_i];\r\n result[methodName] = createProxyMethod(methodName);\r\n }\r\n return result;\r\n}\r\n/**\r\n * Converts null to undefined, passes all other values through.\r\n */\r\nfunction withNullAsUndefined(x) {\r\n return x === null ? undefined : x;\r\n}\r\n/**\r\n * Converts undefined to null, passes all other values through.\r\n */\r\nfunction withUndefinedAsNull(x) {\r\n return typeof x === \'undefined\' ? null : x;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/types.js?')},"75ce":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("IXuL");\n\n__webpack_require__("8X+K");\n\nvar visualSymbol = __webpack_require__("f5Yq");\n\nvar layoutPoints = __webpack_require__("h8O9");\n\nvar dataSample = __webpack_require__("/d5a");\n\n__webpack_require__("Ae16");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 case developer forget to include grid component\necharts.registerVisual(visualSymbol(\'line\', \'circle\', \'line\'));\necharts.registerLayout(layoutPoints(\'line\')); // Down sample after filter\n\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, dataSample(\'line\'));\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line.js?')},"75ev":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("IWNH");\n\n__webpack_require__("bNin");\n\n__webpack_require__("v5uJ");\n\nvar visualSymbol = __webpack_require__("f5Yq");\n\nvar treeLayout = __webpack_require__("yik8");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol(\'tree\', \'circle\'));\necharts.registerLayout(treeLayout);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree.js?')},"77Zs":function(module,exports,__webpack_require__){eval('var ListCache = __webpack_require__("Xi7e");\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_stackClear.js?')},"79sc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IMarkerDecorationsService; });\n/* harmony import */ var _platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cg/j");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar IMarkerDecorationsService = Object(_platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__[/* createDecorator */ "c"])(\'markerDecorationsService\');\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/services/markersDecorationService.js?')},"7AJT":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar Axis = __webpack_require__(\"hM6l\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar Axis2D = function (dim, scale, coordExtent, axisType, position) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis position\n * - 'top'\n * - 'bottom'\n * - 'left'\n * - 'right'\n */\n\n this.position = position || 'bottom';\n};\n\nAxis2D.prototype = {\n constructor: Axis2D,\n\n /**\n * Index of axis, can be used as key\n */\n index: 0,\n\n /**\n * Implemented in .\n * @return {Array.}\n * If not on zero of other axis, return null/undefined.\n * If no axes, return an empty array.\n */\n getAxesOnZeroOf: null,\n\n /**\n * Axis model\n * @param {module:echarts/coord/cartesian/AxisModel}\n */\n model: null,\n isHorizontal: function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n },\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.}\n */\n 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 getOtherAxis: function () {\n this.grid.getOtherAxis();\n },\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n },\n\n /**\n * Transform global coord to local coord,\n * i.e. var localCoord = axis.toLocalCoord(80);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toLocalCoord: null,\n\n /**\n * Transform global coord to local coord,\n * i.e. var globalCoord = axis.toLocalCoord(40);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toGlobalCoord: null\n};\nzrUtil.inherits(Axis2D, Axis);\nvar _default = Axis2D;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/Axis2D.js?")},"7DRL":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar createHashMap = _util.createHashMap;\nvar isString = _util.isString;\nvar isArray = _util.isArray;\nvar each = _util.each;\nvar assert = _util.assert;\n\nvar _parseSVG = __webpack_require__(\"MEGo\");\n\nvar parseXML = _parseSVG.parseXML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 storage = createHashMap(); // For minimize the code size of common echarts package,\n// do not put too much logic in this module.\n\nvar _default = {\n // The format of record: see `echarts.registerMap`.\n // Compatible with previous `echarts.registerMap`.\n registerMap: function (mapName, rawGeoJson, rawSpecialAreas) {\n var records;\n\n if (isArray(rawGeoJson)) {\n records = rawGeoJson;\n } else if (rawGeoJson.svg) {\n records = [{\n type: 'svg',\n source: rawGeoJson.svg,\n specialAreas: rawGeoJson.specialAreas\n }];\n } else {\n // Backward compatibility.\n if (rawGeoJson.geoJson && !rawGeoJson.features) {\n rawSpecialAreas = rawGeoJson.specialAreas;\n rawGeoJson = rawGeoJson.geoJson;\n }\n\n records = [{\n type: 'geoJSON',\n source: rawGeoJson,\n specialAreas: rawSpecialAreas\n }];\n }\n\n each(records, function (record) {\n var type = record.type;\n type === 'geoJson' && (type = record.type = 'geoJSON');\n var parse = parsers[type];\n parse(record);\n });\n return storage.set(mapName, records);\n },\n retrieveMap: function (mapName) {\n return storage.get(mapName);\n }\n};\nvar parsers = {\n geoJSON: function (record) {\n var source = record.source;\n record.geoJSON = !isString(source) ? source : typeof JSON !== 'undefined' && JSON.parse ? JSON.parse(source) : new Function('return (' + source + ');')();\n },\n // 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 svg: function (record) {\n record.svgXML = parseXML(record.source);\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/mapDataStorage.js?")},"7G+c":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar createHashMap = _util.createHashMap;\nvar isTypedArray = _util.isTypedArray;\n\nvar _clazz = __webpack_require__(\"Yl7c\");\n\nvar enableClassCheck = _clazz.enableClassCheck;\n\nvar _sourceType = __webpack_require__(\"k9D9\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [sourceFormat]\n *\n * + \"original\":\n * This format is only used in series.data, where\n * itemStyle can be specified in data item.\n *\n * + \"arrayRows\":\n * [\n * ['product', 'score', 'amount'],\n * ['Matcha Latte', 89.3, 95.8],\n * ['Milk Tea', 92.1, 89.4],\n * ['Cheese Cocoa', 94.4, 91.2],\n * ['Walnut Brownie', 85.4, 76.9]\n * ]\n *\n * + \"objectRows\":\n * [\n * {product: 'Matcha Latte', score: 89.3, amount: 95.8},\n * {product: 'Milk Tea', score: 92.1, amount: 89.4},\n * {product: 'Cheese Cocoa', score: 94.4, amount: 91.2},\n * {product: 'Walnut Brownie', score: 85.4, amount: 76.9}\n * ]\n *\n * + \"keyedColumns\":\n * {\n * 'product': ['Matcha Latte', 'Milk Tea', 'Cheese Cocoa', 'Walnut Brownie'],\n * 'count': [823, 235, 1042, 988],\n * 'score': [95.8, 81.4, 91.2, 76.9]\n * }\n *\n * + \"typedArray\"\n *\n * + \"unknown\"\n */\n\n/**\n * @constructor\n * @param {Object} fields\n * @param {string} fields.sourceFormat\n * @param {Array|Object} fields.fromDataset\n * @param {Array|Object} [fields.data]\n * @param {string} [seriesLayoutBy='column']\n * @param {Array.} [dimensionsDefine]\n * @param {Objet|HashMap} [encodeDefine]\n * @param {number} [startIndex=0]\n * @param {number} [dimensionsDetectCount]\n */\nfunction Source(fields) {\n /**\n * @type {boolean}\n */\n this.fromDataset = fields.fromDataset;\n /**\n * Not null/undefined.\n * @type {Array|Object}\n */\n\n this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);\n /**\n * See also \"detectSourceFormat\".\n * Not null/undefined.\n * @type {string}\n */\n\n this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN;\n /**\n * 'row' or 'column'\n * Not null/undefined.\n * @type {string} seriesLayoutBy\n */\n\n this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;\n /**\n * dimensions definition in option.\n * can be null/undefined.\n * @type {Array.}\n */\n\n this.dimensionsDefine = fields.dimensionsDefine;\n /**\n * encode definition in option.\n * can be null/undefined.\n * @type {Objet|HashMap}\n */\n\n this.encodeDefine = fields.encodeDefine && createHashMap(fields.encodeDefine);\n /**\n * Not null/undefined, uint.\n * @type {number}\n */\n\n this.startIndex = fields.startIndex || 0;\n /**\n * Can be null/undefined (when unknown), uint.\n * @type {number}\n */\n\n this.dimensionsDetectCount = fields.dimensionsDetectCount;\n}\n/**\n * Wrap original series data for some compatibility cases.\n */\n\n\nSource.seriesDataToSource = function (data) {\n return new Source({\n data: data,\n sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL,\n fromDataset: false\n });\n};\n\nenableClassCheck(Source);\nvar _default = Source;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/Source.js?")},"7GkX":function(module,exports,__webpack_require__){eval("var arrayLikeKeys = __webpack_require__(\"b80T\"),\n baseKeys = __webpack_require__(\"A90E\"),\n isArrayLike = __webpack_require__(\"MMmD\");\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/keys.js?")},"7Kak":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("KPFz");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/radio/style/index.js?')},"7Phj":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\n\nfunction _default(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\n\nfunction groupSeriesByAxis(ecModel) {\n var result = [];\n var axisList = [];\n ecModel.eachSeriesByType('boxplot', function (seriesModel) {\n var baseAxis = seriesModel.getBaseAxis();\n var idx = zrUtil.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 extent;\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 = 0;\n each(seriesModels, function (seriesModel) {\n maxDataCount = Math.max(maxDataCount, seriesModel.getData().count());\n });\n extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / maxDataCount;\n }\n\n each(seriesModels, function (seriesModel) {\n var boxWidthBound = seriesModel.get('boxWidth');\n\n if (!zrUtil.isArray(boxWidthBound)) {\n boxWidthBound = [boxWidthBound, boxWidthBound];\n }\n\n boundList.push([parsePercent(boxWidthBound[0], bandWidth) || 0, 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.mapDimension(coordDims[vDimIdx], true);\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, 0);\n addBodyEnd(ends, end4, 1);\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, dimIdx, dataIndex) {\n var val = data.get(dimIdx, 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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js?")},"7SHv":function(module,exports,__webpack_require__){eval("var _config = __webpack_require__(\"LPTA\");\n\nvar devicePixelRatio = _config.devicePixelRatio;\n\nvar util = __webpack_require__(\"bYtY\");\n\nvar logError = __webpack_require__(\"SUKs\");\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\nvar timsort = __webpack_require__(\"BPZU\");\n\nvar Layer = __webpack_require__(\"Xmg4\");\n\nvar requestAnimationFrame = __webpack_require__(\"mLcG\");\n\nvar Image = __webpack_require__(\"Dagg\");\n\nvar env = __webpack_require__(\"ItGF\");\n\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\n\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n\n if (layer.__builtin__) {\n return true;\n }\n\n if (typeof layer.resize !== 'function' || typeof layer.refresh !== 'function') {\n return false;\n }\n\n return true;\n}\n\nvar tmpRect = new BoundingRect(0, 0, 0, 0);\nvar viewRect = new BoundingRect(0, 0, 0, 0);\n\nfunction isDisplayableCulled(el, width, height) {\n tmpRect.copy(el.getBoundingRect());\n\n if (el.transform) {\n tmpRect.applyTransform(el.transform);\n }\n\n viewRect.width = width;\n viewRect.height = height;\n return !tmpRect.intersect(viewRect);\n}\n\nfunction isClipPathChanged(clipPaths, prevClipPaths) {\n // displayable.__clipPaths can only be `null`/`undefined` or an non-empty array.\n if (clipPaths === prevClipPaths) {\n return false;\n }\n\n if (!clipPaths || !prevClipPaths || clipPaths.length !== prevClipPaths.length) {\n return true;\n }\n\n for (var i = 0; i < clipPaths.length; i++) {\n if (clipPaths[i] !== prevClipPaths[i]) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction doClip(clipPaths, ctx) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n clipPath.setTransform(ctx);\n ctx.beginPath();\n clipPath.buildPath(ctx, clipPath.shape);\n ctx.clip(); // Transform back\n\n clipPath.restoreTransform(ctx);\n }\n}\n\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div'); // domRoot.onselectstart = returnFalse; // Avoid page selected\n\n domRoot.style.cssText = ['position:relative', // IOS13 safari probably has a compositing bug (z order of the canvas and the consequent\n // dom does not act as expected) when some of the parent dom has\n // `-webkit-overflow-scrolling: touch;` and the webpage is longer than one screen and\n // the canvas is not at the top part of the page.\n // Check `https://bugs.webkit.org/show_bug.cgi?id=203681` for more details. We remove\n // this `overflow:hidden` to avoid the bug.\n // 'overflow:hidden',\n 'width:' + width + 'px', 'height:' + height + 'px', 'padding:0', 'margin:0', 'border-width:0'].join(';') + ';';\n return domRoot;\n}\n/**\n * @alias module:zrender/Painter\n * @constructor\n * @param {HTMLElement} root \u7ed8\u56fe\u5bb9\u5668\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar Painter = function (root, storage, opts) {\n this.type = 'canvas'; // In node environment using node-canvas\n\n var singleCanvas = !root.nodeName // In node ?\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n /**\n * @type {number}\n */\n\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n /**\n * @type {boolean}\n * @private\n */\n\n this._singleCanvas = singleCanvas;\n /**\n * \u7ed8\u56fe\u5bb9\u5668\n * @type {HTMLElement}\n */\n\n this.root = root;\n var rootStyle = root.style;\n\n if (rootStyle) {\n rootStyle['-webkit-tap-highlight-color'] = 'transparent';\n rootStyle['-webkit-user-select'] = rootStyle['user-select'] = rootStyle['-webkit-touch-callout'] = 'none';\n root.innerHTML = '';\n }\n /**\n * @type {module:zrender/Storage}\n */\n\n\n this.storage = storage;\n /**\n * @type {Array.}\n * @private\n */\n\n var zlevelList = this._zlevelList = [];\n /**\n * @type {Object.}\n * @private\n */\n\n var layers = this._layers = {};\n /**\n * @type {Object.}\n * @private\n */\n\n this._layerConfig = {};\n /**\n * zrender will do compositing when root is a canvas and have multiple zlevels.\n */\n\n this._needsManuallyCompositing = false;\n\n if (!singleCanvas) {\n this._width = this._getSize(0);\n this._height = this._getSize(1);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n } else {\n var width = root.width;\n var height = root.height;\n\n if (opts.width != null) {\n width = opts.width;\n }\n\n if (opts.height != null) {\n height = opts.height;\n }\n\n this.dpr = opts.devicePixelRatio || 1; // Use canvas width and height directly\n\n root.width = width * this.dpr;\n root.height = height * this.dpr;\n this._width = width;\n this._height = height; // Create layer if only one given canvas\n // Device can be specified to create a high dpi image.\n\n var mainLayer = new Layer(root, this, this.dpr);\n mainLayer.__builtin__ = true;\n mainLayer.initContext(); // FIXME Use canvas width and height\n // mainLayer.resize(width, height);\n\n layers[CANVAS_ZLEVEL] = mainLayer;\n mainLayer.zlevel = CANVAS_ZLEVEL; // Not use common zlevel.\n\n zlevelList.push(CANVAS_ZLEVEL);\n this._domRoot = root;\n }\n /**\n * @type {module:zrender/Layer}\n * @private\n */\n\n\n this._hoverlayer = null;\n this._hoverElements = [];\n};\n\nPainter.prototype = {\n constructor: Painter,\n getType: function () {\n return 'canvas';\n },\n\n /**\n * If painter use a single canvas\n * @return {boolean}\n */\n isSingleCanvas: function () {\n return this._singleCanvas;\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._domRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * \u5237\u65b0\n * @param {boolean} [paintAll=false] \u5f3a\u5236\u7ed8\u5236\u6240\u6709displayable\n */\n refresh: function (paintAll) {\n var list = this.storage.getDisplayList(true);\n var zlevelList = this._zlevelList;\n this._redrawId = Math.random();\n\n this._paintList(list, paintAll, this._redrawId); // Paint custum layers\n\n\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n\n if (!layer.__builtin__ && layer.refresh) {\n var clearColor = i === 0 ? this._backgroundColor : null;\n layer.refresh(clearColor);\n }\n }\n\n this.refreshHover();\n return this;\n },\n addHover: function (el, hoverStyle) {\n if (el.__hoverMir) {\n return;\n }\n\n var elMirror = new el.constructor({\n style: el.style,\n shape: el.shape,\n z: el.z,\n z2: el.z2,\n silent: el.silent\n });\n elMirror.__from = el;\n el.__hoverMir = elMirror;\n hoverStyle && elMirror.setStyle(hoverStyle);\n\n this._hoverElements.push(elMirror);\n\n return elMirror;\n },\n removeHover: function (el) {\n var elMirror = el.__hoverMir;\n var hoverElements = this._hoverElements;\n var idx = util.indexOf(hoverElements, elMirror);\n\n if (idx >= 0) {\n hoverElements.splice(idx, 1);\n }\n\n el.__hoverMir = null;\n },\n clearHover: function (el) {\n var hoverElements = this._hoverElements;\n\n for (var i = 0; i < hoverElements.length; i++) {\n var from = hoverElements[i].__from;\n\n if (from) {\n from.__hoverMir = null;\n }\n }\n\n hoverElements.length = 0;\n },\n refreshHover: function () {\n var hoverElements = this._hoverElements;\n var len = hoverElements.length;\n var hoverLayer = this._hoverlayer;\n hoverLayer && hoverLayer.clear();\n\n if (!len) {\n return;\n }\n\n timsort(hoverElements, this.storage.displayableSortFunc); // Use a extream large zlevel\n // FIXME?\n\n if (!hoverLayer) {\n hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n }\n\n var scope = {};\n hoverLayer.ctx.save();\n\n for (var i = 0; i < len;) {\n var el = hoverElements[i];\n var originalEl = el.__from; // Original el is removed\n // PENDING\n\n if (!(originalEl && originalEl.__zr)) {\n hoverElements.splice(i, 1);\n originalEl.__hoverMir = null;\n len--;\n continue;\n }\n\n i++; // Use transform\n // FIXME style and shape ?\n\n if (!originalEl.invisible) {\n el.transform = originalEl.transform;\n el.invTransform = originalEl.invTransform;\n el.__clipPaths = originalEl.__clipPaths; // el.\n\n this._doPaintEl(el, hoverLayer, true, scope);\n }\n }\n\n hoverLayer.ctx.restore();\n },\n getHoverLayer: function () {\n return this.getLayer(HOVER_LAYER_ZLEVEL);\n },\n _paintList: function (list, paintAll, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n\n paintAll = paintAll || false;\n\n this._updateLayerStatus(list);\n\n var finished = this._doPaintList(list, paintAll);\n\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n\n if (!finished) {\n var self = this;\n requestAnimationFrame(function () {\n self._paintList(list, paintAll, redrawId);\n });\n }\n },\n _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); // PENDING, If only builtin layer?\n\n this.eachBuiltinLayer(function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n });\n },\n _doPaintList: function (list, paintAll) {\n var layerList = [];\n\n for (var zi = 0; zi < this._zlevelList.length; zi++) {\n var zlevel = this._zlevelList[zi];\n var layer = this._layers[zlevel];\n\n if (layer.__builtin__ && layer !== this._hoverlayer && (layer.__dirty || paintAll)) {\n layerList.push(layer);\n }\n }\n\n var finished = true;\n\n for (var k = 0; k < layerList.length; k++) {\n var layer = layerList[k];\n var ctx = layer.ctx;\n var scope = {};\n ctx.save();\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._zlevelList[0] ? this._backgroundColor : null; // All elements in this layer are cleared.\n\n if (layer.__startIndex === layer.__endIndex) {\n layer.clear(false, clearColor);\n } else if (start === layer.__startIndex) {\n var firstEl = list[start];\n\n if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n layer.clear(false, clearColor);\n }\n }\n\n if (start === -1) {\n console.error('For some unknown reason. drawIndex is -1');\n start = layer.__startIndex;\n }\n\n for (var i = start; i < layer.__endIndex; i++) {\n var el = list[i];\n\n this._doPaintEl(el, layer, paintAll, scope);\n\n el.__dirty = el.__dirtyText = false;\n\n if (useTimer) {\n // Date.now can be executed in 13,025,305 ops/second.\n var dTime = Date.now() - startTime; // Give 15 millisecond to draw.\n // The rest elements will be drawn in the next frame.\n\n if (dTime > 15) {\n break;\n }\n }\n }\n\n layer.__drawIndex = i;\n\n if (layer.__drawIndex < layer.__endIndex) {\n finished = false;\n }\n\n if (scope.prevElClipPaths) {\n // Needs restore the state. If last drawn element is in the clipping area.\n ctx.restore();\n }\n\n ctx.restore();\n }\n\n if (env.wxa) {\n // Flush for weixin application\n util.each(this._layers, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n\n return finished;\n },\n _doPaintEl: function (el, currentLayer, forcePaint, scope) {\n var ctx = currentLayer.ctx;\n var m = el.transform;\n\n if ((currentLayer.__dirty || forcePaint) && // Ignore invisible element\n !el.invisible // Ignore transparent element\n && el.style.opacity !== 0 // Ignore scale 0 element, in some environment like node-canvas\n // Draw a scale 0 element can cause all following draw wrong\n // And setTransform with scale 0 will cause set back transform failed.\n && !(m && !m[0] && !m[3]) // Ignore culled element\n && !(el.culling && isDisplayableCulled(el, this._width, this._height))) {\n var clipPaths = el.__clipPaths;\n var prevElClipPaths = scope.prevElClipPaths; // Optimize when clipping on group with several elements\n\n if (!prevElClipPaths || isClipPathChanged(clipPaths, prevElClipPaths)) {\n // If has previous clipping state, restore from it\n if (prevElClipPaths) {\n ctx.restore();\n scope.prevElClipPaths = null; // Reset prevEl since context has been restored\n\n scope.prevEl = null;\n } // New clipping state\n\n\n if (clipPaths) {\n ctx.save();\n doClip(clipPaths, ctx);\n scope.prevElClipPaths = clipPaths;\n }\n }\n\n el.beforeBrush && el.beforeBrush(ctx);\n el.brush(ctx, scope.prevEl || null);\n scope.prevEl = el;\n el.afterBrush && el.afterBrush(ctx);\n }\n },\n\n /**\n * \u83b7\u53d6 zlevel \u6240\u5728\u5c42\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5219\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5c42\n * @param {number} zlevel\n * @param {boolean} virtual Virtual layer will not be inserted into dom.\n * @return {module:zrender/Layer}\n */\n getLayer: function (zlevel, virtual) {\n if (this._singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n }\n\n var layer = this._layers[zlevel];\n\n if (!layer) {\n // Create a new layer\n layer = new Layer('zr_' + zlevel, this, this.dpr);\n layer.zlevel = zlevel;\n layer.__builtin__ = true;\n\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n } // TODO Remove EL_AFTER_INCREMENTAL_INC magic number\n else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {\n util.merge(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);\n }\n\n if (virtual) {\n layer.virtual = virtual;\n }\n\n this.insertLayer(zlevel, layer); // Context is created after dom inserted to document\n // Or excanvas will get 0px clientWidth and clientHeight\n\n layer.initContext();\n }\n\n return layer;\n },\n insertLayer: function (zlevel, layer) {\n var layersMap = this._layers;\n var zlevelList = this._zlevelList;\n var len = zlevelList.length;\n var prevLayer = null;\n var i = -1;\n var domRoot = this._domRoot;\n\n if (layersMap[zlevel]) {\n logError('ZLevel ' + zlevel + ' has been used already');\n return;\n } // Check if is a valid layer\n\n\n if (!isLayerValid(layer)) {\n logError('Layer of zlevel ' + zlevel + ' is not valid');\n return;\n }\n\n if (len > 0 && zlevel > zlevelList[0]) {\n for (i = 0; i < len - 1; i++) {\n if (zlevelList[i] < zlevel && zlevelList[i + 1] > zlevel) {\n break;\n }\n }\n\n prevLayer = layersMap[zlevelList[i]];\n }\n\n zlevelList.splice(i + 1, 0, zlevel);\n layersMap[zlevel] = layer; // Vitual layer will not directly show on the screen.\n // (It can be a WebGL layer and assigned to a ZImage element)\n // But it still under management of zrender.\n\n if (!layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n } else {\n domRoot.appendChild(layer.dom);\n }\n } else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n } else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n },\n // Iterate each layer\n eachLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n cb.call(context, this._layers[z], z);\n }\n },\n // Iterate each buildin layer\n eachBuiltinLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n // Iterate each other layer except buildin layer\n eachOtherLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (!layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n\n /**\n * \u83b7\u53d6\u6240\u6709\u5df2\u521b\u5efa\u7684\u5c42\n * @param {Array.} [prevLayer]\n */\n getLayers: function () {\n return this._layers;\n },\n _updateLayerStatus: function (list) {\n this.eachBuiltinLayer(function (layer, z) {\n layer.__dirty = layer.__used = false;\n });\n\n function updatePrevLayer(idx) {\n if (prevLayer) {\n if (prevLayer.__endIndex !== idx) {\n prevLayer.__dirty = true;\n }\n\n prevLayer.__endIndex = idx;\n }\n }\n\n if (this._singleCanvas) {\n for (var i = 1; i < list.length; i++) {\n var el = list[i];\n\n if (el.zlevel !== list[i - 1].zlevel || el.incremental) {\n this._needsManuallyCompositing = true;\n break;\n }\n }\n }\n\n var prevLayer = null;\n var incrementalLayerCount = 0;\n var prevZlevel;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n var zlevel = el.zlevel;\n var layer;\n\n if (prevZlevel !== zlevel) {\n prevZlevel = zlevel;\n incrementalLayerCount = 0;\n } // TODO Not use magic number on zlevel.\n // Each layer with increment element can be separated to 3 layers.\n // (Other Element drawn after incremental element)\n // -----------------zlevel + EL_AFTER_INCREMENTAL_INC--------------------\n // (Incremental element)\n // ----------------------zlevel + INCREMENTAL_INC------------------------\n // (Element drawn before incremental element)\n // --------------------------------zlevel--------------------------------\n\n\n if (el.incremental) {\n layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n layer.incremental = true;\n incrementalLayerCount = 1;\n } else {\n layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n }\n\n if (!layer.__builtin__) {\n logError('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n }\n\n if (layer !== prevLayer) {\n layer.__used = true;\n\n if (layer.__startIndex !== i) {\n layer.__dirty = true;\n }\n\n layer.__startIndex = i;\n\n if (!layer.incremental) {\n layer.__drawIndex = i;\n } else {\n // Mark layer draw index needs to update.\n layer.__drawIndex = -1;\n }\n\n updatePrevLayer(i);\n prevLayer = layer;\n }\n\n if (el.__dirty) {\n layer.__dirty = true;\n\n if (layer.incremental && layer.__drawIndex < 0) {\n // Start draw from the first dirty element.\n layer.__drawIndex = i;\n }\n }\n }\n\n updatePrevLayer(i);\n this.eachBuiltinLayer(function (layer, z) {\n // Used in last frame but not in this frame. Needs clear\n if (!layer.__used && layer.getElementCount() > 0) {\n layer.__dirty = true;\n layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n } // For incremental layer. In case start index changed and no elements are dirty.\n\n\n if (layer.__dirty && layer.__drawIndex < 0) {\n layer.__drawIndex = layer.__startIndex;\n }\n });\n },\n\n /**\n * \u6e05\u9664hover\u5c42\u5916\u6240\u6709\u5185\u5bb9\n */\n clear: function () {\n this.eachBuiltinLayer(this._clearLayer);\n return this;\n },\n _clearLayer: function (layer) {\n layer.clear();\n },\n setBackgroundColor: function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n },\n\n /**\n * \u4fee\u6539\u6307\u5b9azlevel\u7684\u7ed8\u5236\u53c2\u6570\n *\n * @param {string} zlevel\n * @param {Object} config \u914d\u7f6e\u5bf9\u8c61\n * @param {string} [config.clearColor=0] \u6bcf\u6b21\u6e05\u7a7a\u753b\u5e03\u7684\u989c\u8272\n * @param {string} [config.motionBlur=false] \u662f\u5426\u5f00\u542f\u52a8\u6001\u6a21\u7cca\n * @param {number} [config.lastFrameAlpha=0.7]\n * \u5728\u5f00\u542f\u52a8\u6001\u6a21\u7cca\u7684\u65f6\u5019\u4f7f\u7528\uff0c\u4e0e\u4e0a\u4e00\u5e27\u6df7\u5408\u7684alpha\u503c\uff0c\u503c\u8d8a\u5927\u5c3e\u8ff9\u8d8a\u660e\u663e\n */\n configLayer: function (zlevel, config) {\n if (config) {\n var layerConfig = this._layerConfig;\n\n if (!layerConfig[zlevel]) {\n layerConfig[zlevel] = config;\n } else {\n util.merge(layerConfig[zlevel], config, true);\n }\n\n for (var i = 0; i < this._zlevelList.length; i++) {\n var _zlevel = this._zlevelList[i]; // TODO Remove EL_AFTER_INCREMENTAL_INC magic number\n\n if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n var layer = this._layers[_zlevel];\n util.merge(layer, layerConfig[zlevel], true);\n }\n }\n }\n },\n\n /**\n * \u5220\u9664\u6307\u5b9a\u5c42\n * @param {number} zlevel \u5c42\u6240\u5728\u7684zlevel\n */\n delLayer: function (zlevel) {\n var layers = this._layers;\n var zlevelList = this._zlevelList;\n var layer = layers[zlevel];\n\n if (!layer) {\n return;\n }\n\n layer.dom.parentNode.removeChild(layer.dom);\n delete layers[zlevel];\n zlevelList.splice(util.indexOf(zlevelList, zlevel), 1);\n },\n\n /**\n * \u533a\u57df\u5927\u5c0f\u53d8\u5316\u540e\u91cd\u7ed8\n */\n resize: function (width, height) {\n if (!this._domRoot.style) {\n // Maybe in node or worker\n if (width == null || height == null) {\n return;\n }\n\n this._width = width;\n this._height = height;\n this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n } else {\n var domRoot = this._domRoot; // FIXME Why ?\n\n domRoot.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n domRoot.style.display = ''; // \u4f18\u5316\u6ca1\u6709\u5b9e\u9645\u6539\u53d8\u7684resize\n\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].resize(width, height);\n }\n }\n\n util.each(this._progressiveLayers, function (layer) {\n layer.resize(width, height);\n });\n this.refresh(true);\n }\n\n this._width = width;\n this._height = height;\n }\n\n return this;\n },\n\n /**\n * \u6e05\u9664\u5355\u72ec\u7684\u4e00\u4e2a\u5c42\n * @param {number} zlevel\n */\n clearLayer: function (zlevel) {\n var layer = this._layers[zlevel];\n\n if (layer) {\n layer.clear();\n }\n },\n\n /**\n * \u91ca\u653e\n */\n dispose: function () {\n this.root.innerHTML = '';\n this.root = this.storage = this._domRoot = this._layers = null;\n },\n\n /**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @param {number} [opts.pixelRatio]\n */\n getRenderedCanvas: function (opts) {\n opts = opts || {};\n\n if (this._singleCanvas && !this._compositeManually) {\n return this._layers[CANVAS_ZLEVEL].dom;\n }\n\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width = imageLayer.dom.width;\n var height = imageLayer.dom.height;\n var ctx = imageLayer.ctx;\n this.eachLayer(function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n } else if (layer.renderToCanvas) {\n imageLayer.ctx.save();\n layer.renderToCanvas(imageLayer.ctx);\n imageLayer.ctx.restore();\n }\n });\n } else {\n // PENDING, echarts-gl and incremental rendering.\n var scope = {};\n var displayList = this.storage.getDisplayList(true);\n\n for (var i = 0; i < displayList.length; i++) {\n var el = displayList[i];\n\n this._doPaintEl(el, imageLayer, true, scope);\n }\n }\n\n return imageLayer.dom;\n },\n\n /**\n * \u83b7\u53d6\u7ed8\u56fe\u533a\u57df\u5bbd\u5ea6\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * \u83b7\u53d6\u7ed8\u56fe\u533a\u57df\u9ad8\u5ea6\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._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\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n pathToImage: function (path, dpr) {\n dpr = dpr || this.dpr;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var rect = path.getBoundingRect();\n var style = path.style;\n var shadowBlurSize = style.shadowBlur * dpr;\n var shadowOffsetX = style.shadowOffsetX * dpr;\n var shadowOffsetY = style.shadowOffsetY * dpr;\n var lineWidth = style.hasStroke() ? style.lineWidth : 0;\n var leftMargin = Math.max(lineWidth / 2, -shadowOffsetX + shadowBlurSize);\n var rightMargin = Math.max(lineWidth / 2, shadowOffsetX + shadowBlurSize);\n var topMargin = Math.max(lineWidth / 2, -shadowOffsetY + shadowBlurSize);\n var bottomMargin = Math.max(lineWidth / 2, shadowOffsetY + shadowBlurSize);\n var width = rect.width + leftMargin + rightMargin;\n var height = rect.height + topMargin + bottomMargin;\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n ctx.scale(dpr, dpr);\n ctx.clearRect(0, 0, width, height);\n ctx.dpr = dpr;\n var pathTransform = {\n position: path.position,\n rotation: path.rotation,\n scale: path.scale\n };\n path.position = [leftMargin - rect.x, topMargin - rect.y];\n path.rotation = 0;\n path.scale = [1, 1];\n path.updateTransform();\n\n if (path) {\n path.brush(ctx);\n }\n\n var ImageShape = Image;\n var imgShape = new ImageShape({\n style: {\n x: 0,\n y: 0,\n image: canvas\n }\n });\n\n if (pathTransform.position != null) {\n imgShape.position = path.position = pathTransform.position;\n }\n\n if (pathTransform.rotation != null) {\n imgShape.rotation = path.rotation = pathTransform.rotation;\n }\n\n if (pathTransform.scale != null) {\n imgShape.scale = path.scale = pathTransform.scale;\n }\n\n return imgShape;\n }\n};\nvar _default = Painter;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/Painter.js?")},"7a+S":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar ComponentModel = __webpack_require__(\"bLfw\");\n\nvar List = __webpack_require__(\"YXkt\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 TimelineModel = ComponentModel.extend({\n type: 'timeline',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n // \u4e00\u7ea7\u5c42\u53e0\n z: 4,\n // \u4e8c\u7ea7\u5c42\u53e0\n show: true,\n axisType: 'time',\n // \u6a21\u5f0f\u662f\u65f6\u95f4\u7c7b\u578b\uff0c\u652f\u6301 value, category\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 // 'left' 'right' 'top' 'bottom' 'none'\n autoPlay: false,\n rewind: false,\n // \u53cd\u5411\u64ad\u653e\n loop: true,\n playInterval: 2000,\n // \u64ad\u653e\u65f6\u95f4\u95f4\u9694\uff0c\u5355\u4f4dms\n currentIndex: 0,\n itemStyle: {},\n label: {\n color: '#000'\n },\n data: []\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n this._data;\n /**\n * @private\n * @type {Array.}\n */\n\n this._names;\n this.mergeDefaultAndTheme(option, ecModel);\n\n this._initData();\n },\n\n /**\n * @override\n */\n mergeOption: function (option) {\n TimelineModel.superApply(this, 'mergeOption', arguments);\n\n this._initData();\n },\n\n /**\n * @param {number} [currentIndex]\n */\n 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 /**\n * @return {number} currentIndex\n */\n getCurrentIndex: function () {\n return this.option.currentIndex;\n },\n\n /**\n * @return {boolean}\n */\n isIndexMax: function () {\n return this.getCurrentIndex() >= this._data.count() - 1;\n },\n\n /**\n * @param {boolean} state true: play, false: stop\n */\n setPlayState: function (state) {\n this.option.autoPlay = !!state;\n },\n\n /**\n * @return {boolean} true: play, false: stop\n */\n getPlayState: function () {\n return !!this.option.autoPlay;\n },\n\n /**\n * @private\n */\n _initData: function () {\n var thisOption = this.option;\n var dataArr = thisOption.data || [];\n var axisType = thisOption.axisType;\n var names = this._names = [];\n\n if (axisType === 'category') {\n var idxArr = [];\n zrUtil.each(dataArr, function (item, index) {\n var value = modelUtil.getDataItemValue(item);\n var newItem;\n\n if (zrUtil.isObject(item)) {\n newItem = zrUtil.clone(item);\n newItem.value = index;\n } else {\n newItem = index;\n }\n\n idxArr.push(newItem);\n\n if (!zrUtil.isString(value) && (value == null || isNaN(value))) {\n value = '';\n }\n\n names.push(value + '');\n });\n dataArr = idxArr;\n }\n\n var dimType = {\n category: 'ordinal',\n time: 'time'\n }[axisType] || 'number';\n var data = this._data = new List([{\n name: 'value',\n type: dimType\n }], this);\n data.initData(dataArr, names);\n },\n getData: function () {\n return this._data;\n },\n\n /**\n * @public\n * @return {Array.} categoreis\n */\n getCategories: function () {\n if (this.get('axisType') === 'category') {\n return this._names.slice();\n }\n }\n});\nvar _default = TimelineModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/TimelineModel.js?")},"7aKB":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar textContain = __webpack_require__(\"6GrX\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Text from 'zrender/src/graphic/Text';\n\n/**\n * add commas after every three numbers\n * @param {string|number} x\n * @return {string}\n */\nfunction addCommas(x) {\n if (isNaN(x)) {\n return '-';\n }\n\n x = (x + '').split('.');\n return x[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g, '$1,') + (x.length > 1 ? '.' + x[1] : '');\n}\n/**\n * @param {string} str\n * @param {boolean} [upperCaseFirst=false]\n * @return {string} str\n */\n\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}\n\nvar normalizeCssArray = zrUtil.normalizeCssArray;\nvar replaceReg = /([&<>\"'])/g;\nvar replaceMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\n\nfunction encodeHTML(source) {\n return source == null ? '' : (source + '').replace(replaceReg, function (str, c) {\n return replaceMap[c];\n });\n}\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 {string} tpl\n * @param {Array.|Object} paramsList\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTpl(tpl, paramsList, encode) {\n if (!zrUtil.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 ? encodeHTML(val) : val);\n }\n }\n\n return tpl;\n}\n/**\n * simple Template formatter\n *\n * @param {string} tpl\n * @param {Object} param\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTplSimple(tpl, param, encode) {\n zrUtil.each(param, function (value, key) {\n tpl = tpl.replace('{' + key + '}', encode ? encodeHTML(value) : value);\n });\n return tpl;\n}\n/**\n * @param {Object|string} [opt] If string, means color.\n * @param {string} [opt.color]\n * @param {string} [opt.extraCssText]\n * @param {string} [opt.type='item'] 'item' or 'subItem'\n * @param {string} [opt.renderMode='html'] render mode of tooltip, 'html' or 'richText'\n * @param {string} [opt.markerId='X'] id name for marker. If only one marker is in a rich text, this can be omitted.\n * @return {string}\n */\n\n\nfunction getTooltipMarker(opt, extraCssText) {\n opt = zrUtil.isString(opt) ? {\n color: opt,\n extraCssText: extraCssText\n } : opt || {};\n var color = opt.color;\n var type = opt.type;\n var extraCssText = opt.extraCssText;\n var renderMode = opt.renderMode || 'html';\n var markerId = opt.markerId || 'X';\n\n if (!color) {\n return '';\n }\n\n if (renderMode === 'html') {\n return type === 'subItem' ? '' : '';\n } else {\n // Space for rich element marker\n return {\n renderMode: renderMode,\n content: '{marker' + markerId + '|} ',\n style: {\n color: color\n }\n };\n }\n}\n\nfunction pad(str, len) {\n str += '';\n return '0000'.substr(0, len - str.length) + str;\n}\n/**\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\n\nfunction formatTime(tpl, value, isUTC) {\n if (tpl === 'week' || tpl === 'month' || tpl === 'quarter' || tpl === 'half-year' || tpl === 'year') {\n tpl = 'MM-dd\\nyyyy';\n }\n\n var date = numberUtil.parseDate(value);\n var utc = isUTC ? 'UTC' : '';\n var y = date['get' + utc + 'FullYear']();\n var M = date['get' + utc + 'Month']() + 1;\n var d = date['get' + utc + 'Date']();\n var h = date['get' + utc + 'Hours']();\n var m = date['get' + utc + 'Minutes']();\n var s = date['get' + utc + 'Seconds']();\n var S = date['get' + utc + 'Milliseconds']();\n tpl = tpl.replace('MM', pad(M, 2)).replace('M', M).replace('yyyy', y).replace('yy', y % 100).replace('dd', pad(d, 2)).replace('d', d).replace('hh', pad(h, 2)).replace('h', h).replace('mm', pad(m, 2)).replace('m', m).replace('ss', pad(s, 2)).replace('s', s).replace('SSS', pad(S, 3));\n return tpl;\n}\n/**\n * Capital first\n * @param {string} str\n * @return {string}\n */\n\n\nfunction capitalFirst(str) {\n return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;\n}\n\nvar truncateText = textContain.truncateText;\n/**\n * @public\n * @param {Object} opt\n * @param {string} opt.text\n * @param {string} opt.font\n * @param {string} [opt.textAlign='left']\n * @param {string} [opt.textVerticalAlign='top']\n * @param {Array.} [opt.textPadding]\n * @param {number} [opt.textLineHeight]\n * @param {Object} [opt.rich]\n * @param {Object} [opt.truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\nfunction getTextBoundingRect(opt) {\n return textContain.getBoundingRect(opt.text, opt.font, opt.textAlign, opt.textVerticalAlign, opt.textPadding, opt.textLineHeight, opt.rich, opt.truncate);\n}\n/**\n * @deprecated\n * the `textLineHeight` was added later.\n * For backward compatiblility, put it as the last parameter.\n * But deprecated this interface. Please use `getTextBoundingRect` instead.\n */\n\n\nfunction getTextRect(text, font, textAlign, textVerticalAlign, textPadding, rich, truncate, textLineHeight) {\n return textContain.getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate);\n}\n/**\n * open new tab\n * @param {string} link url\n * @param {string} target blank or self\n */\n\n\nfunction windowOpen(link, target) {\n if (target === '_blank' || target === 'blank') {\n var blank = window.open();\n blank.opener = null;\n blank.location = link;\n } else {\n window.open(link, target);\n }\n}\n\nexports.addCommas = addCommas;\nexports.toCamelCase = toCamelCase;\nexports.normalizeCssArray = normalizeCssArray;\nexports.encodeHTML = encodeHTML;\nexports.formatTpl = formatTpl;\nexports.formatTplSimple = formatTplSimple;\nexports.getTooltipMarker = getTooltipMarker;\nexports.formatTime = formatTime;\nexports.capitalFirst = capitalFirst;\nexports.truncateText = truncateText;\nexports.getTextBoundingRect = getTextBoundingRect;\nexports.getTextRect = getTextRect;\nexports.windowOpen = windowOpen;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/format.js?")},"7afs":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return hash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return stringHash; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * Return a hash value for an object.\r\n */\r\nfunction hash(obj, hashVal) {\r\n if (hashVal === void 0) { hashVal = 0; }\r\n switch (typeof obj) {\r\n case 'object':\r\n if (obj === null) {\r\n return numberHash(349, hashVal);\r\n }\r\n else if (Array.isArray(obj)) {\r\n return arrayHash(obj, hashVal);\r\n }\r\n return objectHash(obj, hashVal);\r\n case 'string':\r\n return stringHash(obj, hashVal);\r\n case 'boolean':\r\n return booleanHash(obj, hashVal);\r\n case 'number':\r\n return numberHash(obj, hashVal);\r\n case 'undefined':\r\n return numberHash(0, 937);\r\n default:\r\n return numberHash(0, 617);\r\n }\r\n}\r\nfunction numberHash(val, initialHashVal) {\r\n return (((initialHashVal << 5) - initialHashVal) + val) | 0; // hashVal * 31 + ch, keep as int32\r\n}\r\nfunction booleanHash(b, initialHashVal) {\r\n return numberHash(b ? 433 : 863, initialHashVal);\r\n}\r\nfunction stringHash(s, hashVal) {\r\n hashVal = numberHash(149417, hashVal);\r\n for (var i = 0, length_1 = s.length; i < length_1; i++) {\r\n hashVal = numberHash(s.charCodeAt(i), hashVal);\r\n }\r\n return hashVal;\r\n}\r\nfunction arrayHash(arr, initialHashVal) {\r\n initialHashVal = numberHash(104579, initialHashVal);\r\n return arr.reduce(function (hashVal, item) { return hash(item, hashVal); }, initialHashVal);\r\n}\r\nfunction objectHash(obj, initialHashVal) {\r\n initialHashVal = numberHash(181387, initialHashVal);\r\n return Object.keys(obj).sort().reduce(function (hashVal, key) {\r\n hashVal = stringHash(key, hashVal);\r\n return hash(obj[key], hashVal);\r\n }, initialHashVal);\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/hash.js?")},"7bkD":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\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 (zrUtil.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\nexports.layout = layout;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/singleAxisHelper.js?")},"7fqy":function(module,exports){eval("/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_mapToArray.js?")},"7hqr":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar each = _util.each;\nvar isString = _util.isString;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\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 {module:echarts/model/Series} seriesModel\n * @param {Array.} dimensionInfoList The same as the input of .\n * The input dimensionInfoList will be modified.\n * @param {Object} [opt]\n * @param {boolean} [opt.stackedCoordDimension=''] Specify a coord dimension if needed.\n * @param {boolean} [opt.byIndex=false]\n * @return {Object} calculationInfo\n * {\n * stackedDimension: string\n * stackedByDimension: string\n * isStackedByIndex: boolean\n * stackedOverDimension: string\n * stackResultDimension: string\n * }\n */\nfunction enableDataStack(seriesModel, dimensionInfoList, opt) {\n opt = opt || {};\n var byIndex = opt.byIndex;\n var stackedCoordDimension = opt.stackedCoordDimension; // Compatibal: when `stack` is set as '', do not stack.\n\n var mayStack = !!(seriesModel && seriesModel.get('stack'));\n var stackedByDimInfo;\n var stackedDimInfo;\n var stackResultDimension;\n var stackedOverDimension;\n each(dimensionInfoList, function (dimensionInfo, index) {\n if (isString(dimensionInfo)) {\n dimensionInfoList[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 stackResultDimension = '__\\0ecstackresult';\n stackedOverDimension = '__\\0ecstackedover'; // Create inverted index to fast query index by value.\n\n if (stackedByDimInfo) {\n stackedByDimInfo.createInvertedIndices = true;\n }\n\n var stackedDimCoordDim = stackedDimInfo.coordDim;\n var stackedDimType = stackedDimInfo.type;\n var stackedDimCoordIndex = 0;\n each(dimensionInfoList, function (dimensionInfo) {\n if (dimensionInfo.coordDim === stackedDimCoordDim) {\n stackedDimCoordIndex++;\n }\n });\n dimensionInfoList.push({\n name: stackResultDimension,\n coordDim: stackedDimCoordDim,\n coordDimIndex: stackedDimCoordIndex,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true\n });\n stackedDimCoordIndex++;\n dimensionInfoList.push({\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,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true\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/**\n * @param {module:echarts/data/List} data\n * @param {string} stackedDim\n */\n\n\nfunction isDimensionStacked(data, stackedDim\n/*, stackedByDim*/\n) {\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 // stackedByDim != null\n // ? stackedByDim === data.getCalculationInfo('stackedByDimension')\n // : data.getCalculationInfo('isStackedByIndex')\n // );\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {string} targetDim\n * @param {string} [stackedByDim] If not input this parameter, check whether\n * stacked by index.\n * @return {string} dimension\n */\n\n\nfunction getStackedDimension(data, targetDim) {\n return isDimensionStacked(data, targetDim) ? data.getCalculationInfo('stackResultDimension') : targetDim;\n}\n\nexports.enableDataStack = enableDataStack;\nexports.isDimensionStacked = isDimensionStacked;\nexports.getStackedDimension = getStackedDimension;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dataStackHelper.js?")},"7lZ/":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return HighlightedLabel; });\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("qj0h");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Vhoy");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("N0LK");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\nvar HighlightedLabel = /** @class */ (function () {\r\n function HighlightedLabel(container, supportCodicons) {\r\n this.supportCodicons = supportCodicons;\r\n this.text = \'\';\r\n this.title = \'\';\r\n this.highlights = [];\r\n this.didEverRender = false;\r\n this.domNode = document.createElement(\'span\');\r\n this.domNode.className = \'monaco-highlighted-label\';\r\n container.appendChild(this.domNode);\r\n }\r\n Object.defineProperty(HighlightedLabel.prototype, "element", {\r\n get: function () {\r\n return this.domNode;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n HighlightedLabel.prototype.set = function (text, highlights, title, escapeNewLines) {\r\n if (highlights === void 0) { highlights = []; }\r\n if (title === void 0) { title = \'\'; }\r\n if (!text) {\r\n text = \'\';\r\n }\r\n if (escapeNewLines) {\r\n // adjusts highlights inplace\r\n text = HighlightedLabel.escapeNewLines(text, highlights);\r\n }\r\n if (this.didEverRender && this.text === text && this.title === title && _common_objects_js__WEBPACK_IMPORTED_MODULE_0__[/* equals */ "e"](this.highlights, highlights)) {\r\n return;\r\n }\r\n if (!Array.isArray(highlights)) {\r\n highlights = [];\r\n }\r\n this.text = text;\r\n this.title = title;\r\n this.highlights = highlights;\r\n this.render();\r\n };\r\n HighlightedLabel.prototype.render = function () {\r\n var htmlContent = \'\';\r\n var pos = 0;\r\n for (var _i = 0, _a = this.highlights; _i < _a.length; _i++) {\r\n var highlight = _a[_i];\r\n if (highlight.end === highlight.start) {\r\n continue;\r\n }\r\n if (pos < highlight.start) {\r\n htmlContent += \'\';\r\n var substring_1 = this.text.substring(pos, highlight.start);\r\n htmlContent += this.supportCodicons ? Object(_common_codicons_js__WEBPACK_IMPORTED_MODULE_1__[/* renderCodicons */ "c"])(Object(_common_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* escape */ "o"])(substring_1)) : Object(_common_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* escape */ "o"])(substring_1);\r\n htmlContent += \'\';\r\n pos = highlight.end;\r\n }\r\n if (highlight.extraClasses) {\r\n htmlContent += "";\r\n }\r\n else {\r\n htmlContent += "";\r\n }\r\n var substring = this.text.substring(highlight.start, highlight.end);\r\n htmlContent += this.supportCodicons ? Object(_common_codicons_js__WEBPACK_IMPORTED_MODULE_1__[/* renderCodicons */ "c"])(Object(_common_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* escape */ "o"])(substring)) : Object(_common_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* escape */ "o"])(substring);\r\n htmlContent += \'\';\r\n pos = highlight.end;\r\n }\r\n if (pos < this.text.length) {\r\n htmlContent += \'\';\r\n var substring = this.text.substring(pos);\r\n htmlContent += this.supportCodicons ? Object(_common_codicons_js__WEBPACK_IMPORTED_MODULE_1__[/* renderCodicons */ "c"])(Object(_common_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* escape */ "o"])(substring)) : Object(_common_strings_js__WEBPACK_IMPORTED_MODULE_2__[/* escape */ "o"])(substring);\r\n htmlContent += \'\';\r\n }\r\n this.domNode.innerHTML = htmlContent;\r\n if (this.title) {\r\n this.domNode.title = this.title;\r\n }\r\n else {\r\n this.domNode.removeAttribute(\'title\');\r\n }\r\n this.didEverRender = true;\r\n };\r\n HighlightedLabel.escapeNewLines = function (text, highlights) {\r\n var total = 0;\r\n var extra = 0;\r\n return text.replace(/\\r\\n|\\r|\\n/g, function (match, offset) {\r\n extra = match === \'\\r\\n\' ? -1 : 0;\r\n offset += total;\r\n for (var _i = 0, highlights_1 = highlights; _i < highlights_1.length; _i++) {\r\n var highlight = highlights_1[_i];\r\n if (highlight.end <= offset) {\r\n continue;\r\n }\r\n if (highlight.start >= offset) {\r\n highlight.start += extra;\r\n }\r\n if (highlight.end >= offset) {\r\n highlight.end += extra;\r\n }\r\n }\r\n total += extra;\r\n return \'\\u23CE\';\r\n });\r\n };\r\n return HighlightedLabel;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js?')},"7mYs":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 MONTH_TEXT = {\n EN: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n CN: ['\u4e00\u6708', '\u4e8c\u6708', '\u4e09\u6708', '\u56db\u6708', '\u4e94\u6708', '\u516d\u6708', '\u4e03\u6708', '\u516b\u6708', '\u4e5d\u6708', '\u5341\u6708', '\u5341\u4e00\u6708', '\u5341\u4e8c\u6708']\n};\nvar WEEK_TEXT = {\n EN: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n CN: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d']\n};\n\nvar _default = echarts.extendComponentView({\n type: 'calendar',\n\n /**\n * top/left line points\n * @private\n */\n _tlpoints: null,\n\n /**\n * bottom/right line points\n * @private\n */\n _blpoints: null,\n\n /**\n * first day of month\n * @private\n */\n _firstDayOfMonth: null,\n\n /**\n * first day point of month\n * @private\n */\n _firstDayPoints: null,\n 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();\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, orient, group);\n\n this._renderWeekText(calendarModel, rangeData, orient, group);\n },\n // render day rect\n _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 graphic.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 },\n // render separate line\n _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 },\n // get points at both ends\n _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 },\n // render split line\n _drawSplitline: function (points, lineStyleModel, group) {\n var poyline = new graphic.Polyline({\n z2: 20,\n shape: {\n points: points\n },\n style: lineStyleModel\n });\n group.add(poyline);\n },\n // render month line of one week points\n _getLinePointsOfOneWeek: function (calendarModel, date, orient) {\n var coordSys = calendarModel.coordinateSystem;\n date = coordSys.getDateInfo(date);\n var points = [];\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(date.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 _formatterLabel: function (formatter, params) {\n if (typeof formatter === 'string' && formatter) {\n return formatUtil.formatTplSimple(formatter, params);\n }\n\n if (typeof formatter === 'function') {\n return formatter(params);\n }\n\n return params.nameMap;\n },\n _yearTextPositionControl: function (textEl, point, orient, position, margin) {\n point = point.slice();\n var aligns = ['center', 'bottom'];\n\n if (position === 'bottom') {\n point[1] += margin;\n aligns = ['center', 'top'];\n } else if (position === 'left') {\n point[0] -= margin;\n } else if (position === 'right') {\n point[0] += margin;\n aligns = ['center', 'top'];\n } else {\n // top\n point[1] -= 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 position: point,\n style: {\n textAlign: aligns[0],\n textVerticalAlign: aligns[1]\n }\n };\n },\n // render year\n _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 graphic.Text({\n z2: 30\n });\n graphic.setTextStyle(yearText.style, yearLabel, {\n text: content\n }), yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));\n group.add(yearText);\n },\n _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 textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render month and year text\n _renderMonthText: function (calendarModel, 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 (zrUtil.isString(nameMap)) {\n nameMap = MONTH_TEXT[nameMap.toUpperCase()] || [];\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 = 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\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var monthText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(monthText.style, monthLabel, {\n text: content\n }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin));\n group.add(monthText);\n }\n },\n _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 textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render weeks\n _renderWeekText: function (calendarModel, 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 (zrUtil.isString(nameMap)) {\n nameMap = WEEK_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var start = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;\n var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];\n margin = numberUtil.parsePercent(margin, cellSize[orient === 'horizontal' ? 0 : 1]);\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 graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(weekText.style, dayLabel, {\n text: nameMap[day]\n }), this._weekTextPositionControl(point, orient, pos, margin, cellSize));\n group.add(weekText);\n }\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/calendar/CalendarView.js?")},"7oTu":function(module,exports,__webpack_require__){eval('var PathProxy = __webpack_require__("IMiH");\n\nvar _vector = __webpack_require__("QBsz");\n\nvar v2ApplyTransform = _vector.applyTransform;\nvar CMD = PathProxy.CMD;\nvar points = [[], [], []];\nvar mathSqrt = Math.sqrt;\nvar mathAtan2 = Math.atan2;\n\nfunction _default(path, m) {\n var data = path.data;\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\n for (i = 0, j = 0; i < data.length;) {\n cmd = data[i++];\n j = i;\n nPoint = 0;\n\n switch (cmd) {\n case M:\n nPoint = 1;\n break;\n\n case L:\n nPoint = 1;\n break;\n\n case C:\n nPoint = 3;\n break;\n\n case Q:\n nPoint = 2;\n break;\n\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); // cx\n\n data[i] *= sx;\n data[i++] += x; // cy\n\n data[i] *= sy;\n data[i++] += y; // Scale rx and ry\n // FIXME Assume psi is 0 here\n\n data[i++] *= sx;\n data[i++] *= sy; // Start angle\n\n data[i++] += angle; // end angle\n\n data[i++] += angle; // FIXME psi\n\n i += 2;\n j = i;\n break;\n\n case R:\n // x0, y0\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1]; // x1, y1\n\n p[0] += data[i++];\n p[1] += data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1];\n }\n\n for (k = 0; k < nPoint; k++) {\n var p = points[k];\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m); // Write back\n\n data[j++] = p[0];\n data[j++] = p[1];\n }\n }\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/tool/transformPath.js?')},"7pVf":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar preprocessor = __webpack_require__("ZqQs");\n\n__webpack_require__("oE7X");\n\n__webpack_require__("OUJF");\n\n__webpack_require__("3X6L");\n\n__webpack_require__("NH9N");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline.js?')},"7ph2":function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 opacityQuery = 'lineStyle.opacity'.split('.');\nvar _default = {\n seriesType: 'lines',\n reset: function (seriesModel, ecModel, api) {\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 data.setVisual('opacity', seriesModel.get(opacityQuery));\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 var opacity = itemModel.get(opacityQuery);\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 data.setItemVisual(idx, 'opacity', opacity);\n }\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/lines/linesVisual.js?")},"7uqq":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar Geo = __webpack_require__(\"AUH6\");\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar geoSourceManager = __webpack_require__(\"W4dC\");\n\nvar mapDataStorage = __webpack_require__(\"7DRL\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Resize method bound to the geo\n * @param {module:echarts/coord/geo/GeoModel|module:echarts/chart/map/MapModel} geoModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction resizeGeo(geoModel, api) {\n var boundingCoords = geoModel.get('boundingCoords');\n\n if (boundingCoords != null) {\n var leftTop = boundingCoords[0];\n var rightBottom = boundingCoords[1];\n\n if (isNaN(leftTop[0]) || isNaN(leftTop[1]) || isNaN(rightBottom[0]) || isNaN(rightBottom[1])) {} else {\n this.setBoundingRect(leftTop[0], leftTop[1], rightBottom[0] - leftTop[0], rightBottom[1] - leftTop[1]);\n }\n }\n\n var rect = this.getBoundingRect();\n var boxLayoutOption;\n var center = geoModel.get('layoutCenter');\n var size = 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\n if (center && size) {\n center = [numberUtil.parsePercent(center[0], viewWidth), numberUtil.parsePercent(center[1], viewHeight)];\n size = numberUtil.parsePercent(size, Math.min(viewWidth, viewHeight));\n\n if (!isNaN(center[0]) && !isNaN(center[1]) && !isNaN(size)) {\n useCenterAndSize = true;\n } else {}\n }\n\n var viewRect;\n\n if (useCenterAndSize) {\n var 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 boxLayoutOption = geoModel.getBoxLayoutParams(); // 0.75 rate\n\n boxLayoutOption.aspect = aspect;\n viewRect = layout.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'));\n this.setZoom(geoModel.get('zoom'));\n}\n/**\n * @param {module:echarts/coord/Geo} geo\n * @param {module:echarts/model/Model} model\n * @inner\n */\n\n\nfunction setGeoCoords(geo, model) {\n zrUtil.each(model.get('geoCoord'), function (geoCoord, name) {\n geo.addGeoCoord(name, geoCoord);\n });\n}\n\nvar geoCreator = {\n // For deciding which dimensions to use when creating list data\n dimensions: Geo.prototype.dimensions,\n create: function (ecModel, api) {\n var geoList = []; // FIXME Create each time may be slow\n\n ecModel.eachComponent('geo', function (geoModel, idx) {\n var name = geoModel.get('map');\n var aspectScale = geoModel.get('aspectScale');\n var invertLongitute = true;\n var mapRecords = mapDataStorage.retrieveMap(name);\n\n if (mapRecords && mapRecords[0] && mapRecords[0].type === 'svg') {\n aspectScale == null && (aspectScale = 1);\n invertLongitute = false;\n } else {\n aspectScale == null && (aspectScale = 0.75);\n }\n\n var geo = new Geo(name + idx, name, geoModel.get('nameMap'), invertLongitute);\n geo.aspectScale = aspectScale;\n geo.zoomLimit = geoModel.get('scaleLimit');\n geoList.push(geo);\n setGeoCoords(geo, geoModel);\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 zrUtil.each(mapModelGroupBySeries, function (mapSeries, mapType) {\n var nameMapList = zrUtil.map(mapSeries, function (singleMapSeries) {\n return singleMapSeries.get('nameMap');\n });\n var geo = new Geo(mapType, mapType, zrUtil.mergeAll(nameMapList));\n geo.zoomLimit = zrUtil.retrieve.apply(null, zrUtil.map(mapSeries, function (singleMapSeries) {\n return singleMapSeries.get('scaleLimit');\n }));\n geoList.push(geo); // Inject resize method\n\n geo.resize = resizeGeo;\n geo.aspectScale = mapSeries[0].get('aspectScale');\n geo.resize(mapSeries[0], api);\n zrUtil.each(mapSeries, function (singleMapSeries) {\n singleMapSeries.coordinateSystem = geo;\n setGeoCoords(geo, singleMapSeries);\n });\n });\n return geoList;\n },\n\n /**\n * Fill given regions array\n * @param {Array.} originRegionArr\n * @param {string} mapName\n * @param {Object} [nameMap]\n * @return {Array}\n */\n getFilledRegions: function (originRegionArr, mapName, nameMap) {\n // Not use the original\n var regionsArr = (originRegionArr || []).slice();\n var dataNameMap = zrUtil.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.load(mapName, nameMap);\n zrUtil.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};\necharts.registerCoordinateSystem('geo', geoCreator);\nvar _default = geoCreator;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/geoCreator.js?")},"7yuC":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 vec2 = __webpack_require__("QBsz");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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* ).\n*/\nvar scaleAndAdd = vec2.scaleAndAdd; // function adjacentNode(n, e) {\n// return e.n1 === n ? e.n2 : e.n1;\n// }\n\nfunction forceLayout(nodes, edges, opts) {\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]; // var scale = opts.scale || 1;\n\n var gravity = opts.gravity == null ? 0.1 : opts.gravity; // for (var i = 0; i < edges.length; i++) {\n // var e = edges[i];\n // var n1 = e.n1;\n // var 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 = vec2.create(width * (Math.random() - 0.5) + center[0], height * (Math.random() - 0.5) + center[1]);\n }\n\n n.pp = vec2.clone(n.p);\n n.edges = null;\n } // Formula in \'Graph Drawing by Force-directed Placement\'\n // var k = scale * Math.sqrt(width * height / nodes.length);\n // var k2 = k * k;\n\n\n var initialFriction = opts.friction == null ? 0.6 : opts.friction;\n var friction = initialFriction;\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 * 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 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 vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12) - e.d;\n var w = n2.w / (n1.w + n2.w);\n\n if (isNaN(w)) {\n w = 0;\n }\n\n vec2.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 vec2.sub(v12, center, n.p); // var d = vec2.len(v12);\n // vec2.scale(v12, v12, 1 / d);\n // var 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 vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12);\n\n if (d === 0) {\n // Random repulse\n vec2.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 vec2.sub(v, n.p, n.pp);\n scaleAndAdd(n.p, n.p, v, friction);\n vec2.copy(n.pp, n.p);\n }\n }\n\n friction = friction * 0.992;\n cb && cb(nodes, edges, friction < 0.01);\n }\n };\n}\n\nexports.forceLayout = forceLayout;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/forceHelper.js?')},"7zd4":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css?")},"815F":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getKey; });\n/* unused harmony export warningWithoutKey */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return convertTreeToData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return flattenTreeData; });\n/* unused harmony export traverseDataNodes */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return convertDataToEntities; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTreeNodeProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return convertNodePropsToEventData; });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("KQm4");\n/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("rePB");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("Ff2n");\n/* harmony import */ var rc_util_es_Children_toArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("Zm9Q");\n/* harmony import */ var rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("Kwbf");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("OZM5");\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nfunction getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n\n return pos;\n}\n/**\n * Warning if TreeNode do not provides key\n */\n\nfunction warningWithoutKey() {\n var treeData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var keys = new Map();\n\n function dig(list) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \'\';\n (list || []).forEach(function (treeNode) {\n var key = treeNode.key,\n children = treeNode.children;\n Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(key !== null && key !== undefined, "Tree node must have a certain key: [".concat(path).concat(key, "]"));\n var recordKey = String(key);\n Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(!keys.has(recordKey) || key === null || key === undefined, "Same \'key\' exist in the Tree: ".concat(recordKey));\n keys.set(recordKey, true);\n dig(children, "".concat(path).concat(recordKey, " > "));\n });\n }\n\n dig(treeData);\n}\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\n\nfunction convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = Object(rc_util_es_Children_toArray__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!Object(_util__WEBPACK_IMPORTED_MODULE_5__[/* isTreeNode */ "i"])(treeNode)) {\n Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(!treeNode, \'Tree/TreeNode can only accept TreeNode as children.\');\n return null;\n }\n\n var key = treeNode.key;\n\n var _treeNode$props = treeNode.props,\n children = _treeNode$props.children,\n rest = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_treeNode$props, ["children"]);\n\n var dataNode = _objectSpread({\n key: key\n }, rest);\n\n var parsedChildren = dig(children);\n\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n\n return dataNode;\n }).filter(function (dataNode) {\n return dataNode;\n });\n }\n\n return dig(rootNodes);\n}\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\n\nfunction flattenTreeData() {\n var treeNodeList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var expandedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n var flattenList = [];\n\n function dig(list) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return list.map(function (treeNode, index) {\n var pos = Object(_util__WEBPACK_IMPORTED_MODULE_5__[/* getPosition */ "h"])(parent ? parent.pos : \'0\', index);\n var mergedKey = getKey(treeNode.key, pos); // Add FlattenDataNode into list\n\n var flattenNode = _objectSpread(_objectSpread({}, treeNode), {}, {\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat(Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat(Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(parent ? parent.isEnd : []), [index === list.length - 1])\n });\n\n flattenList.push(flattenNode); // Loop treeNode children\n\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode.children || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n\n return flattenNode;\n });\n }\n\n dig(treeNodeList);\n return flattenList;\n}\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\n\nfunction traverseDataNodes(dataNodes, callback) {\n function processNode(node, index, parent) {\n var children = node ? node.children : dataNodes;\n var pos = node ? Object(_util__WEBPACK_IMPORTED_MODULE_5__[/* getPosition */ "h"])(parent.pos, index) : \'0\'; // Process node if is not root\n\n if (node) {\n var data = {\n node: node,\n index: index,\n pos: pos,\n key: node.key !== null ? node.key : pos,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1\n };\n callback(data);\n } // Process children node\n\n\n if (children) {\n children.forEach(function (subNode, subIndex) {\n processNode(subNode, subIndex, {\n node: node,\n pos: pos,\n level: parent ? parent.level + 1 : -1\n });\n });\n }\n }\n\n processNode(null);\n}\n/**\n * Convert `treeData` into entity records.\n */\n\nfunction convertDataToEntities(dataNodes) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n initWrapper = _ref.initWrapper,\n processEntity = _ref.processEntity,\n onProcessFinished = _ref.onProcessFinished;\n\n var posEntities = {};\n var keyEntities = {};\n var wrapper = {\n posEntities: posEntities,\n keyEntities: keyEntities\n };\n\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n\n traverseDataNodes(dataNodes, function (item) {\n var node = item.node,\n index = item.index,\n pos = item.pos,\n key = item.key,\n parentPos = item.parentPos,\n level = item.level;\n var entity = {\n node: node,\n index: index,\n key: key,\n pos: pos,\n level: level\n };\n var mergedKey = getKey(key, pos);\n posEntities[pos] = entity;\n keyEntities[mergedKey] = entity; // Fill children\n\n entity.parent = posEntities[parentPos];\n\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n });\n\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n\n return wrapper;\n}\n/**\n * Get TreeNode props with Tree props.\n */\n\nfunction getTreeNodeProps(key, _ref2) {\n var expandedKeys = _ref2.expandedKeys,\n selectedKeys = _ref2.selectedKeys,\n loadedKeys = _ref2.loadedKeys,\n loadingKeys = _ref2.loadingKeys,\n checkedKeys = _ref2.checkedKeys,\n halfCheckedKeys = _ref2.halfCheckedKeys,\n dragOverNodeKey = _ref2.dragOverNodeKey,\n dropPosition = _ref2.dropPosition,\n keyEntities = _ref2.keyEntities;\n var entity = keyEntities[key];\n var treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : \'\'),\n // [Legacy] Drag props\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1\n };\n return treeNodeProps;\n}\nfunction convertNodePropsToEventData(props) {\n var data = props.data,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n loaded = props.loaded,\n loading = props.loading,\n halfChecked = props.halfChecked,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n pos = props.pos,\n active = props.active;\n\n var eventData = _objectSpread(_objectSpread({}, data), {}, {\n expanded: expanded,\n selected: selected,\n checked: checked,\n loaded: loaded,\n loading: loading,\n halfChecked: halfChecked,\n dragOver: dragOver,\n dragOverGapTop: dragOverGapTop,\n dragOverGapBottom: dragOverGapBottom,\n pos: pos,\n active: active\n });\n\n if (!(\'props\' in eventData)) {\n Object.defineProperty(eventData, \'props\', {\n get: function get() {\n Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(false, \'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.\');\n return props;\n }\n });\n }\n\n return eventData;\n}\n\n//# sourceURL=webpack:///./node_modules/rc-tree/es/utils/treeUtil.js?')},"85Yc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ es_Field; });\n__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ es_List; });\n__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ es_useForm; });\n__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ FormContext_FormProvider; });\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__("Ff2n");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules\nvar toConsumableArray = __webpack_require__("KQm4");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Children/toArray.js\nvar toArray = __webpack_require__("Zm9Q");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js\nvar warning = __webpack_require__("Kwbf");\n\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/FieldContext.js\n\n\nvar HOOK_MARK = \'RC_FORM_INTERNAL_HOOKS\'; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nvar FieldContext_warningFunc = function warningFunc() {\n Object(warning["a" /* default */])(false, \'Can not find FormContext. Please make sure you wrap Field under Form.\');\n};\n\nvar Context = react["createContext"]({\n getFieldValue: FieldContext_warningFunc,\n getFieldsValue: FieldContext_warningFunc,\n getFieldError: FieldContext_warningFunc,\n getFieldsError: FieldContext_warningFunc,\n isFieldsTouched: FieldContext_warningFunc,\n isFieldTouched: FieldContext_warningFunc,\n isFieldValidating: FieldContext_warningFunc,\n isFieldsValidating: FieldContext_warningFunc,\n resetFields: FieldContext_warningFunc,\n setFields: FieldContext_warningFunc,\n setFieldsValue: FieldContext_warningFunc,\n validateFields: FieldContext_warningFunc,\n submit: FieldContext_warningFunc,\n getInternalHooks: function getInternalHooks() {\n FieldContext_warningFunc();\n return {\n dispatch: FieldContext_warningFunc,\n registerField: FieldContext_warningFunc,\n useSubscribe: FieldContext_warningFunc,\n setInitialValues: FieldContext_warningFunc,\n setCallbacks: FieldContext_warningFunc,\n getFields: FieldContext_warningFunc,\n setValidateMessages: FieldContext_warningFunc\n };\n }\n});\n/* harmony default export */ var FieldContext = (Context);\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/utils/typeUtil.js\nfunction typeUtil_toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n\n return Array.isArray(value) ? value : [value];\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__("o0o1");\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\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// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\nvar esm_typeof = __webpack_require__("U8pU");\n\n// EXTERNAL MODULE: ./node_modules/async-validator/dist-web/index.js\nvar dist_web = __webpack_require__("KpVd");\n\n// CONCATENATED MODULE: ./node_modules/rc-util/es/utils/get.js\nfunction get_get(entity, path) {\n var current = entity;\n\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n\n current = current[path[i]];\n }\n\n return current;\n}\n// CONCATENATED MODULE: ./node_modules/rc-util/es/utils/set.js\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction set_set(entity, paths, value) {\n if (!paths.length) {\n return value;\n }\n\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n\n var clone;\n\n if (!entity && typeof path === \'number\') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n clone[path] = set_set(clone[path], restPath, value);\n return clone;\n}\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/utils/valueUtil.js\n\n\n\n\nfunction valueUtil_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction valueUtil_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { valueUtil_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { valueUtil_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * \'a\' => [\'a\']\n * 123 => [123]\n * [\'a\', 123] => [\'a\', 123]\n */\n\nfunction getNamePath(path) {\n return typeUtil_toArray(path);\n}\nfunction getValue(store, namePath) {\n var value = get_get(store, namePath);\n return value;\n}\nfunction setValue(store, namePath, value) {\n var newStore = set_set(store, namePath, value);\n return newStore;\n}\nfunction cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\nfunction containsNamePath(namePathList, namePath) {\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(path, namePath);\n });\n}\n\nfunction isObject(obj) {\n return Object(esm_typeof["a" /* default */])(obj) === \'object\' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\n/**\n * Copy values into store and return a new values object\n * ({ a: 1, b: { c: 2 } }, { a: 4, b: { d: 5 } }) => { a: 4, b: { c: 2, d: 5 } }\n */\n\n\nfunction internalSetValues(store, values) {\n var newStore = Array.isArray(store) ? Object(toConsumableArray["a" /* default */])(store) : valueUtil_objectSpread({}, store);\n\n if (!values) {\n return newStore;\n }\n\n Object.keys(values).forEach(function (key) {\n var prevValue = newStore[key];\n var value = values[key]; // If both are object (but target is not array), we use recursion to set deep value\n\n var recursive = isObject(prevValue) && isObject(value);\n newStore[key] = recursive ? internalSetValues(prevValue, value || {}) : value;\n });\n return newStore;\n}\n\nfunction setValues(store) {\n for (var _len = arguments.length, restValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n restValues[_key - 1] = arguments[_key];\n }\n\n return restValues.reduce(function (current, newStore) {\n return internalSetValues(current, newStore);\n }, store);\n}\nfunction matchNamePath(namePath, changedNamePath) {\n if (!namePath || !changedNamePath || namePath.length !== changedNamePath.length) {\n return false;\n }\n\n return namePath.every(function (nameUnit, i) {\n return changedNamePath[i] === nameUnit;\n });\n}\nfunction isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n\n if (!source && target || source && !target) {\n return false;\n }\n\n if (!source || !target || Object(esm_typeof["a" /* default */])(source) !== \'object\' || Object(esm_typeof["a" /* default */])(target) !== \'object\') {\n return false;\n }\n\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(Object(toConsumableArray["a" /* default */])(sourceKeys), Object(toConsumableArray["a" /* default */])(targetKeys)));\n return Object(toConsumableArray["a" /* default */])(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n\n if (typeof sourceValue === \'function\' && typeof targetValue === \'function\') {\n return true;\n }\n\n return sourceValue === targetValue;\n });\n}\nfunction defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n\n if (event && event.target && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n\n return event;\n}\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\n\nfunction valueUtil_move(array, moveIndex, toIndex) {\n var length = array.length;\n\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n\n if (diff > 0) {\n // move left\n return [].concat(Object(toConsumableArray["a" /* default */])(array.slice(0, toIndex)), [item], Object(toConsumableArray["a" /* default */])(array.slice(toIndex, moveIndex)), Object(toConsumableArray["a" /* default */])(array.slice(moveIndex + 1, length)));\n }\n\n if (diff < 0) {\n // move right\n return [].concat(Object(toConsumableArray["a" /* default */])(array.slice(0, moveIndex)), Object(toConsumableArray["a" /* default */])(array.slice(moveIndex + 1, toIndex + 1)), [item], Object(toConsumableArray["a" /* default */])(array.slice(toIndex + 1, length)));\n }\n\n return array;\n}\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/utils/messages.js\nvar typeTemplate = "\'${name}\' is not a valid ${type}";\nvar defaultValidateMessages = {\n default: "Validation error on field \'${name}\'",\n required: "\'${name}\' is required",\n enum: "\'${name}\' must be one of [${enum}]",\n whitespace: "\'${name}\' cannot be empty",\n date: {\n format: "\'${name}\' is invalid for format date",\n parse: "\'${name}\' could not be parsed as date",\n invalid: "\'${name}\' is invalid date"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: "\'${name}\' must be exactly ${len} characters",\n min: "\'${name}\' must be at least ${min} characters",\n max: "\'${name}\' cannot be longer than ${max} characters",\n range: "\'${name}\' must be between ${min} and ${max} characters"\n },\n number: {\n len: "\'${name}\' must equal ${len}",\n min: "\'${name}\' cannot be less than ${min}",\n max: "\'${name}\' cannot be greater than ${max}",\n range: "\'${name}\' must be between ${min} and ${max}"\n },\n array: {\n len: "\'${name}\' must be exactly ${len} in length",\n min: "\'${name}\' cannot be less than ${min} in length",\n max: "\'${name}\' cannot be greater than ${max} in length",\n range: "\'${name}\' must be between ${min} and ${max} in length"\n },\n pattern: {\n mismatch: "\'${name}\' does not match pattern ${pattern}"\n }\n};\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/utils/validateUtil.js\n\n\n\n\n\n\nfunction validateUtil_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction validateUtil_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { validateUtil_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { validateUtil_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n // Remove incorrect original ts define\n\nvar AsyncValidator = dist_web["a" /* default */];\n/**\n * Replace with template.\n * `I\'m ${name}` + { name: \'bamboo\' } = I\'m bamboo\n */\n\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\n/**\n * We use `async-validator` to validate rules. So have to hot replace the message with validator.\n * { required: \'${name} is required\' } => { required: () => \'field is required\' }\n */\n\n\nfunction convertMessages(messages, name, rule, messageVariables) {\n var kv = validateUtil_objectSpread({}, rule, {\n name: name,\n enum: (rule.enum || []).join(\', \')\n });\n\n var replaceFunc = function replaceFunc(template, additionalKV) {\n return function () {\n return replaceMessage(template, validateUtil_objectSpread({}, kv, {}, additionalKV));\n };\n };\n /* eslint-disable no-param-reassign */\n\n\n function fillTemplate(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Object.keys(source).forEach(function (ruleName) {\n var value = source[ruleName];\n\n if (typeof value === \'string\') {\n target[ruleName] = replaceFunc(value, messageVariables);\n } else if (value && Object(esm_typeof["a" /* default */])(value) === \'object\') {\n target[ruleName] = {};\n fillTemplate(value, target[ruleName]);\n } else {\n target[ruleName] = value;\n }\n });\n return target;\n }\n /* eslint-enable */\n\n\n return fillTemplate(setValues({}, defaultValidateMessages, messages));\n}\n\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\n\n\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee(name, value, rule, options, messageVariables) {\n var cloneRule, subRuleField, validator, messages, result, subResults;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneRule = validateUtil_objectSpread({}, rule); // We should special handle array validate\n\n subRuleField = null;\n\n if (cloneRule && cloneRule.type === \'array\' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n\n validator = new AsyncValidator(Object(defineProperty["a" /* default */])({}, name, [cloneRule]));\n messages = convertMessages(options.validateMessages, name, cloneRule, messageVariables);\n validator.messages(messages);\n result = [];\n _context.prev = 7;\n _context.next = 10;\n return Promise.resolve(validator.validate(Object(defineProperty["a" /* default */])({}, name, value), validateUtil_objectSpread({}, options)));\n\n case 10:\n _context.next = 15;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context["catch"](7);\n\n if (_context.t0.errors) {\n result = _context.t0.errors.map(function (_ref, index) {\n var message = _ref.message;\n return (// Wrap ReactNode with `key`\n react["isValidElement"](message) ? react["cloneElement"](message, {\n key: "error_".concat(index)\n }) : message\n );\n });\n } else {\n console.error(_context.t0);\n result = [messages.default()];\n }\n\n case 15:\n if (!(!result.length && subRuleField)) {\n _context.next = 20;\n break;\n }\n\n _context.next = 18;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule("".concat(name, ".").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n\n case 18:\n subResults = _context.sent;\n return _context.abrupt("return", subResults.reduce(function (prev, errors) {\n return [].concat(Object(toConsumableArray["a" /* default */])(prev), Object(toConsumableArray["a" /* default */])(errors));\n }, []));\n\n case 20:\n return _context.abrupt("return", result);\n\n case 21:\n case "end":\n return _context.stop();\n }\n }\n }, _callee, null, [[7, 12]]);\n }));\n return _validateRule.apply(this, arguments);\n}\n\nfunction validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join(\'.\'); // Fill rule with context\n\n var filledRules = rules.map(function (currentRule) {\n var originValidatorFunc = currentRule.validator;\n\n if (!originValidatorFunc) {\n return currentRule;\n }\n\n return validateUtil_objectSpread({}, currentRule, {\n validator: function validator(rule, val, callback) {\n var hasPromise = false; // Wrap callback only accept when promise not provided\n\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n Object(warning["a" /* default */])(!hasPromise, \'Your validator function has already return a promise. `callback` will be ignored.\');\n\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n }; // Get promise\n\n\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === \'function\' && typeof promise.catch === \'function\';\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n\n Object(warning["a" /* default */])(hasPromise, \'`callback` is deprecated. Please return a promise instead.\');\n\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err);\n });\n }\n }\n });\n });\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables);\n });\n var summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n if (!errors.length) {\n return [];\n }\n\n return Promise.reject(errors);\n }); // Internal catch error to avoid console error log.\n\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\n\nfunction finishOnAllFailed(_x6) {\n return _finishOnAllFailed.apply(this, arguments);\n}\n\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee2(rulePromises) {\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt("return", Promise.all(rulePromises).then(function (errorsList) {\n var _ref2;\n\n var errors = (_ref2 = []).concat.apply(_ref2, Object(toConsumableArray["a" /* default */])(errorsList));\n\n return errors;\n }));\n\n case 1:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\n\nfunction finishOnFirstFailed(_x7) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\n\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee3(rulePromises) {\n var count;\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n count = 0;\n return _context3.abrupt("return", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (errors) {\n if (errors.length) {\n resolve(errors);\n }\n\n count += 1;\n\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n\n case 2:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/Field.js\n\n\n\n\n\n\n\n\n\nfunction Field_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Field_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Field_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Field_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\n\n\n\n\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === \'function\') {\n return shouldUpdate(prev, next, \'source\' in info ? {\n source: info.source\n } : {});\n }\n\n return prevValue !== nextValue;\n} // We use Class instead of Hooks here since it will cost much code by using Hooks.\n\n\nvar Field_Field = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Field, _React$Component);\n\n var _super = _createSuper(Field);\n\n function Field() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Field);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n resetCount: 0\n };\n _this.cancelRegisterFunc = null;\n _this.destroy = false;\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n\n _this.touched = false;\n /** Mark when touched & validated. Currently only used for `dependencies` */\n\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = [];\n\n _this.cancelRegister = function () {\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc();\n }\n\n _this.cancelRegisterFunc = null;\n }; // ================================== Utils ==================================\n\n\n _this.getNamePath = function () {\n var name = _this.props.name;\n var _this$context$prefixN = _this.context.prefixName,\n prefixName = _this$context$prefixN === void 0 ? [] : _this$context$prefixN;\n return name !== undefined ? [].concat(Object(toConsumableArray["a" /* default */])(prefixName), Object(toConsumableArray["a" /* default */])(name)) : [];\n };\n\n _this.getRules = function () {\n var _this$props$rules = _this.props.rules,\n rules = _this$props$rules === void 0 ? [] : _this$props$rules;\n return rules.map(function (rule) {\n if (typeof rule === \'function\') {\n return rule(_this.context);\n }\n\n return rule;\n });\n };\n\n _this.refresh = function () {\n if (_this.destroy) return;\n /**\n * Clean up current node.\n */\n\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n }; // ========================= Field Entity Interfaces =========================\n // Trigger by store update. Check if need update the component\n\n\n _this.onStoreChange = function (prevStore, namePathList, info) {\n var _this$props = _this.props,\n shouldUpdate = _this$props.shouldUpdate,\n _this$props$dependenc = _this$props.dependencies,\n dependencies = _this$props$dependenc === void 0 ? [] : _this$props$dependenc,\n onReset = _this$props.onReset;\n var store = info.store;\n\n var namePath = _this.getNamePath();\n\n var prevValue = _this.getValue(prevStore);\n\n var curValue = _this.getValue(store);\n\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath); // `setFieldsValue` is a quick access to update related status\n\n if (info.type === \'valueUpdate\' && info.source === \'external\' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = [];\n }\n\n switch (info.type) {\n case \'reset\':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = [];\n\n if (onReset) {\n onReset();\n }\n\n _this.refresh();\n\n return;\n }\n\n break;\n\n case \'setField\':\n {\n if (namePathMatch) {\n var data = info.data;\n\n if (\'touched\' in data) {\n _this.touched = data.touched;\n }\n\n if (\'validating\' in data && !(\'originRCField\' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n\n if (\'errors\' in data) {\n _this.errors = data.errors || [];\n }\n\n _this.dirty = true;\n\n _this.reRender();\n\n return;\n } // Handle update by `setField` with `shouldUpdate`\n\n\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n case \'dependenciesUpdate\':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath);\n\n if (namePathMatch || dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n default:\n /**\n * - If `namePath` exists in `namePathList`, means it\'s related value and should update.\n * - If `dependencies` exists in `namePathList`, means upstream trigger update.\n * - If `shouldUpdate` provided, use customize logic to update the field\n * - else to check if value changed\n */\n if (namePathMatch || dependencies.some(function (dependency) {\n return containsNamePath(namePathList, getNamePath(dependency));\n }) || requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n if (shouldUpdate === true) {\n _this.reRender();\n }\n };\n\n _this.validateRules = function (options) {\n var _this$props2 = _this.props,\n _this$props2$validate = _this$props2.validateFirst,\n validateFirst = _this$props2$validate === void 0 ? false : _this$props2$validate,\n messageVariables = _this$props2.messageVariables;\n\n var _ref2 = options || {},\n triggerName = _ref2.triggerName;\n\n var namePath = _this.getNamePath();\n\n var filteredRules = _this.getRules();\n\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n\n if (!validateTrigger) {\n return true;\n }\n\n var triggerList = typeUtil_toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n\n var promise = validateRules(namePath, _this.getValue(), filteredRules, options, validateFirst, messageVariables);\n _this.dirty = true;\n _this.validatePromise = promise;\n _this.errors = [];\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (_this.validatePromise === promise) {\n _this.validatePromise = null;\n _this.errors = errors;\n\n _this.reRender();\n }\n });\n return promise;\n };\n\n _this.isFieldValidating = function () {\n return !!_this.validatePromise;\n };\n\n _this.isFieldTouched = function () {\n return _this.touched;\n };\n\n _this.isFieldDirty = function () {\n return _this.dirty;\n };\n\n _this.getErrors = function () {\n return _this.errors;\n }; // ============================= Child Component =============================\n\n\n _this.getMeta = function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n name: _this.getNamePath()\n };\n return meta;\n }; // Only return validate child node. If invalidate, will do nothing about field.\n\n\n _this.getOnlyChild = function (children) {\n // Support render props\n if (typeof children === \'function\') {\n var meta = _this.getMeta();\n\n return Field_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), meta, _this.context)), {\n isFunction: true\n });\n } // Filed element only\n\n\n var childList = Object(toArray["a" /* default */])(children);\n\n if (childList.length !== 1 || !react["isValidElement"](childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n\n return {\n child: childList[0],\n isFunction: false\n };\n }; // ============================== Field Control ==============================\n\n\n _this.getValue = function (store) {\n var getFieldsValue = _this.context.getFieldsValue;\n\n var namePath = _this.getNamePath();\n\n return getValue(store || getFieldsValue(true), namePath);\n };\n\n _this.getControlled = function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props3 = _this.props,\n trigger = _this$props3.trigger,\n validateTrigger = _this$props3.validateTrigger,\n getValueFromEvent = _this$props3.getValueFromEvent,\n normalize = _this$props3.normalize,\n valuePropName = _this$props3.valuePropName,\n getValueProps = _this$props3.getValueProps;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : _this.context.validateTrigger;\n\n var namePath = _this.getNamePath();\n\n var _this$context = _this.context,\n getInternalHooks = _this$context.getInternalHooks,\n getFieldsValue = _this$context.getFieldsValue;\n\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n\n var value = _this.getValue();\n\n var mergedGetValueProps = getValueProps || function (val) {\n return Object(defineProperty["a" /* default */])({}, valuePropName, val);\n }; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n var originTriggerFunc = childProps[trigger];\n\n var control = Field_objectSpread({}, childProps, {}, mergedGetValueProps(value)); // Add trigger\n\n\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n var newValue;\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 (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n\n dispatch({\n type: \'updateValue\',\n namePath: namePath,\n value: newValue\n });\n\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n }; // Add validateTrigger\n\n\n var validateTriggerList = typeUtil_toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n } // Always use latest rules\n\n\n var rules = _this.props.rules;\n\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: \'validateField\',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n };\n\n return _this;\n } // ============================== Subscriptions ==============================\n\n\n Object(createClass["a" /* default */])(Field, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n var shouldUpdate = this.props.shouldUpdate;\n var getInternalHooks = this.context.getInternalHooks;\n\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks2.registerField;\n\n this.cancelRegisterFunc = registerField(this); // One more render for component in case fields not ready\n\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.destroy = true;\n }\n }, {\n key: "reRender",\n value: function reRender() {\n if (this.destroy) return;\n this.forceUpdate();\n }\n }, {\n key: "render",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction; // Not need to `cloneElement` since user can handle this in render function self\n\n\n var returnChildNode;\n\n if (isFunction) {\n returnChildNode = child;\n } else if (react["isValidElement"](child)) {\n returnChildNode = react["cloneElement"](child, this.getControlled(child.props));\n } else {\n Object(warning["a" /* default */])(!child, \'`children` of Field is not validate ReactElement.\');\n returnChildNode = child;\n }\n\n return react["createElement"](react["Fragment"], {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n\n return Field;\n}(react["Component"]);\n\nField_Field.contextType = FieldContext;\nField_Field.defaultProps = {\n trigger: \'onChange\',\n valuePropName: \'value\'\n};\n\nvar Field_WrapperField = function WrapperField(_ref4) {\n var name = _ref4.name,\n isListField = _ref4.isListField,\n restProps = Object(objectWithoutProperties["a" /* default */])(_ref4, ["name", "isListField"]);\n\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = \'keep\';\n\n if (!isListField) {\n key = "_".concat((namePath || []).join(\'_\'));\n }\n\n return react["createElement"](Field_Field, Object.assign({\n key: key,\n name: namePath\n }, restProps));\n};\n\n/* harmony default export */ var es_Field = (Field_WrapperField);\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/List.js\n\n\n\nfunction List_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction List_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { List_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { List_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar List_List = function List(_ref) {\n var name = _ref.name,\n children = _ref.children;\n var context = react["useContext"](FieldContext);\n var keyRef = react["useRef"]({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current; // User should not pass `children` as other type.\n\n if (typeof children !== \'function\') {\n Object(warning["a" /* default */])(false, \'Form.List only accepts function as children.\');\n return null;\n }\n\n var parentPrefixName = getNamePath(context.prefixName) || [];\n var prefixName = [].concat(Object(toConsumableArray["a" /* default */])(parentPrefixName), Object(toConsumableArray["a" /* default */])(getNamePath(name)));\n\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n\n if (source === \'internal\') {\n return false;\n }\n\n return prevValue !== nextValue;\n };\n\n return react["createElement"](FieldContext.Provider, {\n value: List_objectSpread({}, context, {\n prefixName: prefixName\n })\n }, react["createElement"](es_Field, {\n name: [],\n shouldUpdate: shouldUpdate\n }, function (_ref3) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n\n\n var operations = {\n add: function add(defaultValue) {\n // Mapping keys\n keyManager.keys = [].concat(Object(toConsumableArray["a" /* default */])(keyManager.keys), [keyManager.id]);\n keyManager.id += 1;\n var newValue = getNewValue();\n onChange([].concat(Object(toConsumableArray["a" /* default */])(newValue), [defaultValue]));\n },\n remove: function remove(index) {\n var newValue = getNewValue(); // Do not handle out of range\n\n if (index < 0 || index >= newValue.length) {\n return;\n } // Update key mapping\n\n\n var newKeys = keyManager.keys.map(function (key, id) {\n if (id < index) {\n return key;\n }\n\n return keyManager.keys[id + 1];\n });\n keyManager.keys = newKeys.slice(0, -1); // Trigger store change\n\n onChange(newValue.filter(function (_, id) {\n return id !== index;\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n\n var newValue = getNewValue(); // Do not handle out of range\n\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n\n keyManager.keys = valueUtil_move(keyManager.keys, from, to); // Trigger store change\n\n onChange(valueUtil_move(newValue, from, to));\n }\n };\n return children(value.map(function (__, index) {\n var key = keyManager.keys[index];\n\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations);\n }));\n};\n\n/* harmony default export */ var es_List = (List_List);\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules\nvar slicedToArray = __webpack_require__("ODXe");\n\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/utils/asyncUtil.js\nfunction allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n\n if (count > 0) {\n return;\n }\n\n if (hasError) {\n reject(results);\n }\n\n resolve(results);\n });\n });\n });\n}\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/utils/NameMap.js\n\n\n\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\n\nvar NameMap_NameMap = /*#__PURE__*/function () {\n function NameMap() {\n Object(classCallCheck["a" /* default */])(this, NameMap);\n\n this.list = [];\n }\n\n Object(createClass["a" /* default */])(NameMap, [{\n key: "set",\n value: function set(key, value) {\n var index = this.list.findIndex(function (item) {\n return matchNamePath(item.key, key);\n });\n\n if (index !== -1) {\n this.list[index].value = value;\n } else {\n this.list.push({\n key: key,\n value: value\n });\n }\n }\n }, {\n key: "get",\n value: function get(key) {\n var result = this.list.find(function (item) {\n return matchNamePath(item.key, key);\n });\n return result && result.value;\n }\n }, {\n key: "update",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: "delete",\n value: function _delete(key) {\n this.list = this.list.filter(function (item) {\n return !matchNamePath(item.key, key);\n });\n }\n }, {\n key: "map",\n value: function map(callback) {\n return this.list.map(callback);\n }\n }, {\n key: "toJSON",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref) {\n var key = _ref.key,\n value = _ref.value;\n json[key.join(\'.\')] = value;\n return null;\n });\n return json;\n }\n }]);\n\n return NameMap;\n}();\n\n/* harmony default export */ var utils_NameMap = (NameMap_NameMap);\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/useForm.js\n\n\n\n\n\n\nfunction useForm_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction useForm_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { useForm_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { useForm_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\nvar useForm_FormStore = function FormStore(forceRootUpdate) {\n var _this = this;\n\n Object(classCallCheck["a" /* default */])(this, FormStore);\n\n this.formHooked = false;\n this.subscribable = true;\n this.store = {};\n this.fieldEntities = [];\n this.initialValues = {};\n this.callbacks = {};\n this.validateMessages = null;\n this.lastValidatePromise = null;\n\n this.getForm = function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n getInternalHooks: _this.getInternalHooks\n };\n }; // ======================== Internal Hooks ========================\n\n\n this.getInternalHooks = function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields\n };\n }\n\n Object(warning["a" /* default */])(false, \'`getInternalHooks` is internal usage. Should not call directly.\');\n return null;\n };\n\n this.useSubscribe = function (subscribable) {\n _this.subscribable = subscribable;\n };\n /**\n * First time `setInitialValues` should update store with initial value\n */\n\n\n this.setInitialValues = function (initialValues, init) {\n _this.initialValues = initialValues || {};\n\n if (init) {\n _this.store = setValues({}, initialValues, _this.store);\n }\n };\n\n this.getInitialValue = function (namePath) {\n return getValue(_this.initialValues, namePath);\n };\n\n this.setCallbacks = function (callbacks) {\n _this.callbacks = callbacks;\n };\n\n this.setValidateMessages = function (validateMessages) {\n _this.validateMessages = validateMessages;\n }; // ========================== Dev Warning =========================\n\n\n this.timeoutId = null;\n\n this.warningUnhooked = function () {\n if (false) {}\n }; // ============================ Fields ============================\n\n /**\n * Get registered field entities.\n * @param pure Only return field which has a `name`. Default: false\n */\n\n\n this.getFieldEntities = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!pure) {\n return _this.fieldEntities;\n }\n\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n };\n\n this.getFieldsMap = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new utils_NameMap();\n\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n\n return cache;\n };\n\n this.getFieldEntitiesForNamePathList = function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n\n var cache = _this.getFieldsMap(true);\n\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n };\n\n this.getFieldsValue = function (nameList, filterFunc) {\n _this.warningUnhooked();\n\n if (nameList === true && !filterFunc) {\n return _this.store;\n }\n\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);\n\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var namePath = \'INVALIDATE_NAME_PATH\' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();\n\n if (!filterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = \'getMeta\' in entity ? entity.getMeta() : null;\n\n if (filterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n };\n\n this.getFieldValue = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n };\n\n this.getFieldsError = function (nameList) {\n _this.warningUnhooked();\n\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n\n return fieldEntities.map(function (entity, index) {\n if (entity && !(\'INVALIDATE_NAME_PATH\' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors()\n };\n }\n\n return {\n name: getNamePath(nameList[index]),\n errors: []\n };\n });\n };\n\n this.getFieldError = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n\n var fieldError = _this.getFieldsError([namePath])[0];\n\n return fieldError.errors;\n };\n\n this.isFieldsTouched = function () {\n _this.warningUnhooked();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n\n var testTouched = function testTouched(field) {\n // Not provide `nameList` will check all the fields\n if (!namePathList) {\n return field.isFieldTouched();\n }\n\n var fieldNamePath = field.getNamePath();\n\n if (containsNamePath(namePathList, fieldNamePath)) {\n return field.isFieldTouched();\n }\n\n return isAllFieldsTouched;\n };\n\n return isAllFieldsTouched ? _this.getFieldEntities(true).every(testTouched) : _this.getFieldEntities(true).some(testTouched);\n };\n\n this.isFieldTouched = function (name) {\n _this.warningUnhooked();\n\n return _this.isFieldsTouched([name]);\n };\n\n this.isFieldsValidating = function (nameList) {\n _this.warningUnhooked();\n\n var fieldEntities = _this.getFieldEntities();\n\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n };\n\n this.isFieldValidating = function (name) {\n _this.warningUnhooked();\n\n return _this.isFieldsValidating([name]);\n };\n /**\n * Reset Field with field `initialValue` prop.\n * Can pass `entities` or `namePathList` or just nothing.\n */\n\n\n this.resetWithFieldInitialValue = function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new utils_NameMap();\n\n var fieldEntities = _this.getFieldEntities(true);\n\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath(); // Record only if has `initialValue`\n\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n }); // Reset\n\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n\n var formInitialValue = _this.getInitialValue(namePath);\n\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n Object(warning["a" /* default */])(false, "Form already set \'initialValues\' with path \'".concat(namePath.join(\'.\'), "\'. Field can not overwrite it."));\n } else {\n var records = cache.get(namePath);\n\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n Object(warning["a" /* default */])(false, "Multiple Field with path \'".concat(namePath.join(\'.\'), "\' set \'initialValue\'. Can not decide which one to pick."));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath); // Set `initialValue`\n\n\n if (!info.skipExist || originValue === undefined) {\n _this.store = setValue(_this.store, namePath, Object(toConsumableArray["a" /* default */])(records)[0].value);\n }\n }\n }\n }\n });\n };\n\n var requiredFieldEntities;\n\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n\n if (records) {\n var _requiredFieldEntitie;\n\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, Object(toConsumableArray["a" /* default */])(Object(toConsumableArray["a" /* default */])(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n\n resetWithFields(requiredFieldEntities);\n };\n\n this.resetFields = function (nameList) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n\n if (!nameList) {\n _this.store = setValues({}, _this.initialValues);\n\n _this.resetWithFieldInitialValue();\n\n _this.notifyObservers(prevStore, null, {\n type: \'reset\'\n });\n\n return;\n } // Reset by `nameList`\n\n\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n\n _this.store = setValue(_this.store, namePath, initialValue);\n });\n\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n\n _this.notifyObservers(prevStore, namePathList, {\n type: \'reset\'\n });\n };\n\n this.setFields = function (fields) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n errors = fieldData.errors,\n data = Object(objectWithoutProperties["a" /* default */])(fieldData, ["name", "errors"]);\n\n var namePath = getNamePath(name); // Value\n\n if (\'value\' in data) {\n _this.store = setValue(_this.store, namePath, data.value);\n }\n\n _this.notifyObservers(prevStore, [namePath], {\n type: \'setField\',\n data: fieldData\n });\n });\n };\n\n this.getFields = function () {\n var entities = _this.getFieldEntities(true);\n\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n\n var fieldData = useForm_objectSpread({}, meta, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n\n Object.defineProperty(fieldData, \'originRCField\', {\n value: true\n });\n return fieldData;\n });\n return fields;\n }; // =========================== Observer ===========================\n\n\n this.registerField = function (entity) {\n _this.fieldEntities.push(entity); // Set initial values\n\n\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: \'valueUpdate\',\n source: \'internal\'\n });\n } // un-register field callback\n\n\n return function () {\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n });\n };\n };\n\n this.dispatch = function (action) {\n switch (action.type) {\n case \'updateValue\':\n {\n var namePath = action.namePath,\n value = action.value;\n\n _this.updateValue(namePath, value);\n\n break;\n }\n\n case \'validateField\':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n\n break;\n }\n\n default: // Currently we don\'t have other action. Do nothing.\n\n }\n };\n\n this.notifyObservers = function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = useForm_objectSpread({}, info, {\n store: _this.getFieldsValue(true)\n });\n\n _this.getFieldEntities().forEach(function (_ref) {\n var onStoreChange = _ref.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n };\n\n this.updateValue = function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.store = setValue(_this.store, namePath, value);\n\n _this.notifyObservers(prevStore, [namePath], {\n type: \'valueUpdate\',\n source: \'internal\'\n }); // Notify dependencies children with parent update\n\n\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n\n _this.validateFields(childrenFields);\n\n _this.notifyObservers(prevStore, childrenFields, {\n type: \'dependenciesUpdate\',\n relatedFields: [namePath].concat(Object(toConsumableArray["a" /* default */])(childrenFields))\n }); // trigger callback function\n\n\n var onValuesChange = _this.callbacks.onValuesChange;\n\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.store);\n }\n\n _this.triggerOnFieldsChange([namePath].concat(Object(toConsumableArray["a" /* default */])(childrenFields)));\n }; // Let all child Field get update.\n\n\n this.setFieldsValue = function (store) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n\n if (store) {\n _this.store = setValues(_this.store, store);\n }\n\n _this.notifyObservers(prevStore, null, {\n type: \'valueUpdate\',\n source: \'external\'\n });\n };\n\n this.getDependencyChildrenFields = function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new utils_NameMap();\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n\n fillChildren(rootNamePath);\n return childrenFields;\n };\n\n this.triggerOnFieldsChange = function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n\n if (onFieldsChange) {\n var fields = _this.getFields();\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n\n\n if (filedErrors) {\n var cache = new utils_NameMap();\n filedErrors.forEach(function (_ref2) {\n var name = _ref2.name,\n errors = _ref2.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n\n var changedFields = fields.filter(function (_ref3) {\n var fieldName = _ref3.name;\n return containsNamePath(namePathList, fieldName);\n });\n onFieldsChange(changedFields, fields);\n }\n }; // =========================== Validate ===========================\n\n\n this.validateFields = function (nameList, options) {\n _this.warningUnhooked();\n\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : []; // Collect result in promise list\n\n var promiseList = [];\n\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n } // Skip if without rule\n\n\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n\n var fieldNamePath = field.getNamePath(); // Add field validate rule in to promise list\n\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {\n var promise = field.validateRules(useForm_objectSpread({\n validateMessages: useForm_objectSpread({}, defaultValidateMessages, {}, _this.validateMessages)\n }, options)); // Wrap promise with field\n\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: []\n };\n }).catch(function (errors) {\n return Promise.reject({\n name: fieldNamePath,\n errors: errors\n });\n }));\n }\n });\n\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise; // Notify fields with rule that validate has finished and need update\n\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref4) {\n var name = _ref4.name;\n return name;\n });\n\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: \'validateFinish\'\n });\n\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n }); // Do not throw in console\n\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n }; // ============================ Submit ============================\n\n\n this.submit = function () {\n _this.warningUnhooked();\n\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n };\n\n this.forceRootUpdate = forceRootUpdate;\n};\n\nfunction useForm(form) {\n var formRef = react["useRef"]();\n\n var _React$useState = react["useState"](),\n _React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n\n var formStore = new useForm_FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n\n return [formRef.current];\n}\n\n/* harmony default export */ var es_useForm = (useForm);\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/FormContext.js\n\n\nfunction FormContext_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction FormContext_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { FormContext_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { FormContext_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\nvar FormContext = react["createContext"]({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\n\nvar FormContext_FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = react["useContext"](FormContext);\n var formsRef = react["useRef"]({});\n return react["createElement"](FormContext.Provider, {\n value: FormContext_objectSpread({}, formContext, {\n validateMessages: FormContext_objectSpread({}, formContext.validateMessages, {}, validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = FormContext_objectSpread({}, formsRef.current, Object(defineProperty["a" /* default */])({}, name, form));\n }\n\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = FormContext_objectSpread({}, formsRef.current);\n\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\n\n\n/* harmony default export */ var es_FormContext = (FormContext);\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/Form.js\n\n\n\n\nfunction Form_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction Form_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Form_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Form_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar Form_Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? \'form\' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? \'onChange\' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = Object(objectWithoutProperties["a" /* default */])(_ref, ["name", "initialValues", "fields", "form", "children", "component", "validateMessages", "validateTrigger", "onValuesChange", "onFieldsChange", "onFinish", "onFinishFailed"]);\n\n var formContext = react["useContext"](es_FormContext); // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n\n var _useForm = es_useForm(form),\n _useForm2 = Object(slicedToArray["a" /* default */])(_useForm, 1),\n formInstance = _useForm2[0];\n\n var _formInstance$getInte = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _formInstance$getInte.useSubscribe,\n setInitialValues = _formInstance$getInte.setInitialValues,\n setCallbacks = _formInstance$getInte.setCallbacks,\n setValidateMessages = _formInstance$getInte.setValidateMessages; // Pass ref with form instance\n\n\n react["useImperativeHandle"](ref, function () {\n return formInstance;\n }); // Register form into Context\n\n react["useEffect"](function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]); // Pass props to store\n\n setValidateMessages(Form_objectSpread({}, formContext.validateMessages, {}, validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n }); // Set initial value, init store value when first mount\n\n var mountRef = react["useRef"](null);\n setInitialValues(initialValues, !mountRef.current);\n\n if (!mountRef.current) {\n mountRef.current = true;\n } // Prepare children by `children` type\n\n\n var childrenNode = children;\n var childrenRenderProps = typeof children === \'function\';\n\n if (childrenRenderProps) {\n var values = formInstance.getFieldsValue(true);\n childrenNode = children(values, formInstance);\n } // Not use subscribe when using render props\n\n\n useSubscribe(!childrenRenderProps); // Listen if fields provided. We use ref to save prev data here to avoid additional render\n\n var prevFieldsRef = react["useRef"]();\n react["useEffect"](function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = react["useMemo"](function () {\n return Form_objectSpread({}, formInstance, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = react["createElement"](FieldContext.Provider, {\n value: formContextValue\n }, childrenNode);\n\n if (Component === false) {\n return wrapperNode;\n }\n\n return react["createElement"](Component, Object.assign({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n }\n }), wrapperNode);\n};\n\n/* harmony default export */ var es_Form = (Form_Form);\n// CONCATENATED MODULE: ./node_modules/rc-field-form/es/index.js\n\n\n\n\n\n\nvar InternalForm = react["forwardRef"](es_Form);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormContext_FormProvider;\nRefForm.Field = es_Field;\nRefForm.List = es_List;\nRefForm.useForm = es_useForm;\n\n/* harmony default export */ var es = __webpack_exports__["d"] = (RefForm);\n\n//# sourceURL=webpack:///./node_modules/rc-field-form/es/index.js_+_15_modules?')},"8ATB":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.css?")},"8EBN":function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__("VrN/"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.modeInfo = [\n {name: "APL", mime: "text/apl", mode: "apl", ext: ["dyalog", "apl"]},\n {name: "PGP", mimes: ["application/pgp", "application/pgp-encrypted", "application/pgp-keys", "application/pgp-signature"], mode: "asciiarmor", ext: ["asc", "pgp", "sig"]},\n {name: "ASN.1", mime: "text/x-ttcn-asn", mode: "asn.1", ext: ["asn", "asn1"]},\n {name: "Asterisk", mime: "text/x-asterisk", mode: "asterisk", file: /^extensions\\.conf$/i},\n {name: "Brainfuck", mime: "text/x-brainfuck", mode: "brainfuck", ext: ["b", "bf"]},\n {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h", "ino"]},\n {name: "C++", mime: "text/x-c++src", mode: "clike", ext: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"], alias: ["cpp"]},\n {name: "Cobol", mime: "text/x-cobol", mode: "cobol", ext: ["cob", "cpy"]},\n {name: "C#", mime: "text/x-csharp", mode: "clike", ext: ["cs"], alias: ["csharp", "cs"]},\n {name: "Clojure", mime: "text/x-clojure", mode: "clojure", ext: ["clj", "cljc", "cljx"]},\n {name: "ClojureScript", mime: "text/x-clojurescript", mode: "clojure", ext: ["cljs"]},\n {name: "Closure Stylesheets (GSS)", mime: "text/x-gss", mode: "css", ext: ["gss"]},\n {name: "CMake", mime: "text/x-cmake", mode: "cmake", ext: ["cmake", "cmake.in"], file: /^CMakeLists.txt$/},\n {name: "CoffeeScript", mimes: ["application/vnd.coffeescript", "text/coffeescript", "text/x-coffeescript"], mode: "coffeescript", ext: ["coffee"], alias: ["coffee", "coffee-script"]},\n {name: "Common Lisp", mime: "text/x-common-lisp", mode: "commonlisp", ext: ["cl", "lisp", "el"], alias: ["lisp"]},\n {name: "Cypher", mime: "application/x-cypher-query", mode: "cypher", ext: ["cyp", "cypher"]},\n {name: "Cython", mime: "text/x-cython", mode: "python", ext: ["pyx", "pxd", "pxi"]},\n {name: "Crystal", mime: "text/x-crystal", mode: "crystal", ext: ["cr"]},\n {name: "CSS", mime: "text/css", mode: "css", ext: ["css"]},\n {name: "CQL", mime: "text/x-cassandra", mode: "sql", ext: ["cql"]},\n {name: "D", mime: "text/x-d", mode: "d", ext: ["d"]},\n {name: "Dart", mimes: ["application/dart", "text/x-dart"], mode: "dart", ext: ["dart"]},\n {name: "diff", mime: "text/x-diff", mode: "diff", ext: ["diff", "patch"]},\n {name: "Django", mime: "text/x-django", mode: "django"},\n {name: "Dockerfile", mime: "text/x-dockerfile", mode: "dockerfile", file: /^Dockerfile$/},\n {name: "DTD", mime: "application/xml-dtd", mode: "dtd", ext: ["dtd"]},\n {name: "Dylan", mime: "text/x-dylan", mode: "dylan", ext: ["dylan", "dyl", "intr"]},\n {name: "EBNF", mime: "text/x-ebnf", mode: "ebnf"},\n {name: "ECL", mime: "text/x-ecl", mode: "ecl", ext: ["ecl"]},\n {name: "edn", mime: "application/edn", mode: "clojure", ext: ["edn"]},\n {name: "Eiffel", mime: "text/x-eiffel", mode: "eiffel", ext: ["e"]},\n {name: "Elm", mime: "text/x-elm", mode: "elm", ext: ["elm"]},\n {name: "Embedded Javascript", mime: "application/x-ejs", mode: "htmlembedded", ext: ["ejs"]},\n {name: "Embedded Ruby", mime: "application/x-erb", mode: "htmlembedded", ext: ["erb"]},\n {name: "Erlang", mime: "text/x-erlang", mode: "erlang", ext: ["erl"]},\n {name: "Esper", mime: "text/x-esper", mode: "sql"},\n {name: "Factor", mime: "text/x-factor", mode: "factor", ext: ["factor"]},\n {name: "FCL", mime: "text/x-fcl", mode: "fcl"},\n {name: "Forth", mime: "text/x-forth", mode: "forth", ext: ["forth", "fth", "4th"]},\n {name: "Fortran", mime: "text/x-fortran", mode: "fortran", ext: ["f", "for", "f77", "f90", "f95"]},\n {name: "F#", mime: "text/x-fsharp", mode: "mllike", ext: ["fs"], alias: ["fsharp"]},\n {name: "Gas", mime: "text/x-gas", mode: "gas", ext: ["s"]},\n {name: "Gherkin", mime: "text/x-feature", mode: "gherkin", ext: ["feature"]},\n {name: "GitHub Flavored Markdown", mime: "text/x-gfm", mode: "gfm", file: /^(readme|contributing|history).md$/i},\n {name: "Go", mime: "text/x-go", mode: "go", ext: ["go"]},\n {name: "Groovy", mime: "text/x-groovy", mode: "groovy", ext: ["groovy", "gradle"], file: /^Jenkinsfile$/},\n {name: "HAML", mime: "text/x-haml", mode: "haml", ext: ["haml"]},\n {name: "Haskell", mime: "text/x-haskell", mode: "haskell", ext: ["hs"]},\n {name: "Haskell (Literate)", mime: "text/x-literate-haskell", mode: "haskell-literate", ext: ["lhs"]},\n {name: "Haxe", mime: "text/x-haxe", mode: "haxe", ext: ["hx"]},\n {name: "HXML", mime: "text/x-hxml", mode: "haxe", ext: ["hxml"]},\n {name: "ASP.NET", mime: "application/x-aspx", mode: "htmlembedded", ext: ["aspx"], alias: ["asp", "aspx"]},\n {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm", "handlebars", "hbs"], alias: ["xhtml"]},\n {name: "HTTP", mime: "message/http", mode: "http"},\n {name: "IDL", mime: "text/x-idl", mode: "idl", ext: ["pro"]},\n {name: "Pug", mime: "text/x-pug", mode: "pug", ext: ["jade", "pug"], alias: ["jade"]},\n {name: "Java", mime: "text/x-java", mode: "clike", ext: ["java"]},\n {name: "Java Server Pages", mime: "application/x-jsp", mode: "htmlembedded", ext: ["jsp"], alias: ["jsp"]},\n {name: "JavaScript", mimes: ["text/javascript", "text/ecmascript", "application/javascript", "application/x-javascript", "application/ecmascript"],\n mode: "javascript", ext: ["js"], alias: ["ecmascript", "js", "node"]},\n {name: "JSON", mimes: ["application/json", "application/x-json"], mode: "javascript", ext: ["json", "map"], alias: ["json5"]},\n {name: "JSON-LD", mime: "application/ld+json", mode: "javascript", ext: ["jsonld"], alias: ["jsonld"]},\n {name: "JSX", mime: "text/jsx", mode: "jsx", ext: ["jsx"]},\n {name: "Jinja2", mime: "text/jinja2", mode: "jinja2", ext: ["j2", "jinja", "jinja2"]},\n {name: "Julia", mime: "text/x-julia", mode: "julia", ext: ["jl"]},\n {name: "Kotlin", mime: "text/x-kotlin", mode: "clike", ext: ["kt"]},\n {name: "LESS", mime: "text/x-less", mode: "css", ext: ["less"]},\n {name: "LiveScript", mime: "text/x-livescript", mode: "livescript", ext: ["ls"], alias: ["ls"]},\n {name: "Lua", mime: "text/x-lua", mode: "lua", ext: ["lua"]},\n {name: "Markdown", mime: "text/x-markdown", mode: "markdown", ext: ["markdown", "md", "mkd"]},\n {name: "mIRC", mime: "text/mirc", mode: "mirc"},\n {name: "MariaDB SQL", mime: "text/x-mariadb", mode: "sql"},\n {name: "Mathematica", mime: "text/x-mathematica", mode: "mathematica", ext: ["m", "nb", "wl", "wls"]},\n {name: "Modelica", mime: "text/x-modelica", mode: "modelica", ext: ["mo"]},\n {name: "MUMPS", mime: "text/x-mumps", mode: "mumps", ext: ["mps"]},\n {name: "MS SQL", mime: "text/x-mssql", mode: "sql"},\n {name: "mbox", mime: "application/mbox", mode: "mbox", ext: ["mbox"]},\n {name: "MySQL", mime: "text/x-mysql", mode: "sql"},\n {name: "Nginx", mime: "text/x-nginx-conf", mode: "nginx", file: /nginx.*\\.conf$/i},\n {name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]},\n {name: "NTriples", mimes: ["application/n-triples", "application/n-quads", "text/n-triples"],\n mode: "ntriples", ext: ["nt", "nq"]},\n {name: "Objective-C", mime: "text/x-objectivec", mode: "clike", ext: ["m"], alias: ["objective-c", "objc"]},\n {name: "Objective-C++", mime: "text/x-objectivec++", mode: "clike", ext: ["mm"], alias: ["objective-c++", "objc++"]},\n {name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]},\n {name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]},\n {name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]},\n {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]},\n {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]},\n {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]},\n {name: "PHP", mimes: ["text/x-php", "application/x-httpd-php", "application/x-httpd-php-open"], mode: "php", ext: ["php", "php3", "php4", "php5", "php7", "phtml"]},\n {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]},\n {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]},\n {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]},\n {name: "PostgreSQL", mime: "text/x-pgsql", mode: "sql"},\n {name: "PowerShell", mime: "application/x-powershell", mode: "powershell", ext: ["ps1", "psd1", "psm1"]},\n {name: "Properties files", mime: "text/x-properties", mode: "properties", ext: ["properties", "ini", "in"], alias: ["ini", "properties"]},\n {name: "ProtoBuf", mime: "text/x-protobuf", mode: "protobuf", ext: ["proto"]},\n {name: "Python", mime: "text/x-python", mode: "python", ext: ["BUILD", "bzl", "py", "pyw"], file: /^(BUCK|BUILD)$/},\n {name: "Puppet", mime: "text/x-puppet", mode: "puppet", ext: ["pp"]},\n {name: "Q", mime: "text/x-q", mode: "q", ext: ["q"]},\n {name: "R", mime: "text/x-rsrc", mode: "r", ext: ["r", "R"], alias: ["rscript"]},\n {name: "reStructuredText", mime: "text/x-rst", mode: "rst", ext: ["rst"], alias: ["rst"]},\n {name: "RPM Changes", mime: "text/x-rpm-changes", mode: "rpm"},\n {name: "RPM Spec", mime: "text/x-rpm-spec", mode: "rpm", ext: ["spec"]},\n {name: "Ruby", mime: "text/x-ruby", mode: "ruby", ext: ["rb"], alias: ["jruby", "macruby", "rake", "rb", "rbx"]},\n {name: "Rust", mime: "text/x-rustsrc", mode: "rust", ext: ["rs"]},\n {name: "SAS", mime: "text/x-sas", mode: "sas", ext: ["sas"]},\n {name: "Sass", mime: "text/x-sass", mode: "sass", ext: ["sass"]},\n {name: "Scala", mime: "text/x-scala", mode: "clike", ext: ["scala"]},\n {name: "Scheme", mime: "text/x-scheme", mode: "scheme", ext: ["scm", "ss"]},\n {name: "SCSS", mime: "text/x-scss", mode: "css", ext: ["scss"]},\n {name: "Shell", mimes: ["text/x-sh", "application/x-sh"], mode: "shell", ext: ["sh", "ksh", "bash"], alias: ["bash", "sh", "zsh"], file: /^PKGBUILD$/},\n {name: "Sieve", mime: "application/sieve", mode: "sieve", ext: ["siv", "sieve"]},\n {name: "Slim", mimes: ["text/x-slim", "application/x-slim"], mode: "slim", ext: ["slim"]},\n {name: "Smalltalk", mime: "text/x-stsrc", mode: "smalltalk", ext: ["st"]},\n {name: "Smarty", mime: "text/x-smarty", mode: "smarty", ext: ["tpl"]},\n {name: "Solr", mime: "text/x-solr", mode: "solr"},\n {name: "SML", mime: "text/x-sml", mode: "mllike", ext: ["sml", "sig", "fun", "smackspec"]},\n {name: "Soy", mime: "text/x-soy", mode: "soy", ext: ["soy"], alias: ["closure template"]},\n {name: "SPARQL", mime: "application/sparql-query", mode: "sparql", ext: ["rq", "sparql"], alias: ["sparul"]},\n {name: "Spreadsheet", mime: "text/x-spreadsheet", mode: "spreadsheet", alias: ["excel", "formula"]},\n {name: "SQL", mime: "text/x-sql", mode: "sql", ext: ["sql"]},\n {name: "SQLite", mime: "text/x-sqlite", mode: "sql"},\n {name: "Squirrel", mime: "text/x-squirrel", mode: "clike", ext: ["nut"]},\n {name: "Stylus", mime: "text/x-styl", mode: "stylus", ext: ["styl"]},\n {name: "Swift", mime: "text/x-swift", mode: "swift", ext: ["swift"]},\n {name: "sTeX", mime: "text/x-stex", mode: "stex"},\n {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx", "tex"], alias: ["tex"]},\n {name: "SystemVerilog", mime: "text/x-systemverilog", mode: "verilog", ext: ["v", "sv", "svh"]},\n {name: "Tcl", mime: "text/x-tcl", mode: "tcl", ext: ["tcl"]},\n {name: "Textile", mime: "text/x-textile", mode: "textile", ext: ["textile"]},\n {name: "TiddlyWiki", mime: "text/x-tiddlywiki", mode: "tiddlywiki"},\n {name: "Tiki wiki", mime: "text/tiki", mode: "tiki"},\n {name: "TOML", mime: "text/x-toml", mode: "toml", ext: ["toml"]},\n {name: "Tornado", mime: "text/x-tornado", mode: "tornado"},\n {name: "troff", mime: "text/troff", mode: "troff", ext: ["1", "2", "3", "4", "5", "6", "7", "8", "9"]},\n {name: "TTCN", mime: "text/x-ttcn", mode: "ttcn", ext: ["ttcn", "ttcn3", "ttcnpp"]},\n {name: "TTCN_CFG", mime: "text/x-ttcn-cfg", mode: "ttcn-cfg", ext: ["cfg"]},\n {name: "Turtle", mime: "text/turtle", mode: "turtle", ext: ["ttl"]},\n {name: "TypeScript", mime: "application/typescript", mode: "javascript", ext: ["ts"], alias: ["ts"]},\n {name: "TypeScript-JSX", mime: "text/typescript-jsx", mode: "jsx", ext: ["tsx"], alias: ["tsx"]},\n {name: "Twig", mime: "text/x-twig", mode: "twig"},\n {name: "Web IDL", mime: "text/x-webidl", mode: "webidl", ext: ["webidl"]},\n {name: "VB.NET", mime: "text/x-vb", mode: "vb", ext: ["vb"]},\n {name: "VBScript", mime: "text/vbscript", mode: "vbscript", ext: ["vbs"]},\n {name: "Velocity", mime: "text/velocity", mode: "velocity", ext: ["vtl"]},\n {name: "Verilog", mime: "text/x-verilog", mode: "verilog", ext: ["v"]},\n {name: "VHDL", mime: "text/x-vhdl", mode: "vhdl", ext: ["vhd", "vhdl"]},\n {name: "Vue.js Component", mimes: ["script/x-vue", "text/x-vue"], mode: "vue", ext: ["vue"]},\n {name: "XML", mimes: ["application/xml", "text/xml"], mode: "xml", ext: ["xml", "xsl", "xsd", "svg"], alias: ["rss", "wsdl", "xsd"]},\n {name: "XQuery", mime: "application/xquery", mode: "xquery", ext: ["xy", "xquery"]},\n {name: "Yacas", mime: "text/x-yacas", mode: "yacas", ext: ["ys"]},\n {name: "YAML", mimes: ["text/x-yaml", "text/yaml"], mode: "yaml", ext: ["yaml", "yml"], alias: ["yml"]},\n {name: "Z80", mime: "text/x-z80", mode: "z80", ext: ["z80"]},\n {name: "mscgen", mime: "text/x-mscgen", mode: "mscgen", ext: ["mscgen", "mscin", "msc"]},\n {name: "xu", mime: "text/x-xu", mode: "mscgen", ext: ["xu"]},\n {name: "msgenny", mime: "text/x-msgenny", mode: "mscgen", ext: ["msgenny"]}\n ];\n // Ensure all modes have a mime property for backwards compatibility\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mimes) info.mime = info.mimes[0];\n }\n\n CodeMirror.findModeByMIME = function(mime) {\n mime = mime.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mime == mime) return info;\n if (info.mimes) for (var j = 0; j < info.mimes.length; j++)\n if (info.mimes[j] == mime) return info;\n }\n if (/\\+xml$/.test(mime)) return CodeMirror.findModeByMIME("application/xml")\n if (/\\+json$/.test(mime)) return CodeMirror.findModeByMIME("application/json")\n };\n\n CodeMirror.findModeByExtension = function(ext) {\n ext = ext.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.ext) for (var j = 0; j < info.ext.length; j++)\n if (info.ext[j] == ext) return info;\n }\n };\n\n CodeMirror.findModeByFileName = function(filename) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.file && info.file.test(filename)) return info;\n }\n var dot = filename.lastIndexOf(".");\n var ext = dot > -1 && filename.substring(dot + 1, filename.length);\n if (ext) return CodeMirror.findModeByExtension(ext);\n };\n\n CodeMirror.findModeByName = function(name) {\n name = name.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.name.toLowerCase() == name) return info;\n if (info.alias) for (var j = 0; j < info.alias.length; j++)\n if (info.alias[j].toLowerCase() == name) return info;\n }\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/meta.js?')},"8HAY":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Action; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ActionRunner; });\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("pmY6");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MI8n");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 __awaiter = (undefined && undefined.__awaiter) || function (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\nvar __generator = (undefined && undefined.__generator) || function (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\n\r\nvar Action = /** @class */ (function (_super) {\r\n __extends(Action, _super);\r\n function Action(id, label, cssClass, enabled, actionCallback) {\r\n if (label === void 0) { label = \'\'; }\r\n if (cssClass === void 0) { cssClass = \'\'; }\r\n if (enabled === void 0) { enabled = true; }\r\n var _this = _super.call(this) || this;\r\n _this._onDidChange = _this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]());\r\n _this.onDidChange = _this._onDidChange.event;\r\n _this._enabled = true;\r\n _this._checked = false;\r\n _this._id = id;\r\n _this._label = label;\r\n _this._cssClass = cssClass;\r\n _this._enabled = enabled;\r\n _this._actionCallback = actionCallback;\r\n return _this;\r\n }\r\n Object.defineProperty(Action.prototype, "id", {\r\n get: function () {\r\n return this._id;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, "label", {\r\n get: function () {\r\n return this._label;\r\n },\r\n set: function (value) {\r\n this._setLabel(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Action.prototype._setLabel = function (value) {\r\n if (this._label !== value) {\r\n this._label = value;\r\n this._onDidChange.fire({ label: value });\r\n }\r\n };\r\n Object.defineProperty(Action.prototype, "tooltip", {\r\n get: function () {\r\n return this._tooltip || \'\';\r\n },\r\n set: function (value) {\r\n this._setTooltip(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Action.prototype._setTooltip = function (value) {\r\n if (this._tooltip !== value) {\r\n this._tooltip = value;\r\n this._onDidChange.fire({ tooltip: value });\r\n }\r\n };\r\n Object.defineProperty(Action.prototype, "class", {\r\n get: function () {\r\n return this._cssClass;\r\n },\r\n set: function (value) {\r\n this._setClass(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Action.prototype._setClass = function (value) {\r\n if (this._cssClass !== value) {\r\n this._cssClass = value;\r\n this._onDidChange.fire({ class: value });\r\n }\r\n };\r\n Object.defineProperty(Action.prototype, "enabled", {\r\n get: function () {\r\n return this._enabled;\r\n },\r\n set: function (value) {\r\n this._setEnabled(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Action.prototype._setEnabled = function (value) {\r\n if (this._enabled !== value) {\r\n this._enabled = value;\r\n this._onDidChange.fire({ enabled: value });\r\n }\r\n };\r\n Object.defineProperty(Action.prototype, "checked", {\r\n get: function () {\r\n return this._checked;\r\n },\r\n set: function (value) {\r\n this._setChecked(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Action.prototype._setChecked = function (value) {\r\n if (this._checked !== value) {\r\n this._checked = value;\r\n this._onDidChange.fire({ checked: value });\r\n }\r\n };\r\n Action.prototype.run = function (event, _data) {\r\n if (this._actionCallback) {\r\n return this._actionCallback(event);\r\n }\r\n return Promise.resolve(true);\r\n };\r\n return Action;\r\n}(_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__[/* Disposable */ "a"]));\r\n\r\nvar ActionRunner = /** @class */ (function (_super) {\r\n __extends(ActionRunner, _super);\r\n function ActionRunner() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._onDidBeforeRun = _this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]());\r\n _this.onDidBeforeRun = _this._onDidBeforeRun.event;\r\n _this._onDidRun = _this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]());\r\n _this.onDidRun = _this._onDidRun.event;\r\n return _this;\r\n }\r\n ActionRunner.prototype.run = function (action, context) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var result, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!action.enabled) {\r\n return [2 /*return*/, Promise.resolve(null)];\r\n }\r\n this._onDidBeforeRun.fire({ action: action });\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.runAction(action, context)];\r\n case 2:\r\n result = _a.sent();\r\n this._onDidRun.fire({ action: action, result: result });\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_1 = _a.sent();\r\n this._onDidRun.fire({ action: action, error: error_1 });\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n ActionRunner.prototype.runAction = function (action, context) {\r\n var res = context ? action.run(context) : action.run();\r\n return Promise.resolve(res);\r\n };\r\n return ActionRunner;\r\n}(_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__[/* Disposable */ "a"]));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/actions.js?')},"8HsV":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ServiceCollection; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar ServiceCollection = /** @class */ (function () {\r\n function ServiceCollection() {\r\n var entries = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n entries[_i] = arguments[_i];\r\n }\r\n this._entries = new Map();\r\n for (var _a = 0, entries_1 = entries; _a < entries_1.length; _a++) {\r\n var _b = entries_1[_a], id = _b[0], service = _b[1];\r\n this.set(id, service);\r\n }\r\n }\r\n ServiceCollection.prototype.set = function (id, instanceOrDescriptor) {\r\n var result = this._entries.get(id);\r\n this._entries.set(id, instanceOrDescriptor);\r\n return result;\r\n };\r\n ServiceCollection.prototype.has = function (id) {\r\n return this._entries.has(id);\r\n };\r\n ServiceCollection.prototype.get = function (id) {\r\n return this._entries.get(id);\r\n };\r\n return ServiceCollection;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/instantiation/common/serviceCollection.js?')},"8IMR":function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar StarFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z" } }] }, "name": "star", "theme": "filled" };\nexports.default = StarFilled;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/StarFilled.js?')},"8ISB":function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _SwapRightOutlined = _interopRequireDefault(__webpack_require__("6Hfg"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _SwapRightOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/SwapRightOutlined.js?')},"8OUc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n\n if (typeof customizeIcon === \'function\') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n\n if (_onMouseDown) {\n _onMouseDown(event);\n }\n },\n style: {\n userSelect: \'none\',\n WebkitUserSelect: \'none\'\n },\n unselectable: "on",\n onClick: onClick,\n "aria-hidden": true\n }, icon !== undefined ? icon : react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {\n className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(className.split(/\\s+/).map(function (cls) {\n return "".concat(cls, "-icon");\n }))\n }, children));\n};\n\n/* harmony default export */ __webpack_exports__["a"] = (TransBtn);\n\n//# sourceURL=webpack:///./node_modules/rc-select/es/TransBtn.js?')},"8SMY":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _helper = __webpack_require__(\"n4Lv\");\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// var arrayDiff = require('zrender/src/core/arrayDiff');\n// 'zrender/src/core/arrayDiff' has been used before, but it did\n// not do well in performance when roam with fixed dataZoom window.\n// function convertToIntId(newIdList, oldIdList) {\n// // Generate int id instead of string id.\n// // Compare string maybe slow in score function of arrDiff\n// // Assume id in idList are all unique\n// var idIndicesMap = {};\n// var idx = 0;\n// for (var i = 0; i < newIdList.length; i++) {\n// idIndicesMap[newIdList[i]] = idx;\n// newIdList[i] = idx++;\n// }\n// for (var i = 0; i < oldIdList.length; i++) {\n// var oldId = oldIdList[i];\n// // Same with newIdList\n// if (idIndicesMap[oldId]) {\n// oldIdList[i] = idIndicesMap[oldId];\n// }\n// else {\n// oldIdList[i] = idx++;\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 _default(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {\n var diff = diffData(oldData, newData); // var newIdList = newData.mapArray(newData.getId);\n // var 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 = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin);\n var oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);\n\n for (var i = 0; i < diff.length; i++) {\n var diffItem = diff[i];\n var pointAdded = true; // 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 var currentPt = oldData.getItemLayout(diffItem.idx);\n var nextPt = newData.getItemLayout(diffItem.idx1); // If previous data is NaN, use next point directly\n\n if (isNaN(currentPt[0]) || isNaN(currentPt[1])) {\n currentPt = nextPt.slice();\n }\n\n currPoints.push(currentPt);\n nextPoints.push(nextPt);\n currStackedPoints.push(oldStackedOnPoints[diffItem.idx]);\n nextStackedPoints.push(newStackedOnPoints[diffItem.idx1]);\n rawIndices.push(newData.getRawIndex(diffItem.idx1));\n break;\n\n case '+':\n var idx = diffItem.idx;\n currPoints.push(oldCoordSys.dataToPoint([newData.get(newDataOldCoordInfo.dataDimsForPoint[0], idx), newData.get(newDataOldCoordInfo.dataDimsForPoint[1], idx)]));\n nextPoints.push(newData.getItemLayout(idx).slice());\n currStackedPoints.push(getStackedOnPoint(newDataOldCoordInfo, oldCoordSys, newData, idx));\n nextStackedPoints.push(newStackedOnPoints[idx]);\n rawIndices.push(newData.getRawIndex(idx));\n break;\n\n case '-':\n var idx = diffItem.idx;\n var rawIndex = oldData.getRawIndex(idx); // Data is replaced. In the case of dynamic data queue\n // FIXME FIXME FIXME\n\n if (rawIndex !== idx) {\n currPoints.push(oldData.getItemLayout(idx));\n nextPoints.push(newCoordSys.dataToPoint([oldData.get(oldDataNewCoordInfo.dataDimsForPoint[0], idx), oldData.get(oldDataNewCoordInfo.dataDimsForPoint[1], idx)]));\n currStackedPoints.push(oldStackedOnPoints[idx]);\n nextStackedPoints.push(getStackedOnPoint(oldDataNewCoordInfo, newCoordSys, oldData, idx));\n rawIndices.push(rawIndex);\n } else {\n pointAdded = false;\n }\n\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 sortedCurrPoints = [];\n var sortedNextPoints = [];\n var sortedCurrStackedPoints = [];\n var sortedNextStackedPoints = [];\n var sortedStatus = [];\n\n for (var i = 0; i < sortedIndices.length; i++) {\n var idx = sortedIndices[i];\n sortedCurrPoints[i] = currPoints[idx];\n sortedNextPoints[i] = nextPoints[idx];\n sortedCurrStackedPoints[i] = currStackedPoints[idx];\n sortedNextStackedPoints[i] = nextStackedPoints[idx];\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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/lineAnimationDiff.js?")},"8Skl":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js\n// This icon file is generated automatically.\nvar DownOutlined_DownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z" } }] }, "name": "down", "theme": "outlined" };\n/* harmony default export */ var asn_DownOutlined = (DownOutlined_DownOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/DownOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_DownOutlined_DownOutlined = function DownOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_DownOutlined\n }));\n};\n\nicons_DownOutlined_DownOutlined.displayName = \'DownOutlined\';\n/* harmony default export */ var icons_DownOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_DownOutlined_DownOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/DownOutlined.js_+_1_modules?')},"8Th4":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 BaseAxisPointer = __webpack_require__(\"3LNs\");\n\nvar viewHelper = __webpack_require__(\"/y7N\");\n\nvar singleAxisHelper = __webpack_require__(\"7bkD\");\n\nvar AxisView = __webpack_require__(\"Znkb\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 XY = ['x', 'y'];\nvar WH = ['width', 'height'];\nvar SingleAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n 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.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 = singleAxisHelper.layout(axisModel);\n viewHelper.buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n },\n\n /**\n * @override\n */\n getHandleTransform: function (value, axisModel, axisPointerModel) {\n var layoutInfo = singleAxisHelper.layout(axisModel, {\n labelInside: false\n });\n layoutInfo.labelMargin = axisPointerModel.get('handle.margin');\n return {\n position: viewHelper.getTransformedPosition(axisModel.axis, value, layoutInfo),\n rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n };\n },\n\n /**\n * @override\n */\n 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.position;\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 position: currPosition,\n rotation: transform.rotation,\n cursorPoint: cursorPoint,\n tooltipOption: {\n verticalAlign: 'middle'\n }\n };\n }\n});\nvar pointerShapeBuilder = {\n line: function (axis, pixelValue, otherExtent) {\n var targetShape = viewHelper.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.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\nAxisView.registerAxisPointerClass('SingleAxisPointer', SingleAxisPointer);\nvar _default = SingleAxisPointer;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js?")},"8Uz6":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 LegendModel = __webpack_require__(\"hNWo\");\n\nvar _layout = __webpack_require__(\"+TT/\");\n\nvar mergeLayoutParam = _layout.mergeLayoutParam;\nvar getLayoutParams = _layout.getLayoutParams;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 ScrollableLegendModel = LegendModel.extend({\n type: 'legend.scroll',\n\n /**\n * @param {number} scrollDataIndex\n */\n setScrollDataIndex: function (scrollDataIndex) {\n this.option.scrollDataIndex = scrollDataIndex;\n },\n defaultOption: {\n scrollDataIndex: 0,\n pageButtonItemGap: 5,\n pageButtonGap: null,\n pageButtonPosition: 'end',\n // 'start' or 'end'\n pageFormatter: '{current}/{total}',\n // If null/undefined, do not show page.\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 // Can be [10, 3], which represents [width, height]\n pageTextStyle: {\n color: '#333'\n },\n animationDurationUpdate: 800\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n ScrollableLegendModel.superCall(this, 'init', option, parentModel, ecModel, extraOpt);\n mergeAndNormalizeLayoutParams(this, option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n ScrollableLegendModel.superCall(this, 'mergeOption', option, extraOpt);\n mergeAndNormalizeLayoutParams(this, this.option, option);\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 mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = ScrollableLegendModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js?")},"8X+K":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar _bbox = __webpack_require__(\"4mN7\");\n\nvar fromPoints = _bbox.fromPoints;\n\nvar SymbolDraw = __webpack_require__(\"9wZj\");\n\nvar SymbolClz = __webpack_require__(\"FBjb\");\n\nvar lineAnimationDiff = __webpack_require__(\"8SMY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar _poly = __webpack_require__(\"1NG9\");\n\nvar Polyline = _poly.Polyline;\nvar Polygon = _poly.Polygon;\n\nvar ChartView = __webpack_require__(\"6Ic6\");\n\nvar _helper = __webpack_require__(\"n4Lv\");\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\nvar _createClipPathFromCoordSys = __webpack_require__(\"sK/D\");\n\nvar createGridClipPath = _createClipPathFromCoordSys.createGridClipPath;\nvar createPolarClipPath = _createClipPathFromCoordSys.createPolarClipPath;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\nfunction isPointsSame(points1, points2) {\n if (points1.length !== points2.length) {\n return;\n }\n\n for (var i = 0; i < points1.length; i++) {\n var p1 = points1[i];\n var p2 = points2[i];\n\n if (p1[0] !== p2[0] || p1[1] !== p2[1]) {\n return;\n }\n }\n\n return true;\n}\n\nfunction getBoundingDiff(points1, points2) {\n var min1 = [];\n var max1 = [];\n var min2 = [];\n var max2 = [];\n fromPoints(points1, min1, max1);\n fromPoints(points2, min2, max2); // Get a max value from each corner of two boundings.\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 typeof smooth === 'number' ? smooth : smooth ? 0.5 : 0;\n}\n/**\n * @param {module:echarts/coord/cartesian/Cartesian2D|module:echarts/coord/polar/Polar} coordSys\n * @param {module:echarts/data/List} data\n * @param {Object} dataCoordInfo\n * @param {Array.>} points\n */\n\n\nfunction getStackedOnPoints(coordSys, data, dataCoordInfo) {\n if (!dataCoordInfo.valueDim) {\n return [];\n }\n\n var points = [];\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n points.push(getStackedOnPoint(dataCoordInfo, coordSys, data, idx));\n }\n\n return points;\n}\n\nfunction turnPointsIntoStep(points, coordSys, stepTurnAt) {\n var baseAxis = coordSys.getBaseAxis();\n var baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;\n var stepPoints = [];\n\n for (var i = 0; i < points.length - 1; i++) {\n var nextPt = points[i + 1];\n var pt = points[i];\n stepPoints.push(pt);\n var stepPt = [];\n\n switch (stepTurnAt) {\n case 'end':\n stepPt[baseIndex] = nextPt[baseIndex];\n stepPt[1 - baseIndex] = pt[1 - baseIndex]; // default is start\n\n stepPoints.push(stepPt);\n break;\n\n case 'middle':\n // default is start\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);\n stepPoints.push(stepPt2);\n break;\n\n default:\n stepPt[baseIndex] = pt[baseIndex];\n stepPt[1 - baseIndex] = nextPt[1 - baseIndex]; // default is start\n\n stepPoints.push(stepPt);\n }\n } // Last points\n\n\n points[i] && stepPoints.push(points[i]);\n return stepPoints;\n}\n\nfunction getVisualGradient(data, coordSys) {\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 return;\n }\n\n var coordDim;\n var visualMeta;\n\n for (var i = visualMetaList.length - 1; i >= 0; i--) {\n var dimIndex = visualMetaList[i].dimension;\n var dimName = data.dimensions[dimIndex];\n var dimInfo = data.getDimensionInfo(dimName);\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 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); // dataToCoor mapping may not be linear, but must be monotonic.\n\n var colorStops = zrUtil.map(visualMeta.stops, function (stop) {\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 tinyExtent = 10; // Arbitrary value: 10px\n\n var minCoord = colorStops[0].coord - tinyExtent;\n var maxCoord = colorStops[stopLen - 1].coord + tinyExtent;\n var coordSpan = maxCoord - minCoord;\n\n if (coordSpan < 1e-3) {\n return 'transparent';\n }\n\n zrUtil.each(colorStops, function (stop) {\n stop.offset = (stop.coord - minCoord) / coordSpan;\n });\n colorStops.push({\n offset: stopLen ? colorStops[stopLen - 1].offset : 0.5,\n color: outerColors[1] || 'transparent'\n });\n colorStops.unshift({\n // notice colorStops.length have been changed.\n offset: stopLen ? colorStops[0].offset : 0.5,\n color: outerColors[0] || 'transparent'\n }); // zrUtil.each(colorStops, function (colorStop) {\n // // Make sure each offset has rounded px to avoid not sharp edge\n // colorStop.offset = (Math.round(colorStop.offset * (end - start) + start) - start) / (end - start);\n // });\n\n var gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStops, 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 zrUtil.each(categoryAxis.getViewLabels(), function (labelItem) {\n labelMap[labelItem.tickValue] = 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 (SymbolClz.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 createLineClipPath(coordSys, hasAnimation, seriesModel) {\n if (coordSys.type === 'cartesian2d') {\n var isHorizontal = coordSys.getBaseAxis().isHorizontal();\n var clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel); // 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 }\n\n return clipPath;\n } else {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n }\n}\n\nvar _default = ChartView.extend({\n type: 'line',\n init: function () {\n var lineGroup = new graphic.Group();\n var symbolDraw = new SymbolDraw();\n this.group.add(symbolDraw.group);\n this._symbolDraw = symbolDraw;\n this._lineGroup = lineGroup;\n },\n render: function (seriesModel, ecModel, api) {\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.mapArray(data.getItemLayout);\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 = prepareDataCoordInfo(coordSys, data, valueOrigin);\n var stackedOnPoints = getStackedOnPoints(coordSys, data, dataCoordInfo);\n var showSymbol = seriesModel.get('showSymbol');\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');\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.r1 += 0.5;\n }\n }\n\n this._clipShapeForSymbol = clipShapeForSymbol; // 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 });\n\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step);\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step);\n }\n\n polyline = this._newPolyline(points, coordSys, hasAnimation);\n\n if (isAreaChart) {\n polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);\n }\n\n lineGroup.setClipPath(createLineClipPath(coordSys, true, seriesModel));\n } else {\n if (isAreaChart && !polygon) {\n // If areaStyle is added\n polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);\n } else if (polygon && !isAreaChart) {\n // If areaStyle is removed\n lineGroup.remove(polygon);\n polygon = this._polygon = null;\n } // Update clipPath\n\n\n lineGroup.setClipPath(createLineClipPath(coordSys, false, seriesModel)); // Always update, or it is wrong in the case turning on legend\n // because points are not changed\n\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol\n }); // Stop symbol animation and sync with line points\n // FIXME performance?\n\n data.eachItemGraphicEl(function (el) {\n el.stopAnimation(true);\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._updateAnimation(data, stackedOnPoints, coordSys, api, step, valueOrigin);\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);\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step);\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 visualColor = getVisualGradient(data, coordSys) || data.getVisual('color');\n polyline.useStyle(zrUtil.defaults( // Use color in lineStyle first\n lineStyleModel.getLineStyle(), {\n fill: 'none',\n stroke: visualColor,\n lineJoin: 'bevel'\n }));\n var smooth = seriesModel.get('smooth');\n smooth = getSmooth(seriesModel.get('smooth'));\n polyline.setShape({\n smooth: smooth,\n smoothMonotone: seriesModel.get('smoothMonotone'),\n connectNulls: seriesModel.get('connectNulls')\n });\n\n if (polygon) {\n var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');\n var stackedOnSmooth = 0;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: visualColor,\n opacity: 0.7,\n lineJoin: 'bevel'\n }));\n\n if (stackedOnSeries) {\n stackedOnSmooth = getSmooth(stackedOnSeries.get('smooth'));\n }\n\n polygon.setShape({\n smooth: smooth,\n stackedOnSmooth: stackedOnSmooth,\n smoothMonotone: seriesModel.get('smoothMonotone'),\n connectNulls: seriesModel.get('connectNulls')\n });\n }\n\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 dispose: function () {},\n highlight: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (!symbol) {\n // Create a temporary symbol if it is not exists\n var pt = data.getItemLayout(dataIndex);\n\n if (!pt) {\n // Null data\n return;\n } // fix #11360: should't draw symbol outside clipShapeForSymbol\n\n\n if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(pt[0], pt[1])) {\n return;\n }\n\n symbol = new SymbolClz(data, dataIndex);\n symbol.position = pt;\n symbol.setZ(seriesModel.get('zlevel'), seriesModel.get('z'));\n symbol.ignore = isNaN(pt[0]) || isNaN(pt[1]);\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 ChartView.prototype.highlight.call(this, seriesModel, ecModel, api, payload);\n }\n },\n downplay: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\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 ChartView.prototype.downplay.call(this, seriesModel, ecModel, api, payload);\n }\n },\n\n /**\n * @param {module:zrender/container/Group} group\n * @param {Array.>} points\n * @private\n */\n _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 Polyline({\n shape: {\n points: points\n },\n silent: true,\n z2: 10\n });\n\n this._lineGroup.add(polyline);\n\n this._polyline = polyline;\n return polyline;\n },\n\n /**\n * @param {module:zrender/container/Group} group\n * @param {Array.>} stackedOnPoints\n * @param {Array.>} points\n * @private\n */\n _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 Polygon({\n shape: {\n points: points,\n stackedOnPoints: stackedOnPoints\n },\n silent: true\n });\n\n this._lineGroup.add(polygon);\n\n this._polygon = polygon;\n return polygon;\n },\n\n /**\n * @private\n */\n // FIXME Two value axis\n _updateAnimation: function (data, stackedOnPoints, coordSys, api, step, valueOrigin) {\n var polyline = this._polyline;\n var polygon = this._polygon;\n var seriesModel = data.hostModel;\n var diff = lineAnimationDiff(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);\n stackedOnCurrent = turnPointsIntoStep(diff.stackedOnCurrent, coordSys, step);\n next = turnPointsIntoStep(diff.next, coordSys, step);\n stackedOnNext = turnPointsIntoStep(diff.stackedOnNext, coordSys, step);\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.setShape({\n points: next\n });\n\n if (polygon) {\n polygon.setShape({\n points: next,\n stackedOnPoints: stackedOnNext\n });\n }\n\n return;\n } // `diff.current` is subset of `current` (which should be ensured by\n // turnPointsIntoStep), so points in `__points` can be updated when\n // points in `current` are update during animation.\n\n\n polyline.shape.__points = diff.current;\n polyline.shape.points = current;\n graphic.updateProps(polyline, {\n shape: {\n points: next\n }\n }, seriesModel);\n\n if (polygon) {\n polygon.setShape({\n points: current,\n stackedOnPoints: stackedOnCurrent\n });\n graphic.updateProps(polygon, {\n shape: {\n points: next,\n stackedOnPoints: stackedOnNext\n }\n }, seriesModel);\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 for (var i = 0; i < updatedDataInfo.length; i++) {\n var el = updatedDataInfo[i].el;\n el.attr('position', polyline.shape.__points[updatedDataInfo[i].ptIdx]);\n }\n });\n }\n },\n 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._data = null;\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/LineView.js?")},"8XDt":function(module,exports,__webpack_require__){eval('__webpack_require__("qH13");\n\nvar _zrender = __webpack_require__("aX58");\n\nvar registerPainter = _zrender.registerPainter;\n\nvar Painter = __webpack_require__("6fms");\n\nregisterPainter(\'vml\', Painter);\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/vml/vml.js?')},"8gvo":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css?")},"8hn6":function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 = '#eee';\n\nvar axisCommon = function () {\n return {\n axisLine: {\n lineStyle: {\n color: contrastColor\n }\n },\n axisTick: {\n lineStyle: {\n color: contrastColor\n }\n },\n axisLabel: {\n textStyle: {\n color: contrastColor\n }\n },\n splitLine: {\n lineStyle: {\n type: 'dashed',\n color: '#aaa'\n }\n },\n splitArea: {\n areaStyle: {\n color: contrastColor\n }\n }\n };\n};\n\nvar colorPalette = ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'];\nvar theme = {\n color: colorPalette,\n backgroundColor: '#333',\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: contrastColor\n },\n crossStyle: {\n color: contrastColor\n },\n label: {\n color: '#000'\n }\n }\n },\n legend: {\n textStyle: {\n color: contrastColor\n }\n },\n textStyle: {\n color: contrastColor\n },\n title: {\n textStyle: {\n color: contrastColor\n }\n },\n toolbox: {\n iconStyle: {\n normal: {\n borderColor: contrastColor\n }\n }\n },\n dataZoom: {\n textStyle: {\n color: contrastColor\n }\n },\n visualMap: {\n textStyle: {\n color: contrastColor\n }\n },\n timeline: {\n lineStyle: {\n color: contrastColor\n },\n itemStyle: {\n normal: {\n color: colorPalette[1]\n }\n },\n label: {\n normal: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n controlStyle: {\n normal: {\n color: contrastColor,\n borderColor: contrastColor\n }\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 textStyle: {\n color: contrastColor\n }\n }\n },\n candlestick: {\n itemStyle: {\n normal: {\n color: '#FD1050',\n color0: '#0CF49B',\n borderColor: '#FD1050',\n borderColor0: '#0CF49B'\n }\n }\n }\n};\ntheme.categoryAxis.splitLine.show = false;\nvar _default = theme;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/theme/dark.js?")},"8nMs":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar AxisBuilder = __webpack_require__(\"+rIm\");\n\nvar AxisView = __webpack_require__(\"Znkb\");\n\nvar cartesianAxisHelper = __webpack_require__(\"AVZG\");\n\nvar _axisSplitHelper = __webpack_require__(\"WN+l\");\n\nvar rectCoordAxisBuildSplitArea = _axisSplitHelper.rectCoordAxisBuildSplitArea;\nvar rectCoordAxisHandleRemove = _axisSplitHelper.rectCoordAxisHandleRemove;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\nvar CartesianAxisView = AxisView.extend({\n type: 'cartesianAxis',\n axisPointerClass: 'CartesianAxisPointer',\n\n /**\n * @override\n */\n render: function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.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 = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get(name + '.show')) {\n this['_' + name](axisModel, gridModel);\n }\n }, this);\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n CartesianAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);\n },\n remove: function () {\n rectCoordAxisHandleRemove(this);\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _splitLine: function (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 = zrUtil.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\n this._axisGroup.add(new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n subPixelOptimize: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n }));\n }\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _minorSplitLine: function (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 this._axisGroup.add(new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n subPixelOptimize: 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 }\n }\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _splitArea: function (axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(this, this._axisGroup, axisModel, gridModel);\n }\n});\nCartesianAxisView.extend({\n type: 'xAxis'\n});\nCartesianAxisView.extend({\n type: 'yAxis'\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/CartesianAxisView.js?")},"8nly":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 BoundingRect = __webpack_require__("mFDi");\n\nvar bbox = __webpack_require__("4mN7");\n\nvar vec2 = __webpack_require__("QBsz");\n\nvar polygonContain = __webpack_require__("BlVb");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/geo/Region\n */\n\n/**\n * @param {string|Region} name\n * @param {Array} geometries\n * @param {Array.} cp\n */\nfunction Region(name, geometries, cp) {\n /**\n * @type {string}\n * @readOnly\n */\n this.name = name;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.geometries = geometries;\n\n if (!cp) {\n var rect = this.getBoundingRect();\n cp = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n } else {\n cp = [cp[0], cp[1]];\n }\n /**\n * @type {Array.}\n */\n\n\n this.center = cp;\n}\n\nRegion.prototype = {\n constructor: Region,\n properties: null,\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n var rect = this._rect;\n\n if (rect) {\n return rect;\n }\n\n var MAX_NUMBER = Number.MAX_VALUE;\n var min = [MAX_NUMBER, MAX_NUMBER];\n var max = [-MAX_NUMBER, -MAX_NUMBER];\n var min2 = [];\n var max2 = [];\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon\n if (geometries[i].type !== \'polygon\') {\n continue;\n } // Doesn\'t consider hole\n\n\n var exterior = geometries[i].exterior;\n bbox.fromPoints(exterior, min2, max2);\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return this._rect = new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * @param {} coord\n * @return {boolean}\n */\n 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 // Only support polygon.\n if (geometries[i].type !== \'polygon\') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n if (polygonContain.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 (polygonContain.contain(interiors[k])) {\n continue loopGeo;\n }\n }\n\n return true;\n }\n }\n\n return false;\n },\n 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 BoundingRect(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 // Only support polygon.\n if (geometries[i].type !== \'polygon\') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n for (var p = 0; p < exterior.length; p++) {\n vec2.applyTransform(exterior[p], exterior[p], transform);\n }\n\n for (var h = 0; h < (interiors ? interiors.length : 0); h++) {\n for (var p = 0; p < interiors[h].length; p++) {\n vec2.applyTransform(interiors[h][p], interiors[h][p], 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 cloneShallow: function (name) {\n name == null && (name = this.name);\n var newRegion = new Region(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};\nvar _default = Region;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/Region.js?')},"8ub7":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("rePB");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Ff2n");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("TSYQ");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("Qi1f");\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nvar Icon = react__WEBPACK_IMPORTED_MODULE_2__["forwardRef"](function (props, ref) {\n var className = props.className,\n Component = props.component,\n viewBox = props.viewBox,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n children = props.children,\n restProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(props, ["className", "component", "viewBox", "spin", "rotate", "tabIndex", "onClick", "children"]);\n\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* warning */ "g"])(Boolean(Component || children), \'Should have `component` prop or `children`.\');\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* useInsertStyles */ "f"])();\n var classString = classnames__WEBPACK_IMPORTED_MODULE_3___default()(\'anticon\', className);\n var svgClassString = classnames__WEBPACK_IMPORTED_MODULE_3___default()({\n \'anticon-spin\': !!spin\n });\n var svgStyle = rotate ? {\n msTransform: "rotate(".concat(rotate, "deg)"),\n transform: "rotate(".concat(rotate, "deg)")\n } : undefined;\n\n var innerSvgProps = _objectSpread(_objectSpread({}, _utils__WEBPACK_IMPORTED_MODULE_4__[/* svgBaseProps */ "e"]), {}, {\n className: svgClassString,\n style: svgStyle,\n viewBox: viewBox\n });\n\n if (!viewBox) {\n delete innerSvgProps.viewBox;\n } // component > children\n\n\n var renderInnerNode = function renderInnerNode() {\n if (Component) {\n return react__WEBPACK_IMPORTED_MODULE_2__["createElement"](Component, Object.assign({}, innerSvgProps), children);\n }\n\n if (children) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* warning */ "g"])(Boolean(viewBox) || react__WEBPACK_IMPORTED_MODULE_2__["Children"].count(children) === 1 && react__WEBPACK_IMPORTED_MODULE_2__["isValidElement"](children) && react__WEBPACK_IMPORTED_MODULE_2__["Children"].only(children).type === \'use\', \'Make sure that you provide correct `viewBox`\' + \' prop (default `0 0 1024 1024`) to the icon.\');\n return react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("svg", Object.assign({}, innerSvgProps, {\n viewBox: viewBox\n }), children);\n }\n\n return null;\n };\n\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("span", Object.assign({\n role: "img"\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), renderInnerNode());\n});\nIcon.displayName = \'AntdIcon\';\n/* harmony default export */ __webpack_exports__["a"] = (Icon);\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/components/Icon.js?')},"8waO":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar throttleUtil = __webpack_require__(\"iLNv\");\n\nvar parallelPreprocessor = __webpack_require__(\"ZWlE\");\n\n__webpack_require__(\"hJvP\");\n\n__webpack_require__(\"IXyC\");\n\n__webpack_require__(\"xRUu\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 CLICK_THRESHOLD = 5; // > 4\n// Parallel view\n\necharts.extendComponentView({\n type: 'parallel',\n render: function (parallelModel, ecModel, api) {\n this._model = parallelModel;\n this._api = api;\n\n if (!this._handlers) {\n this._handlers = {};\n zrUtil.each(handlers, function (handler, eventName) {\n api.getZr().on(eventName, this._handlers[eventName] = zrUtil.bind(handler, this));\n }, this);\n }\n\n throttleUtil.createOrUpdate(this, '_throttledDispatchExpand', parallelModel.get('axisExpandRate'), 'fixRate');\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._handlers, function (handler, eventName) {\n api.getZr().off(eventName, handler);\n });\n this._handlers = null;\n },\n\n /**\n * @param {Object} [opt] If null, cancle the last action triggering for debounce.\n */\n _throttledDispatchExpand: function (opt) {\n this._dispatchExpand(opt);\n },\n _dispatchExpand: function (opt) {\n opt && this._api.dispatchAction(zrUtil.extend({\n type: 'parallelAxisExpand'\n }, opt));\n }\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 : false\n });\n }\n};\n\nfunction checkTrigger(view, triggerOn) {\n var model = view._model;\n return model.get('axisExpandable') && model.get('axisExpandTriggerOn') === triggerOn;\n}\n\necharts.registerPreprocessor(parallelPreprocessor);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/parallel.js?")},"8x+h":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar visualSolution = __webpack_require__(\"K4ya\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 DEFAULT_OUT_OF_BRUSH_COLOR = ['#ddd'];\nvar BrushModel = echarts.extendComponentModel({\n type: 'brush',\n dependencies: ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n // inBrush: null,\n // outOfBrush: null,\n toolbox: null,\n // Default value see preprocessor.\n brushLink: null,\n // Series indices array, broadcast using dataIndex.\n // or 'all', which means all series. 'none' or null means no series.\n seriesIndex: 'all',\n // seriesIndex array, specify series controlled by this brush component.\n geoIndex: null,\n //\n xAxisIndex: null,\n yAxisIndex: null,\n brushType: 'rect',\n // Default brushType, see BrushController.\n brushMode: 'single',\n // Default brushMode, 'single' or 'multiple'\n transformable: true,\n // Default transformable.\n brushStyle: {\n // Default brushStyle\n borderWidth: 1,\n color: 'rgba(120,140,180,0.3)',\n borderColor: 'rgba(120,140,180,0.8)'\n },\n throttleType: 'fixRate',\n // Throttle in brushSelected event. 'fixRate' or 'debounce'.\n // If null, no throttle. Valid only in the first brush component\n throttleDelay: 0,\n // Unit: ms, 0 means every event will be triggered.\n // FIXME\n // \u8bd5\u9a8c\u6548\u679c\n removeOnClick: true,\n z: 10000\n },\n\n /**\n * @readOnly\n * @type {Array.}\n */\n areas: [],\n\n /**\n * Current activated brush type.\n * If null, brush is inactived.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {string}\n */\n brushType: null,\n\n /**\n * Current brush opt.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {Object}\n */\n brushOption: {},\n\n /**\n * @readOnly\n * @type {Array.}\n */\n coordInfoList: [],\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option;\n !isInit && visualSolution.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 /**\n * If ranges is null/undefined, range state remain.\n *\n * @param {Array.} [ranges]\n */\n setAreas: function (areas) {\n // If ranges 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 if (!areas) {\n return;\n }\n\n this.areas = zrUtil.map(areas, function (area) {\n return generateBrushOption(this.option, area);\n }, this);\n },\n\n /**\n * see module:echarts/component/helper/BrushController\n * @param {Object} brushOption\n */\n setBrushOption: function (brushOption) {\n this.brushOption = generateBrushOption(this.option, brushOption);\n this.brushType = this.brushOption.brushType;\n }\n});\n\nfunction generateBrushOption(option, brushOption) {\n return zrUtil.merge({\n brushType: option.brushType,\n brushMode: option.brushMode,\n transformable: option.transformable,\n brushStyle: new Model(option.brushStyle).getItemStyle(),\n removeOnClick: option.removeOnClick,\n z: option.z\n }, brushOption, true);\n}\n\nvar _default = BrushModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/BrushModel.js?")},"8z0m":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/request.js\nfunction getError(option, xhr) {\n var msg = \'cannot \' + option.method + \' \' + option.action + \' \' + xhr.status + \'\\\'\';\n var err = new Error(msg);\n err.status = xhr.status;\n err.method = option.method;\n err.url = option.action;\n return err;\n}\n\nfunction getBody(xhr) {\n var text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\n// option {\n// onProgress: (event: { percent: number }): void,\n// onError: (event: Error, body?: Object): void,\n// onSuccess: (body: Object): void,\n// data: Object,\n// filename: String,\n// file: File,\n// withCredentials: Boolean,\n// action: String,\n// headers: Object,\n// }\nfunction upload(option) {\n // eslint-disable-next-line no-undef\n var xhr = new XMLHttpRequest();\n\n if (option.onProgress && xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n option.onProgress(e);\n };\n }\n\n // eslint-disable-next-line no-undef\n var formData = new FormData();\n\n if (option.data) {\n Object.keys(option.data).forEach(function (key) {\n var value = option.data[key];\n // support key-value array data\n if (Array.isArray(value)) {\n value.forEach(function (item) {\n // { list: [ 11, 22 ] }\n // formData.append(\'list[]\', 11);\n formData.append(key + \'[]\', item);\n });\n return;\n }\n\n formData.append(key, option.data[key]);\n });\n }\n\n // eslint-disable-next-line no-undef\n if (option.file instanceof Blob) {\n formData.append(option.filename, option.file, option.file.name);\n } else {\n formData.append(option.filename, option.file);\n }\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n // allow success when 2xx status\n // see https://github.com/react-component/upload/issues/34\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(option, xhr), getBody(xhr));\n }\n\n return option.onSuccess(getBody(xhr), xhr);\n };\n\n xhr.open(option.method, option.action, true);\n\n // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n if (option.withCredentials && \'withCredentials\' in xhr) {\n xhr.withCredentials = true;\n }\n\n var headers = option.headers || {};\n\n // when set headers[\'X-Requested-With\'] = null , can close default XHR header\n // see https://github.com/react-component/upload/issues/33\n if (headers[\'X-Requested-With\'] !== null) {\n xhr.setRequestHeader(\'X-Requested-With\', \'XMLHttpRequest\');\n }\n\n Object.keys(headers).forEach(function (h) {\n if (headers[h] !== null) {\n xhr.setRequestHeader(h, headers[h]);\n }\n });\n\n xhr.send(formData);\n\n return {\n abort: function abort() {\n xhr.abort();\n }\n };\n}\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/uid.js\nvar now = +new Date();\nvar index = 0;\n\nfunction uid_uid() {\n return "rc-upload-" + now + "-" + ++index;\n}\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/attr-accept.js\nfunction endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\n\n/* harmony default export */ var attr_accept = (function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(\',\');\n var fileName = file.name || \'\';\n var mimeType = file.type || \'\';\n var baseMimeType = mimeType.replace(/\\/.*$/, \'\');\n\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim();\n if (validType.charAt(0) === \'.\') {\n return endsWith(fileName.toLowerCase(), validType.toLowerCase());\n } else if (/\\/\\*$/.test(validType)) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, \'\');\n }\n return mimeType === validType;\n });\n }\n return true;\n});\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/traverseFileTree.js\nfunction loopFiles(item, callback) {\n var dirReader = item.createReader();\n var fileList = [];\n\n function sequence() {\n dirReader.readEntries(function (entries) {\n var entryList = Array.prototype.slice.apply(entries);\n fileList = fileList.concat(entryList);\n\n // Check if all the file has been viewed\n var isFinished = !entryList.length;\n\n if (isFinished) {\n callback(fileList);\n } else {\n sequence();\n }\n });\n }\n\n sequence();\n}\n\nvar traverseFileTree = function traverseFileTree(files, callback, isAccepted) {\n var _traverseFileTree = function _traverseFileTree(item, path) {\n path = path || \'\';\n if (item.isFile) {\n item.file(function (file) {\n if (isAccepted(file)) {\n // https://github.com/ant-design/ant-design/issues/16426\n if (item.fullPath && !file.webkitRelativePath) {\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: true\n }\n });\n file.webkitRelativePath = item.fullPath.replace(/^\\//, \'\');\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: false\n }\n });\n }\n callback([file]);\n }\n });\n } else if (item.isDirectory) {\n loopFiles(item, function (entries) {\n entries.forEach(function (entryItem) {\n _traverseFileTree(entryItem, \'\' + path + item.name + \'/\');\n });\n });\n }\n };\n files.forEach(function (file) {\n _traverseFileTree(file.webkitGetAsEntry());\n });\n};\n\n/* harmony default export */ var es_traverseFileTree = (traverseFileTree);\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/AjaxUploader.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; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();\n\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; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint react/no-is-mounted:0,react/sort-comp:0,react/prop-types:0 */\n\n\n\n\n\n\n\nvar dataOrAriaAttributeProps = function dataOrAriaAttributeProps(props) {\n return Object.keys(props).reduce(function (acc, key) {\n if (key.substr(0, 5) === \'data-\' || key.substr(0, 5) === \'aria-\' || key === \'role\') {\n acc[key] = props[key];\n }\n return acc;\n }, {});\n};\n\nvar AjaxUploader_AjaxUploader = function (_Component) {\n _inherits(AjaxUploader, _Component);\n\n function AjaxUploader() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, AjaxUploader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AjaxUploader.__proto__ || Object.getPrototypeOf(AjaxUploader)).call.apply(_ref, [this].concat(args))), _this), _this.state = { uid: uid_uid() }, _this.reqs = {}, _this.onChange = function (e) {\n var files = e.target.files;\n _this.uploadFiles(files);\n _this.reset();\n }, _this.onClick = function () {\n var el = _this.fileInput;\n if (!el) {\n return;\n }\n var children = _this.props.children;\n\n if (children && children.type === \'button\') {\n el.parentNode.focus();\n el.parentNode.querySelector(\'button\').blur();\n }\n el.click();\n }, _this.onKeyDown = function (e) {\n if (e.key === \'Enter\') {\n _this.onClick();\n }\n }, _this.onFileDrop = function (e) {\n var multiple = _this.props.multiple;\n\n\n e.preventDefault();\n\n if (e.type === \'dragover\') {\n return;\n }\n\n if (_this.props.directory) {\n es_traverseFileTree(Array.prototype.slice.call(e.dataTransfer.items), _this.uploadFiles, function (_file) {\n return attr_accept(_file, _this.props.accept);\n });\n } else {\n var files = Array.prototype.slice.call(e.dataTransfer.files).filter(function (file) {\n return attr_accept(file, _this.props.accept);\n });\n\n if (multiple === false) {\n files = files.slice(0, 1);\n }\n\n _this.uploadFiles(files);\n }\n }, _this.uploadFiles = function (files) {\n var postFiles = Array.prototype.slice.call(files);\n postFiles.map(function (file) {\n file.uid = uid_uid();\n return file;\n }).forEach(function (file) {\n _this.upload(file, postFiles);\n });\n }, _this.saveFileInput = function (node) {\n _this.fileInput = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(AjaxUploader, [{\n key: \'componentDidMount\',\n value: function componentDidMount() {\n this._isMounted = true;\n }\n }, {\n key: \'componentWillUnmount\',\n value: function componentWillUnmount() {\n this._isMounted = false;\n this.abort();\n }\n }, {\n key: \'upload\',\n value: function upload(file, fileList) {\n var _this2 = this;\n\n var props = this.props;\n\n if (!props.beforeUpload) {\n // always async in case use react state to keep fileList\n return setTimeout(function () {\n return _this2.post(file);\n }, 0);\n }\n\n var before = props.beforeUpload(file, fileList);\n if (before && before.then) {\n before.then(function (processedFile) {\n var processedFileType = Object.prototype.toString.call(processedFile);\n if (processedFileType === \'[object File]\' || processedFileType === \'[object Blob]\') {\n return _this2.post(processedFile);\n }\n return _this2.post(file);\n })[\'catch\'](function (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n });\n } else if (before !== false) {\n setTimeout(function () {\n return _this2.post(file);\n }, 0);\n }\n return undefined;\n }\n }, {\n key: \'post\',\n value: function post(file) {\n var _this3 = this;\n\n if (!this._isMounted) {\n return;\n }\n var props = this.props;\n var onStart = props.onStart,\n onProgress = props.onProgress,\n _props$transformFile = props.transformFile,\n transformFile = _props$transformFile === undefined ? function (originFile) {\n return originFile;\n } : _props$transformFile;\n\n\n new Promise(function (resolve) {\n var action = props.action;\n\n if (typeof action === \'function\') {\n action = action(file);\n }\n return resolve(action);\n }).then(function (action) {\n var uid = file.uid;\n\n var request = props.customRequest || upload;\n var transform = Promise.resolve(transformFile(file)).then(function (transformedFile) {\n var data = props.data;\n\n if (typeof data === \'function\') {\n data = data(transformedFile);\n }\n return Promise.all([transformedFile, data]);\n })[\'catch\'](function (e) {\n console.error(e); // eslint-disable-line no-console\n });\n\n transform.then(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n transformedFile = _ref3[0],\n data = _ref3[1];\n\n var requestOption = {\n action: action,\n filename: props.name,\n data: data,\n file: transformedFile,\n headers: props.headers,\n withCredentials: props.withCredentials,\n method: props.method || \'post\',\n onProgress: onProgress ? function (e) {\n onProgress(e, file);\n } : null,\n onSuccess: function onSuccess(ret, xhr) {\n delete _this3.reqs[uid];\n props.onSuccess(ret, file, xhr);\n },\n onError: function onError(err, ret) {\n delete _this3.reqs[uid];\n props.onError(err, ret, file);\n }\n };\n _this3.reqs[uid] = request(requestOption);\n onStart(file);\n });\n });\n }\n }, {\n key: \'reset\',\n value: function reset() {\n this.setState({\n uid: uid_uid()\n });\n }\n }, {\n key: \'abort\',\n value: function abort(file) {\n var reqs = this.reqs;\n\n if (file) {\n var uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n delete reqs[uid];\n } else {\n Object.keys(reqs).forEach(function (uid) {\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n delete reqs[uid];\n });\n }\n }\n }, {\n key: \'render\',\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n Tag = _props.component,\n prefixCls = _props.prefixCls,\n className = _props.className,\n disabled = _props.disabled,\n id = _props.id,\n style = _props.style,\n multiple = _props.multiple,\n accept = _props.accept,\n children = _props.children,\n directory = _props.directory,\n openFileDialogOnClick = _props.openFileDialogOnClick,\n otherProps = _objectWithoutProperties(_props, [\'component\', \'prefixCls\', \'className\', \'disabled\', \'id\', \'style\', \'multiple\', \'accept\', \'children\', \'directory\', \'openFileDialogOnClick\']);\n\n var cls = classnames_default()((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, prefixCls + \'-disabled\', disabled), _defineProperty(_classNames, className, className), _classNames));\n var events = disabled ? {} : {\n onClick: openFileDialogOnClick ? this.onClick : function () {},\n onKeyDown: openFileDialogOnClick ? this.onKeyDown : function () {},\n onDrop: this.onFileDrop,\n onDragOver: this.onFileDrop,\n tabIndex: \'0\'\n };\n return react_default.a.createElement(\n Tag,\n _extends({}, events, {\n className: cls,\n role: \'button\',\n style: style\n }),\n react_default.a.createElement(\'input\', _extends({}, dataOrAriaAttributeProps(otherProps), {\n id: id,\n type: \'file\',\n ref: this.saveFileInput,\n onClick: function onClick(e) {\n return e.stopPropagation();\n } // https://github.com/ant-design/ant-design/issues/19948\n , key: this.state.uid,\n style: { display: \'none\' },\n accept: accept,\n directory: directory ? \'directory\' : null,\n webkitdirectory: directory ? \'webkitdirectory\' : null,\n multiple: multiple,\n onChange: this.onChange\n })),\n children\n );\n }\n }]);\n\n return AjaxUploader;\n}(react["Component"]);\n\n/* harmony default export */ var es_AjaxUploader = (AjaxUploader_AjaxUploader);\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/Upload.js\nvar Upload_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\nvar Upload_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; }; }();\n\nfunction Upload_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Upload_possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction Upload_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint react/prop-types:0 */\n\n\n\nfunction empty() {}\n\nvar Upload_Upload = function (_Component) {\n Upload_inherits(Upload, _Component);\n\n function Upload() {\n var _ref;\n\n var _temp, _this, _ret;\n\n Upload_classCallCheck(this, Upload);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = Upload_possibleConstructorReturn(this, (_ref = Upload.__proto__ || Object.getPrototypeOf(Upload)).call.apply(_ref, [this].concat(args))), _this), _this.saveUploader = function (node) {\n _this.uploader = node;\n }, _temp), Upload_possibleConstructorReturn(_this, _ret);\n }\n\n Upload_createClass(Upload, [{\n key: \'abort\',\n value: function abort(file) {\n this.uploader.abort(file);\n }\n }, {\n key: \'render\',\n value: function render() {\n return react_default.a.createElement(es_AjaxUploader, Upload_extends({}, this.props, { ref: this.saveUploader }));\n }\n }]);\n\n return Upload;\n}(react["Component"]);\n\nUpload_Upload.defaultProps = {\n component: \'span\',\n prefixCls: \'rc-upload\',\n data: {},\n headers: {},\n name: \'file\',\n multipart: false,\n onStart: empty,\n onError: empty,\n onSuccess: empty,\n multiple: false,\n beforeUpload: null,\n customRequest: null,\n withCredentials: false,\n openFileDialogOnClick: true\n};\n\n\n/* harmony default export */ var es_Upload = (Upload_Upload);\n// CONCATENATED MODULE: ./node_modules/rc-upload/es/index.js\n// export this package\'s api\n\n\n/* harmony default export */ var es = (es_Upload);\n// EXTERNAL MODULE: ./node_modules/rc-animate/es/Animate.js + 4 modules\nvar Animate = __webpack_require__("MFj2");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/LoadingOutlined.js\nvar LoadingOutlined = __webpack_require__("gZBC");\nvar LoadingOutlined_default = /*#__PURE__*/__webpack_require__.n(LoadingOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/PaperClipOutlined.js\nvar PaperClipOutlined = __webpack_require__("+d4F");\nvar PaperClipOutlined_default = /*#__PURE__*/__webpack_require__.n(PaperClipOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/PictureTwoTone.js\nvar PictureTwoTone = __webpack_require__("XAae");\nvar PictureTwoTone_default = /*#__PURE__*/__webpack_require__.n(PictureTwoTone);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/FileTwoTone.js\nvar FileTwoTone = __webpack_require__("6xvX");\nvar FileTwoTone_default = /*#__PURE__*/__webpack_require__.n(FileTwoTone);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/EyeOutlined.js\nvar EyeOutlined = __webpack_require__("qPY4");\nvar EyeOutlined_default = /*#__PURE__*/__webpack_require__.n(EyeOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/DeleteOutlined.js\nvar DeleteOutlined = __webpack_require__("QB+1");\nvar DeleteOutlined_default = /*#__PURE__*/__webpack_require__.n(DeleteOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/DownloadOutlined.js\nvar DownloadOutlined = __webpack_require__("Qs3X");\nvar DownloadOutlined_default = /*#__PURE__*/__webpack_require__.n(DownloadOutlined);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__("0n0R");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/upload/utils.js\nfunction utils_extends() { utils_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; }; return utils_extends.apply(this, arguments); }\n\nfunction T() {\n return true;\n} // Fix IE file.status problem\n// via coping a new Object\n\nfunction fileToObject(file) {\n return utils_extends(utils_extends({}, file), {\n lastModified: file.lastModified,\n lastModifiedDate: file.lastModifiedDate,\n name: file.name,\n size: file.size,\n type: file.type,\n uid: file.uid,\n percent: 0,\n originFileObj: file\n });\n}\nfunction getFileItem(file, fileList) {\n var matchKey = file.uid !== undefined ? \'uid\' : \'name\';\n return fileList.filter(function (item) {\n return item[matchKey] === file[matchKey];\n })[0];\n}\nfunction removeFileItem(file, fileList) {\n var matchKey = file.uid !== undefined ? \'uid\' : \'name\';\n var removed = fileList.filter(function (item) {\n return item[matchKey] !== file[matchKey];\n });\n\n if (removed.length === fileList.length) {\n return null;\n }\n\n return removed;\n} // ==================== Default Image Preview ====================\n\nvar extname = function extname() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \'\';\n var temp = url.split(\'/\');\n var filename = temp[temp.length - 1];\n var filenameWithoutSuffix = filename.split(/#|\\?/)[0];\n return (/\\.[^./\\\\]*$/.exec(filenameWithoutSuffix) || [\'\'])[0];\n};\n\nvar isImageFileType = function isImageFileType(type) {\n return type.indexOf(\'image/\') === 0;\n};\n\nvar utils_isImageUrl = function isImageUrl(file) {\n if (file.type) {\n return isImageFileType(file.type);\n }\n\n var url = file.thumbUrl || file.url;\n var extension = extname(url);\n\n if (/^data:image\\//.test(url) || /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(extension)) {\n return true;\n }\n\n if (/^data:/.test(url)) {\n // other file types of base64\n return false;\n }\n\n if (extension) {\n // other file types which have extension\n return false;\n }\n\n return true;\n};\nvar MEASURE_SIZE = 200;\nfunction previewImage(file) {\n return new Promise(function (resolve) {\n if (!file.type || !isImageFileType(file.type)) {\n resolve(\'\');\n return;\n }\n\n var canvas = document.createElement(\'canvas\');\n canvas.width = MEASURE_SIZE;\n canvas.height = MEASURE_SIZE;\n canvas.style.cssText = "position: fixed; left: 0; top: 0; width: ".concat(MEASURE_SIZE, "px; height: ").concat(MEASURE_SIZE, "px; z-index: 9999; display: none;");\n document.body.appendChild(canvas);\n var ctx = canvas.getContext(\'2d\');\n var img = new Image();\n\n img.onload = function () {\n var width = img.width,\n height = img.height;\n var drawWidth = MEASURE_SIZE;\n var drawHeight = MEASURE_SIZE;\n var offsetX = 0;\n var offsetY = 0;\n\n if (width < height) {\n drawHeight = height * (MEASURE_SIZE / width);\n offsetY = -(drawHeight - drawWidth) / 2;\n } else {\n drawWidth = width * (MEASURE_SIZE / height);\n offsetX = -(drawWidth - drawHeight) / 2;\n }\n\n ctx.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);\n var dataURL = canvas.toDataURL();\n document.body.removeChild(canvas);\n resolve(dataURL);\n };\n\n img.src = window.URL.createObjectURL(file);\n });\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 5 modules\nvar tooltip = __webpack_require__("3S7+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 9 modules\nvar es_progress = __webpack_require__("CFYs");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js\nvar es_button = __webpack_require__("2/Rp");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/upload/UploadList.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction UploadList_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction UploadList_extends() { UploadList_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; }; return UploadList_extends.apply(this, arguments); }\n\nfunction UploadList_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction UploadList_createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction UploadList_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return UploadList_possibleConstructorReturn(this, result); }; }\n\nfunction UploadList_possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar UploadList_UploadList = /*#__PURE__*/function (_React$Component) {\n UploadList_inherits(UploadList, _React$Component);\n\n var _super = _createSuper(UploadList);\n\n function UploadList() {\n var _this;\n\n UploadList_classCallCheck(this, UploadList);\n\n _this = _super.apply(this, arguments);\n\n _this.handlePreview = function (file, e) {\n var onPreview = _this.props.onPreview;\n\n if (!onPreview) {\n return;\n }\n\n e.preventDefault();\n return onPreview(file);\n };\n\n _this.handleDownload = function (file) {\n var onDownload = _this.props.onDownload;\n\n if (typeof onDownload === \'function\') {\n onDownload(file);\n } else if (file.url) {\n window.open(file.url);\n }\n };\n\n _this.handleClose = function (file) {\n var onRemove = _this.props.onRemove;\n\n if (onRemove) {\n onRemove(file);\n }\n };\n\n _this.handleIconRender = function (file) {\n var _this$props = _this.props,\n listType = _this$props.listType,\n locale = _this$props.locale,\n iconRender = _this$props.iconRender,\n isImgUrl = _this$props.isImageUrl;\n\n if (iconRender) {\n return iconRender(file, listType);\n }\n\n var isLoading = file.status === \'uploading\';\n var fileIcon = isImgUrl && isImgUrl(file) ? /*#__PURE__*/react["createElement"](PictureTwoTone_default.a, null) : /*#__PURE__*/react["createElement"](FileTwoTone_default.a, null);\n var icon = isLoading ? /*#__PURE__*/react["createElement"](LoadingOutlined_default.a, null) : /*#__PURE__*/react["createElement"](PaperClipOutlined_default.a, null);\n\n if (listType === \'picture\') {\n icon = isLoading ? /*#__PURE__*/react["createElement"](LoadingOutlined_default.a, null) : fileIcon;\n } else if (listType === \'picture-card\') {\n icon = isLoading ? locale.uploading : fileIcon;\n }\n\n return icon;\n };\n\n _this.handleActionIconRender = function (customIcon, callback, prefixCls, title) {\n var btnProps = {\n type: \'text\',\n size: \'small\',\n title: title,\n onClick: function onClick(e) {\n callback();\n\n if (Object(reactNode["b" /* isValidElement */])(customIcon) && customIcon.props.onClick) {\n customIcon.props.onClick(e);\n }\n },\n className: "".concat(prefixCls, "-list-item-card-actions-btn")\n };\n\n if (Object(reactNode["b" /* isValidElement */])(customIcon)) {\n var btnIcon = Object(reactNode["a" /* cloneElement */])(customIcon, UploadList_extends(UploadList_extends({}, customIcon.props), {\n onClick: function onClick() {}\n }));\n return /*#__PURE__*/react["createElement"](es_button["a" /* default */], UploadList_extends({}, btnProps, {\n icon: btnIcon\n }));\n }\n\n return /*#__PURE__*/react["createElement"](es_button["a" /* default */], btnProps, /*#__PURE__*/react["createElement"]("span", null, customIcon));\n };\n\n _this.renderUploadList = function (_ref) {\n var _classNames6;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n _this$props2$items = _this$props2.items,\n items = _this$props2$items === void 0 ? [] : _this$props2$items,\n listType = _this$props2.listType,\n showPreviewIcon = _this$props2.showPreviewIcon,\n showRemoveIcon = _this$props2.showRemoveIcon,\n showDownloadIcon = _this$props2.showDownloadIcon,\n customRemoveIcon = _this$props2.removeIcon,\n customDownloadIcon = _this$props2.downloadIcon,\n locale = _this$props2.locale,\n progressProps = _this$props2.progress,\n isImgUrl = _this$props2.isImageUrl;\n var prefixCls = getPrefixCls(\'upload\', customizePrefixCls);\n var list = items.map(function (file) {\n var _classNames3, _classNames4;\n\n var progress;\n\n var iconNode = _this.handleIconRender(file);\n\n var icon = /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-text-icon")\n }, iconNode);\n\n if (listType === \'picture\' || listType === \'picture-card\') {\n if (file.status === \'uploading\' || !file.thumbUrl && !file.url) {\n var _classNames;\n\n var uploadingClassName = classnames_default()((_classNames = {}, UploadList_defineProperty(_classNames, "".concat(prefixCls, "-list-item-thumbnail"), true), UploadList_defineProperty(_classNames, "".concat(prefixCls, "-list-item-file"), file.status !== \'uploading\'), _classNames));\n icon = /*#__PURE__*/react["createElement"]("div", {\n className: uploadingClassName\n }, iconNode);\n } else {\n var _classNames2;\n\n var thumbnail = isImgUrl && isImgUrl(file) ? /*#__PURE__*/react["createElement"]("img", {\n src: file.thumbUrl || file.url,\n alt: file.name,\n className: "".concat(prefixCls, "-list-item-image")\n }) : iconNode;\n var aClassName = classnames_default()((_classNames2 = {}, UploadList_defineProperty(_classNames2, "".concat(prefixCls, "-list-item-thumbnail"), true), UploadList_defineProperty(_classNames2, "".concat(prefixCls, "-list-item-file"), isImgUrl && !isImgUrl(file)), _classNames2));\n icon = /*#__PURE__*/react["createElement"]("a", {\n className: aClassName,\n onClick: function onClick(e) {\n return _this.handlePreview(file, e);\n },\n href: file.url || file.thumbUrl,\n target: "_blank",\n rel: "noopener noreferrer"\n }, thumbnail);\n }\n }\n\n if (file.status === \'uploading\') {\n // show loading icon if upload progress listener is disabled\n var loadingProgress = \'percent\' in file ? /*#__PURE__*/react["createElement"](es_progress["a" /* default */], UploadList_extends({}, progressProps, {\n type: "line",\n percent: file.percent\n })) : null;\n progress = /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-list-item-progress"),\n key: "progress"\n }, loadingProgress);\n }\n\n var infoUploadingClass = classnames_default()((_classNames3 = {}, UploadList_defineProperty(_classNames3, "".concat(prefixCls, "-list-item"), true), UploadList_defineProperty(_classNames3, "".concat(prefixCls, "-list-item-").concat(file.status), true), UploadList_defineProperty(_classNames3, "".concat(prefixCls, "-list-item-list-type-").concat(listType), true), _classNames3));\n var linkProps = typeof file.linkProps === \'string\' ? JSON.parse(file.linkProps) : file.linkProps;\n var removeIcon = showRemoveIcon ? _this.handleActionIconRender(customRemoveIcon || /*#__PURE__*/react["createElement"](DeleteOutlined_default.a, null), function () {\n return _this.handleClose(file);\n }, prefixCls, locale.removeFile) : null;\n var downloadIcon = showDownloadIcon && file.status === \'done\' ? _this.handleActionIconRender(customDownloadIcon || /*#__PURE__*/react["createElement"](DownloadOutlined_default.a, null), function () {\n return _this.handleDownload(file);\n }, prefixCls, locale.downloadFile) : null;\n var downloadOrDelete = listType !== \'picture-card\' && /*#__PURE__*/react["createElement"]("span", {\n key: "download-delete",\n className: "".concat(prefixCls, "-list-item-card-actions ").concat(listType === \'picture\' ? \'picture\' : \'\')\n }, downloadIcon, removeIcon);\n var listItemNameClass = classnames_default()((_classNames4 = {}, UploadList_defineProperty(_classNames4, "".concat(prefixCls, "-list-item-name"), true), UploadList_defineProperty(_classNames4, "".concat(prefixCls, "-list-item-name-icon-count-").concat([downloadIcon, removeIcon].filter(function (x) {\n return x;\n }).length), true), _classNames4));\n var preview = file.url ? [/*#__PURE__*/react["createElement"]("a", UploadList_extends({\n key: "view",\n target: "_blank",\n rel: "noopener noreferrer",\n className: listItemNameClass,\n title: file.name\n }, linkProps, {\n href: file.url,\n onClick: function onClick(e) {\n return _this.handlePreview(file, e);\n }\n }), file.name), downloadOrDelete] : [/*#__PURE__*/react["createElement"]("span", {\n key: "view",\n className: listItemNameClass,\n onClick: function onClick(e) {\n return _this.handlePreview(file, e);\n },\n title: file.name\n }, file.name), downloadOrDelete];\n var style = {\n pointerEvents: \'none\',\n opacity: 0.5\n };\n var previewIcon = showPreviewIcon ? /*#__PURE__*/react["createElement"]("a", {\n href: file.url || file.thumbUrl,\n target: "_blank",\n rel: "noopener noreferrer",\n style: file.url || file.thumbUrl ? undefined : style,\n onClick: function onClick(e) {\n return _this.handlePreview(file, e);\n },\n title: locale.previewFile\n }, /*#__PURE__*/react["createElement"](EyeOutlined_default.a, null)) : null;\n var actions = listType === \'picture-card\' && file.status !== \'uploading\' && /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-list-item-actions")\n }, previewIcon, file.status === \'done\' && downloadIcon, removeIcon);\n var message;\n\n if (file.response && typeof file.response === \'string\') {\n message = file.response;\n } else {\n message = file.error && file.error.statusText || locale.uploadError;\n }\n\n var iconAndPreview = /*#__PURE__*/react["createElement"]("span", null, icon, preview);\n var dom = /*#__PURE__*/react["createElement"]("div", {\n className: infoUploadingClass\n }, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-list-item-info")\n }, iconAndPreview), actions, /*#__PURE__*/react["createElement"](Animate["a" /* default */], {\n transitionName: "fade",\n component: ""\n }, progress));\n var listContainerNameClass = classnames_default()(UploadList_defineProperty({}, "".concat(prefixCls, "-list-picture-card-container"), listType === \'picture-card\'));\n return /*#__PURE__*/react["createElement"]("div", {\n key: file.uid,\n className: listContainerNameClass\n }, file.status === \'error\' ? /*#__PURE__*/react["createElement"](tooltip["a" /* default */], {\n title: message,\n getPopupContainer: function getPopupContainer(node) {\n return node.parentNode;\n }\n }, dom) : /*#__PURE__*/react["createElement"]("span", null, dom));\n });\n var listClassNames = classnames_default()((_classNames6 = {}, UploadList_defineProperty(_classNames6, "".concat(prefixCls, "-list"), true), UploadList_defineProperty(_classNames6, "".concat(prefixCls, "-list-").concat(listType), true), UploadList_defineProperty(_classNames6, "".concat(prefixCls, "-list-rtl"), direction === \'rtl\'), _classNames6));\n var animationDirection = listType === \'picture-card\' ? \'animate-inline\' : \'animate\';\n return /*#__PURE__*/react["createElement"](Animate["a" /* default */], {\n transitionName: "".concat(prefixCls, "-").concat(animationDirection),\n component: "div",\n className: listClassNames\n }, list);\n };\n\n return _this;\n }\n\n UploadList_createClass(UploadList, [{\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n listType = _this$props3.listType,\n items = _this$props3.items,\n previewFile = _this$props3.previewFile;\n\n if (listType !== \'picture\' && listType !== \'picture-card\') {\n return;\n }\n\n (items || []).forEach(function (file) {\n if (typeof document === \'undefined\' || typeof window === \'undefined\' || !window.FileReader || !window.File || !(file.originFileObj instanceof File || file.originFileObj instanceof Blob) || file.thumbUrl !== undefined) {\n return;\n }\n\n file.thumbUrl = \'\';\n\n if (previewFile) {\n previewFile(file.originFileObj).then(function (previewDataUrl) {\n // Need append \'\' to avoid dead loop\n file.thumbUrl = previewDataUrl || \'\';\n\n _this2.forceUpdate();\n });\n }\n });\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderUploadList);\n }\n }]);\n\n return UploadList;\n}(react["Component"]);\n\n\nUploadList_UploadList.defaultProps = {\n listType: \'text\',\n progress: {\n strokeWidth: 2,\n showInfo: false\n },\n showRemoveIcon: true,\n showDownloadIcon: false,\n showPreviewIcon: true,\n previewFile: previewImage,\n isImageUrl: utils_isImageUrl\n};\n// EXTERNAL MODULE: ./node_modules/antd/es/locale-provider/LocaleReceiver.js + 1 modules\nvar LocaleReceiver = __webpack_require__("YMnH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/locale/default.js + 1 modules\nvar locale_default = __webpack_require__("ZvpZ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/devWarning.js\nvar devWarning = __webpack_require__("uaoM");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/upload/Upload.js\nfunction Upload_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Upload_typeof = function _typeof(obj) { return typeof obj; }; } else { Upload_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Upload_typeof(obj); }\n\nfunction Upload_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction upload_Upload_extends() { upload_Upload_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; }; return upload_Upload_extends.apply(this, arguments); }\n\nfunction upload_Upload_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Upload_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction upload_Upload_createClass(Constructor, protoProps, staticProps) { if (protoProps) Upload_defineProperties(Constructor.prototype, protoProps); if (staticProps) Upload_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction upload_Upload_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Upload_setPrototypeOf(subClass, superClass); }\n\nfunction Upload_setPrototypeOf(o, p) { Upload_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Upload_setPrototypeOf(o, p); }\n\nfunction Upload_createSuper(Derived) { var hasNativeReflectConstruct = Upload_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Upload_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Upload_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return upload_Upload_possibleConstructorReturn(this, result); }; }\n\nfunction upload_Upload_possibleConstructorReturn(self, call) { if (call && (Upload_typeof(call) === "object" || typeof call === "function")) { return call; } return Upload_assertThisInitialized(self); }\n\nfunction Upload_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Upload_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Upload_getPrototypeOf(o) { Upload_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Upload_getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\nvar upload_Upload_Upload = /*#__PURE__*/function (_React$Component) {\n upload_Upload_inherits(Upload, _React$Component);\n\n var _super = Upload_createSuper(Upload);\n\n function Upload(props) {\n var _this;\n\n upload_Upload_classCallCheck(this, Upload);\n\n _this = _super.call(this, props);\n\n _this.saveUpload = function (node) {\n _this.upload = node;\n };\n\n _this.onStart = function (file) {\n var fileList = _this.state.fileList;\n var targetItem = fileToObject(file);\n targetItem.status = \'uploading\';\n var nextFileList = fileList.concat();\n var fileIndex = nextFileList.findIndex(function (_ref) {\n var uid = _ref.uid;\n return uid === targetItem.uid;\n });\n\n if (fileIndex === -1) {\n nextFileList.push(targetItem);\n } else {\n nextFileList[fileIndex] = targetItem;\n }\n\n _this.onChange({\n file: targetItem,\n fileList: nextFileList\n });\n };\n\n _this.onSuccess = function (response, file, xhr) {\n _this.clearProgressTimer();\n\n try {\n if (typeof response === \'string\') {\n response = JSON.parse(response);\n }\n } catch (e) {\n /* do nothing */\n }\n\n var fileList = _this.state.fileList;\n var targetItem = getFileItem(file, fileList); // removed\n\n if (!targetItem) {\n return;\n }\n\n targetItem.status = \'done\';\n targetItem.response = response;\n targetItem.xhr = xhr;\n\n _this.onChange({\n file: upload_Upload_extends({}, targetItem),\n fileList: fileList\n });\n };\n\n _this.onProgress = function (e, file) {\n var fileList = _this.state.fileList;\n var targetItem = getFileItem(file, fileList); // removed\n\n if (!targetItem) {\n return;\n }\n\n targetItem.percent = e.percent;\n\n _this.onChange({\n event: e,\n file: upload_Upload_extends({}, targetItem),\n fileList: fileList\n });\n };\n\n _this.onError = function (error, response, file) {\n _this.clearProgressTimer();\n\n var fileList = _this.state.fileList;\n var targetItem = getFileItem(file, fileList); // removed\n\n if (!targetItem) {\n return;\n }\n\n targetItem.error = error;\n targetItem.response = response;\n targetItem.status = \'error\';\n\n _this.onChange({\n file: upload_Upload_extends({}, targetItem),\n fileList: fileList\n });\n };\n\n _this.handleRemove = function (file) {\n var onRemove = _this.props.onRemove;\n var fileList = _this.state.fileList;\n Promise.resolve(typeof onRemove === \'function\' ? onRemove(file) : onRemove).then(function (ret) {\n // Prevent removing file\n if (ret === false) {\n return;\n }\n\n var removedFileList = removeFileItem(file, fileList);\n\n if (removedFileList) {\n file.status = \'removed\';\n\n if (_this.upload) {\n _this.upload.abort(file);\n }\n\n _this.onChange({\n file: file,\n fileList: removedFileList\n });\n }\n });\n };\n\n _this.onChange = function (info) {\n if (!(\'fileList\' in _this.props)) {\n _this.setState({\n fileList: info.fileList\n });\n }\n\n var onChange = _this.props.onChange;\n\n if (onChange) {\n onChange(upload_Upload_extends(upload_Upload_extends({}, info), {\n fileList: _toConsumableArray(info.fileList)\n }));\n }\n };\n\n _this.onFileDrop = function (e) {\n _this.setState({\n dragState: e.type\n });\n };\n\n _this.beforeUpload = function (file, fileList) {\n var beforeUpload = _this.props.beforeUpload;\n var stateFileList = _this.state.fileList;\n\n if (!beforeUpload) {\n return true;\n }\n\n var result = beforeUpload(file, fileList);\n\n if (result === false) {\n // Get unique file list\n var uniqueList = [];\n stateFileList.concat(fileList.map(fileToObject)).forEach(function (f) {\n if (uniqueList.every(function (uf) {\n return uf.uid !== f.uid;\n })) {\n uniqueList.push(f);\n }\n });\n\n _this.onChange({\n file: file,\n fileList: uniqueList\n });\n\n return false;\n }\n\n if (result && result.then) {\n return result;\n }\n\n return true;\n };\n\n _this.renderUploadList = function (locale) {\n var _this$props = _this.props,\n showUploadList = _this$props.showUploadList,\n listType = _this$props.listType,\n onPreview = _this$props.onPreview,\n onDownload = _this$props.onDownload,\n previewFile = _this$props.previewFile,\n disabled = _this$props.disabled,\n propLocale = _this$props.locale,\n iconRender = _this$props.iconRender,\n isImageUrl = _this$props.isImageUrl,\n progress = _this$props.progress;\n var showRemoveIcon = showUploadList.showRemoveIcon,\n showPreviewIcon = showUploadList.showPreviewIcon,\n showDownloadIcon = showUploadList.showDownloadIcon,\n removeIcon = showUploadList.removeIcon,\n downloadIcon = showUploadList.downloadIcon;\n var fileList = _this.state.fileList;\n return /*#__PURE__*/react["createElement"](UploadList_UploadList, {\n listType: listType,\n items: fileList,\n previewFile: previewFile,\n onPreview: onPreview,\n onDownload: onDownload,\n onRemove: _this.handleRemove,\n showRemoveIcon: !disabled && showRemoveIcon,\n showPreviewIcon: showPreviewIcon,\n showDownloadIcon: showDownloadIcon,\n removeIcon: removeIcon,\n downloadIcon: downloadIcon,\n iconRender: iconRender,\n locale: upload_Upload_extends(upload_Upload_extends({}, locale), propLocale),\n isImageUrl: isImageUrl,\n progress: progress\n });\n };\n\n _this.renderUpload = function (_ref2) {\n var _classNames2;\n\n var getPrefixCls = _ref2.getPrefixCls,\n direction = _ref2.direction;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n showUploadList = _this$props2.showUploadList,\n listType = _this$props2.listType,\n type = _this$props2.type,\n disabled = _this$props2.disabled,\n children = _this$props2.children,\n style = _this$props2.style;\n var _this$state = _this.state,\n fileList = _this$state.fileList,\n dragState = _this$state.dragState;\n var prefixCls = getPrefixCls(\'upload\', customizePrefixCls);\n\n var rcUploadProps = upload_Upload_extends(upload_Upload_extends({\n onStart: _this.onStart,\n onError: _this.onError,\n onProgress: _this.onProgress,\n onSuccess: _this.onSuccess\n }, _this.props), {\n prefixCls: prefixCls,\n beforeUpload: _this.beforeUpload\n });\n\n delete rcUploadProps.className;\n delete rcUploadProps.style; // Remove id to avoid open by label when trigger is hidden\n // !children: https://github.com/ant-design/ant-design/issues/14298\n // disabled: https://github.com/ant-design/ant-design/issues/16478\n // https://github.com/ant-design/ant-design/issues/24197\n\n if (!children || disabled) {\n delete rcUploadProps.id;\n }\n\n var uploadList = showUploadList ? /*#__PURE__*/react["createElement"](LocaleReceiver["a" /* default */], {\n componentName: "Upload",\n defaultLocale: locale_default["a" /* default */].Upload\n }, _this.renderUploadList) : null;\n\n if (type === \'drag\') {\n var _classNames;\n\n var dragCls = classnames_default()(prefixCls, (_classNames = {}, Upload_defineProperty(_classNames, "".concat(prefixCls, "-drag"), true), Upload_defineProperty(_classNames, "".concat(prefixCls, "-drag-uploading"), fileList.some(function (file) {\n return file.status === \'uploading\';\n })), Upload_defineProperty(_classNames, "".concat(prefixCls, "-drag-hover"), dragState === \'dragover\'), Upload_defineProperty(_classNames, "".concat(prefixCls, "-disabled"), disabled), Upload_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames), className);\n return /*#__PURE__*/react["createElement"]("span", null, /*#__PURE__*/react["createElement"]("div", {\n className: dragCls,\n onDrop: _this.onFileDrop,\n onDragOver: _this.onFileDrop,\n onDragLeave: _this.onFileDrop,\n style: style\n }, /*#__PURE__*/react["createElement"](es, upload_Upload_extends({}, rcUploadProps, {\n ref: _this.saveUpload,\n className: "".concat(prefixCls, "-btn")\n }), /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-drag-container")\n }, children))), uploadList);\n }\n\n var uploadButtonCls = classnames_default()(prefixCls, (_classNames2 = {}, Upload_defineProperty(_classNames2, "".concat(prefixCls, "-select"), true), Upload_defineProperty(_classNames2, "".concat(prefixCls, "-select-").concat(listType), true), Upload_defineProperty(_classNames2, "".concat(prefixCls, "-disabled"), disabled), Upload_defineProperty(_classNames2, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames2));\n var uploadButton = /*#__PURE__*/react["createElement"]("div", {\n className: uploadButtonCls,\n style: children ? undefined : {\n display: \'none\'\n }\n }, /*#__PURE__*/react["createElement"](es, upload_Upload_extends({}, rcUploadProps, {\n ref: _this.saveUpload\n })));\n\n if (listType === \'picture-card\') {\n return /*#__PURE__*/react["createElement"]("span", {\n className: classnames_default()(className, "".concat(prefixCls, "-picture-card-wrapper"))\n }, uploadList, uploadButton);\n }\n\n return /*#__PURE__*/react["createElement"]("span", {\n className: className\n }, uploadButton, uploadList);\n };\n\n _this.state = {\n fileList: props.fileList || props.defaultFileList || [],\n dragState: \'drop\'\n };\n Object(devWarning["a" /* default */])(\'fileList\' in props || !(\'value\' in props), \'Upload\', \'`value` is not a valid prop, do you mean `fileList`?\');\n return _this;\n }\n\n upload_Upload_createClass(Upload, [{\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n this.clearProgressTimer();\n }\n }, {\n key: "clearProgressTimer",\n value: function clearProgressTimer() {\n clearInterval(this.progressTimer);\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderUpload);\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps) {\n if (\'fileList\' in nextProps) {\n return {\n fileList: nextProps.fileList || []\n };\n }\n\n return null;\n }\n }]);\n\n return Upload;\n}(react["Component"]);\n\nupload_Upload_Upload.defaultProps = {\n type: \'select\',\n multiple: false,\n action: \'\',\n data: {},\n accept: \'\',\n beforeUpload: T,\n showUploadList: true,\n listType: \'text\',\n className: \'\',\n disabled: false,\n supportServerRender: true\n};\n/* harmony default export */ var upload_Upload = (upload_Upload_Upload);\n// CONCATENATED MODULE: ./node_modules/antd/es/upload/Dragger.js\nfunction Dragger_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Dragger_typeof = function _typeof(obj) { return typeof obj; }; } else { Dragger_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Dragger_typeof(obj); }\n\nfunction Dragger_extends() { Dragger_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; }; return Dragger_extends.apply(this, arguments); }\n\nfunction Dragger_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Dragger_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction Dragger_createClass(Constructor, protoProps, staticProps) { if (protoProps) Dragger_defineProperties(Constructor.prototype, protoProps); if (staticProps) Dragger_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction Dragger_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Dragger_setPrototypeOf(subClass, superClass); }\n\nfunction Dragger_setPrototypeOf(o, p) { Dragger_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Dragger_setPrototypeOf(o, p); }\n\nfunction Dragger_createSuper(Derived) { var hasNativeReflectConstruct = Dragger_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Dragger_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Dragger_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Dragger_possibleConstructorReturn(this, result); }; }\n\nfunction Dragger_possibleConstructorReturn(self, call) { if (call && (Dragger_typeof(call) === "object" || typeof call === "function")) { return call; } return Dragger_assertThisInitialized(self); }\n\nfunction Dragger_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Dragger_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Dragger_getPrototypeOf(o) { Dragger_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Dragger_getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n // stick class comoponent to avoid React ref warning inside Form\n// https://github.com/ant-design/ant-design/issues/18707\n// eslint-disable-next-line react/prefer-stateless-function\n\nvar Dragger_Dragger = /*#__PURE__*/function (_React$Component) {\n Dragger_inherits(Dragger, _React$Component);\n\n var _super = Dragger_createSuper(Dragger);\n\n function Dragger() {\n Dragger_classCallCheck(this, Dragger);\n\n return _super.apply(this, arguments);\n }\n\n Dragger_createClass(Dragger, [{\n key: "render",\n value: function render() {\n var _a = this.props,\n style = _a.style,\n height = _a.height,\n restProps = __rest(_a, ["style", "height"]);\n\n return /*#__PURE__*/react["createElement"](upload_Upload, Dragger_extends({}, restProps, {\n type: "drag",\n style: Dragger_extends(Dragger_extends({}, style), {\n height: height\n })\n }));\n }\n }]);\n\n return Dragger;\n}(react["Component"]);\n\n\n// CONCATENATED MODULE: ./node_modules/antd/es/upload/index.js\n\n\nupload_Upload.Dragger = Dragger_Dragger;\n/* harmony default export */ var es_upload = __webpack_exports__["a"] = (upload_Upload);\n\n//# sourceURL=webpack:///./node_modules/antd/es/upload/index.js_+_11_modules?')},"8z58":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "CancellationTokenSource", function() { return /* binding */ CancellationTokenSource; });\n__webpack_require__.d(__webpack_exports__, "Emitter", function() { return /* binding */ Emitter; });\n__webpack_require__.d(__webpack_exports__, "KeyCode", function() { return /* binding */ editor_api_KeyCode; });\n__webpack_require__.d(__webpack_exports__, "KeyMod", function() { return /* binding */ editor_api_KeyMod; });\n__webpack_require__.d(__webpack_exports__, "Position", function() { return /* binding */ Position; });\n__webpack_require__.d(__webpack_exports__, "Range", function() { return /* binding */ Range; });\n__webpack_require__.d(__webpack_exports__, "Selection", function() { return /* binding */ Selection; });\n__webpack_require__.d(__webpack_exports__, "SelectionDirection", function() { return /* binding */ editor_api_SelectionDirection; });\n__webpack_require__.d(__webpack_exports__, "MarkerSeverity", function() { return /* binding */ editor_api_MarkerSeverity; });\n__webpack_require__.d(__webpack_exports__, "MarkerTag", function() { return /* binding */ editor_api_MarkerTag; });\n__webpack_require__.d(__webpack_exports__, "Uri", function() { return /* binding */ Uri; });\n__webpack_require__.d(__webpack_exports__, "Token", function() { return /* binding */ Token; });\n__webpack_require__.d(__webpack_exports__, "editor", function() { return /* binding */ editor_api_editor; });\n__webpack_require__.d(__webpack_exports__, "languages", function() { return /* binding */ languages; });\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js\nvar editorOptions = __webpack_require__("/UlZ");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/standalone/promise-polyfill/polyfill.js\nvar polyfill = __webpack_require__("URDS");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\nvar cancellation = __webpack_require__("JQT/");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/event.js\nvar common_event = __webpack_require__("MI8n");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js\nvar keyCodes = __webpack_require__("/kV6");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/uri.js\nvar common_uri = __webpack_require__("bY76");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\nvar core_position = __webpack_require__("cGHE");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\nvar core_range = __webpack_require__("aokT");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/selection.js\nvar core_selection = __webpack_require__("gCVg");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/token.js\nvar core_token = __webpack_require__("Tcc1");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/standalone/standaloneEnums.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n// THIS IS A GENERATED FILE. DO NOT EDIT DIRECTLY.\r\nvar AccessibilitySupport;\r\n(function (AccessibilitySupport) {\r\n /**\r\n * This should be the browser case where it is not known if a screen reader is attached or no.\r\n */\r\n AccessibilitySupport[AccessibilitySupport["Unknown"] = 0] = "Unknown";\r\n AccessibilitySupport[AccessibilitySupport["Disabled"] = 1] = "Disabled";\r\n AccessibilitySupport[AccessibilitySupport["Enabled"] = 2] = "Enabled";\r\n})(AccessibilitySupport || (AccessibilitySupport = {}));\r\nvar CompletionItemInsertTextRule;\r\n(function (CompletionItemInsertTextRule) {\r\n /**\r\n * Adjust whitespace/indentation of multiline insert texts to\r\n * match the current line indentation.\r\n */\r\n CompletionItemInsertTextRule[CompletionItemInsertTextRule["KeepWhitespace"] = 1] = "KeepWhitespace";\r\n /**\r\n * `insertText` is a snippet.\r\n */\r\n CompletionItemInsertTextRule[CompletionItemInsertTextRule["InsertAsSnippet"] = 4] = "InsertAsSnippet";\r\n})(CompletionItemInsertTextRule || (CompletionItemInsertTextRule = {}));\r\nvar CompletionItemKind;\r\n(function (CompletionItemKind) {\r\n CompletionItemKind[CompletionItemKind["Method"] = 0] = "Method";\r\n CompletionItemKind[CompletionItemKind["Function"] = 1] = "Function";\r\n CompletionItemKind[CompletionItemKind["Constructor"] = 2] = "Constructor";\r\n CompletionItemKind[CompletionItemKind["Field"] = 3] = "Field";\r\n CompletionItemKind[CompletionItemKind["Variable"] = 4] = "Variable";\r\n CompletionItemKind[CompletionItemKind["Class"] = 5] = "Class";\r\n CompletionItemKind[CompletionItemKind["Struct"] = 6] = "Struct";\r\n CompletionItemKind[CompletionItemKind["Interface"] = 7] = "Interface";\r\n CompletionItemKind[CompletionItemKind["Module"] = 8] = "Module";\r\n CompletionItemKind[CompletionItemKind["Property"] = 9] = "Property";\r\n CompletionItemKind[CompletionItemKind["Event"] = 10] = "Event";\r\n CompletionItemKind[CompletionItemKind["Operator"] = 11] = "Operator";\r\n CompletionItemKind[CompletionItemKind["Unit"] = 12] = "Unit";\r\n CompletionItemKind[CompletionItemKind["Value"] = 13] = "Value";\r\n CompletionItemKind[CompletionItemKind["Constant"] = 14] = "Constant";\r\n CompletionItemKind[CompletionItemKind["Enum"] = 15] = "Enum";\r\n CompletionItemKind[CompletionItemKind["EnumMember"] = 16] = "EnumMember";\r\n CompletionItemKind[CompletionItemKind["Keyword"] = 17] = "Keyword";\r\n CompletionItemKind[CompletionItemKind["Text"] = 18] = "Text";\r\n CompletionItemKind[CompletionItemKind["Color"] = 19] = "Color";\r\n CompletionItemKind[CompletionItemKind["File"] = 20] = "File";\r\n CompletionItemKind[CompletionItemKind["Reference"] = 21] = "Reference";\r\n CompletionItemKind[CompletionItemKind["Customcolor"] = 22] = "Customcolor";\r\n CompletionItemKind[CompletionItemKind["Folder"] = 23] = "Folder";\r\n CompletionItemKind[CompletionItemKind["TypeParameter"] = 24] = "TypeParameter";\r\n CompletionItemKind[CompletionItemKind["Snippet"] = 25] = "Snippet";\r\n})(CompletionItemKind || (CompletionItemKind = {}));\r\nvar CompletionItemTag;\r\n(function (CompletionItemTag) {\r\n CompletionItemTag[CompletionItemTag["Deprecated"] = 1] = "Deprecated";\r\n})(CompletionItemTag || (CompletionItemTag = {}));\r\n/**\r\n * How a suggest provider was triggered.\r\n */\r\nvar CompletionTriggerKind;\r\n(function (CompletionTriggerKind) {\r\n CompletionTriggerKind[CompletionTriggerKind["Invoke"] = 0] = "Invoke";\r\n CompletionTriggerKind[CompletionTriggerKind["TriggerCharacter"] = 1] = "TriggerCharacter";\r\n CompletionTriggerKind[CompletionTriggerKind["TriggerForIncompleteCompletions"] = 2] = "TriggerForIncompleteCompletions";\r\n})(CompletionTriggerKind || (CompletionTriggerKind = {}));\r\n/**\r\n * A positioning preference for rendering content widgets.\r\n */\r\nvar ContentWidgetPositionPreference;\r\n(function (ContentWidgetPositionPreference) {\r\n /**\r\n * Place the content widget exactly at a position\r\n */\r\n ContentWidgetPositionPreference[ContentWidgetPositionPreference["EXACT"] = 0] = "EXACT";\r\n /**\r\n * Place the content widget above a position\r\n */\r\n ContentWidgetPositionPreference[ContentWidgetPositionPreference["ABOVE"] = 1] = "ABOVE";\r\n /**\r\n * Place the content widget below a position\r\n */\r\n ContentWidgetPositionPreference[ContentWidgetPositionPreference["BELOW"] = 2] = "BELOW";\r\n})(ContentWidgetPositionPreference || (ContentWidgetPositionPreference = {}));\r\n/**\r\n * Describes the reason the cursor has changed its position.\r\n */\r\nvar CursorChangeReason;\r\n(function (CursorChangeReason) {\r\n /**\r\n * Unknown or not set.\r\n */\r\n CursorChangeReason[CursorChangeReason["NotSet"] = 0] = "NotSet";\r\n /**\r\n * A `model.setValue()` was called.\r\n */\r\n CursorChangeReason[CursorChangeReason["ContentFlush"] = 1] = "ContentFlush";\r\n /**\r\n * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.\r\n */\r\n CursorChangeReason[CursorChangeReason["RecoverFromMarkers"] = 2] = "RecoverFromMarkers";\r\n /**\r\n * There was an explicit user gesture.\r\n */\r\n CursorChangeReason[CursorChangeReason["Explicit"] = 3] = "Explicit";\r\n /**\r\n * There was a Paste.\r\n */\r\n CursorChangeReason[CursorChangeReason["Paste"] = 4] = "Paste";\r\n /**\r\n * There was an Undo.\r\n */\r\n CursorChangeReason[CursorChangeReason["Undo"] = 5] = "Undo";\r\n /**\r\n * There was a Redo.\r\n */\r\n CursorChangeReason[CursorChangeReason["Redo"] = 6] = "Redo";\r\n})(CursorChangeReason || (CursorChangeReason = {}));\r\n/**\r\n * The default end of line to use when instantiating models.\r\n */\r\nvar DefaultEndOfLine;\r\n(function (DefaultEndOfLine) {\r\n /**\r\n * Use line feed (\\n) as the end of line character.\r\n */\r\n DefaultEndOfLine[DefaultEndOfLine["LF"] = 1] = "LF";\r\n /**\r\n * Use carriage return and line feed (\\r\\n) as the end of line character.\r\n */\r\n DefaultEndOfLine[DefaultEndOfLine["CRLF"] = 2] = "CRLF";\r\n})(DefaultEndOfLine || (DefaultEndOfLine = {}));\r\n/**\r\n * A document highlight kind.\r\n */\r\nvar DocumentHighlightKind;\r\n(function (DocumentHighlightKind) {\r\n /**\r\n * A textual occurrence.\r\n */\r\n DocumentHighlightKind[DocumentHighlightKind["Text"] = 0] = "Text";\r\n /**\r\n * Read-access of a symbol, like reading a variable.\r\n */\r\n DocumentHighlightKind[DocumentHighlightKind["Read"] = 1] = "Read";\r\n /**\r\n * Write-access of a symbol, like writing to a variable.\r\n */\r\n DocumentHighlightKind[DocumentHighlightKind["Write"] = 2] = "Write";\r\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\r\n/**\r\n * Configuration options for auto indentation in the editor\r\n */\r\nvar EditorAutoIndentStrategy;\r\n(function (EditorAutoIndentStrategy) {\r\n EditorAutoIndentStrategy[EditorAutoIndentStrategy["None"] = 0] = "None";\r\n EditorAutoIndentStrategy[EditorAutoIndentStrategy["Keep"] = 1] = "Keep";\r\n EditorAutoIndentStrategy[EditorAutoIndentStrategy["Brackets"] = 2] = "Brackets";\r\n EditorAutoIndentStrategy[EditorAutoIndentStrategy["Advanced"] = 3] = "Advanced";\r\n EditorAutoIndentStrategy[EditorAutoIndentStrategy["Full"] = 4] = "Full";\r\n})(EditorAutoIndentStrategy || (EditorAutoIndentStrategy = {}));\r\nvar EditorOption;\r\n(function (EditorOption) {\r\n EditorOption[EditorOption["acceptSuggestionOnCommitCharacter"] = 0] = "acceptSuggestionOnCommitCharacter";\r\n EditorOption[EditorOption["acceptSuggestionOnEnter"] = 1] = "acceptSuggestionOnEnter";\r\n EditorOption[EditorOption["accessibilitySupport"] = 2] = "accessibilitySupport";\r\n EditorOption[EditorOption["accessibilityPageSize"] = 3] = "accessibilityPageSize";\r\n EditorOption[EditorOption["ariaLabel"] = 4] = "ariaLabel";\r\n EditorOption[EditorOption["autoClosingBrackets"] = 5] = "autoClosingBrackets";\r\n EditorOption[EditorOption["autoClosingOvertype"] = 6] = "autoClosingOvertype";\r\n EditorOption[EditorOption["autoClosingQuotes"] = 7] = "autoClosingQuotes";\r\n EditorOption[EditorOption["autoIndent"] = 8] = "autoIndent";\r\n EditorOption[EditorOption["automaticLayout"] = 9] = "automaticLayout";\r\n EditorOption[EditorOption["autoSurround"] = 10] = "autoSurround";\r\n EditorOption[EditorOption["codeLens"] = 11] = "codeLens";\r\n EditorOption[EditorOption["colorDecorators"] = 12] = "colorDecorators";\r\n EditorOption[EditorOption["comments"] = 13] = "comments";\r\n EditorOption[EditorOption["contextmenu"] = 14] = "contextmenu";\r\n EditorOption[EditorOption["copyWithSyntaxHighlighting"] = 15] = "copyWithSyntaxHighlighting";\r\n EditorOption[EditorOption["cursorBlinking"] = 16] = "cursorBlinking";\r\n EditorOption[EditorOption["cursorSmoothCaretAnimation"] = 17] = "cursorSmoothCaretAnimation";\r\n EditorOption[EditorOption["cursorStyle"] = 18] = "cursorStyle";\r\n EditorOption[EditorOption["cursorSurroundingLines"] = 19] = "cursorSurroundingLines";\r\n EditorOption[EditorOption["cursorSurroundingLinesStyle"] = 20] = "cursorSurroundingLinesStyle";\r\n EditorOption[EditorOption["cursorWidth"] = 21] = "cursorWidth";\r\n EditorOption[EditorOption["disableLayerHinting"] = 22] = "disableLayerHinting";\r\n EditorOption[EditorOption["disableMonospaceOptimizations"] = 23] = "disableMonospaceOptimizations";\r\n EditorOption[EditorOption["dragAndDrop"] = 24] = "dragAndDrop";\r\n EditorOption[EditorOption["emptySelectionClipboard"] = 25] = "emptySelectionClipboard";\r\n EditorOption[EditorOption["extraEditorClassName"] = 26] = "extraEditorClassName";\r\n EditorOption[EditorOption["fastScrollSensitivity"] = 27] = "fastScrollSensitivity";\r\n EditorOption[EditorOption["find"] = 28] = "find";\r\n EditorOption[EditorOption["fixedOverflowWidgets"] = 29] = "fixedOverflowWidgets";\r\n EditorOption[EditorOption["folding"] = 30] = "folding";\r\n EditorOption[EditorOption["foldingStrategy"] = 31] = "foldingStrategy";\r\n EditorOption[EditorOption["foldingHighlight"] = 32] = "foldingHighlight";\r\n EditorOption[EditorOption["fontFamily"] = 33] = "fontFamily";\r\n EditorOption[EditorOption["fontInfo"] = 34] = "fontInfo";\r\n EditorOption[EditorOption["fontLigatures"] = 35] = "fontLigatures";\r\n EditorOption[EditorOption["fontSize"] = 36] = "fontSize";\r\n EditorOption[EditorOption["fontWeight"] = 37] = "fontWeight";\r\n EditorOption[EditorOption["formatOnPaste"] = 38] = "formatOnPaste";\r\n EditorOption[EditorOption["formatOnType"] = 39] = "formatOnType";\r\n EditorOption[EditorOption["glyphMargin"] = 40] = "glyphMargin";\r\n EditorOption[EditorOption["gotoLocation"] = 41] = "gotoLocation";\r\n EditorOption[EditorOption["hideCursorInOverviewRuler"] = 42] = "hideCursorInOverviewRuler";\r\n EditorOption[EditorOption["highlightActiveIndentGuide"] = 43] = "highlightActiveIndentGuide";\r\n EditorOption[EditorOption["hover"] = 44] = "hover";\r\n EditorOption[EditorOption["inDiffEditor"] = 45] = "inDiffEditor";\r\n EditorOption[EditorOption["letterSpacing"] = 46] = "letterSpacing";\r\n EditorOption[EditorOption["lightbulb"] = 47] = "lightbulb";\r\n EditorOption[EditorOption["lineDecorationsWidth"] = 48] = "lineDecorationsWidth";\r\n EditorOption[EditorOption["lineHeight"] = 49] = "lineHeight";\r\n EditorOption[EditorOption["lineNumbers"] = 50] = "lineNumbers";\r\n EditorOption[EditorOption["lineNumbersMinChars"] = 51] = "lineNumbersMinChars";\r\n EditorOption[EditorOption["links"] = 52] = "links";\r\n EditorOption[EditorOption["matchBrackets"] = 53] = "matchBrackets";\r\n EditorOption[EditorOption["minimap"] = 54] = "minimap";\r\n EditorOption[EditorOption["mouseStyle"] = 55] = "mouseStyle";\r\n EditorOption[EditorOption["mouseWheelScrollSensitivity"] = 56] = "mouseWheelScrollSensitivity";\r\n EditorOption[EditorOption["mouseWheelZoom"] = 57] = "mouseWheelZoom";\r\n EditorOption[EditorOption["multiCursorMergeOverlapping"] = 58] = "multiCursorMergeOverlapping";\r\n EditorOption[EditorOption["multiCursorModifier"] = 59] = "multiCursorModifier";\r\n EditorOption[EditorOption["multiCursorPaste"] = 60] = "multiCursorPaste";\r\n EditorOption[EditorOption["occurrencesHighlight"] = 61] = "occurrencesHighlight";\r\n EditorOption[EditorOption["overviewRulerBorder"] = 62] = "overviewRulerBorder";\r\n EditorOption[EditorOption["overviewRulerLanes"] = 63] = "overviewRulerLanes";\r\n EditorOption[EditorOption["parameterHints"] = 64] = "parameterHints";\r\n EditorOption[EditorOption["peekWidgetDefaultFocus"] = 65] = "peekWidgetDefaultFocus";\r\n EditorOption[EditorOption["quickSuggestions"] = 66] = "quickSuggestions";\r\n EditorOption[EditorOption["quickSuggestionsDelay"] = 67] = "quickSuggestionsDelay";\r\n EditorOption[EditorOption["readOnly"] = 68] = "readOnly";\r\n EditorOption[EditorOption["renderControlCharacters"] = 69] = "renderControlCharacters";\r\n EditorOption[EditorOption["renderIndentGuides"] = 70] = "renderIndentGuides";\r\n EditorOption[EditorOption["renderFinalNewline"] = 71] = "renderFinalNewline";\r\n EditorOption[EditorOption["renderLineHighlight"] = 72] = "renderLineHighlight";\r\n EditorOption[EditorOption["renderValidationDecorations"] = 73] = "renderValidationDecorations";\r\n EditorOption[EditorOption["renderWhitespace"] = 74] = "renderWhitespace";\r\n EditorOption[EditorOption["revealHorizontalRightPadding"] = 75] = "revealHorizontalRightPadding";\r\n EditorOption[EditorOption["roundedSelection"] = 76] = "roundedSelection";\r\n EditorOption[EditorOption["rulers"] = 77] = "rulers";\r\n EditorOption[EditorOption["scrollbar"] = 78] = "scrollbar";\r\n EditorOption[EditorOption["scrollBeyondLastColumn"] = 79] = "scrollBeyondLastColumn";\r\n EditorOption[EditorOption["scrollBeyondLastLine"] = 80] = "scrollBeyondLastLine";\r\n EditorOption[EditorOption["selectionClipboard"] = 81] = "selectionClipboard";\r\n EditorOption[EditorOption["selectionHighlight"] = 82] = "selectionHighlight";\r\n EditorOption[EditorOption["selectOnLineNumbers"] = 83] = "selectOnLineNumbers";\r\n EditorOption[EditorOption["showFoldingControls"] = 84] = "showFoldingControls";\r\n EditorOption[EditorOption["showUnused"] = 85] = "showUnused";\r\n EditorOption[EditorOption["snippetSuggestions"] = 86] = "snippetSuggestions";\r\n EditorOption[EditorOption["smoothScrolling"] = 87] = "smoothScrolling";\r\n EditorOption[EditorOption["stopRenderingLineAfter"] = 88] = "stopRenderingLineAfter";\r\n EditorOption[EditorOption["suggest"] = 89] = "suggest";\r\n EditorOption[EditorOption["suggestFontSize"] = 90] = "suggestFontSize";\r\n EditorOption[EditorOption["suggestLineHeight"] = 91] = "suggestLineHeight";\r\n EditorOption[EditorOption["suggestOnTriggerCharacters"] = 92] = "suggestOnTriggerCharacters";\r\n EditorOption[EditorOption["suggestSelection"] = 93] = "suggestSelection";\r\n EditorOption[EditorOption["tabCompletion"] = 94] = "tabCompletion";\r\n EditorOption[EditorOption["useTabStops"] = 95] = "useTabStops";\r\n EditorOption[EditorOption["wordSeparators"] = 96] = "wordSeparators";\r\n EditorOption[EditorOption["wordWrap"] = 97] = "wordWrap";\r\n EditorOption[EditorOption["wordWrapBreakAfterCharacters"] = 98] = "wordWrapBreakAfterCharacters";\r\n EditorOption[EditorOption["wordWrapBreakBeforeCharacters"] = 99] = "wordWrapBreakBeforeCharacters";\r\n EditorOption[EditorOption["wordWrapColumn"] = 100] = "wordWrapColumn";\r\n EditorOption[EditorOption["wordWrapMinified"] = 101] = "wordWrapMinified";\r\n EditorOption[EditorOption["wrappingIndent"] = 102] = "wrappingIndent";\r\n EditorOption[EditorOption["wrappingStrategy"] = 103] = "wrappingStrategy";\r\n EditorOption[EditorOption["editorClassName"] = 104] = "editorClassName";\r\n EditorOption[EditorOption["pixelRatio"] = 105] = "pixelRatio";\r\n EditorOption[EditorOption["tabFocusMode"] = 106] = "tabFocusMode";\r\n EditorOption[EditorOption["layoutInfo"] = 107] = "layoutInfo";\r\n EditorOption[EditorOption["wrappingInfo"] = 108] = "wrappingInfo";\r\n})(EditorOption || (EditorOption = {}));\r\n/**\r\n * End of line character preference.\r\n */\r\nvar EndOfLinePreference;\r\n(function (EndOfLinePreference) {\r\n /**\r\n * Use the end of line character identified in the text buffer.\r\n */\r\n EndOfLinePreference[EndOfLinePreference["TextDefined"] = 0] = "TextDefined";\r\n /**\r\n * Use line feed (\\n) as the end of line character.\r\n */\r\n EndOfLinePreference[EndOfLinePreference["LF"] = 1] = "LF";\r\n /**\r\n * Use carriage return and line feed (\\r\\n) as the end of line character.\r\n */\r\n EndOfLinePreference[EndOfLinePreference["CRLF"] = 2] = "CRLF";\r\n})(EndOfLinePreference || (EndOfLinePreference = {}));\r\n/**\r\n * End of line character preference.\r\n */\r\nvar EndOfLineSequence;\r\n(function (EndOfLineSequence) {\r\n /**\r\n * Use line feed (\\n) as the end of line character.\r\n */\r\n EndOfLineSequence[EndOfLineSequence["LF"] = 0] = "LF";\r\n /**\r\n * Use carriage return and line feed (\\r\\n) as the end of line character.\r\n */\r\n EndOfLineSequence[EndOfLineSequence["CRLF"] = 1] = "CRLF";\r\n})(EndOfLineSequence || (EndOfLineSequence = {}));\r\n/**\r\n * Describes what to do with the indentation when pressing Enter.\r\n */\r\nvar IndentAction;\r\n(function (IndentAction) {\r\n /**\r\n * Insert new line and copy the previous line\'s indentation.\r\n */\r\n IndentAction[IndentAction["None"] = 0] = "None";\r\n /**\r\n * Insert new line and indent once (relative to the previous line\'s indentation).\r\n */\r\n IndentAction[IndentAction["Indent"] = 1] = "Indent";\r\n /**\r\n * Insert two new lines:\r\n * - the first one indented which will hold the cursor\r\n * - the second one at the same indentation level\r\n */\r\n IndentAction[IndentAction["IndentOutdent"] = 2] = "IndentOutdent";\r\n /**\r\n * Insert new line and outdent once (relative to the previous line\'s indentation).\r\n */\r\n IndentAction[IndentAction["Outdent"] = 3] = "Outdent";\r\n})(IndentAction || (IndentAction = {}));\r\n/**\r\n * Virtual Key Codes, the value does not hold any inherent meaning.\r\n * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx\r\n * But these are "more general", as they should work across browsers & OS`s.\r\n */\r\nvar KeyCode;\r\n(function (KeyCode) {\r\n /**\r\n * Placed first to cover the 0 value of the enum.\r\n */\r\n KeyCode[KeyCode["Unknown"] = 0] = "Unknown";\r\n KeyCode[KeyCode["Backspace"] = 1] = "Backspace";\r\n KeyCode[KeyCode["Tab"] = 2] = "Tab";\r\n KeyCode[KeyCode["Enter"] = 3] = "Enter";\r\n KeyCode[KeyCode["Shift"] = 4] = "Shift";\r\n KeyCode[KeyCode["Ctrl"] = 5] = "Ctrl";\r\n KeyCode[KeyCode["Alt"] = 6] = "Alt";\r\n KeyCode[KeyCode["PauseBreak"] = 7] = "PauseBreak";\r\n KeyCode[KeyCode["CapsLock"] = 8] = "CapsLock";\r\n KeyCode[KeyCode["Escape"] = 9] = "Escape";\r\n KeyCode[KeyCode["Space"] = 10] = "Space";\r\n KeyCode[KeyCode["PageUp"] = 11] = "PageUp";\r\n KeyCode[KeyCode["PageDown"] = 12] = "PageDown";\r\n KeyCode[KeyCode["End"] = 13] = "End";\r\n KeyCode[KeyCode["Home"] = 14] = "Home";\r\n KeyCode[KeyCode["LeftArrow"] = 15] = "LeftArrow";\r\n KeyCode[KeyCode["UpArrow"] = 16] = "UpArrow";\r\n KeyCode[KeyCode["RightArrow"] = 17] = "RightArrow";\r\n KeyCode[KeyCode["DownArrow"] = 18] = "DownArrow";\r\n KeyCode[KeyCode["Insert"] = 19] = "Insert";\r\n KeyCode[KeyCode["Delete"] = 20] = "Delete";\r\n KeyCode[KeyCode["KEY_0"] = 21] = "KEY_0";\r\n KeyCode[KeyCode["KEY_1"] = 22] = "KEY_1";\r\n KeyCode[KeyCode["KEY_2"] = 23] = "KEY_2";\r\n KeyCode[KeyCode["KEY_3"] = 24] = "KEY_3";\r\n KeyCode[KeyCode["KEY_4"] = 25] = "KEY_4";\r\n KeyCode[KeyCode["KEY_5"] = 26] = "KEY_5";\r\n KeyCode[KeyCode["KEY_6"] = 27] = "KEY_6";\r\n KeyCode[KeyCode["KEY_7"] = 28] = "KEY_7";\r\n KeyCode[KeyCode["KEY_8"] = 29] = "KEY_8";\r\n KeyCode[KeyCode["KEY_9"] = 30] = "KEY_9";\r\n KeyCode[KeyCode["KEY_A"] = 31] = "KEY_A";\r\n KeyCode[KeyCode["KEY_B"] = 32] = "KEY_B";\r\n KeyCode[KeyCode["KEY_C"] = 33] = "KEY_C";\r\n KeyCode[KeyCode["KEY_D"] = 34] = "KEY_D";\r\n KeyCode[KeyCode["KEY_E"] = 35] = "KEY_E";\r\n KeyCode[KeyCode["KEY_F"] = 36] = "KEY_F";\r\n KeyCode[KeyCode["KEY_G"] = 37] = "KEY_G";\r\n KeyCode[KeyCode["KEY_H"] = 38] = "KEY_H";\r\n KeyCode[KeyCode["KEY_I"] = 39] = "KEY_I";\r\n KeyCode[KeyCode["KEY_J"] = 40] = "KEY_J";\r\n KeyCode[KeyCode["KEY_K"] = 41] = "KEY_K";\r\n KeyCode[KeyCode["KEY_L"] = 42] = "KEY_L";\r\n KeyCode[KeyCode["KEY_M"] = 43] = "KEY_M";\r\n KeyCode[KeyCode["KEY_N"] = 44] = "KEY_N";\r\n KeyCode[KeyCode["KEY_O"] = 45] = "KEY_O";\r\n KeyCode[KeyCode["KEY_P"] = 46] = "KEY_P";\r\n KeyCode[KeyCode["KEY_Q"] = 47] = "KEY_Q";\r\n KeyCode[KeyCode["KEY_R"] = 48] = "KEY_R";\r\n KeyCode[KeyCode["KEY_S"] = 49] = "KEY_S";\r\n KeyCode[KeyCode["KEY_T"] = 50] = "KEY_T";\r\n KeyCode[KeyCode["KEY_U"] = 51] = "KEY_U";\r\n KeyCode[KeyCode["KEY_V"] = 52] = "KEY_V";\r\n KeyCode[KeyCode["KEY_W"] = 53] = "KEY_W";\r\n KeyCode[KeyCode["KEY_X"] = 54] = "KEY_X";\r\n KeyCode[KeyCode["KEY_Y"] = 55] = "KEY_Y";\r\n KeyCode[KeyCode["KEY_Z"] = 56] = "KEY_Z";\r\n KeyCode[KeyCode["Meta"] = 57] = "Meta";\r\n KeyCode[KeyCode["ContextMenu"] = 58] = "ContextMenu";\r\n KeyCode[KeyCode["F1"] = 59] = "F1";\r\n KeyCode[KeyCode["F2"] = 60] = "F2";\r\n KeyCode[KeyCode["F3"] = 61] = "F3";\r\n KeyCode[KeyCode["F4"] = 62] = "F4";\r\n KeyCode[KeyCode["F5"] = 63] = "F5";\r\n KeyCode[KeyCode["F6"] = 64] = "F6";\r\n KeyCode[KeyCode["F7"] = 65] = "F7";\r\n KeyCode[KeyCode["F8"] = 66] = "F8";\r\n KeyCode[KeyCode["F9"] = 67] = "F9";\r\n KeyCode[KeyCode["F10"] = 68] = "F10";\r\n KeyCode[KeyCode["F11"] = 69] = "F11";\r\n KeyCode[KeyCode["F12"] = 70] = "F12";\r\n KeyCode[KeyCode["F13"] = 71] = "F13";\r\n KeyCode[KeyCode["F14"] = 72] = "F14";\r\n KeyCode[KeyCode["F15"] = 73] = "F15";\r\n KeyCode[KeyCode["F16"] = 74] = "F16";\r\n KeyCode[KeyCode["F17"] = 75] = "F17";\r\n KeyCode[KeyCode["F18"] = 76] = "F18";\r\n KeyCode[KeyCode["F19"] = 77] = "F19";\r\n KeyCode[KeyCode["NumLock"] = 78] = "NumLock";\r\n KeyCode[KeyCode["ScrollLock"] = 79] = "ScrollLock";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \';:\' key\r\n */\r\n KeyCode[KeyCode["US_SEMICOLON"] = 80] = "US_SEMICOLON";\r\n /**\r\n * For any country/region, the \'+\' key\r\n * For the US standard keyboard, the \'=+\' key\r\n */\r\n KeyCode[KeyCode["US_EQUAL"] = 81] = "US_EQUAL";\r\n /**\r\n * For any country/region, the \',\' key\r\n * For the US standard keyboard, the \',<\' key\r\n */\r\n KeyCode[KeyCode["US_COMMA"] = 82] = "US_COMMA";\r\n /**\r\n * For any country/region, the \'-\' key\r\n * For the US standard keyboard, the \'-_\' key\r\n */\r\n KeyCode[KeyCode["US_MINUS"] = 83] = "US_MINUS";\r\n /**\r\n * For any country/region, the \'.\' key\r\n * For the US standard keyboard, the \'.>\' key\r\n */\r\n KeyCode[KeyCode["US_DOT"] = 84] = "US_DOT";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \'/?\' key\r\n */\r\n KeyCode[KeyCode["US_SLASH"] = 85] = "US_SLASH";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \'`~\' key\r\n */\r\n KeyCode[KeyCode["US_BACKTICK"] = 86] = "US_BACKTICK";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \'[{\' key\r\n */\r\n KeyCode[KeyCode["US_OPEN_SQUARE_BRACKET"] = 87] = "US_OPEN_SQUARE_BRACKET";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \'\\|\' key\r\n */\r\n KeyCode[KeyCode["US_BACKSLASH"] = 88] = "US_BACKSLASH";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \']}\' key\r\n */\r\n KeyCode[KeyCode["US_CLOSE_SQUARE_BRACKET"] = 89] = "US_CLOSE_SQUARE_BRACKET";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n * For the US standard keyboard, the \'\'"\' key\r\n */\r\n KeyCode[KeyCode["US_QUOTE"] = 90] = "US_QUOTE";\r\n /**\r\n * Used for miscellaneous characters; it can vary by keyboard.\r\n */\r\n KeyCode[KeyCode["OEM_8"] = 91] = "OEM_8";\r\n /**\r\n * Either the angle bracket key or the backslash key on the RT 102-key keyboard.\r\n */\r\n KeyCode[KeyCode["OEM_102"] = 92] = "OEM_102";\r\n KeyCode[KeyCode["NUMPAD_0"] = 93] = "NUMPAD_0";\r\n KeyCode[KeyCode["NUMPAD_1"] = 94] = "NUMPAD_1";\r\n KeyCode[KeyCode["NUMPAD_2"] = 95] = "NUMPAD_2";\r\n KeyCode[KeyCode["NUMPAD_3"] = 96] = "NUMPAD_3";\r\n KeyCode[KeyCode["NUMPAD_4"] = 97] = "NUMPAD_4";\r\n KeyCode[KeyCode["NUMPAD_5"] = 98] = "NUMPAD_5";\r\n KeyCode[KeyCode["NUMPAD_6"] = 99] = "NUMPAD_6";\r\n KeyCode[KeyCode["NUMPAD_7"] = 100] = "NUMPAD_7";\r\n KeyCode[KeyCode["NUMPAD_8"] = 101] = "NUMPAD_8";\r\n KeyCode[KeyCode["NUMPAD_9"] = 102] = "NUMPAD_9";\r\n KeyCode[KeyCode["NUMPAD_MULTIPLY"] = 103] = "NUMPAD_MULTIPLY";\r\n KeyCode[KeyCode["NUMPAD_ADD"] = 104] = "NUMPAD_ADD";\r\n KeyCode[KeyCode["NUMPAD_SEPARATOR"] = 105] = "NUMPAD_SEPARATOR";\r\n KeyCode[KeyCode["NUMPAD_SUBTRACT"] = 106] = "NUMPAD_SUBTRACT";\r\n KeyCode[KeyCode["NUMPAD_DECIMAL"] = 107] = "NUMPAD_DECIMAL";\r\n KeyCode[KeyCode["NUMPAD_DIVIDE"] = 108] = "NUMPAD_DIVIDE";\r\n /**\r\n * Cover all key codes when IME is processing input.\r\n */\r\n KeyCode[KeyCode["KEY_IN_COMPOSITION"] = 109] = "KEY_IN_COMPOSITION";\r\n KeyCode[KeyCode["ABNT_C1"] = 110] = "ABNT_C1";\r\n KeyCode[KeyCode["ABNT_C2"] = 111] = "ABNT_C2";\r\n /**\r\n * Placed last to cover the length of the enum.\r\n * Please do not depend on this value!\r\n */\r\n KeyCode[KeyCode["MAX_VALUE"] = 112] = "MAX_VALUE";\r\n})(KeyCode || (KeyCode = {}));\r\nvar MarkerSeverity;\r\n(function (MarkerSeverity) {\r\n MarkerSeverity[MarkerSeverity["Hint"] = 1] = "Hint";\r\n MarkerSeverity[MarkerSeverity["Info"] = 2] = "Info";\r\n MarkerSeverity[MarkerSeverity["Warning"] = 4] = "Warning";\r\n MarkerSeverity[MarkerSeverity["Error"] = 8] = "Error";\r\n})(MarkerSeverity || (MarkerSeverity = {}));\r\nvar MarkerTag;\r\n(function (MarkerTag) {\r\n MarkerTag[MarkerTag["Unnecessary"] = 1] = "Unnecessary";\r\n MarkerTag[MarkerTag["Deprecated"] = 2] = "Deprecated";\r\n})(MarkerTag || (MarkerTag = {}));\r\n/**\r\n * Position in the minimap to render the decoration.\r\n */\r\nvar MinimapPosition;\r\n(function (MinimapPosition) {\r\n MinimapPosition[MinimapPosition["Inline"] = 1] = "Inline";\r\n MinimapPosition[MinimapPosition["Gutter"] = 2] = "Gutter";\r\n})(MinimapPosition || (MinimapPosition = {}));\r\n/**\r\n * Type of hit element with the mouse in the editor.\r\n */\r\nvar MouseTargetType;\r\n(function (MouseTargetType) {\r\n /**\r\n * Mouse is on top of an unknown element.\r\n */\r\n MouseTargetType[MouseTargetType["UNKNOWN"] = 0] = "UNKNOWN";\r\n /**\r\n * Mouse is on top of the textarea used for input.\r\n */\r\n MouseTargetType[MouseTargetType["TEXTAREA"] = 1] = "TEXTAREA";\r\n /**\r\n * Mouse is on top of the glyph margin\r\n */\r\n MouseTargetType[MouseTargetType["GUTTER_GLYPH_MARGIN"] = 2] = "GUTTER_GLYPH_MARGIN";\r\n /**\r\n * Mouse is on top of the line numbers\r\n */\r\n MouseTargetType[MouseTargetType["GUTTER_LINE_NUMBERS"] = 3] = "GUTTER_LINE_NUMBERS";\r\n /**\r\n * Mouse is on top of the line decorations\r\n */\r\n MouseTargetType[MouseTargetType["GUTTER_LINE_DECORATIONS"] = 4] = "GUTTER_LINE_DECORATIONS";\r\n /**\r\n * Mouse is on top of the whitespace left in the gutter by a view zone.\r\n */\r\n MouseTargetType[MouseTargetType["GUTTER_VIEW_ZONE"] = 5] = "GUTTER_VIEW_ZONE";\r\n /**\r\n * Mouse is on top of text in the content.\r\n */\r\n MouseTargetType[MouseTargetType["CONTENT_TEXT"] = 6] = "CONTENT_TEXT";\r\n /**\r\n * Mouse is on top of empty space in the content (e.g. after line text or below last line)\r\n */\r\n MouseTargetType[MouseTargetType["CONTENT_EMPTY"] = 7] = "CONTENT_EMPTY";\r\n /**\r\n * Mouse is on top of a view zone in the content.\r\n */\r\n MouseTargetType[MouseTargetType["CONTENT_VIEW_ZONE"] = 8] = "CONTENT_VIEW_ZONE";\r\n /**\r\n * Mouse is on top of a content widget.\r\n */\r\n MouseTargetType[MouseTargetType["CONTENT_WIDGET"] = 9] = "CONTENT_WIDGET";\r\n /**\r\n * Mouse is on top of the decorations overview ruler.\r\n */\r\n MouseTargetType[MouseTargetType["OVERVIEW_RULER"] = 10] = "OVERVIEW_RULER";\r\n /**\r\n * Mouse is on top of a scrollbar.\r\n */\r\n MouseTargetType[MouseTargetType["SCROLLBAR"] = 11] = "SCROLLBAR";\r\n /**\r\n * Mouse is on top of an overlay widget.\r\n */\r\n MouseTargetType[MouseTargetType["OVERLAY_WIDGET"] = 12] = "OVERLAY_WIDGET";\r\n /**\r\n * Mouse is outside of the editor.\r\n */\r\n MouseTargetType[MouseTargetType["OUTSIDE_EDITOR"] = 13] = "OUTSIDE_EDITOR";\r\n})(MouseTargetType || (MouseTargetType = {}));\r\n/**\r\n * A positioning preference for rendering overlay widgets.\r\n */\r\nvar OverlayWidgetPositionPreference;\r\n(function (OverlayWidgetPositionPreference) {\r\n /**\r\n * Position the overlay widget in the top right corner\r\n */\r\n OverlayWidgetPositionPreference[OverlayWidgetPositionPreference["TOP_RIGHT_CORNER"] = 0] = "TOP_RIGHT_CORNER";\r\n /**\r\n * Position the overlay widget in the bottom right corner\r\n */\r\n OverlayWidgetPositionPreference[OverlayWidgetPositionPreference["BOTTOM_RIGHT_CORNER"] = 1] = "BOTTOM_RIGHT_CORNER";\r\n /**\r\n * Position the overlay widget in the top center\r\n */\r\n OverlayWidgetPositionPreference[OverlayWidgetPositionPreference["TOP_CENTER"] = 2] = "TOP_CENTER";\r\n})(OverlayWidgetPositionPreference || (OverlayWidgetPositionPreference = {}));\r\n/**\r\n * Vertical Lane in the overview ruler of the editor.\r\n */\r\nvar OverviewRulerLane;\r\n(function (OverviewRulerLane) {\r\n OverviewRulerLane[OverviewRulerLane["Left"] = 1] = "Left";\r\n OverviewRulerLane[OverviewRulerLane["Center"] = 2] = "Center";\r\n OverviewRulerLane[OverviewRulerLane["Right"] = 4] = "Right";\r\n OverviewRulerLane[OverviewRulerLane["Full"] = 7] = "Full";\r\n})(OverviewRulerLane || (OverviewRulerLane = {}));\r\nvar RenderLineNumbersType;\r\n(function (RenderLineNumbersType) {\r\n RenderLineNumbersType[RenderLineNumbersType["Off"] = 0] = "Off";\r\n RenderLineNumbersType[RenderLineNumbersType["On"] = 1] = "On";\r\n RenderLineNumbersType[RenderLineNumbersType["Relative"] = 2] = "Relative";\r\n RenderLineNumbersType[RenderLineNumbersType["Interval"] = 3] = "Interval";\r\n RenderLineNumbersType[RenderLineNumbersType["Custom"] = 4] = "Custom";\r\n})(RenderLineNumbersType || (RenderLineNumbersType = {}));\r\nvar RenderMinimap;\r\n(function (RenderMinimap) {\r\n RenderMinimap[RenderMinimap["None"] = 0] = "None";\r\n RenderMinimap[RenderMinimap["Text"] = 1] = "Text";\r\n RenderMinimap[RenderMinimap["Blocks"] = 2] = "Blocks";\r\n})(RenderMinimap || (RenderMinimap = {}));\r\nvar ScrollType;\r\n(function (ScrollType) {\r\n ScrollType[ScrollType["Smooth"] = 0] = "Smooth";\r\n ScrollType[ScrollType["Immediate"] = 1] = "Immediate";\r\n})(ScrollType || (ScrollType = {}));\r\nvar ScrollbarVisibility;\r\n(function (ScrollbarVisibility) {\r\n ScrollbarVisibility[ScrollbarVisibility["Auto"] = 1] = "Auto";\r\n ScrollbarVisibility[ScrollbarVisibility["Hidden"] = 2] = "Hidden";\r\n ScrollbarVisibility[ScrollbarVisibility["Visible"] = 3] = "Visible";\r\n})(ScrollbarVisibility || (ScrollbarVisibility = {}));\r\n/**\r\n * The direction of a selection.\r\n */\r\nvar SelectionDirection;\r\n(function (SelectionDirection) {\r\n /**\r\n * The selection starts above where it ends.\r\n */\r\n SelectionDirection[SelectionDirection["LTR"] = 0] = "LTR";\r\n /**\r\n * The selection starts below where it ends.\r\n */\r\n SelectionDirection[SelectionDirection["RTL"] = 1] = "RTL";\r\n})(SelectionDirection || (SelectionDirection = {}));\r\nvar SignatureHelpTriggerKind;\r\n(function (SignatureHelpTriggerKind) {\r\n SignatureHelpTriggerKind[SignatureHelpTriggerKind["Invoke"] = 1] = "Invoke";\r\n SignatureHelpTriggerKind[SignatureHelpTriggerKind["TriggerCharacter"] = 2] = "TriggerCharacter";\r\n SignatureHelpTriggerKind[SignatureHelpTriggerKind["ContentChange"] = 3] = "ContentChange";\r\n})(SignatureHelpTriggerKind || (SignatureHelpTriggerKind = {}));\r\n/**\r\n * A symbol kind.\r\n */\r\nvar SymbolKind;\r\n(function (SymbolKind) {\r\n SymbolKind[SymbolKind["File"] = 0] = "File";\r\n SymbolKind[SymbolKind["Module"] = 1] = "Module";\r\n SymbolKind[SymbolKind["Namespace"] = 2] = "Namespace";\r\n SymbolKind[SymbolKind["Package"] = 3] = "Package";\r\n SymbolKind[SymbolKind["Class"] = 4] = "Class";\r\n SymbolKind[SymbolKind["Method"] = 5] = "Method";\r\n SymbolKind[SymbolKind["Property"] = 6] = "Property";\r\n SymbolKind[SymbolKind["Field"] = 7] = "Field";\r\n SymbolKind[SymbolKind["Constructor"] = 8] = "Constructor";\r\n SymbolKind[SymbolKind["Enum"] = 9] = "Enum";\r\n SymbolKind[SymbolKind["Interface"] = 10] = "Interface";\r\n SymbolKind[SymbolKind["Function"] = 11] = "Function";\r\n SymbolKind[SymbolKind["Variable"] = 12] = "Variable";\r\n SymbolKind[SymbolKind["Constant"] = 13] = "Constant";\r\n SymbolKind[SymbolKind["String"] = 14] = "String";\r\n SymbolKind[SymbolKind["Number"] = 15] = "Number";\r\n SymbolKind[SymbolKind["Boolean"] = 16] = "Boolean";\r\n SymbolKind[SymbolKind["Array"] = 17] = "Array";\r\n SymbolKind[SymbolKind["Object"] = 18] = "Object";\r\n SymbolKind[SymbolKind["Key"] = 19] = "Key";\r\n SymbolKind[SymbolKind["Null"] = 20] = "Null";\r\n SymbolKind[SymbolKind["EnumMember"] = 21] = "EnumMember";\r\n SymbolKind[SymbolKind["Struct"] = 22] = "Struct";\r\n SymbolKind[SymbolKind["Event"] = 23] = "Event";\r\n SymbolKind[SymbolKind["Operator"] = 24] = "Operator";\r\n SymbolKind[SymbolKind["TypeParameter"] = 25] = "TypeParameter";\r\n})(SymbolKind || (SymbolKind = {}));\r\nvar SymbolTag;\r\n(function (SymbolTag) {\r\n SymbolTag[SymbolTag["Deprecated"] = 1] = "Deprecated";\r\n})(SymbolTag || (SymbolTag = {}));\r\n/**\r\n * The kind of animation in which the editor\'s cursor should be rendered.\r\n */\r\nvar TextEditorCursorBlinkingStyle;\r\n(function (TextEditorCursorBlinkingStyle) {\r\n /**\r\n * Hidden\r\n */\r\n TextEditorCursorBlinkingStyle[TextEditorCursorBlinkingStyle["Hidden"] = 0] = "Hidden";\r\n /**\r\n * Blinking\r\n */\r\n TextEditorCursorBlinkingStyle[TextEditorCursorBlinkingStyle["Blink"] = 1] = "Blink";\r\n /**\r\n * Blinking with smooth fading\r\n */\r\n TextEditorCursorBlinkingStyle[TextEditorCursorBlinkingStyle["Smooth"] = 2] = "Smooth";\r\n /**\r\n * Blinking with prolonged filled state and smooth fading\r\n */\r\n TextEditorCursorBlinkingStyle[TextEditorCursorBlinkingStyle["Phase"] = 3] = "Phase";\r\n /**\r\n * Expand collapse animation on the y axis\r\n */\r\n TextEditorCursorBlinkingStyle[TextEditorCursorBlinkingStyle["Expand"] = 4] = "Expand";\r\n /**\r\n * No-Blinking\r\n */\r\n TextEditorCursorBlinkingStyle[TextEditorCursorBlinkingStyle["Solid"] = 5] = "Solid";\r\n})(TextEditorCursorBlinkingStyle || (TextEditorCursorBlinkingStyle = {}));\r\n/**\r\n * The style in which the editor\'s cursor should be rendered.\r\n */\r\nvar TextEditorCursorStyle;\r\n(function (TextEditorCursorStyle) {\r\n /**\r\n * As a vertical line (sitting between two characters).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle["Line"] = 1] = "Line";\r\n /**\r\n * As a block (sitting on top of a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle["Block"] = 2] = "Block";\r\n /**\r\n * As a horizontal line (sitting under a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle["Underline"] = 3] = "Underline";\r\n /**\r\n * As a thin vertical line (sitting between two characters).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle["LineThin"] = 4] = "LineThin";\r\n /**\r\n * As an outlined block (sitting on top of a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle["BlockOutline"] = 5] = "BlockOutline";\r\n /**\r\n * As a thin horizontal line (sitting under a character).\r\n */\r\n TextEditorCursorStyle[TextEditorCursorStyle["UnderlineThin"] = 6] = "UnderlineThin";\r\n})(TextEditorCursorStyle || (TextEditorCursorStyle = {}));\r\n/**\r\n * Describes the behavior of decorations when typing/editing near their edges.\r\n * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`\r\n */\r\nvar TrackedRangeStickiness;\r\n(function (TrackedRangeStickiness) {\r\n TrackedRangeStickiness[TrackedRangeStickiness["AlwaysGrowsWhenTypingAtEdges"] = 0] = "AlwaysGrowsWhenTypingAtEdges";\r\n TrackedRangeStickiness[TrackedRangeStickiness["NeverGrowsWhenTypingAtEdges"] = 1] = "NeverGrowsWhenTypingAtEdges";\r\n TrackedRangeStickiness[TrackedRangeStickiness["GrowsOnlyWhenTypingBefore"] = 2] = "GrowsOnlyWhenTypingBefore";\r\n TrackedRangeStickiness[TrackedRangeStickiness["GrowsOnlyWhenTypingAfter"] = 3] = "GrowsOnlyWhenTypingAfter";\r\n})(TrackedRangeStickiness || (TrackedRangeStickiness = {}));\r\n/**\r\n * Describes how to indent wrapped lines.\r\n */\r\nvar WrappingIndent;\r\n(function (WrappingIndent) {\r\n /**\r\n * No indentation => wrapped lines begin at column 1.\r\n */\r\n WrappingIndent[WrappingIndent["None"] = 0] = "None";\r\n /**\r\n * Same => wrapped lines get the same indentation as the parent.\r\n */\r\n WrappingIndent[WrappingIndent["Same"] = 1] = "Same";\r\n /**\r\n * Indent => wrapped lines get +1 indentation toward the parent.\r\n */\r\n WrappingIndent[WrappingIndent["Indent"] = 2] = "Indent";\r\n /**\r\n * DeepIndent => wrapped lines get +2 indentation toward the parent.\r\n */\r\n WrappingIndent[WrappingIndent["DeepIndent"] = 3] = "DeepIndent";\r\n})(WrappingIndent || (WrappingIndent = {}));\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/standalone/standaloneBase.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar standaloneBase_KeyMod = /** @class */ (function () {\r\n function KeyMod() {\r\n }\r\n KeyMod.chord = function (firstPart, secondPart) {\r\n return Object(keyCodes["a" /* KeyChord */])(firstPart, secondPart);\r\n };\r\n KeyMod.CtrlCmd = 2048 /* CtrlCmd */;\r\n KeyMod.Shift = 1024 /* Shift */;\r\n KeyMod.Alt = 512 /* Alt */;\r\n KeyMod.WinCtrl = 256 /* WinCtrl */;\r\n return KeyMod;\r\n}());\r\n\r\nfunction createMonacoBaseAPI() {\r\n return {\r\n editor: undefined,\r\n languages: undefined,\r\n CancellationTokenSource: cancellation["b" /* CancellationTokenSource */],\r\n Emitter: common_event["a" /* Emitter */],\r\n KeyCode: KeyCode,\r\n KeyMod: standaloneBase_KeyMod,\r\n Position: core_position["a" /* Position */],\r\n Range: core_range["a" /* Range */],\r\n Selection: core_selection["a" /* Selection */],\r\n SelectionDirection: SelectionDirection,\r\n MarkerSeverity: MarkerSeverity,\r\n MarkerTag: MarkerTag,\r\n Uri: common_uri["a" /* URI */],\r\n Token: core_token["a" /* Token */]\r\n };\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css\nvar standalone_tokens = __webpack_require__("siPX");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/services/codeEditorService.js\nvar services_codeEditorService = __webpack_require__("Vxe3");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/dom.js\nvar dom = __webpack_require__("EffR");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/linkedList.js\nvar linkedList = __webpack_require__("24hK");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/marshalling.js\nvar marshalling = __webpack_require__("Q4rV");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/network.js\nvar network = __webpack_require__("tYmi");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/resources.js\nvar resources = __webpack_require__("gslv");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/commands/common/commands.js\nvar commands = __webpack_require__("nnTU");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/opener/common/opener.js\nvar common_opener = __webpack_require__("W9cx");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/editor/common/editor.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar EditorOpenContext;\r\n(function (EditorOpenContext) {\r\n /**\r\n * Default: the editor is opening via a programmatic call\r\n * to the editor service API.\r\n */\r\n EditorOpenContext[EditorOpenContext["API"] = 0] = "API";\r\n /**\r\n * Indicates that a user action triggered the opening, e.g.\r\n * via mouse or keyboard use.\r\n */\r\n EditorOpenContext[EditorOpenContext["USER"] = 1] = "USER";\r\n})(EditorOpenContext || (EditorOpenContext = {}));\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/services/openerService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __decorate = (undefined && undefined.__decorate) || function (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\nvar __param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\nvar __awaiter = (undefined && undefined.__awaiter) || function (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\nvar __generator = (undefined && undefined.__generator) || function (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\nvar __spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar openerService_CommandOpener = /** @class */ (function () {\r\n function CommandOpener(_commandService) {\r\n this._commandService = _commandService;\r\n }\r\n CommandOpener.prototype.open = function (target) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var args;\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!Object(common_opener["c" /* matchesScheme */])(target, network["b" /* Schemas */].command)) {\r\n return [2 /*return*/, false];\r\n }\r\n // run command or bail out if command isn\'t known\r\n if (typeof target === \'string\') {\r\n target = common_uri["a" /* URI */].parse(target);\r\n }\r\n if (!commands["a" /* CommandsRegistry */].getCommand(target.path)) {\r\n throw new Error("command \'" + target.path + "\' NOT known");\r\n }\r\n args = [];\r\n try {\r\n args = Object(marshalling["a" /* parse */])(decodeURIComponent(target.query));\r\n }\r\n catch (_c) {\r\n // ignore and retry\r\n try {\r\n args = Object(marshalling["a" /* parse */])(target.query);\r\n }\r\n catch (_d) {\r\n // ignore error\r\n }\r\n }\r\n if (!Array.isArray(args)) {\r\n args = [args];\r\n }\r\n return [4 /*yield*/, (_a = this._commandService).executeCommand.apply(_a, __spreadArrays([target.path], args))];\r\n case 1:\r\n _b.sent();\r\n return [2 /*return*/, true];\r\n }\r\n });\r\n });\r\n };\r\n CommandOpener = __decorate([\r\n __param(0, commands["b" /* ICommandService */])\r\n ], CommandOpener);\r\n return CommandOpener;\r\n}());\r\nvar openerService_EditorOpener = /** @class */ (function () {\r\n function EditorOpener(_editorService) {\r\n this._editorService = _editorService;\r\n }\r\n EditorOpener.prototype.open = function (target, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var selection, match;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (typeof target === \'string\') {\r\n target = common_uri["a" /* URI */].parse(target);\r\n }\r\n selection = undefined;\r\n match = /^L?(\\d+)(?:,(\\d+))?/.exec(target.fragment);\r\n if (match) {\r\n // support file:///some/file.js#73,84\r\n // support file:///some/file.js#L73\r\n selection = {\r\n startLineNumber: parseInt(match[1]),\r\n startColumn: match[2] ? parseInt(match[2]) : 1\r\n };\r\n // remove fragment\r\n target = target.with({ fragment: \'\' });\r\n }\r\n if (target.scheme === network["b" /* Schemas */].file) {\r\n target = Object(resources["g" /* normalizePath */])(target); // workaround for non-normalized paths (https://github.com/Microsoft/vscode/issues/12954)\r\n }\r\n return [4 /*yield*/, this._editorService.openCodeEditor({ resource: target, options: { selection: selection, context: (options === null || options === void 0 ? void 0 : options.fromUserGesture) ? EditorOpenContext.USER : EditorOpenContext.API } }, this._editorService.getFocusedCodeEditor(), options === null || options === void 0 ? void 0 : options.openToSide)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, true];\r\n }\r\n });\r\n });\r\n };\r\n EditorOpener = __decorate([\r\n __param(0, services_codeEditorService["a" /* ICodeEditorService */])\r\n ], EditorOpener);\r\n return EditorOpener;\r\n}());\r\nvar openerService_OpenerService = /** @class */ (function () {\r\n function OpenerService(editorService, commandService) {\r\n var _this = this;\r\n this._openers = new linkedList["a" /* LinkedList */]();\r\n this._validators = new linkedList["a" /* LinkedList */]();\r\n this._resolvers = new linkedList["a" /* LinkedList */]();\r\n // Default external opener is going through window.open()\r\n this._externalOpener = {\r\n openExternal: function (href) {\r\n dom["Z" /* windowOpenNoOpener */](href);\r\n return Promise.resolve(true);\r\n }\r\n };\r\n // Default opener: maito, http(s), command, and catch-all-editors\r\n this._openers.push({\r\n open: function (target, options) { return __awaiter(_this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!((options === null || options === void 0 ? void 0 : options.openExternal) || Object(common_opener["c" /* matchesScheme */])(target, network["b" /* Schemas */].mailto) || Object(common_opener["c" /* matchesScheme */])(target, network["b" /* Schemas */].http) || Object(common_opener["c" /* matchesScheme */])(target, network["b" /* Schemas */].https))) return [3 /*break*/, 2];\r\n // open externally\r\n return [4 /*yield*/, this._doOpenExternal(target, options)];\r\n case 1:\r\n // open externally\r\n _a.sent();\r\n return [2 /*return*/, true];\r\n case 2: return [2 /*return*/, false];\r\n }\r\n });\r\n }); }\r\n });\r\n this._openers.push(new openerService_CommandOpener(commandService));\r\n this._openers.push(new openerService_EditorOpener(editorService));\r\n }\r\n OpenerService.prototype.open = function (target, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _i, _a, validator, _b, _c, opener_1, handled;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n _i = 0, _a = this._validators.toArray();\r\n _d.label = 1;\r\n case 1:\r\n if (!(_i < _a.length)) return [3 /*break*/, 4];\r\n validator = _a[_i];\r\n return [4 /*yield*/, validator.shouldOpen(target)];\r\n case 2:\r\n if (!(_d.sent())) {\r\n return [2 /*return*/, false];\r\n }\r\n _d.label = 3;\r\n case 3:\r\n _i++;\r\n return [3 /*break*/, 1];\r\n case 4:\r\n _b = 0, _c = this._openers.toArray();\r\n _d.label = 5;\r\n case 5:\r\n if (!(_b < _c.length)) return [3 /*break*/, 8];\r\n opener_1 = _c[_b];\r\n return [4 /*yield*/, opener_1.open(target, options)];\r\n case 6:\r\n handled = _d.sent();\r\n if (handled) {\r\n return [2 /*return*/, true];\r\n }\r\n _d.label = 7;\r\n case 7:\r\n _b++;\r\n return [3 /*break*/, 5];\r\n case 8: return [2 /*return*/, false];\r\n }\r\n });\r\n });\r\n };\r\n OpenerService.prototype.resolveExternalUri = function (resource, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _i, _a, resolver, result;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _i = 0, _a = this._resolvers.toArray();\r\n _b.label = 1;\r\n case 1:\r\n if (!(_i < _a.length)) return [3 /*break*/, 4];\r\n resolver = _a[_i];\r\n return [4 /*yield*/, resolver.resolveExternalUri(resource, options)];\r\n case 2:\r\n result = _b.sent();\r\n if (result) {\r\n return [2 /*return*/, result];\r\n }\r\n _b.label = 3;\r\n case 3:\r\n _i++;\r\n return [3 /*break*/, 1];\r\n case 4: return [2 /*return*/, { resolved: resource, dispose: function () { } }];\r\n }\r\n });\r\n });\r\n };\r\n OpenerService.prototype._doOpenExternal = function (resource, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var uri, resolved;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n uri = typeof resource === \'string\' ? common_uri["a" /* URI */].parse(resource) : resource;\r\n return [4 /*yield*/, this.resolveExternalUri(uri, options)];\r\n case 1:\r\n resolved = (_a.sent()).resolved;\r\n if (typeof resource === \'string\' && uri.toString() === resolved.toString()) {\r\n // open the url-string AS IS\r\n return [2 /*return*/, this._externalOpener.openExternal(resource)];\r\n }\r\n else {\r\n // open URI using the toString(noEncode)+encodeURI-trick\r\n return [2 /*return*/, this._externalOpener.openExternal(encodeURI(resolved.toString(true)))];\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n OpenerService.prototype.dispose = function () {\r\n this._validators.clear();\r\n };\r\n OpenerService = __decorate([\r\n __param(0, services_codeEditorService["a" /* ICodeEditorService */]),\r\n __param(1, commands["b" /* ICommandService */])\r\n ], OpenerService);\r\n return OpenerService;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/assert.js\nvar assert = __webpack_require__("FWmy");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\nvar lifecycle = __webpack_require__("pmY6");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/objects.js\nvar objects = __webpack_require__("qj0h");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffNavigator.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\nvar defaultOptions = {\r\n followsCaret: true,\r\n ignoreCharChanges: true,\r\n alwaysRevealFirst: true\r\n};\r\n/**\r\n * Create a new diff navigator for the provided diff editor.\r\n */\r\nvar diffNavigator_DiffNavigator = /** @class */ (function (_super) {\r\n __extends(DiffNavigator, _super);\r\n function DiffNavigator(editor, options) {\r\n if (options === void 0) { options = {}; }\r\n var _this = _super.call(this) || this;\r\n _this._onDidUpdate = _this._register(new common_event["a" /* Emitter */]());\r\n _this._editor = editor;\r\n _this._options = objects["g" /* mixin */](options, defaultOptions, false);\r\n _this.disposed = false;\r\n _this.nextIdx = -1;\r\n _this.ranges = [];\r\n _this.ignoreSelectionChange = false;\r\n _this.revealFirst = Boolean(_this._options.alwaysRevealFirst);\r\n // hook up to diff editor for diff, disposal, and caret move\r\n _this._register(_this._editor.onDidDispose(function () { return _this.dispose(); }));\r\n _this._register(_this._editor.onDidUpdateDiff(function () { return _this._onDiffUpdated(); }));\r\n if (_this._options.followsCaret) {\r\n _this._register(_this._editor.getModifiedEditor().onDidChangeCursorPosition(function (e) {\r\n if (_this.ignoreSelectionChange) {\r\n return;\r\n }\r\n _this.nextIdx = -1;\r\n }));\r\n }\r\n if (_this._options.alwaysRevealFirst) {\r\n _this._register(_this._editor.getModifiedEditor().onDidChangeModel(function (e) {\r\n _this.revealFirst = true;\r\n }));\r\n }\r\n // init things\r\n _this._init();\r\n return _this;\r\n }\r\n DiffNavigator.prototype._init = function () {\r\n var changes = this._editor.getLineChanges();\r\n if (!changes) {\r\n return;\r\n }\r\n };\r\n DiffNavigator.prototype._onDiffUpdated = function () {\r\n this._init();\r\n this._compute(this._editor.getLineChanges());\r\n if (this.revealFirst) {\r\n // Only reveal first on first non-null changes\r\n if (this._editor.getLineChanges() !== null) {\r\n this.revealFirst = false;\r\n this.nextIdx = -1;\r\n this.next(1 /* Immediate */);\r\n }\r\n }\r\n };\r\n DiffNavigator.prototype._compute = function (lineChanges) {\r\n var _this = this;\r\n // new ranges\r\n this.ranges = [];\r\n if (lineChanges) {\r\n // create ranges from changes\r\n lineChanges.forEach(function (lineChange) {\r\n if (!_this._options.ignoreCharChanges && lineChange.charChanges) {\r\n lineChange.charChanges.forEach(function (charChange) {\r\n _this.ranges.push({\r\n rhs: true,\r\n range: new core_range["a" /* Range */](charChange.modifiedStartLineNumber, charChange.modifiedStartColumn, charChange.modifiedEndLineNumber, charChange.modifiedEndColumn)\r\n });\r\n });\r\n }\r\n else {\r\n _this.ranges.push({\r\n rhs: true,\r\n range: new core_range["a" /* Range */](lineChange.modifiedStartLineNumber, 1, lineChange.modifiedStartLineNumber, 1)\r\n });\r\n }\r\n });\r\n }\r\n // sort\r\n this.ranges.sort(function (left, right) {\r\n if (left.range.getStartPosition().isBeforeOrEqual(right.range.getStartPosition())) {\r\n return -1;\r\n }\r\n else if (right.range.getStartPosition().isBeforeOrEqual(left.range.getStartPosition())) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n this._onDidUpdate.fire(this);\r\n };\r\n DiffNavigator.prototype._initIdx = function (fwd) {\r\n var found = false;\r\n var position = this._editor.getPosition();\r\n if (!position) {\r\n this.nextIdx = 0;\r\n return;\r\n }\r\n for (var i = 0, len = this.ranges.length; i < len && !found; i++) {\r\n var range = this.ranges[i].range;\r\n if (position.isBeforeOrEqual(range.getStartPosition())) {\r\n this.nextIdx = i + (fwd ? 0 : -1);\r\n found = true;\r\n }\r\n }\r\n if (!found) {\r\n // after the last change\r\n this.nextIdx = fwd ? 0 : this.ranges.length - 1;\r\n }\r\n if (this.nextIdx < 0) {\r\n this.nextIdx = this.ranges.length - 1;\r\n }\r\n };\r\n DiffNavigator.prototype._move = function (fwd, scrollType) {\r\n assert["a" /* ok */](!this.disposed, \'Illegal State - diff navigator has been disposed\');\r\n if (!this.canNavigate()) {\r\n return;\r\n }\r\n if (this.nextIdx === -1) {\r\n this._initIdx(fwd);\r\n }\r\n else if (fwd) {\r\n this.nextIdx += 1;\r\n if (this.nextIdx >= this.ranges.length) {\r\n this.nextIdx = 0;\r\n }\r\n }\r\n else {\r\n this.nextIdx -= 1;\r\n if (this.nextIdx < 0) {\r\n this.nextIdx = this.ranges.length - 1;\r\n }\r\n }\r\n var info = this.ranges[this.nextIdx];\r\n this.ignoreSelectionChange = true;\r\n try {\r\n var pos = info.range.getStartPosition();\r\n this._editor.setPosition(pos);\r\n this._editor.revealPositionInCenter(pos, scrollType);\r\n }\r\n finally {\r\n this.ignoreSelectionChange = false;\r\n }\r\n };\r\n DiffNavigator.prototype.canNavigate = function () {\r\n return this.ranges && this.ranges.length > 0;\r\n };\r\n DiffNavigator.prototype.next = function (scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this._move(true, scrollType);\r\n };\r\n DiffNavigator.prototype.previous = function (scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this._move(false, scrollType);\r\n };\r\n DiffNavigator.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n this.ranges = [];\r\n this.disposed = true;\r\n };\r\n return DiffNavigator;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.js\nvar config_fontInfo = __webpack_require__("+3Gp");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/editorCommon.js\nvar editorCommon = __webpack_require__("iuje");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/model.js\nvar common_model = __webpack_require__("M1Kb");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes.js + 3 modules\nvar modes = __webpack_require__("twdY");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/nullMode.js\nvar nullMode = __webpack_require__("i/Ef");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/editorWorkerService.js\nvar services_editorWorkerService = __webpack_require__("pAvP");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/resolverService.js\nvar resolverService = __webpack_require__("t49l");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/async.js\nvar common_async = __webpack_require__("X+cX");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/errors.js\nvar errors = __webpack_require__("/cxE");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/platform.js\nvar platform = __webpack_require__("MNsG");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/types.js\nvar types = __webpack_require__("746U");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar simpleWorker_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar INITIALIZE = \'$initialize\';\r\nvar webWorkerWarningLogged = false;\r\nfunction logOnceWebWorkerWarning(err) {\r\n if (!platform["g" /* isWeb */]) {\r\n // running tests\r\n return;\r\n }\r\n if (!webWorkerWarningLogged) {\r\n webWorkerWarningLogged = true;\r\n console.warn(\'Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq\');\r\n }\r\n console.warn(err.message);\r\n}\r\nvar simpleWorker_SimpleWorkerProtocol = /** @class */ (function () {\r\n function SimpleWorkerProtocol(handler) {\r\n this._workerId = -1;\r\n this._handler = handler;\r\n this._lastSentReq = 0;\r\n this._pendingReplies = Object.create(null);\r\n }\r\n SimpleWorkerProtocol.prototype.setWorkerId = function (workerId) {\r\n this._workerId = workerId;\r\n };\r\n SimpleWorkerProtocol.prototype.sendMessage = function (method, args) {\r\n var _this = this;\r\n var req = String(++this._lastSentReq);\r\n return new Promise(function (resolve, reject) {\r\n _this._pendingReplies[req] = {\r\n resolve: resolve,\r\n reject: reject\r\n };\r\n _this._send({\r\n vsWorker: _this._workerId,\r\n req: req,\r\n method: method,\r\n args: args\r\n });\r\n });\r\n };\r\n SimpleWorkerProtocol.prototype.handleMessage = function (message) {\r\n if (!message || !message.vsWorker) {\r\n return;\r\n }\r\n if (this._workerId !== -1 && message.vsWorker !== this._workerId) {\r\n return;\r\n }\r\n this._handleMessage(message);\r\n };\r\n SimpleWorkerProtocol.prototype._handleMessage = function (msg) {\r\n var _this = this;\r\n if (msg.seq) {\r\n var replyMessage = msg;\r\n if (!this._pendingReplies[replyMessage.seq]) {\r\n console.warn(\'Got reply to unknown seq\');\r\n return;\r\n }\r\n var reply = this._pendingReplies[replyMessage.seq];\r\n delete this._pendingReplies[replyMessage.seq];\r\n if (replyMessage.err) {\r\n var err = replyMessage.err;\r\n if (replyMessage.err.$isError) {\r\n err = new Error();\r\n err.name = replyMessage.err.name;\r\n err.message = replyMessage.err.message;\r\n err.stack = replyMessage.err.stack;\r\n }\r\n reply.reject(err);\r\n return;\r\n }\r\n reply.resolve(replyMessage.res);\r\n return;\r\n }\r\n var requestMessage = msg;\r\n var req = requestMessage.req;\r\n var result = this._handler.handleMessage(requestMessage.method, requestMessage.args);\r\n result.then(function (r) {\r\n _this._send({\r\n vsWorker: _this._workerId,\r\n seq: req,\r\n res: r,\r\n err: undefined\r\n });\r\n }, function (e) {\r\n if (e.detail instanceof Error) {\r\n // Loading errors have a detail property that points to the actual error\r\n e.detail = Object(errors["g" /* transformErrorForSerialization */])(e.detail);\r\n }\r\n _this._send({\r\n vsWorker: _this._workerId,\r\n seq: req,\r\n res: undefined,\r\n err: Object(errors["g" /* transformErrorForSerialization */])(e)\r\n });\r\n });\r\n };\r\n SimpleWorkerProtocol.prototype._send = function (msg) {\r\n var transfer = [];\r\n if (msg.req) {\r\n var m = msg;\r\n for (var i = 0; i < m.args.length; i++) {\r\n if (m.args[i] instanceof ArrayBuffer) {\r\n transfer.push(m.args[i]);\r\n }\r\n }\r\n }\r\n else {\r\n var m = msg;\r\n if (m.res instanceof ArrayBuffer) {\r\n transfer.push(m.res);\r\n }\r\n }\r\n this._handler.sendMessage(msg, transfer);\r\n };\r\n return SimpleWorkerProtocol;\r\n}());\r\n/**\r\n * Main thread side\r\n */\r\nvar simpleWorker_SimpleWorkerClient = /** @class */ (function (_super) {\r\n simpleWorker_extends(SimpleWorkerClient, _super);\r\n function SimpleWorkerClient(workerFactory, moduleId, host) {\r\n var _this = _super.call(this) || this;\r\n var lazyProxyReject = null;\r\n _this._worker = _this._register(workerFactory.create(\'vs/base/common/worker/simpleWorker\', function (msg) {\r\n _this._protocol.handleMessage(msg);\r\n }, function (err) {\r\n // in Firefox, web workers fail lazily :(\r\n // we will reject the proxy\r\n if (lazyProxyReject) {\r\n lazyProxyReject(err);\r\n }\r\n }));\r\n _this._protocol = new simpleWorker_SimpleWorkerProtocol({\r\n sendMessage: function (msg, transfer) {\r\n _this._worker.postMessage(msg, transfer);\r\n },\r\n handleMessage: function (method, args) {\r\n if (typeof host[method] !== \'function\') {\r\n return Promise.reject(new Error(\'Missing method \' + method + \' on main thread host.\'));\r\n }\r\n try {\r\n return Promise.resolve(host[method].apply(host, args));\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n }\r\n });\r\n _this._protocol.setWorkerId(_this._worker.getId());\r\n // Gather loader configuration\r\n var loaderConfiguration = null;\r\n if (typeof self.require !== \'undefined\' && typeof self.require.getConfig === \'function\') {\r\n // Get the configuration from the Monaco AMD Loader\r\n loaderConfiguration = self.require.getConfig();\r\n }\r\n else if (typeof self.requirejs !== \'undefined\') {\r\n // Get the configuration from requirejs\r\n loaderConfiguration = self.requirejs.s.contexts._.config;\r\n }\r\n var hostMethods = types["c" /* getAllMethodNames */](host);\r\n // Send initialize message\r\n _this._onModuleLoaded = _this._protocol.sendMessage(INITIALIZE, [\r\n _this._worker.getId(),\r\n JSON.parse(JSON.stringify(loaderConfiguration)),\r\n moduleId,\r\n hostMethods,\r\n ]);\r\n // Create proxy to loaded code\r\n var proxyMethodRequest = function (method, args) {\r\n return _this._request(method, args);\r\n };\r\n _this._lazyProxy = new Promise(function (resolve, reject) {\r\n lazyProxyReject = reject;\r\n _this._onModuleLoaded.then(function (availableMethods) {\r\n resolve(types["b" /* createProxyObject */](availableMethods, proxyMethodRequest));\r\n }, function (e) {\r\n reject(e);\r\n _this._onError(\'Worker failed to load \' + moduleId, e);\r\n });\r\n });\r\n return _this;\r\n }\r\n SimpleWorkerClient.prototype.getProxyObject = function () {\r\n return this._lazyProxy;\r\n };\r\n SimpleWorkerClient.prototype._request = function (method, args) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n _this._onModuleLoaded.then(function () {\r\n _this._protocol.sendMessage(method, args).then(resolve, reject);\r\n }, reject);\r\n });\r\n };\r\n SimpleWorkerClient.prototype._onError = function (message, error) {\r\n console.error(message);\r\n console.info(error);\r\n };\r\n return SimpleWorkerClient;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n/**\r\n * Worker side\r\n */\r\nvar simpleWorker_SimpleWorkerServer = /** @class */ (function () {\r\n function SimpleWorkerServer(postMessage, requestHandlerFactory) {\r\n var _this = this;\r\n this._requestHandlerFactory = requestHandlerFactory;\r\n this._requestHandler = null;\r\n this._protocol = new simpleWorker_SimpleWorkerProtocol({\r\n sendMessage: function (msg, transfer) {\r\n postMessage(msg, transfer);\r\n },\r\n handleMessage: function (method, args) { return _this._handleMessage(method, args); }\r\n });\r\n }\r\n SimpleWorkerServer.prototype.onmessage = function (msg) {\r\n this._protocol.handleMessage(msg);\r\n };\r\n SimpleWorkerServer.prototype._handleMessage = function (method, args) {\r\n if (method === INITIALIZE) {\r\n return this.initialize(args[0], args[1], args[2], args[3]);\r\n }\r\n if (!this._requestHandler || typeof this._requestHandler[method] !== \'function\') {\r\n return Promise.reject(new Error(\'Missing requestHandler or method: \' + method));\r\n }\r\n try {\r\n return Promise.resolve(this._requestHandler[method].apply(this._requestHandler, args));\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n };\r\n SimpleWorkerServer.prototype.initialize = function (workerId, loaderConfig, moduleId, hostMethods) {\r\n var _this = this;\r\n this._protocol.setWorkerId(workerId);\r\n var proxyMethodRequest = function (method, args) {\r\n return _this._protocol.sendMessage(method, args);\r\n };\r\n var hostProxy = types["b" /* createProxyObject */](hostMethods, proxyMethodRequest);\r\n if (this._requestHandlerFactory) {\r\n // static request handler\r\n this._requestHandler = this._requestHandlerFactory(hostProxy);\r\n return Promise.resolve(types["c" /* getAllMethodNames */](this._requestHandler));\r\n }\r\n if (loaderConfig) {\r\n // Remove \'baseUrl\', handling it is beyond scope for now\r\n if (typeof loaderConfig.baseUrl !== \'undefined\') {\r\n delete loaderConfig[\'baseUrl\'];\r\n }\r\n if (typeof loaderConfig.paths !== \'undefined\') {\r\n if (typeof loaderConfig.paths.vs !== \'undefined\') {\r\n delete loaderConfig.paths[\'vs\'];\r\n }\r\n }\r\n // Since this is in a web worker, enable catching errors\r\n loaderConfig.catchError = true;\r\n self.require.config(loaderConfig);\r\n }\r\n return new Promise(function (resolve, reject) {\r\n // Use the global require to be sure to get the global config\r\n self.require([moduleId], function (module) {\r\n _this._requestHandler = module.create(hostProxy);\r\n if (!_this._requestHandler) {\r\n reject(new Error("No RequestHandler!"));\r\n return;\r\n }\r\n resolve(types["c" /* getAllMethodNames */](_this._requestHandler));\r\n }, reject);\r\n });\r\n };\r\n return SimpleWorkerServer;\r\n}());\r\n\r\n/**\r\n * Called on the worker side\r\n */\r\nfunction simpleWorker_create(postMessage) {\r\n return new simpleWorker_SimpleWorkerServer(postMessage, null);\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/worker/defaultWorkerFactory.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nfunction getWorker(workerId, label) {\r\n // Option for hosts to overwrite the worker script (used in the standalone editor)\r\n if (platform["b" /* globals */].MonacoEnvironment) {\r\n if (typeof platform["b" /* globals */].MonacoEnvironment.getWorker === \'function\') {\r\n return platform["b" /* globals */].MonacoEnvironment.getWorker(workerId, label);\r\n }\r\n if (typeof platform["b" /* globals */].MonacoEnvironment.getWorkerUrl === \'function\') {\r\n return new Worker(platform["b" /* globals */].MonacoEnvironment.getWorkerUrl(workerId, label));\r\n }\r\n }\r\n // ESM-comment-begin\r\n // \tif (typeof require === \'function\') {\r\n // \t\t// check if the JS lives on a different origin\r\n // \t\tconst workerMain = require.toUrl(\'./\' + workerId);\r\n // \t\tconst workerUrl = getWorkerBootstrapUrl(workerMain, label);\r\n // \t\treturn new Worker(workerUrl, { name: label });\r\n // \t}\r\n // ESM-comment-end\r\n throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker");\r\n}\r\n// ESM-comment-begin\r\n// export function getWorkerBootstrapUrl(scriptPath: string, label: string): string {\r\n// \tif (/^(http:)|(https:)|(file:)/.test(scriptPath)) {\r\n// \t\tconst currentUrl = String(window.location);\r\n// \t\tconst currentOrigin = currentUrl.substr(0, currentUrl.length - window.location.hash.length - window.location.search.length - window.location.pathname.length);\r\n// \t\tif (scriptPath.substring(0, currentOrigin.length) !== currentOrigin) {\r\n// \t\t\t// this is the cross-origin case\r\n// \t\t\t// i.e. the webpage is running at a different origin than where the scripts are loaded from\r\n// \t\t\tconst myPath = \'vs/base/worker/defaultWorkerFactory.js\';\r\n// \t\t\tconst workerBaseUrl = require.toUrl(myPath).slice(0, -myPath.length);\r\n// \t\t\tconst js = `/*${label}*/self.MonacoEnvironment={baseUrl: \'${workerBaseUrl}\'};importScripts(\'${scriptPath}\');/*${label}*/`;\r\n// \t\t\tconst url = `data:text/javascript;charset=utf-8,${encodeURIComponent(js)}`;\r\n// \t\t\treturn url;\r\n// \t\t}\r\n// \t}\r\n// \treturn scriptPath + \'#\' + label;\r\n// }\r\n// ESM-comment-end\r\nfunction isPromiseLike(obj) {\r\n if (typeof obj.then === \'function\') {\r\n return true;\r\n }\r\n return false;\r\n}\r\n/**\r\n * A worker that uses HTML5 web workers so that is has\r\n * its own global scope and its own thread.\r\n */\r\nvar WebWorker = /** @class */ (function () {\r\n function WebWorker(moduleId, id, label, onMessageCallback, onErrorCallback) {\r\n this.id = id;\r\n var workerOrPromise = getWorker(\'workerMain.js\', label);\r\n if (isPromiseLike(workerOrPromise)) {\r\n this.worker = workerOrPromise;\r\n }\r\n else {\r\n this.worker = Promise.resolve(workerOrPromise);\r\n }\r\n this.postMessage(moduleId, []);\r\n this.worker.then(function (w) {\r\n w.onmessage = function (ev) {\r\n onMessageCallback(ev.data);\r\n };\r\n w.onmessageerror = onErrorCallback;\r\n if (typeof w.addEventListener === \'function\') {\r\n w.addEventListener(\'error\', onErrorCallback);\r\n }\r\n });\r\n }\r\n WebWorker.prototype.getId = function () {\r\n return this.id;\r\n };\r\n WebWorker.prototype.postMessage = function (message, transfer) {\r\n if (this.worker) {\r\n this.worker.then(function (w) { return w.postMessage(message, transfer); });\r\n }\r\n };\r\n WebWorker.prototype.dispose = function () {\r\n if (this.worker) {\r\n this.worker.then(function (w) { return w.terminate(); });\r\n }\r\n this.worker = null;\r\n };\r\n return WebWorker;\r\n}());\r\nvar defaultWorkerFactory_DefaultWorkerFactory = /** @class */ (function () {\r\n function DefaultWorkerFactory(label) {\r\n this._label = label;\r\n this._webWorkerFailedBeforeError = false;\r\n }\r\n DefaultWorkerFactory.prototype.create = function (moduleId, onMessageCallback, onErrorCallback) {\r\n var _this = this;\r\n var workerId = (++DefaultWorkerFactory.LAST_WORKER_ID);\r\n if (this._webWorkerFailedBeforeError) {\r\n throw this._webWorkerFailedBeforeError;\r\n }\r\n return new WebWorker(moduleId, workerId, this._label || \'anonymous\' + workerId, onMessageCallback, function (err) {\r\n logOnceWebWorkerWarning(err);\r\n _this._webWorkerFailedBeforeError = err;\r\n onErrorCallback(err);\r\n });\r\n };\r\n DefaultWorkerFactory.LAST_WORKER_ID = 0;\r\n return DefaultWorkerFactory;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/languageConfigurationRegistry.js + 4 modules\nvar languageConfigurationRegistry = __webpack_require__("cMvZ");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/arrays.js\nvar arrays = __webpack_require__("6OMU");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * Represents information about a specific difference between two sequences.\r\n */\r\nvar DiffChange = /** @class */ (function () {\r\n /**\r\n * Constructs a new DiffChange with the given sequence information\r\n * and content.\r\n */\r\n function DiffChange(originalStart, originalLength, modifiedStart, modifiedLength) {\r\n //Debug.Assert(originalLength > 0 || modifiedLength > 0, "originalLength and modifiedLength cannot both be <= 0");\r\n this.originalStart = originalStart;\r\n this.originalLength = originalLength;\r\n this.modifiedStart = modifiedStart;\r\n this.modifiedLength = modifiedLength;\r\n }\r\n /**\r\n * The end point (exclusive) of the change in the original sequence.\r\n */\r\n DiffChange.prototype.getOriginalEnd = function () {\r\n return this.originalStart + this.originalLength;\r\n };\r\n /**\r\n * The end point (exclusive) of the change in the modified sequence.\r\n */\r\n DiffChange.prototype.getModifiedEnd = function () {\r\n return this.modifiedStart + this.modifiedLength;\r\n };\r\n return DiffChange;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/hash.js\nvar hash = __webpack_require__("7afs");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nvar StringDiffSequence = /** @class */ (function () {\r\n function StringDiffSequence(source) {\r\n this.source = source;\r\n }\r\n StringDiffSequence.prototype.getElements = function () {\r\n var source = this.source;\r\n var characters = new Int32Array(source.length);\r\n for (var i = 0, len = source.length; i < len; i++) {\r\n characters[i] = source.charCodeAt(i);\r\n }\r\n return characters;\r\n };\r\n return StringDiffSequence;\r\n}());\r\n\r\nfunction stringDiff(original, modified, pretty) {\r\n return new diff_LcsDiff(new StringDiffSequence(original), new StringDiffSequence(modified)).ComputeDiff(pretty).changes;\r\n}\r\n//\r\n// The code below has been ported from a C# implementation in VS\r\n//\r\nvar Debug = /** @class */ (function () {\r\n function Debug() {\r\n }\r\n Debug.Assert = function (condition, message) {\r\n if (!condition) {\r\n throw new Error(message);\r\n }\r\n };\r\n return Debug;\r\n}());\r\n\r\nvar MyArray = /** @class */ (function () {\r\n function MyArray() {\r\n }\r\n /**\r\n * Copies a range of elements from an Array starting at the specified source index and pastes\r\n * them to another Array starting at the specified destination index. The length and the indexes\r\n * are specified as 64-bit integers.\r\n * sourceArray:\r\n *\t\tThe Array that contains the data to copy.\r\n * sourceIndex:\r\n *\t\tA 64-bit integer that represents the index in the sourceArray at which copying begins.\r\n * destinationArray:\r\n *\t\tThe Array that receives the data.\r\n * destinationIndex:\r\n *\t\tA 64-bit integer that represents the index in the destinationArray at which storing begins.\r\n * length:\r\n *\t\tA 64-bit integer that represents the number of elements to copy.\r\n */\r\n MyArray.Copy = function (sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\r\n for (var i = 0; i < length; i++) {\r\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\r\n }\r\n };\r\n MyArray.Copy2 = function (sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\r\n for (var i = 0; i < length; i++) {\r\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\r\n }\r\n };\r\n return MyArray;\r\n}());\r\n\r\n/**\r\n * A utility class which helps to create the set of DiffChanges from\r\n * a difference operation. This class accepts original DiffElements and\r\n * modified DiffElements that are involved in a particular change. The\r\n * MarktNextChange() method can be called to mark the separation between\r\n * distinct changes. At the end, the Changes property can be called to retrieve\r\n * the constructed changes.\r\n */\r\nvar diff_DiffChangeHelper = /** @class */ (function () {\r\n /**\r\n * Constructs a new DiffChangeHelper for the given DiffSequences.\r\n */\r\n function DiffChangeHelper() {\r\n this.m_changes = [];\r\n this.m_originalStart = 1073741824 /* MAX_SAFE_SMALL_INTEGER */;\r\n this.m_modifiedStart = 1073741824 /* MAX_SAFE_SMALL_INTEGER */;\r\n this.m_originalCount = 0;\r\n this.m_modifiedCount = 0;\r\n }\r\n /**\r\n * Marks the beginning of the next change in the set of differences.\r\n */\r\n DiffChangeHelper.prototype.MarkNextChange = function () {\r\n // Only add to the list if there is something to add\r\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\r\n // Add the new change to our list\r\n this.m_changes.push(new DiffChange(this.m_originalStart, this.m_originalCount, this.m_modifiedStart, this.m_modifiedCount));\r\n }\r\n // Reset for the next change\r\n this.m_originalCount = 0;\r\n this.m_modifiedCount = 0;\r\n this.m_originalStart = 1073741824 /* MAX_SAFE_SMALL_INTEGER */;\r\n this.m_modifiedStart = 1073741824 /* MAX_SAFE_SMALL_INTEGER */;\r\n };\r\n /**\r\n * Adds the original element at the given position to the elements\r\n * affected by the current change. The modified index gives context\r\n * to the change position with respect to the original sequence.\r\n * @param originalIndex The index of the original element to add.\r\n * @param modifiedIndex The index of the modified element that provides corresponding position in the modified sequence.\r\n */\r\n DiffChangeHelper.prototype.AddOriginalElement = function (originalIndex, modifiedIndex) {\r\n // The \'true\' start index is the smallest of the ones we\'ve seen\r\n this.m_originalStart = Math.min(this.m_originalStart, originalIndex);\r\n this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);\r\n this.m_originalCount++;\r\n };\r\n /**\r\n * Adds the modified element at the given position to the elements\r\n * affected by the current change. The original index gives context\r\n * to the change position with respect to the modified sequence.\r\n * @param originalIndex The index of the original element that provides corresponding position in the original sequence.\r\n * @param modifiedIndex The index of the modified element to add.\r\n */\r\n DiffChangeHelper.prototype.AddModifiedElement = function (originalIndex, modifiedIndex) {\r\n // The \'true\' start index is the smallest of the ones we\'ve seen\r\n this.m_originalStart = Math.min(this.m_originalStart, originalIndex);\r\n this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);\r\n this.m_modifiedCount++;\r\n };\r\n /**\r\n * Retrieves all of the changes marked by the class.\r\n */\r\n DiffChangeHelper.prototype.getChanges = function () {\r\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\r\n // Finish up on whatever is left\r\n this.MarkNextChange();\r\n }\r\n return this.m_changes;\r\n };\r\n /**\r\n * Retrieves all of the changes marked by the class in the reverse order\r\n */\r\n DiffChangeHelper.prototype.getReverseChanges = function () {\r\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\r\n // Finish up on whatever is left\r\n this.MarkNextChange();\r\n }\r\n this.m_changes.reverse();\r\n return this.m_changes;\r\n };\r\n return DiffChangeHelper;\r\n}());\r\n/**\r\n * An implementation of the difference algorithm described in\r\n * "An O(ND) Difference Algorithm and its variations" by Eugene W. Myers\r\n */\r\nvar diff_LcsDiff = /** @class */ (function () {\r\n /**\r\n * Constructs the DiffFinder\r\n */\r\n function LcsDiff(originalSequence, modifiedSequence, continueProcessingPredicate) {\r\n if (continueProcessingPredicate === void 0) { continueProcessingPredicate = null; }\r\n this.ContinueProcessingPredicate = continueProcessingPredicate;\r\n var _a = LcsDiff._getElements(originalSequence), originalStringElements = _a[0], originalElementsOrHash = _a[1], originalHasStrings = _a[2];\r\n var _b = LcsDiff._getElements(modifiedSequence), modifiedStringElements = _b[0], modifiedElementsOrHash = _b[1], modifiedHasStrings = _b[2];\r\n this._hasStrings = (originalHasStrings && modifiedHasStrings);\r\n this._originalStringElements = originalStringElements;\r\n this._originalElementsOrHash = originalElementsOrHash;\r\n this._modifiedStringElements = modifiedStringElements;\r\n this._modifiedElementsOrHash = modifiedElementsOrHash;\r\n this.m_forwardHistory = [];\r\n this.m_reverseHistory = [];\r\n }\r\n LcsDiff._isStringArray = function (arr) {\r\n return (arr.length > 0 && typeof arr[0] === \'string\');\r\n };\r\n LcsDiff._getElements = function (sequence) {\r\n var elements = sequence.getElements();\r\n if (LcsDiff._isStringArray(elements)) {\r\n var hashes = new Int32Array(elements.length);\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n hashes[i] = Object(hash["b" /* stringHash */])(elements[i], 0);\r\n }\r\n return [elements, hashes, true];\r\n }\r\n if (elements instanceof Int32Array) {\r\n return [[], elements, false];\r\n }\r\n return [[], new Int32Array(elements), false];\r\n };\r\n LcsDiff.prototype.ElementsAreEqual = function (originalIndex, newIndex) {\r\n if (this._originalElementsOrHash[originalIndex] !== this._modifiedElementsOrHash[newIndex]) {\r\n return false;\r\n }\r\n return (this._hasStrings ? this._originalStringElements[originalIndex] === this._modifiedStringElements[newIndex] : true);\r\n };\r\n LcsDiff.prototype.OriginalElementsAreEqual = function (index1, index2) {\r\n if (this._originalElementsOrHash[index1] !== this._originalElementsOrHash[index2]) {\r\n return false;\r\n }\r\n return (this._hasStrings ? this._originalStringElements[index1] === this._originalStringElements[index2] : true);\r\n };\r\n LcsDiff.prototype.ModifiedElementsAreEqual = function (index1, index2) {\r\n if (this._modifiedElementsOrHash[index1] !== this._modifiedElementsOrHash[index2]) {\r\n return false;\r\n }\r\n return (this._hasStrings ? this._modifiedStringElements[index1] === this._modifiedStringElements[index2] : true);\r\n };\r\n LcsDiff.prototype.ComputeDiff = function (pretty) {\r\n return this._ComputeDiff(0, this._originalElementsOrHash.length - 1, 0, this._modifiedElementsOrHash.length - 1, pretty);\r\n };\r\n /**\r\n * Computes the differences between the original and modified input\r\n * sequences on the bounded range.\r\n * @returns An array of the differences between the two input sequences.\r\n */\r\n LcsDiff.prototype._ComputeDiff = function (originalStart, originalEnd, modifiedStart, modifiedEnd, pretty) {\r\n var quitEarlyArr = [false];\r\n var changes = this.ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr);\r\n if (pretty) {\r\n // We have to clean up the computed diff to be more intuitive\r\n // but it turns out this cannot be done correctly until the entire set\r\n // of diffs have been computed\r\n changes = this.PrettifyChanges(changes);\r\n }\r\n return {\r\n quitEarly: quitEarlyArr[0],\r\n changes: changes\r\n };\r\n };\r\n /**\r\n * Private helper method which computes the differences on the bounded range\r\n * recursively.\r\n * @returns An array of the differences between the two input sequences.\r\n */\r\n LcsDiff.prototype.ComputeDiffRecursive = function (originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr) {\r\n quitEarlyArr[0] = false;\r\n // Find the start of the differences\r\n while (originalStart <= originalEnd && modifiedStart <= modifiedEnd && this.ElementsAreEqual(originalStart, modifiedStart)) {\r\n originalStart++;\r\n modifiedStart++;\r\n }\r\n // Find the end of the differences\r\n while (originalEnd >= originalStart && modifiedEnd >= modifiedStart && this.ElementsAreEqual(originalEnd, modifiedEnd)) {\r\n originalEnd--;\r\n modifiedEnd--;\r\n }\r\n // In the special case where we either have all insertions or all deletions or the sequences are identical\r\n if (originalStart > originalEnd || modifiedStart > modifiedEnd) {\r\n var changes = void 0;\r\n if (modifiedStart <= modifiedEnd) {\r\n Debug.Assert(originalStart === originalEnd + 1, \'originalStart should only be one more than originalEnd\');\r\n // All insertions\r\n changes = [\r\n new DiffChange(originalStart, 0, modifiedStart, modifiedEnd - modifiedStart + 1)\r\n ];\r\n }\r\n else if (originalStart <= originalEnd) {\r\n Debug.Assert(modifiedStart === modifiedEnd + 1, \'modifiedStart should only be one more than modifiedEnd\');\r\n // All deletions\r\n changes = [\r\n new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, 0)\r\n ];\r\n }\r\n else {\r\n Debug.Assert(originalStart === originalEnd + 1, \'originalStart should only be one more than originalEnd\');\r\n Debug.Assert(modifiedStart === modifiedEnd + 1, \'modifiedStart should only be one more than modifiedEnd\');\r\n // Identical sequences - No differences\r\n changes = [];\r\n }\r\n return changes;\r\n }\r\n // This problem can be solved using the Divide-And-Conquer technique.\r\n var midOriginalArr = [0];\r\n var midModifiedArr = [0];\r\n var result = this.ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr);\r\n var midOriginal = midOriginalArr[0];\r\n var midModified = midModifiedArr[0];\r\n if (result !== null) {\r\n // Result is not-null when there was enough memory to compute the changes while\r\n // searching for the recursion point\r\n return result;\r\n }\r\n else if (!quitEarlyArr[0]) {\r\n // We can break the problem down recursively by finding the changes in the\r\n // First Half: (originalStart, modifiedStart) to (midOriginal, midModified)\r\n // Second Half: (midOriginal + 1, minModified + 1) to (originalEnd, modifiedEnd)\r\n // NOTE: ComputeDiff() is inclusive, therefore the second range starts on the next point\r\n var leftChanges = this.ComputeDiffRecursive(originalStart, midOriginal, modifiedStart, midModified, quitEarlyArr);\r\n var rightChanges = [];\r\n if (!quitEarlyArr[0]) {\r\n rightChanges = this.ComputeDiffRecursive(midOriginal + 1, originalEnd, midModified + 1, modifiedEnd, quitEarlyArr);\r\n }\r\n else {\r\n // We did\'t have time to finish the first half, so we don\'t have time to compute this half.\r\n // Consider the entire rest of the sequence different.\r\n rightChanges = [\r\n new DiffChange(midOriginal + 1, originalEnd - (midOriginal + 1) + 1, midModified + 1, modifiedEnd - (midModified + 1) + 1)\r\n ];\r\n }\r\n return this.ConcatenateChanges(leftChanges, rightChanges);\r\n }\r\n // If we hit here, we quit early, and so can\'t return anything meaningful\r\n return [\r\n new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\r\n ];\r\n };\r\n LcsDiff.prototype.WALKTRACE = function (diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr) {\r\n var forwardChanges = null;\r\n var reverseChanges = null;\r\n // First, walk backward through the forward diagonals history\r\n var changeHelper = new diff_DiffChangeHelper();\r\n var diagonalMin = diagonalForwardStart;\r\n var diagonalMax = diagonalForwardEnd;\r\n var diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalForwardOffset;\r\n var lastOriginalIndex = -1073741824 /* MIN_SAFE_SMALL_INTEGER */;\r\n var historyIndex = this.m_forwardHistory.length - 1;\r\n do {\r\n // Get the diagonal index from the relative diagonal number\r\n var diagonal = diagonalRelative + diagonalForwardBase;\r\n // Figure out where we came from\r\n if (diagonal === diagonalMin || (diagonal < diagonalMax && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1])) {\r\n // Vertical line (the element is an insert)\r\n originalIndex = forwardPoints[diagonal + 1];\r\n modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;\r\n if (originalIndex < lastOriginalIndex) {\r\n changeHelper.MarkNextChange();\r\n }\r\n lastOriginalIndex = originalIndex;\r\n changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex);\r\n diagonalRelative = (diagonal + 1) - diagonalForwardBase; //Setup for the next iteration\r\n }\r\n else {\r\n // Horizontal line (the element is a deletion)\r\n originalIndex = forwardPoints[diagonal - 1] + 1;\r\n modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;\r\n if (originalIndex < lastOriginalIndex) {\r\n changeHelper.MarkNextChange();\r\n }\r\n lastOriginalIndex = originalIndex - 1;\r\n changeHelper.AddOriginalElement(originalIndex, modifiedIndex + 1);\r\n diagonalRelative = (diagonal - 1) - diagonalForwardBase; //Setup for the next iteration\r\n }\r\n if (historyIndex >= 0) {\r\n forwardPoints = this.m_forwardHistory[historyIndex];\r\n diagonalForwardBase = forwardPoints[0]; //We stored this in the first spot\r\n diagonalMin = 1;\r\n diagonalMax = forwardPoints.length - 1;\r\n }\r\n } while (--historyIndex >= -1);\r\n // Ironically, we get the forward changes as the reverse of the\r\n // order we added them since we technically added them backwards\r\n forwardChanges = changeHelper.getReverseChanges();\r\n if (quitEarlyArr[0]) {\r\n // TODO: Calculate a partial from the reverse diagonals.\r\n // For now, just assume everything after the midOriginal/midModified point is a diff\r\n var originalStartPoint = midOriginalArr[0] + 1;\r\n var modifiedStartPoint = midModifiedArr[0] + 1;\r\n if (forwardChanges !== null && forwardChanges.length > 0) {\r\n var lastForwardChange = forwardChanges[forwardChanges.length - 1];\r\n originalStartPoint = Math.max(originalStartPoint, lastForwardChange.getOriginalEnd());\r\n modifiedStartPoint = Math.max(modifiedStartPoint, lastForwardChange.getModifiedEnd());\r\n }\r\n reverseChanges = [\r\n new DiffChange(originalStartPoint, originalEnd - originalStartPoint + 1, modifiedStartPoint, modifiedEnd - modifiedStartPoint + 1)\r\n ];\r\n }\r\n else {\r\n // Now walk backward through the reverse diagonals history\r\n changeHelper = new diff_DiffChangeHelper();\r\n diagonalMin = diagonalReverseStart;\r\n diagonalMax = diagonalReverseEnd;\r\n diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalReverseOffset;\r\n lastOriginalIndex = 1073741824 /* MAX_SAFE_SMALL_INTEGER */;\r\n historyIndex = (deltaIsEven) ? this.m_reverseHistory.length - 1 : this.m_reverseHistory.length - 2;\r\n do {\r\n // Get the diagonal index from the relative diagonal number\r\n var diagonal = diagonalRelative + diagonalReverseBase;\r\n // Figure out where we came from\r\n if (diagonal === diagonalMin || (diagonal < diagonalMax && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1])) {\r\n // Horizontal line (the element is a deletion))\r\n originalIndex = reversePoints[diagonal + 1] - 1;\r\n modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;\r\n if (originalIndex > lastOriginalIndex) {\r\n changeHelper.MarkNextChange();\r\n }\r\n lastOriginalIndex = originalIndex + 1;\r\n changeHelper.AddOriginalElement(originalIndex + 1, modifiedIndex + 1);\r\n diagonalRelative = (diagonal + 1) - diagonalReverseBase; //Setup for the next iteration\r\n }\r\n else {\r\n // Vertical line (the element is an insertion)\r\n originalIndex = reversePoints[diagonal - 1];\r\n modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;\r\n if (originalIndex > lastOriginalIndex) {\r\n changeHelper.MarkNextChange();\r\n }\r\n lastOriginalIndex = originalIndex;\r\n changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex + 1);\r\n diagonalRelative = (diagonal - 1) - diagonalReverseBase; //Setup for the next iteration\r\n }\r\n if (historyIndex >= 0) {\r\n reversePoints = this.m_reverseHistory[historyIndex];\r\n diagonalReverseBase = reversePoints[0]; //We stored this in the first spot\r\n diagonalMin = 1;\r\n diagonalMax = reversePoints.length - 1;\r\n }\r\n } while (--historyIndex >= -1);\r\n // There are cases where the reverse history will find diffs that\r\n // are correct, but not intuitive, so we need shift them.\r\n reverseChanges = changeHelper.getChanges();\r\n }\r\n return this.ConcatenateChanges(forwardChanges, reverseChanges);\r\n };\r\n /**\r\n * Given the range to compute the diff on, this method finds the point:\r\n * (midOriginal, midModified)\r\n * that exists in the middle of the LCS of the two sequences and\r\n * is the point at which the LCS problem may be broken down recursively.\r\n * This method will try to keep the LCS trace in memory. If the LCS recursion\r\n * point is calculated and the full trace is available in memory, then this method\r\n * will return the change list.\r\n * @param originalStart The start bound of the original sequence range\r\n * @param originalEnd The end bound of the original sequence range\r\n * @param modifiedStart The start bound of the modified sequence range\r\n * @param modifiedEnd The end bound of the modified sequence range\r\n * @param midOriginal The middle point of the original sequence range\r\n * @param midModified The middle point of the modified sequence range\r\n * @returns The diff changes, if available, otherwise null\r\n */\r\n LcsDiff.prototype.ComputeRecursionPoint = function (originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr) {\r\n var originalIndex = 0, modifiedIndex = 0;\r\n var diagonalForwardStart = 0, diagonalForwardEnd = 0;\r\n var diagonalReverseStart = 0, diagonalReverseEnd = 0;\r\n // To traverse the edit graph and produce the proper LCS, our actual\r\n // start position is just outside the given boundary\r\n originalStart--;\r\n modifiedStart--;\r\n // We set these up to make the compiler happy, but they will\r\n // be replaced before we return with the actual recursion point\r\n midOriginalArr[0] = 0;\r\n midModifiedArr[0] = 0;\r\n // Clear out the history\r\n this.m_forwardHistory = [];\r\n this.m_reverseHistory = [];\r\n // Each cell in the two arrays corresponds to a diagonal in the edit graph.\r\n // The integer value in the cell represents the originalIndex of the furthest\r\n // reaching point found so far that ends in that diagonal.\r\n // The modifiedIndex can be computed mathematically from the originalIndex and the diagonal number.\r\n var maxDifferences = (originalEnd - originalStart) + (modifiedEnd - modifiedStart);\r\n var numDiagonals = maxDifferences + 1;\r\n var forwardPoints = new Int32Array(numDiagonals);\r\n var reversePoints = new Int32Array(numDiagonals);\r\n // diagonalForwardBase: Index into forwardPoints of the diagonal which passes through (originalStart, modifiedStart)\r\n // diagonalReverseBase: Index into reversePoints of the diagonal which passes through (originalEnd, modifiedEnd)\r\n var diagonalForwardBase = (modifiedEnd - modifiedStart);\r\n var diagonalReverseBase = (originalEnd - originalStart);\r\n // diagonalForwardOffset: Geometric offset which allows modifiedIndex to be computed from originalIndex and the\r\n // diagonal number (relative to diagonalForwardBase)\r\n // diagonalReverseOffset: Geometric offset which allows modifiedIndex to be computed from originalIndex and the\r\n // diagonal number (relative to diagonalReverseBase)\r\n var diagonalForwardOffset = (originalStart - modifiedStart);\r\n var diagonalReverseOffset = (originalEnd - modifiedEnd);\r\n // delta: The difference between the end diagonal and the start diagonal. This is used to relate diagonal numbers\r\n // relative to the start diagonal with diagonal numbers relative to the end diagonal.\r\n // The Even/Oddn-ness of this delta is important for determining when we should check for overlap\r\n var delta = diagonalReverseBase - diagonalForwardBase;\r\n var deltaIsEven = (delta % 2 === 0);\r\n // Here we set up the start and end points as the furthest points found so far\r\n // in both the forward and reverse directions, respectively\r\n forwardPoints[diagonalForwardBase] = originalStart;\r\n reversePoints[diagonalReverseBase] = originalEnd;\r\n // Remember if we quit early, and thus need to do a best-effort result instead of a real result.\r\n quitEarlyArr[0] = false;\r\n // A couple of points:\r\n // --With this method, we iterate on the number of differences between the two sequences.\r\n // The more differences there actually are, the longer this will take.\r\n // --Also, as the number of differences increases, we have to search on diagonals further\r\n // away from the reference diagonal (which is diagonalForwardBase for forward, diagonalReverseBase for reverse).\r\n // --We extend on even diagonals (relative to the reference diagonal) only when numDifferences\r\n // is even and odd diagonals only when numDifferences is odd.\r\n for (var numDifferences = 1; numDifferences <= (maxDifferences / 2) + 1; numDifferences++) {\r\n var furthestOriginalIndex = 0;\r\n var furthestModifiedIndex = 0;\r\n // Run the algorithm in the forward direction\r\n diagonalForwardStart = this.ClipDiagonalBound(diagonalForwardBase - numDifferences, numDifferences, diagonalForwardBase, numDiagonals);\r\n diagonalForwardEnd = this.ClipDiagonalBound(diagonalForwardBase + numDifferences, numDifferences, diagonalForwardBase, numDiagonals);\r\n for (var diagonal = diagonalForwardStart; diagonal <= diagonalForwardEnd; diagonal += 2) {\r\n // STEP 1: We extend the furthest reaching point in the present diagonal\r\n // by looking at the diagonals above and below and picking the one whose point\r\n // is further away from the start point (originalStart, modifiedStart)\r\n if (diagonal === diagonalForwardStart || (diagonal < diagonalForwardEnd && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1])) {\r\n originalIndex = forwardPoints[diagonal + 1];\r\n }\r\n else {\r\n originalIndex = forwardPoints[diagonal - 1] + 1;\r\n }\r\n modifiedIndex = originalIndex - (diagonal - diagonalForwardBase) - diagonalForwardOffset;\r\n // Save the current originalIndex so we can test for false overlap in step 3\r\n var tempOriginalIndex = originalIndex;\r\n // STEP 2: We can continue to extend the furthest reaching point in the present diagonal\r\n // so long as the elements are equal.\r\n while (originalIndex < originalEnd && modifiedIndex < modifiedEnd && this.ElementsAreEqual(originalIndex + 1, modifiedIndex + 1)) {\r\n originalIndex++;\r\n modifiedIndex++;\r\n }\r\n forwardPoints[diagonal] = originalIndex;\r\n if (originalIndex + modifiedIndex > furthestOriginalIndex + furthestModifiedIndex) {\r\n furthestOriginalIndex = originalIndex;\r\n furthestModifiedIndex = modifiedIndex;\r\n }\r\n // STEP 3: If delta is odd (overlap first happens on forward when delta is odd)\r\n // and diagonal is in the range of reverse diagonals computed for numDifferences-1\r\n // (the previous iteration; we haven\'t computed reverse diagonals for numDifferences yet)\r\n // then check for overlap.\r\n if (!deltaIsEven && Math.abs(diagonal - diagonalReverseBase) <= (numDifferences - 1)) {\r\n if (originalIndex >= reversePoints[diagonal]) {\r\n midOriginalArr[0] = originalIndex;\r\n midModifiedArr[0] = modifiedIndex;\r\n if (tempOriginalIndex <= reversePoints[diagonal] && 1447 /* MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* MaxDifferencesHistory */ + 1)) {\r\n // BINGO! We overlapped, and we have the full trace in memory!\r\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\r\n }\r\n else {\r\n // Either false overlap, or we didn\'t have enough memory for the full trace\r\n // Just return the recursion point\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n // Check to see if we should be quitting early, before moving on to the next iteration.\r\n var matchLengthOfLongest = ((furthestOriginalIndex - originalStart) + (furthestModifiedIndex - modifiedStart) - numDifferences) / 2;\r\n if (this.ContinueProcessingPredicate !== null && !this.ContinueProcessingPredicate(furthestOriginalIndex, matchLengthOfLongest)) {\r\n // We can\'t finish, so skip ahead to generating a result from what we have.\r\n quitEarlyArr[0] = true;\r\n // Use the furthest distance we got in the forward direction.\r\n midOriginalArr[0] = furthestOriginalIndex;\r\n midModifiedArr[0] = furthestModifiedIndex;\r\n if (matchLengthOfLongest > 0 && 1447 /* MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* MaxDifferencesHistory */ + 1)) {\r\n // Enough of the history is in memory to walk it backwards\r\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\r\n }\r\n else {\r\n // We didn\'t actually remember enough of the history.\r\n //Since we are quiting the diff early, we need to shift back the originalStart and modified start\r\n //back into the boundary limits since we decremented their value above beyond the boundary limit.\r\n originalStart++;\r\n modifiedStart++;\r\n return [\r\n new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\r\n ];\r\n }\r\n }\r\n // Run the algorithm in the reverse direction\r\n diagonalReverseStart = this.ClipDiagonalBound(diagonalReverseBase - numDifferences, numDifferences, diagonalReverseBase, numDiagonals);\r\n diagonalReverseEnd = this.ClipDiagonalBound(diagonalReverseBase + numDifferences, numDifferences, diagonalReverseBase, numDiagonals);\r\n for (var diagonal = diagonalReverseStart; diagonal <= diagonalReverseEnd; diagonal += 2) {\r\n // STEP 1: We extend the furthest reaching point in the present diagonal\r\n // by looking at the diagonals above and below and picking the one whose point\r\n // is further away from the start point (originalEnd, modifiedEnd)\r\n if (diagonal === diagonalReverseStart || (diagonal < diagonalReverseEnd && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1])) {\r\n originalIndex = reversePoints[diagonal + 1] - 1;\r\n }\r\n else {\r\n originalIndex = reversePoints[diagonal - 1];\r\n }\r\n modifiedIndex = originalIndex - (diagonal - diagonalReverseBase) - diagonalReverseOffset;\r\n // Save the current originalIndex so we can test for false overlap\r\n var tempOriginalIndex = originalIndex;\r\n // STEP 2: We can continue to extend the furthest reaching point in the present diagonal\r\n // as long as the elements are equal.\r\n while (originalIndex > originalStart && modifiedIndex > modifiedStart && this.ElementsAreEqual(originalIndex, modifiedIndex)) {\r\n originalIndex--;\r\n modifiedIndex--;\r\n }\r\n reversePoints[diagonal] = originalIndex;\r\n // STEP 4: If delta is even (overlap first happens on reverse when delta is even)\r\n // and diagonal is in the range of forward diagonals computed for numDifferences\r\n // then check for overlap.\r\n if (deltaIsEven && Math.abs(diagonal - diagonalForwardBase) <= numDifferences) {\r\n if (originalIndex <= forwardPoints[diagonal]) {\r\n midOriginalArr[0] = originalIndex;\r\n midModifiedArr[0] = modifiedIndex;\r\n if (tempOriginalIndex >= forwardPoints[diagonal] && 1447 /* MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* MaxDifferencesHistory */ + 1)) {\r\n // BINGO! We overlapped, and we have the full trace in memory!\r\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\r\n }\r\n else {\r\n // Either false overlap, or we didn\'t have enough memory for the full trace\r\n // Just return the recursion point\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n // Save current vectors to history before the next iteration\r\n if (numDifferences <= 1447 /* MaxDifferencesHistory */) {\r\n // We are allocating space for one extra int, which we fill with\r\n // the index of the diagonal base index\r\n var temp = new Int32Array(diagonalForwardEnd - diagonalForwardStart + 2);\r\n temp[0] = diagonalForwardBase - diagonalForwardStart + 1;\r\n MyArray.Copy2(forwardPoints, diagonalForwardStart, temp, 1, diagonalForwardEnd - diagonalForwardStart + 1);\r\n this.m_forwardHistory.push(temp);\r\n temp = new Int32Array(diagonalReverseEnd - diagonalReverseStart + 2);\r\n temp[0] = diagonalReverseBase - diagonalReverseStart + 1;\r\n MyArray.Copy2(reversePoints, diagonalReverseStart, temp, 1, diagonalReverseEnd - diagonalReverseStart + 1);\r\n this.m_reverseHistory.push(temp);\r\n }\r\n }\r\n // If we got here, then we have the full trace in history. We just have to convert it to a change list\r\n // NOTE: This part is a bit messy\r\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\r\n };\r\n /**\r\n * Shifts the given changes to provide a more intuitive diff.\r\n * While the first element in a diff matches the first element after the diff,\r\n * we shift the diff down.\r\n *\r\n * @param changes The list of changes to shift\r\n * @returns The shifted changes\r\n */\r\n LcsDiff.prototype.PrettifyChanges = function (changes) {\r\n // Shift all the changes down first\r\n for (var i = 0; i < changes.length; i++) {\r\n var change = changes[i];\r\n var originalStop = (i < changes.length - 1) ? changes[i + 1].originalStart : this._originalElementsOrHash.length;\r\n var modifiedStop = (i < changes.length - 1) ? changes[i + 1].modifiedStart : this._modifiedElementsOrHash.length;\r\n var checkOriginal = change.originalLength > 0;\r\n var checkModified = change.modifiedLength > 0;\r\n while (change.originalStart + change.originalLength < originalStop &&\r\n change.modifiedStart + change.modifiedLength < modifiedStop &&\r\n (!checkOriginal || this.OriginalElementsAreEqual(change.originalStart, change.originalStart + change.originalLength)) &&\r\n (!checkModified || this.ModifiedElementsAreEqual(change.modifiedStart, change.modifiedStart + change.modifiedLength))) {\r\n change.originalStart++;\r\n change.modifiedStart++;\r\n }\r\n var mergedChangeArr = [null];\r\n if (i < changes.length - 1 && this.ChangesOverlap(changes[i], changes[i + 1], mergedChangeArr)) {\r\n changes[i] = mergedChangeArr[0];\r\n changes.splice(i + 1, 1);\r\n i--;\r\n continue;\r\n }\r\n }\r\n // Shift changes back up until we hit empty or whitespace-only lines\r\n for (var i = changes.length - 1; i >= 0; i--) {\r\n var change = changes[i];\r\n var originalStop = 0;\r\n var modifiedStop = 0;\r\n if (i > 0) {\r\n var prevChange = changes[i - 1];\r\n if (prevChange.originalLength > 0) {\r\n originalStop = prevChange.originalStart + prevChange.originalLength;\r\n }\r\n if (prevChange.modifiedLength > 0) {\r\n modifiedStop = prevChange.modifiedStart + prevChange.modifiedLength;\r\n }\r\n }\r\n var checkOriginal = change.originalLength > 0;\r\n var checkModified = change.modifiedLength > 0;\r\n var bestDelta = 0;\r\n var bestScore = this._boundaryScore(change.originalStart, change.originalLength, change.modifiedStart, change.modifiedLength);\r\n for (var delta = 1;; delta++) {\r\n var originalStart = change.originalStart - delta;\r\n var modifiedStart = change.modifiedStart - delta;\r\n if (originalStart < originalStop || modifiedStart < modifiedStop) {\r\n break;\r\n }\r\n if (checkOriginal && !this.OriginalElementsAreEqual(originalStart, originalStart + change.originalLength)) {\r\n break;\r\n }\r\n if (checkModified && !this.ModifiedElementsAreEqual(modifiedStart, modifiedStart + change.modifiedLength)) {\r\n break;\r\n }\r\n var score = this._boundaryScore(originalStart, change.originalLength, modifiedStart, change.modifiedLength);\r\n if (score > bestScore) {\r\n bestScore = score;\r\n bestDelta = delta;\r\n }\r\n }\r\n change.originalStart -= bestDelta;\r\n change.modifiedStart -= bestDelta;\r\n }\r\n return changes;\r\n };\r\n LcsDiff.prototype._OriginalIsBoundary = function (index) {\r\n if (index <= 0 || index >= this._originalElementsOrHash.length - 1) {\r\n return true;\r\n }\r\n return (this._hasStrings && /^\\s*$/.test(this._originalStringElements[index]));\r\n };\r\n LcsDiff.prototype._OriginalRegionIsBoundary = function (originalStart, originalLength) {\r\n if (this._OriginalIsBoundary(originalStart) || this._OriginalIsBoundary(originalStart - 1)) {\r\n return true;\r\n }\r\n if (originalLength > 0) {\r\n var originalEnd = originalStart + originalLength;\r\n if (this._OriginalIsBoundary(originalEnd - 1) || this._OriginalIsBoundary(originalEnd)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n LcsDiff.prototype._ModifiedIsBoundary = function (index) {\r\n if (index <= 0 || index >= this._modifiedElementsOrHash.length - 1) {\r\n return true;\r\n }\r\n return (this._hasStrings && /^\\s*$/.test(this._modifiedStringElements[index]));\r\n };\r\n LcsDiff.prototype._ModifiedRegionIsBoundary = function (modifiedStart, modifiedLength) {\r\n if (this._ModifiedIsBoundary(modifiedStart) || this._ModifiedIsBoundary(modifiedStart - 1)) {\r\n return true;\r\n }\r\n if (modifiedLength > 0) {\r\n var modifiedEnd = modifiedStart + modifiedLength;\r\n if (this._ModifiedIsBoundary(modifiedEnd - 1) || this._ModifiedIsBoundary(modifiedEnd)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n LcsDiff.prototype._boundaryScore = function (originalStart, originalLength, modifiedStart, modifiedLength) {\r\n var originalScore = (this._OriginalRegionIsBoundary(originalStart, originalLength) ? 1 : 0);\r\n var modifiedScore = (this._ModifiedRegionIsBoundary(modifiedStart, modifiedLength) ? 1 : 0);\r\n return (originalScore + modifiedScore);\r\n };\r\n /**\r\n * Concatenates the two input DiffChange lists and returns the resulting\r\n * list.\r\n * @param The left changes\r\n * @param The right changes\r\n * @returns The concatenated list\r\n */\r\n LcsDiff.prototype.ConcatenateChanges = function (left, right) {\r\n var mergedChangeArr = [];\r\n if (left.length === 0 || right.length === 0) {\r\n return (right.length > 0) ? right : left;\r\n }\r\n else if (this.ChangesOverlap(left[left.length - 1], right[0], mergedChangeArr)) {\r\n // Since we break the problem down recursively, it is possible that we\r\n // might recurse in the middle of a change thereby splitting it into\r\n // two changes. Here in the combining stage, we detect and fuse those\r\n // changes back together\r\n var result = new Array(left.length + right.length - 1);\r\n MyArray.Copy(left, 0, result, 0, left.length - 1);\r\n result[left.length - 1] = mergedChangeArr[0];\r\n MyArray.Copy(right, 1, result, left.length, right.length - 1);\r\n return result;\r\n }\r\n else {\r\n var result = new Array(left.length + right.length);\r\n MyArray.Copy(left, 0, result, 0, left.length);\r\n MyArray.Copy(right, 0, result, left.length, right.length);\r\n return result;\r\n }\r\n };\r\n /**\r\n * Returns true if the two changes overlap and can be merged into a single\r\n * change\r\n * @param left The left change\r\n * @param right The right change\r\n * @param mergedChange The merged change if the two overlap, null otherwise\r\n * @returns True if the two changes overlap\r\n */\r\n LcsDiff.prototype.ChangesOverlap = function (left, right, mergedChangeArr) {\r\n Debug.Assert(left.originalStart <= right.originalStart, \'Left change is not less than or equal to right change\');\r\n Debug.Assert(left.modifiedStart <= right.modifiedStart, \'Left change is not less than or equal to right change\');\r\n if (left.originalStart + left.originalLength >= right.originalStart || left.modifiedStart + left.modifiedLength >= right.modifiedStart) {\r\n var originalStart = left.originalStart;\r\n var originalLength = left.originalLength;\r\n var modifiedStart = left.modifiedStart;\r\n var modifiedLength = left.modifiedLength;\r\n if (left.originalStart + left.originalLength >= right.originalStart) {\r\n originalLength = right.originalStart + right.originalLength - left.originalStart;\r\n }\r\n if (left.modifiedStart + left.modifiedLength >= right.modifiedStart) {\r\n modifiedLength = right.modifiedStart + right.modifiedLength - left.modifiedStart;\r\n }\r\n mergedChangeArr[0] = new DiffChange(originalStart, originalLength, modifiedStart, modifiedLength);\r\n return true;\r\n }\r\n else {\r\n mergedChangeArr[0] = null;\r\n return false;\r\n }\r\n };\r\n /**\r\n * Helper method used to clip a diagonal index to the range of valid\r\n * diagonals. This also decides whether or not the diagonal index,\r\n * if it exceeds the boundary, should be clipped to the boundary or clipped\r\n * one inside the boundary depending on the Even/Odd status of the boundary\r\n * and numDifferences.\r\n * @param diagonal The index of the diagonal to clip.\r\n * @param numDifferences The current number of differences being iterated upon.\r\n * @param diagonalBaseIndex The base reference diagonal.\r\n * @param numDiagonals The total number of diagonals.\r\n * @returns The clipped diagonal index.\r\n */\r\n LcsDiff.prototype.ClipDiagonalBound = function (diagonal, numDifferences, diagonalBaseIndex, numDiagonals) {\r\n if (diagonal >= 0 && diagonal < numDiagonals) {\r\n // Nothing to clip, its in range\r\n return diagonal;\r\n }\r\n // diagonalsBelow: The number of diagonals below the reference diagonal\r\n // diagonalsAbove: The number of diagonals above the reference diagonal\r\n var diagonalsBelow = diagonalBaseIndex;\r\n var diagonalsAbove = numDiagonals - diagonalBaseIndex - 1;\r\n var diffEven = (numDifferences % 2 === 0);\r\n if (diagonal < 0) {\r\n var lowerBoundEven = (diagonalsBelow % 2 === 0);\r\n return (diffEven === lowerBoundEven) ? 0 : 1;\r\n }\r\n else {\r\n var upperBoundEven = (diagonalsAbove % 2 === 0);\r\n return (diffEven === upperBoundEven) ? numDiagonals - 1 : numDiagonals - 2;\r\n }\r\n };\r\n return LcsDiff;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/iterator.js\nvar iterator = __webpack_require__("JYp7");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/strings.js\nvar strings = __webpack_require__("N0LK");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/diff/diffComputer.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nvar MINIMUM_MATCHING_CHARACTER_LENGTH = 3;\r\nfunction computeDiff(originalSequence, modifiedSequence, continueProcessingPredicate, pretty) {\r\n var diffAlgo = new diff_LcsDiff(originalSequence, modifiedSequence, continueProcessingPredicate);\r\n return diffAlgo.ComputeDiff(pretty);\r\n}\r\nvar LineSequence = /** @class */ (function () {\r\n function LineSequence(lines) {\r\n var startColumns = [];\r\n var endColumns = [];\r\n for (var i = 0, length_1 = lines.length; i < length_1; i++) {\r\n startColumns[i] = getFirstNonBlankColumn(lines[i], 1);\r\n endColumns[i] = getLastNonBlankColumn(lines[i], 1);\r\n }\r\n this.lines = lines;\r\n this._startColumns = startColumns;\r\n this._endColumns = endColumns;\r\n }\r\n LineSequence.prototype.getElements = function () {\r\n var elements = [];\r\n for (var i = 0, len = this.lines.length; i < len; i++) {\r\n elements[i] = this.lines[i].substring(this._startColumns[i] - 1, this._endColumns[i] - 1);\r\n }\r\n return elements;\r\n };\r\n LineSequence.prototype.getStartLineNumber = function (i) {\r\n return i + 1;\r\n };\r\n LineSequence.prototype.getEndLineNumber = function (i) {\r\n return i + 1;\r\n };\r\n LineSequence.prototype.createCharSequence = function (shouldIgnoreTrimWhitespace, startIndex, endIndex) {\r\n var charCodes = [];\r\n var lineNumbers = [];\r\n var columns = [];\r\n var len = 0;\r\n for (var index = startIndex; index <= endIndex; index++) {\r\n var lineContent = this.lines[index];\r\n var startColumn = (shouldIgnoreTrimWhitespace ? this._startColumns[index] : 1);\r\n var endColumn = (shouldIgnoreTrimWhitespace ? this._endColumns[index] : lineContent.length + 1);\r\n for (var col = startColumn; col < endColumn; col++) {\r\n charCodes[len] = lineContent.charCodeAt(col - 1);\r\n lineNumbers[len] = index + 1;\r\n columns[len] = col;\r\n len++;\r\n }\r\n }\r\n return new CharSequence(charCodes, lineNumbers, columns);\r\n };\r\n return LineSequence;\r\n}());\r\nvar CharSequence = /** @class */ (function () {\r\n function CharSequence(charCodes, lineNumbers, columns) {\r\n this._charCodes = charCodes;\r\n this._lineNumbers = lineNumbers;\r\n this._columns = columns;\r\n }\r\n CharSequence.prototype.getElements = function () {\r\n return this._charCodes;\r\n };\r\n CharSequence.prototype.getStartLineNumber = function (i) {\r\n return this._lineNumbers[i];\r\n };\r\n CharSequence.prototype.getStartColumn = function (i) {\r\n return this._columns[i];\r\n };\r\n CharSequence.prototype.getEndLineNumber = function (i) {\r\n return this._lineNumbers[i];\r\n };\r\n CharSequence.prototype.getEndColumn = function (i) {\r\n return this._columns[i] + 1;\r\n };\r\n return CharSequence;\r\n}());\r\nvar CharChange = /** @class */ (function () {\r\n function CharChange(originalStartLineNumber, originalStartColumn, originalEndLineNumber, originalEndColumn, modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn) {\r\n this.originalStartLineNumber = originalStartLineNumber;\r\n this.originalStartColumn = originalStartColumn;\r\n this.originalEndLineNumber = originalEndLineNumber;\r\n this.originalEndColumn = originalEndColumn;\r\n this.modifiedStartLineNumber = modifiedStartLineNumber;\r\n this.modifiedStartColumn = modifiedStartColumn;\r\n this.modifiedEndLineNumber = modifiedEndLineNumber;\r\n this.modifiedEndColumn = modifiedEndColumn;\r\n }\r\n CharChange.createFromDiffChange = function (diffChange, originalCharSequence, modifiedCharSequence) {\r\n var originalStartLineNumber;\r\n var originalStartColumn;\r\n var originalEndLineNumber;\r\n var originalEndColumn;\r\n var modifiedStartLineNumber;\r\n var modifiedStartColumn;\r\n var modifiedEndLineNumber;\r\n var modifiedEndColumn;\r\n if (diffChange.originalLength === 0) {\r\n originalStartLineNumber = 0;\r\n originalStartColumn = 0;\r\n originalEndLineNumber = 0;\r\n originalEndColumn = 0;\r\n }\r\n else {\r\n originalStartLineNumber = originalCharSequence.getStartLineNumber(diffChange.originalStart);\r\n originalStartColumn = originalCharSequence.getStartColumn(diffChange.originalStart);\r\n originalEndLineNumber = originalCharSequence.getEndLineNumber(diffChange.originalStart + diffChange.originalLength - 1);\r\n originalEndColumn = originalCharSequence.getEndColumn(diffChange.originalStart + diffChange.originalLength - 1);\r\n }\r\n if (diffChange.modifiedLength === 0) {\r\n modifiedStartLineNumber = 0;\r\n modifiedStartColumn = 0;\r\n modifiedEndLineNumber = 0;\r\n modifiedEndColumn = 0;\r\n }\r\n else {\r\n modifiedStartLineNumber = modifiedCharSequence.getStartLineNumber(diffChange.modifiedStart);\r\n modifiedStartColumn = modifiedCharSequence.getStartColumn(diffChange.modifiedStart);\r\n modifiedEndLineNumber = modifiedCharSequence.getEndLineNumber(diffChange.modifiedStart + diffChange.modifiedLength - 1);\r\n modifiedEndColumn = modifiedCharSequence.getEndColumn(diffChange.modifiedStart + diffChange.modifiedLength - 1);\r\n }\r\n return new CharChange(originalStartLineNumber, originalStartColumn, originalEndLineNumber, originalEndColumn, modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn);\r\n };\r\n return CharChange;\r\n}());\r\nfunction postProcessCharChanges(rawChanges) {\r\n if (rawChanges.length <= 1) {\r\n return rawChanges;\r\n }\r\n var result = [rawChanges[0]];\r\n var prevChange = result[0];\r\n for (var i = 1, len = rawChanges.length; i < len; i++) {\r\n var currChange = rawChanges[i];\r\n var originalMatchingLength = currChange.originalStart - (prevChange.originalStart + prevChange.originalLength);\r\n var modifiedMatchingLength = currChange.modifiedStart - (prevChange.modifiedStart + prevChange.modifiedLength);\r\n // Both of the above should be equal, but the continueProcessingPredicate may prevent this from being true\r\n var matchingLength = Math.min(originalMatchingLength, modifiedMatchingLength);\r\n if (matchingLength < MINIMUM_MATCHING_CHARACTER_LENGTH) {\r\n // Merge the current change into the previous one\r\n prevChange.originalLength = (currChange.originalStart + currChange.originalLength) - prevChange.originalStart;\r\n prevChange.modifiedLength = (currChange.modifiedStart + currChange.modifiedLength) - prevChange.modifiedStart;\r\n }\r\n else {\r\n // Add the current change\r\n result.push(currChange);\r\n prevChange = currChange;\r\n }\r\n }\r\n return result;\r\n}\r\nvar LineChange = /** @class */ (function () {\r\n function LineChange(originalStartLineNumber, originalEndLineNumber, modifiedStartLineNumber, modifiedEndLineNumber, charChanges) {\r\n this.originalStartLineNumber = originalStartLineNumber;\r\n this.originalEndLineNumber = originalEndLineNumber;\r\n this.modifiedStartLineNumber = modifiedStartLineNumber;\r\n this.modifiedEndLineNumber = modifiedEndLineNumber;\r\n this.charChanges = charChanges;\r\n }\r\n LineChange.createFromDiffResult = function (shouldIgnoreTrimWhitespace, diffChange, originalLineSequence, modifiedLineSequence, continueCharDiff, shouldComputeCharChanges, shouldPostProcessCharChanges) {\r\n var originalStartLineNumber;\r\n var originalEndLineNumber;\r\n var modifiedStartLineNumber;\r\n var modifiedEndLineNumber;\r\n var charChanges = undefined;\r\n if (diffChange.originalLength === 0) {\r\n originalStartLineNumber = originalLineSequence.getStartLineNumber(diffChange.originalStart) - 1;\r\n originalEndLineNumber = 0;\r\n }\r\n else {\r\n originalStartLineNumber = originalLineSequence.getStartLineNumber(diffChange.originalStart);\r\n originalEndLineNumber = originalLineSequence.getEndLineNumber(diffChange.originalStart + diffChange.originalLength - 1);\r\n }\r\n if (diffChange.modifiedLength === 0) {\r\n modifiedStartLineNumber = modifiedLineSequence.getStartLineNumber(diffChange.modifiedStart) - 1;\r\n modifiedEndLineNumber = 0;\r\n }\r\n else {\r\n modifiedStartLineNumber = modifiedLineSequence.getStartLineNumber(diffChange.modifiedStart);\r\n modifiedEndLineNumber = modifiedLineSequence.getEndLineNumber(diffChange.modifiedStart + diffChange.modifiedLength - 1);\r\n }\r\n if (shouldComputeCharChanges && diffChange.originalLength > 0 && diffChange.originalLength < 20 && diffChange.modifiedLength > 0 && diffChange.modifiedLength < 20 && continueCharDiff()) {\r\n // Compute character changes for diff chunks of at most 20 lines...\r\n var originalCharSequence = originalLineSequence.createCharSequence(shouldIgnoreTrimWhitespace, diffChange.originalStart, diffChange.originalStart + diffChange.originalLength - 1);\r\n var modifiedCharSequence = modifiedLineSequence.createCharSequence(shouldIgnoreTrimWhitespace, diffChange.modifiedStart, diffChange.modifiedStart + diffChange.modifiedLength - 1);\r\n var rawChanges = computeDiff(originalCharSequence, modifiedCharSequence, continueCharDiff, true).changes;\r\n if (shouldPostProcessCharChanges) {\r\n rawChanges = postProcessCharChanges(rawChanges);\r\n }\r\n charChanges = [];\r\n for (var i = 0, length_2 = rawChanges.length; i < length_2; i++) {\r\n charChanges.push(CharChange.createFromDiffChange(rawChanges[i], originalCharSequence, modifiedCharSequence));\r\n }\r\n }\r\n return new LineChange(originalStartLineNumber, originalEndLineNumber, modifiedStartLineNumber, modifiedEndLineNumber, charChanges);\r\n };\r\n return LineChange;\r\n}());\r\nvar DiffComputer = /** @class */ (function () {\r\n function DiffComputer(originalLines, modifiedLines, opts) {\r\n this.shouldComputeCharChanges = opts.shouldComputeCharChanges;\r\n this.shouldPostProcessCharChanges = opts.shouldPostProcessCharChanges;\r\n this.shouldIgnoreTrimWhitespace = opts.shouldIgnoreTrimWhitespace;\r\n this.shouldMakePrettyDiff = opts.shouldMakePrettyDiff;\r\n this.originalLines = originalLines;\r\n this.modifiedLines = modifiedLines;\r\n this.original = new LineSequence(originalLines);\r\n this.modified = new LineSequence(modifiedLines);\r\n this.continueLineDiff = createContinueProcessingPredicate(opts.maxComputationTime);\r\n this.continueCharDiff = createContinueProcessingPredicate(opts.maxComputationTime === 0 ? 0 : Math.min(opts.maxComputationTime, 5000)); // never run after 5s for character changes...\r\n }\r\n DiffComputer.prototype.computeDiff = function () {\r\n if (this.original.lines.length === 1 && this.original.lines[0].length === 0) {\r\n // empty original => fast path\r\n return {\r\n quitEarly: false,\r\n changes: [{\r\n originalStartLineNumber: 1,\r\n originalEndLineNumber: 1,\r\n modifiedStartLineNumber: 1,\r\n modifiedEndLineNumber: this.modified.lines.length,\r\n charChanges: [{\r\n modifiedEndColumn: 0,\r\n modifiedEndLineNumber: 0,\r\n modifiedStartColumn: 0,\r\n modifiedStartLineNumber: 0,\r\n originalEndColumn: 0,\r\n originalEndLineNumber: 0,\r\n originalStartColumn: 0,\r\n originalStartLineNumber: 0\r\n }]\r\n }]\r\n };\r\n }\r\n if (this.modified.lines.length === 1 && this.modified.lines[0].length === 0) {\r\n // empty modified => fast path\r\n return {\r\n quitEarly: false,\r\n changes: [{\r\n originalStartLineNumber: 1,\r\n originalEndLineNumber: this.original.lines.length,\r\n modifiedStartLineNumber: 1,\r\n modifiedEndLineNumber: 1,\r\n charChanges: [{\r\n modifiedEndColumn: 0,\r\n modifiedEndLineNumber: 0,\r\n modifiedStartColumn: 0,\r\n modifiedStartLineNumber: 0,\r\n originalEndColumn: 0,\r\n originalEndLineNumber: 0,\r\n originalStartColumn: 0,\r\n originalStartLineNumber: 0\r\n }]\r\n }]\r\n };\r\n }\r\n var diffResult = computeDiff(this.original, this.modified, this.continueLineDiff, this.shouldMakePrettyDiff);\r\n var rawChanges = diffResult.changes;\r\n var quitEarly = diffResult.quitEarly;\r\n // The diff is always computed with ignoring trim whitespace\r\n // This ensures we get the prettiest diff\r\n if (this.shouldIgnoreTrimWhitespace) {\r\n var lineChanges = [];\r\n for (var i = 0, length_3 = rawChanges.length; i < length_3; i++) {\r\n lineChanges.push(LineChange.createFromDiffResult(this.shouldIgnoreTrimWhitespace, rawChanges[i], this.original, this.modified, this.continueCharDiff, this.shouldComputeCharChanges, this.shouldPostProcessCharChanges));\r\n }\r\n return {\r\n quitEarly: quitEarly,\r\n changes: lineChanges\r\n };\r\n }\r\n // Need to post-process and introduce changes where the trim whitespace is different\r\n // Note that we are looping starting at -1 to also cover the lines before the first change\r\n var result = [];\r\n var originalLineIndex = 0;\r\n var modifiedLineIndex = 0;\r\n for (var i = -1 /* !!!! */, len = rawChanges.length; i < len; i++) {\r\n var nextChange = (i + 1 < len ? rawChanges[i + 1] : null);\r\n var originalStop = (nextChange ? nextChange.originalStart : this.originalLines.length);\r\n var modifiedStop = (nextChange ? nextChange.modifiedStart : this.modifiedLines.length);\r\n while (originalLineIndex < originalStop && modifiedLineIndex < modifiedStop) {\r\n var originalLine = this.originalLines[originalLineIndex];\r\n var modifiedLine = this.modifiedLines[modifiedLineIndex];\r\n if (originalLine !== modifiedLine) {\r\n // These lines differ only in trim whitespace\r\n // Check the leading whitespace\r\n {\r\n var originalStartColumn = getFirstNonBlankColumn(originalLine, 1);\r\n var modifiedStartColumn = getFirstNonBlankColumn(modifiedLine, 1);\r\n while (originalStartColumn > 1 && modifiedStartColumn > 1) {\r\n var originalChar = originalLine.charCodeAt(originalStartColumn - 2);\r\n var modifiedChar = modifiedLine.charCodeAt(modifiedStartColumn - 2);\r\n if (originalChar !== modifiedChar) {\r\n break;\r\n }\r\n originalStartColumn--;\r\n modifiedStartColumn--;\r\n }\r\n if (originalStartColumn > 1 || modifiedStartColumn > 1) {\r\n this._pushTrimWhitespaceCharChange(result, originalLineIndex + 1, 1, originalStartColumn, modifiedLineIndex + 1, 1, modifiedStartColumn);\r\n }\r\n }\r\n // Check the trailing whitespace\r\n {\r\n var originalEndColumn = getLastNonBlankColumn(originalLine, 1);\r\n var modifiedEndColumn = getLastNonBlankColumn(modifiedLine, 1);\r\n var originalMaxColumn = originalLine.length + 1;\r\n var modifiedMaxColumn = modifiedLine.length + 1;\r\n while (originalEndColumn < originalMaxColumn && modifiedEndColumn < modifiedMaxColumn) {\r\n var originalChar = originalLine.charCodeAt(originalEndColumn - 1);\r\n var modifiedChar = originalLine.charCodeAt(modifiedEndColumn - 1);\r\n if (originalChar !== modifiedChar) {\r\n break;\r\n }\r\n originalEndColumn++;\r\n modifiedEndColumn++;\r\n }\r\n if (originalEndColumn < originalMaxColumn || modifiedEndColumn < modifiedMaxColumn) {\r\n this._pushTrimWhitespaceCharChange(result, originalLineIndex + 1, originalEndColumn, originalMaxColumn, modifiedLineIndex + 1, modifiedEndColumn, modifiedMaxColumn);\r\n }\r\n }\r\n }\r\n originalLineIndex++;\r\n modifiedLineIndex++;\r\n }\r\n if (nextChange) {\r\n // Emit the actual change\r\n result.push(LineChange.createFromDiffResult(this.shouldIgnoreTrimWhitespace, nextChange, this.original, this.modified, this.continueCharDiff, this.shouldComputeCharChanges, this.shouldPostProcessCharChanges));\r\n originalLineIndex += nextChange.originalLength;\r\n modifiedLineIndex += nextChange.modifiedLength;\r\n }\r\n }\r\n return {\r\n quitEarly: quitEarly,\r\n changes: result\r\n };\r\n };\r\n DiffComputer.prototype._pushTrimWhitespaceCharChange = function (result, originalLineNumber, originalStartColumn, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedEndColumn) {\r\n if (this._mergeTrimWhitespaceCharChange(result, originalLineNumber, originalStartColumn, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedEndColumn)) {\r\n // Merged into previous\r\n return;\r\n }\r\n var charChanges = undefined;\r\n if (this.shouldComputeCharChanges) {\r\n charChanges = [new CharChange(originalLineNumber, originalStartColumn, originalLineNumber, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedLineNumber, modifiedEndColumn)];\r\n }\r\n result.push(new LineChange(originalLineNumber, originalLineNumber, modifiedLineNumber, modifiedLineNumber, charChanges));\r\n };\r\n DiffComputer.prototype._mergeTrimWhitespaceCharChange = function (result, originalLineNumber, originalStartColumn, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedEndColumn) {\r\n var len = result.length;\r\n if (len === 0) {\r\n return false;\r\n }\r\n var prevChange = result[len - 1];\r\n if (prevChange.originalEndLineNumber === 0 || prevChange.modifiedEndLineNumber === 0) {\r\n // Don\'t merge with inserts/deletes\r\n return false;\r\n }\r\n if (prevChange.originalEndLineNumber + 1 === originalLineNumber && prevChange.modifiedEndLineNumber + 1 === modifiedLineNumber) {\r\n prevChange.originalEndLineNumber = originalLineNumber;\r\n prevChange.modifiedEndLineNumber = modifiedLineNumber;\r\n if (this.shouldComputeCharChanges && prevChange.charChanges) {\r\n prevChange.charChanges.push(new CharChange(originalLineNumber, originalStartColumn, originalLineNumber, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedLineNumber, modifiedEndColumn));\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n return DiffComputer;\r\n}());\r\n\r\nfunction getFirstNonBlankColumn(txt, defaultValue) {\r\n var r = strings["q" /* firstNonWhitespaceIndex */](txt);\r\n if (r === -1) {\r\n return defaultValue;\r\n }\r\n return r + 1;\r\n}\r\nfunction getLastNonBlankColumn(txt, defaultValue) {\r\n var r = strings["D" /* lastNonWhitespaceIndex */](txt);\r\n if (r === -1) {\r\n return defaultValue;\r\n }\r\n return r + 2;\r\n}\r\nfunction createContinueProcessingPredicate(maximumRuntime) {\r\n if (maximumRuntime === 0) {\r\n return function () { return true; };\r\n }\r\n var startTime = Date.now();\r\n return function () {\r\n return Date.now() - startTime < maximumRuntime;\r\n };\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/viewModel/prefixSumComputer.js\nvar prefixSumComputer = __webpack_require__("LeU+");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nvar mirrorTextModel_MirrorTextModel = /** @class */ (function () {\r\n function MirrorTextModel(uri, lines, eol, versionId) {\r\n this._uri = uri;\r\n this._lines = lines;\r\n this._eol = eol;\r\n this._versionId = versionId;\r\n this._lineStarts = null;\r\n }\r\n MirrorTextModel.prototype.dispose = function () {\r\n this._lines.length = 0;\r\n };\r\n MirrorTextModel.prototype.getText = function () {\r\n return this._lines.join(this._eol);\r\n };\r\n MirrorTextModel.prototype.onEvents = function (e) {\r\n if (e.eol && e.eol !== this._eol) {\r\n this._eol = e.eol;\r\n this._lineStarts = null;\r\n }\r\n // Update my lines\r\n var changes = e.changes;\r\n for (var _i = 0, changes_1 = changes; _i < changes_1.length; _i++) {\r\n var change = changes_1[_i];\r\n this._acceptDeleteRange(change.range);\r\n this._acceptInsertText(new core_position["a" /* Position */](change.range.startLineNumber, change.range.startColumn), change.text);\r\n }\r\n this._versionId = e.versionId;\r\n };\r\n MirrorTextModel.prototype._ensureLineStarts = function () {\r\n if (!this._lineStarts) {\r\n var eolLength = this._eol.length;\r\n var linesLength = this._lines.length;\r\n var lineStartValues = new Uint32Array(linesLength);\r\n for (var i = 0; i < linesLength; i++) {\r\n lineStartValues[i] = this._lines[i].length + eolLength;\r\n }\r\n this._lineStarts = new prefixSumComputer["a" /* PrefixSumComputer */](lineStartValues);\r\n }\r\n };\r\n /**\r\n * All changes to a line\'s text go through this method\r\n */\r\n MirrorTextModel.prototype._setLineText = function (lineIndex, newValue) {\r\n this._lines[lineIndex] = newValue;\r\n if (this._lineStarts) {\r\n // update prefix sum\r\n this._lineStarts.changeValue(lineIndex, this._lines[lineIndex].length + this._eol.length);\r\n }\r\n };\r\n MirrorTextModel.prototype._acceptDeleteRange = function (range) {\r\n if (range.startLineNumber === range.endLineNumber) {\r\n if (range.startColumn === range.endColumn) {\r\n // Nothing to delete\r\n return;\r\n }\r\n // Delete text on the affected line\r\n this._setLineText(range.startLineNumber - 1, this._lines[range.startLineNumber - 1].substring(0, range.startColumn - 1)\r\n + this._lines[range.startLineNumber - 1].substring(range.endColumn - 1));\r\n return;\r\n }\r\n // Take remaining text on last line and append it to remaining text on first line\r\n this._setLineText(range.startLineNumber - 1, this._lines[range.startLineNumber - 1].substring(0, range.startColumn - 1)\r\n + this._lines[range.endLineNumber - 1].substring(range.endColumn - 1));\r\n // Delete middle lines\r\n this._lines.splice(range.startLineNumber, range.endLineNumber - range.startLineNumber);\r\n if (this._lineStarts) {\r\n // update prefix sum\r\n this._lineStarts.removeValues(range.startLineNumber, range.endLineNumber - range.startLineNumber);\r\n }\r\n };\r\n MirrorTextModel.prototype._acceptInsertText = function (position, insertText) {\r\n if (insertText.length === 0) {\r\n // Nothing to insert\r\n return;\r\n }\r\n var insertLines = insertText.split(/\\r\\n|\\r|\\n/);\r\n if (insertLines.length === 1) {\r\n // Inserting text on one line\r\n this._setLineText(position.lineNumber - 1, this._lines[position.lineNumber - 1].substring(0, position.column - 1)\r\n + insertLines[0]\r\n + this._lines[position.lineNumber - 1].substring(position.column - 1));\r\n return;\r\n }\r\n // Append overflowing text from first line to the end of text to insert\r\n insertLines[insertLines.length - 1] += this._lines[position.lineNumber - 1].substring(position.column - 1);\r\n // Delete overflowing text from first line and insert text on first line\r\n this._setLineText(position.lineNumber - 1, this._lines[position.lineNumber - 1].substring(0, position.column - 1)\r\n + insertLines[0]);\r\n // Insert new lines & store lengths\r\n var newLengths = new Uint32Array(insertLines.length - 1);\r\n for (var i = 1; i < insertLines.length; i++) {\r\n this._lines.splice(position.lineNumber + i - 1, 0, insertLines[i]);\r\n newLengths[i - 1] = insertLines[i].length + this._eol.length;\r\n }\r\n if (this._lineStarts) {\r\n // update prefix sum\r\n this._lineStarts.insertValues(position.lineNumber, newLengths);\r\n }\r\n };\r\n return MirrorTextModel;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/model/wordHelper.js\nvar wordHelper = __webpack_require__("0JNc");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.js\nvar characterClassifier = __webpack_require__("MXAL");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/linkComputer.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar Uint8Matrix = /** @class */ (function () {\r\n function Uint8Matrix(rows, cols, defaultValue) {\r\n var data = new Uint8Array(rows * cols);\r\n for (var i = 0, len = rows * cols; i < len; i++) {\r\n data[i] = defaultValue;\r\n }\r\n this._data = data;\r\n this.rows = rows;\r\n this.cols = cols;\r\n }\r\n Uint8Matrix.prototype.get = function (row, col) {\r\n return this._data[row * this.cols + col];\r\n };\r\n Uint8Matrix.prototype.set = function (row, col, value) {\r\n this._data[row * this.cols + col] = value;\r\n };\r\n return Uint8Matrix;\r\n}());\r\n\r\nvar StateMachine = /** @class */ (function () {\r\n function StateMachine(edges) {\r\n var maxCharCode = 0;\r\n var maxState = 0 /* Invalid */;\r\n for (var i = 0, len = edges.length; i < len; i++) {\r\n var _a = edges[i], from = _a[0], chCode = _a[1], to = _a[2];\r\n if (chCode > maxCharCode) {\r\n maxCharCode = chCode;\r\n }\r\n if (from > maxState) {\r\n maxState = from;\r\n }\r\n if (to > maxState) {\r\n maxState = to;\r\n }\r\n }\r\n maxCharCode++;\r\n maxState++;\r\n var states = new Uint8Matrix(maxState, maxCharCode, 0 /* Invalid */);\r\n for (var i = 0, len = edges.length; i < len; i++) {\r\n var _b = edges[i], from = _b[0], chCode = _b[1], to = _b[2];\r\n states.set(from, chCode, to);\r\n }\r\n this._states = states;\r\n this._maxCharCode = maxCharCode;\r\n }\r\n StateMachine.prototype.nextState = function (currentState, chCode) {\r\n if (chCode < 0 || chCode >= this._maxCharCode) {\r\n return 0 /* Invalid */;\r\n }\r\n return this._states.get(currentState, chCode);\r\n };\r\n return StateMachine;\r\n}());\r\n\r\n// State machine for http:// or https:// or file://\r\nvar _stateMachine = null;\r\nfunction getStateMachine() {\r\n if (_stateMachine === null) {\r\n _stateMachine = new StateMachine([\r\n [1 /* Start */, 104 /* h */, 2 /* H */],\r\n [1 /* Start */, 72 /* H */, 2 /* H */],\r\n [1 /* Start */, 102 /* f */, 6 /* F */],\r\n [1 /* Start */, 70 /* F */, 6 /* F */],\r\n [2 /* H */, 116 /* t */, 3 /* HT */],\r\n [2 /* H */, 84 /* T */, 3 /* HT */],\r\n [3 /* HT */, 116 /* t */, 4 /* HTT */],\r\n [3 /* HT */, 84 /* T */, 4 /* HTT */],\r\n [4 /* HTT */, 112 /* p */, 5 /* HTTP */],\r\n [4 /* HTT */, 80 /* P */, 5 /* HTTP */],\r\n [5 /* HTTP */, 115 /* s */, 9 /* BeforeColon */],\r\n [5 /* HTTP */, 83 /* S */, 9 /* BeforeColon */],\r\n [5 /* HTTP */, 58 /* Colon */, 10 /* AfterColon */],\r\n [6 /* F */, 105 /* i */, 7 /* FI */],\r\n [6 /* F */, 73 /* I */, 7 /* FI */],\r\n [7 /* FI */, 108 /* l */, 8 /* FIL */],\r\n [7 /* FI */, 76 /* L */, 8 /* FIL */],\r\n [8 /* FIL */, 101 /* e */, 9 /* BeforeColon */],\r\n [8 /* FIL */, 69 /* E */, 9 /* BeforeColon */],\r\n [9 /* BeforeColon */, 58 /* Colon */, 10 /* AfterColon */],\r\n [10 /* AfterColon */, 47 /* Slash */, 11 /* AlmostThere */],\r\n [11 /* AlmostThere */, 47 /* Slash */, 12 /* End */],\r\n ]);\r\n }\r\n return _stateMachine;\r\n}\r\nvar _classifier = null;\r\nfunction getClassifier() {\r\n if (_classifier === null) {\r\n _classifier = new characterClassifier["a" /* CharacterClassifier */](0 /* None */);\r\n var FORCE_TERMINATION_CHARACTERS = \' \\t<>\\\'\\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\uff1f\uff01\uff20\uff03\uff04\uff05\uff06\uff0a\u2018\u201c\u3008\u300a\u300c\u300e\u3010\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u3011\u300f\u300d\u300b\u3009\u201d\u2019\uff40\uff5e\u2026\';\r\n for (var i = 0; i < FORCE_TERMINATION_CHARACTERS.length; i++) {\r\n _classifier.set(FORCE_TERMINATION_CHARACTERS.charCodeAt(i), 1 /* ForceTermination */);\r\n }\r\n var CANNOT_END_WITH_CHARACTERS = \'.,;\';\r\n for (var i = 0; i < CANNOT_END_WITH_CHARACTERS.length; i++) {\r\n _classifier.set(CANNOT_END_WITH_CHARACTERS.charCodeAt(i), 2 /* CannotEndIn */);\r\n }\r\n }\r\n return _classifier;\r\n}\r\nvar LinkComputer = /** @class */ (function () {\r\n function LinkComputer() {\r\n }\r\n LinkComputer._createLink = function (classifier, line, lineNumber, linkBeginIndex, linkEndIndex) {\r\n // Do not allow to end link in certain characters...\r\n var lastIncludedCharIndex = linkEndIndex - 1;\r\n do {\r\n var chCode = line.charCodeAt(lastIncludedCharIndex);\r\n var chClass = classifier.get(chCode);\r\n if (chClass !== 2 /* CannotEndIn */) {\r\n break;\r\n }\r\n lastIncludedCharIndex--;\r\n } while (lastIncludedCharIndex > linkBeginIndex);\r\n // Handle links enclosed in parens, square brackets and curlys.\r\n if (linkBeginIndex > 0) {\r\n var charCodeBeforeLink = line.charCodeAt(linkBeginIndex - 1);\r\n var lastCharCodeInLink = line.charCodeAt(lastIncludedCharIndex);\r\n if ((charCodeBeforeLink === 40 /* OpenParen */ && lastCharCodeInLink === 41 /* CloseParen */)\r\n || (charCodeBeforeLink === 91 /* OpenSquareBracket */ && lastCharCodeInLink === 93 /* CloseSquareBracket */)\r\n || (charCodeBeforeLink === 123 /* OpenCurlyBrace */ && lastCharCodeInLink === 125 /* CloseCurlyBrace */)) {\r\n // Do not end in ) if ( is before the link start\r\n // Do not end in ] if [ is before the link start\r\n // Do not end in } if { is before the link start\r\n lastIncludedCharIndex--;\r\n }\r\n }\r\n return {\r\n range: {\r\n startLineNumber: lineNumber,\r\n startColumn: linkBeginIndex + 1,\r\n endLineNumber: lineNumber,\r\n endColumn: lastIncludedCharIndex + 2\r\n },\r\n url: line.substring(linkBeginIndex, lastIncludedCharIndex + 1)\r\n };\r\n };\r\n LinkComputer.computeLinks = function (model, stateMachine) {\r\n if (stateMachine === void 0) { stateMachine = getStateMachine(); }\r\n var classifier = getClassifier();\r\n var result = [];\r\n for (var i = 1, lineCount = model.getLineCount(); i <= lineCount; i++) {\r\n var line = model.getLineContent(i);\r\n var len = line.length;\r\n var j = 0;\r\n var linkBeginIndex = 0;\r\n var linkBeginChCode = 0;\r\n var state = 1 /* Start */;\r\n var hasOpenParens = false;\r\n var hasOpenSquareBracket = false;\r\n var hasOpenCurlyBracket = false;\r\n while (j < len) {\r\n var resetStateMachine = false;\r\n var chCode = line.charCodeAt(j);\r\n if (state === 13 /* Accept */) {\r\n var chClass = void 0;\r\n switch (chCode) {\r\n case 40 /* OpenParen */:\r\n hasOpenParens = true;\r\n chClass = 0 /* None */;\r\n break;\r\n case 41 /* CloseParen */:\r\n chClass = (hasOpenParens ? 0 /* None */ : 1 /* ForceTermination */);\r\n break;\r\n case 91 /* OpenSquareBracket */:\r\n hasOpenSquareBracket = true;\r\n chClass = 0 /* None */;\r\n break;\r\n case 93 /* CloseSquareBracket */:\r\n chClass = (hasOpenSquareBracket ? 0 /* None */ : 1 /* ForceTermination */);\r\n break;\r\n case 123 /* OpenCurlyBrace */:\r\n hasOpenCurlyBracket = true;\r\n chClass = 0 /* None */;\r\n break;\r\n case 125 /* CloseCurlyBrace */:\r\n chClass = (hasOpenCurlyBracket ? 0 /* None */ : 1 /* ForceTermination */);\r\n break;\r\n /* The following three rules make it that \' or " or ` are allowed inside links if the link began with a different one */\r\n case 39 /* SingleQuote */:\r\n chClass = (linkBeginChCode === 34 /* DoubleQuote */ || linkBeginChCode === 96 /* BackTick */) ? 0 /* None */ : 1 /* ForceTermination */;\r\n break;\r\n case 34 /* DoubleQuote */:\r\n chClass = (linkBeginChCode === 39 /* SingleQuote */ || linkBeginChCode === 96 /* BackTick */) ? 0 /* None */ : 1 /* ForceTermination */;\r\n break;\r\n case 96 /* BackTick */:\r\n chClass = (linkBeginChCode === 39 /* SingleQuote */ || linkBeginChCode === 34 /* DoubleQuote */) ? 0 /* None */ : 1 /* ForceTermination */;\r\n break;\r\n case 42 /* Asterisk */:\r\n // `*` terminates a link if the link began with `*`\r\n chClass = (linkBeginChCode === 42 /* Asterisk */) ? 1 /* ForceTermination */ : 0 /* None */;\r\n break;\r\n case 124 /* Pipe */:\r\n // `|` terminates a link if the link began with `|`\r\n chClass = (linkBeginChCode === 124 /* Pipe */) ? 1 /* ForceTermination */ : 0 /* None */;\r\n break;\r\n default:\r\n chClass = classifier.get(chCode);\r\n }\r\n // Check if character terminates link\r\n if (chClass === 1 /* ForceTermination */) {\r\n result.push(LinkComputer._createLink(classifier, line, i, linkBeginIndex, j));\r\n resetStateMachine = true;\r\n }\r\n }\r\n else if (state === 12 /* End */) {\r\n var chClass = void 0;\r\n if (chCode === 91 /* OpenSquareBracket */) {\r\n // Allow for the authority part to contain ipv6 addresses which contain [ and ]\r\n hasOpenSquareBracket = true;\r\n chClass = 0 /* None */;\r\n }\r\n else {\r\n chClass = classifier.get(chCode);\r\n }\r\n // Check if character terminates link\r\n if (chClass === 1 /* ForceTermination */) {\r\n resetStateMachine = true;\r\n }\r\n else {\r\n state = 13 /* Accept */;\r\n }\r\n }\r\n else {\r\n state = stateMachine.nextState(state, chCode);\r\n if (state === 0 /* Invalid */) {\r\n resetStateMachine = true;\r\n }\r\n }\r\n if (resetStateMachine) {\r\n state = 1 /* Start */;\r\n hasOpenParens = false;\r\n hasOpenSquareBracket = false;\r\n hasOpenCurlyBracket = false;\r\n // Record where the link started\r\n linkBeginIndex = j + 1;\r\n linkBeginChCode = chCode;\r\n }\r\n j++;\r\n }\r\n if (state === 13 /* Accept */) {\r\n result.push(LinkComputer._createLink(classifier, line, i, linkBeginIndex, len));\r\n }\r\n }\r\n return result;\r\n };\r\n return LinkComputer;\r\n}());\r\n\r\n/**\r\n * Returns an array of all links contains in the provided\r\n * document. *Note* that this operation is computational\r\n * expensive and should not run in the UI thread.\r\n */\r\nfunction computeLinks(model) {\r\n if (!model || typeof model.getLineCount !== \'function\' || typeof model.getLineContent !== \'function\') {\r\n // Unknown caller!\r\n return [];\r\n }\r\n return LinkComputer.computeLinks(model);\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/supports/inplaceReplaceSupport.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar BasicInplaceReplace = /** @class */ (function () {\r\n function BasicInplaceReplace() {\r\n this._defaultValueSet = [\r\n [\'true\', \'false\'],\r\n [\'True\', \'False\'],\r\n [\'Private\', \'Public\', \'Friend\', \'ReadOnly\', \'Partial\', \'Protected\', \'WriteOnly\'],\r\n [\'public\', \'protected\', \'private\'],\r\n ];\r\n }\r\n BasicInplaceReplace.prototype.navigateValueSet = function (range1, text1, range2, text2, up) {\r\n if (range1 && text1) {\r\n var result = this.doNavigateValueSet(text1, up);\r\n if (result) {\r\n return {\r\n range: range1,\r\n value: result\r\n };\r\n }\r\n }\r\n if (range2 && text2) {\r\n var result = this.doNavigateValueSet(text2, up);\r\n if (result) {\r\n return {\r\n range: range2,\r\n value: result\r\n };\r\n }\r\n }\r\n return null;\r\n };\r\n BasicInplaceReplace.prototype.doNavigateValueSet = function (text, up) {\r\n var numberResult = this.numberReplace(text, up);\r\n if (numberResult !== null) {\r\n return numberResult;\r\n }\r\n return this.textReplace(text, up);\r\n };\r\n BasicInplaceReplace.prototype.numberReplace = function (value, up) {\r\n var precision = Math.pow(10, value.length - (value.lastIndexOf(\'.\') + 1));\r\n var n1 = Number(value);\r\n var n2 = parseFloat(value);\r\n if (!isNaN(n1) && !isNaN(n2) && n1 === n2) {\r\n if (n1 === 0 && !up) {\r\n return null; // don\'t do negative\r\n //\t\t\t} else if(n1 === 9 && up) {\r\n //\t\t\t\treturn null; // don\'t insert 10 into a number\r\n }\r\n else {\r\n n1 = Math.floor(n1 * precision);\r\n n1 += up ? precision : -precision;\r\n return String(n1 / precision);\r\n }\r\n }\r\n return null;\r\n };\r\n BasicInplaceReplace.prototype.textReplace = function (value, up) {\r\n return this.valueSetsReplace(this._defaultValueSet, value, up);\r\n };\r\n BasicInplaceReplace.prototype.valueSetsReplace = function (valueSets, value, up) {\r\n var result = null;\r\n for (var i = 0, len = valueSets.length; result === null && i < len; i++) {\r\n result = this.valueSetReplace(valueSets[i], value, up);\r\n }\r\n return result;\r\n };\r\n BasicInplaceReplace.prototype.valueSetReplace = function (valueSet, value, up) {\r\n var idx = valueSet.indexOf(value);\r\n if (idx >= 0) {\r\n idx += up ? +1 : -1;\r\n if (idx < 0) {\r\n idx = valueSet.length - 1;\r\n }\r\n else {\r\n idx %= valueSet.length;\r\n }\r\n return valueSet[idx];\r\n }\r\n return null;\r\n };\r\n BasicInplaceReplace.INSTANCE = new BasicInplaceReplace();\r\n return BasicInplaceReplace;\r\n}());\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar editorSimpleWorker_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 editorSimpleWorker_awaiter = (undefined && undefined.__awaiter) || function (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\nvar editorSimpleWorker_generator = (undefined && undefined.__generator) || function (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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * @internal\r\n */\r\nvar editorSimpleWorker_MirrorModel = /** @class */ (function (_super) {\r\n editorSimpleWorker_extends(MirrorModel, _super);\r\n function MirrorModel() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(MirrorModel.prototype, "uri", {\r\n get: function () {\r\n return this._uri;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MirrorModel.prototype, "version", {\r\n get: function () {\r\n return this._versionId;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MirrorModel.prototype, "eol", {\r\n get: function () {\r\n return this._eol;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n MirrorModel.prototype.getValue = function () {\r\n return this.getText();\r\n };\r\n MirrorModel.prototype.getLinesContent = function () {\r\n return this._lines.slice(0);\r\n };\r\n MirrorModel.prototype.getLineCount = function () {\r\n return this._lines.length;\r\n };\r\n MirrorModel.prototype.getLineContent = function (lineNumber) {\r\n return this._lines[lineNumber - 1];\r\n };\r\n MirrorModel.prototype.getWordAtPosition = function (position, wordDefinition) {\r\n var wordAtText = Object(wordHelper["d" /* getWordAtText */])(position.column, Object(wordHelper["c" /* ensureValidWordDefinition */])(wordDefinition), this._lines[position.lineNumber - 1], 0);\r\n if (wordAtText) {\r\n return new core_range["a" /* Range */](position.lineNumber, wordAtText.startColumn, position.lineNumber, wordAtText.endColumn);\r\n }\r\n return null;\r\n };\r\n MirrorModel.prototype.createWordIterator = function (wordDefinition) {\r\n var _this = this;\r\n var obj;\r\n var lineNumber = 0;\r\n var lineText;\r\n var wordRangesIdx = 0;\r\n var wordRanges = [];\r\n var next = function () {\r\n if (wordRangesIdx < wordRanges.length) {\r\n var value = lineText.substring(wordRanges[wordRangesIdx].start, wordRanges[wordRangesIdx].end);\r\n wordRangesIdx += 1;\r\n if (!obj) {\r\n obj = { done: false, value: value };\r\n }\r\n else {\r\n obj.value = value;\r\n }\r\n return obj;\r\n }\r\n else if (lineNumber >= _this._lines.length) {\r\n return iterator["b" /* FIN */];\r\n }\r\n else {\r\n lineText = _this._lines[lineNumber];\r\n wordRanges = _this._wordenize(lineText, wordDefinition);\r\n wordRangesIdx = 0;\r\n lineNumber += 1;\r\n return next();\r\n }\r\n };\r\n return { next: next };\r\n };\r\n MirrorModel.prototype.getLineWords = function (lineNumber, wordDefinition) {\r\n var content = this._lines[lineNumber - 1];\r\n var ranges = this._wordenize(content, wordDefinition);\r\n var words = [];\r\n for (var _i = 0, ranges_1 = ranges; _i < ranges_1.length; _i++) {\r\n var range = ranges_1[_i];\r\n words.push({\r\n word: content.substring(range.start, range.end),\r\n startColumn: range.start + 1,\r\n endColumn: range.end + 1\r\n });\r\n }\r\n return words;\r\n };\r\n MirrorModel.prototype._wordenize = function (content, wordDefinition) {\r\n var result = [];\r\n var match;\r\n wordDefinition.lastIndex = 0; // reset lastIndex just to be sure\r\n while (match = wordDefinition.exec(content)) {\r\n if (match[0].length === 0) {\r\n // it did match the empty string\r\n break;\r\n }\r\n result.push({ start: match.index, end: match.index + match[0].length });\r\n }\r\n return result;\r\n };\r\n MirrorModel.prototype.getValueInRange = function (range) {\r\n range = this._validateRange(range);\r\n if (range.startLineNumber === range.endLineNumber) {\r\n return this._lines[range.startLineNumber - 1].substring(range.startColumn - 1, range.endColumn - 1);\r\n }\r\n var lineEnding = this._eol;\r\n var startLineIndex = range.startLineNumber - 1;\r\n var endLineIndex = range.endLineNumber - 1;\r\n var resultLines = [];\r\n resultLines.push(this._lines[startLineIndex].substring(range.startColumn - 1));\r\n for (var i = startLineIndex + 1; i < endLineIndex; i++) {\r\n resultLines.push(this._lines[i]);\r\n }\r\n resultLines.push(this._lines[endLineIndex].substring(0, range.endColumn - 1));\r\n return resultLines.join(lineEnding);\r\n };\r\n MirrorModel.prototype.offsetAt = function (position) {\r\n position = this._validatePosition(position);\r\n this._ensureLineStarts();\r\n return this._lineStarts.getAccumulatedValue(position.lineNumber - 2) + (position.column - 1);\r\n };\r\n MirrorModel.prototype.positionAt = function (offset) {\r\n offset = Math.floor(offset);\r\n offset = Math.max(0, offset);\r\n this._ensureLineStarts();\r\n var out = this._lineStarts.getIndexOf(offset);\r\n var lineLength = this._lines[out.index].length;\r\n // Ensure we return a valid position\r\n return {\r\n lineNumber: 1 + out.index,\r\n column: 1 + Math.min(out.remainder, lineLength)\r\n };\r\n };\r\n MirrorModel.prototype._validateRange = function (range) {\r\n var start = this._validatePosition({ lineNumber: range.startLineNumber, column: range.startColumn });\r\n var end = this._validatePosition({ lineNumber: range.endLineNumber, column: range.endColumn });\r\n if (start.lineNumber !== range.startLineNumber\r\n || start.column !== range.startColumn\r\n || end.lineNumber !== range.endLineNumber\r\n || end.column !== range.endColumn) {\r\n return {\r\n startLineNumber: start.lineNumber,\r\n startColumn: start.column,\r\n endLineNumber: end.lineNumber,\r\n endColumn: end.column\r\n };\r\n }\r\n return range;\r\n };\r\n MirrorModel.prototype._validatePosition = function (position) {\r\n if (!core_position["a" /* Position */].isIPosition(position)) {\r\n throw new Error(\'bad position\');\r\n }\r\n var lineNumber = position.lineNumber, column = position.column;\r\n var hasChanged = false;\r\n if (lineNumber < 1) {\r\n lineNumber = 1;\r\n column = 1;\r\n hasChanged = true;\r\n }\r\n else if (lineNumber > this._lines.length) {\r\n lineNumber = this._lines.length;\r\n column = this._lines[lineNumber - 1].length + 1;\r\n hasChanged = true;\r\n }\r\n else {\r\n var maxCharacter = this._lines[lineNumber - 1].length + 1;\r\n if (column < 1) {\r\n column = 1;\r\n hasChanged = true;\r\n }\r\n else if (column > maxCharacter) {\r\n column = maxCharacter;\r\n hasChanged = true;\r\n }\r\n }\r\n if (!hasChanged) {\r\n return position;\r\n }\r\n else {\r\n return { lineNumber: lineNumber, column: column };\r\n }\r\n };\r\n return MirrorModel;\r\n}(mirrorTextModel_MirrorTextModel));\r\n/**\r\n * @internal\r\n */\r\nvar editorSimpleWorker_EditorSimpleWorker = /** @class */ (function () {\r\n function EditorSimpleWorker(host, foreignModuleFactory) {\r\n this._host = host;\r\n this._models = Object.create(null);\r\n this._foreignModuleFactory = foreignModuleFactory;\r\n this._foreignModule = null;\r\n }\r\n EditorSimpleWorker.prototype.dispose = function () {\r\n this._models = Object.create(null);\r\n };\r\n EditorSimpleWorker.prototype._getModel = function (uri) {\r\n return this._models[uri];\r\n };\r\n EditorSimpleWorker.prototype._getModels = function () {\r\n var _this = this;\r\n var all = [];\r\n Object.keys(this._models).forEach(function (key) { return all.push(_this._models[key]); });\r\n return all;\r\n };\r\n EditorSimpleWorker.prototype.acceptNewModel = function (data) {\r\n this._models[data.url] = new editorSimpleWorker_MirrorModel(common_uri["a" /* URI */].parse(data.url), data.lines, data.EOL, data.versionId);\r\n };\r\n EditorSimpleWorker.prototype.acceptModelChanged = function (strURL, e) {\r\n if (!this._models[strURL]) {\r\n return;\r\n }\r\n var model = this._models[strURL];\r\n model.onEvents(e);\r\n };\r\n EditorSimpleWorker.prototype.acceptRemovedModel = function (strURL) {\r\n if (!this._models[strURL]) {\r\n return;\r\n }\r\n delete this._models[strURL];\r\n };\r\n // ---- BEGIN diff --------------------------------------------------------------------------\r\n EditorSimpleWorker.prototype.computeDiff = function (originalUrl, modifiedUrl, ignoreTrimWhitespace, maxComputationTime) {\r\n return editorSimpleWorker_awaiter(this, void 0, void 0, function () {\r\n var original, modified, originalLines, modifiedLines, diffComputer, diffResult, identical;\r\n return editorSimpleWorker_generator(this, function (_a) {\r\n original = this._getModel(originalUrl);\r\n modified = this._getModel(modifiedUrl);\r\n if (!original || !modified) {\r\n return [2 /*return*/, null];\r\n }\r\n originalLines = original.getLinesContent();\r\n modifiedLines = modified.getLinesContent();\r\n diffComputer = new DiffComputer(originalLines, modifiedLines, {\r\n shouldComputeCharChanges: true,\r\n shouldPostProcessCharChanges: true,\r\n shouldIgnoreTrimWhitespace: ignoreTrimWhitespace,\r\n shouldMakePrettyDiff: true,\r\n maxComputationTime: maxComputationTime\r\n });\r\n diffResult = diffComputer.computeDiff();\r\n identical = (diffResult.changes.length > 0 ? false : this._modelsAreIdentical(original, modified));\r\n return [2 /*return*/, {\r\n quitEarly: diffResult.quitEarly,\r\n identical: identical,\r\n changes: diffResult.changes\r\n }];\r\n });\r\n });\r\n };\r\n EditorSimpleWorker.prototype._modelsAreIdentical = function (original, modified) {\r\n var originalLineCount = original.getLineCount();\r\n var modifiedLineCount = modified.getLineCount();\r\n if (originalLineCount !== modifiedLineCount) {\r\n return false;\r\n }\r\n for (var line = 1; line <= originalLineCount; line++) {\r\n var originalLine = original.getLineContent(line);\r\n var modifiedLine = modified.getLineContent(line);\r\n if (originalLine !== modifiedLine) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n EditorSimpleWorker.prototype.computeMoreMinimalEdits = function (modelUrl, edits) {\r\n return editorSimpleWorker_awaiter(this, void 0, void 0, function () {\r\n var model, result, lastEol, _i, edits_1, _a, range, text, eol, original, changes, editOffset, _b, changes_1, change, start, end, newEdit;\r\n return editorSimpleWorker_generator(this, function (_c) {\r\n model = this._getModel(modelUrl);\r\n if (!model) {\r\n return [2 /*return*/, edits];\r\n }\r\n result = [];\r\n lastEol = undefined;\r\n edits = Object(arrays["r" /* mergeSort */])(edits, function (a, b) {\r\n if (a.range && b.range) {\r\n return core_range["a" /* Range */].compareRangesUsingStarts(a.range, b.range);\r\n }\r\n // eol only changes should go to the end\r\n var aRng = a.range ? 0 : 1;\r\n var bRng = b.range ? 0 : 1;\r\n return aRng - bRng;\r\n });\r\n for (_i = 0, edits_1 = edits; _i < edits_1.length; _i++) {\r\n _a = edits_1[_i], range = _a.range, text = _a.text, eol = _a.eol;\r\n if (typeof eol === \'number\') {\r\n lastEol = eol;\r\n }\r\n if (core_range["a" /* Range */].isEmpty(range) && !text) {\r\n // empty change\r\n continue;\r\n }\r\n original = model.getValueInRange(range);\r\n text = text.replace(/\\r\\n|\\n|\\r/g, model.eol);\r\n if (original === text) {\r\n // noop\r\n continue;\r\n }\r\n // make sure diff won\'t take too long\r\n if (Math.max(text.length, original.length) > EditorSimpleWorker._diffLimit) {\r\n result.push({ range: range, text: text });\r\n continue;\r\n }\r\n changes = stringDiff(original, text, false);\r\n editOffset = model.offsetAt(core_range["a" /* Range */].lift(range).getStartPosition());\r\n for (_b = 0, changes_1 = changes; _b < changes_1.length; _b++) {\r\n change = changes_1[_b];\r\n start = model.positionAt(editOffset + change.originalStart);\r\n end = model.positionAt(editOffset + change.originalStart + change.originalLength);\r\n newEdit = {\r\n text: text.substr(change.modifiedStart, change.modifiedLength),\r\n range: { startLineNumber: start.lineNumber, startColumn: start.column, endLineNumber: end.lineNumber, endColumn: end.column }\r\n };\r\n if (model.getValueInRange(newEdit.range) !== newEdit.text) {\r\n result.push(newEdit);\r\n }\r\n }\r\n }\r\n if (typeof lastEol === \'number\') {\r\n result.push({ eol: lastEol, text: \'\', range: { startLineNumber: 0, startColumn: 0, endLineNumber: 0, endColumn: 0 } });\r\n }\r\n return [2 /*return*/, result];\r\n });\r\n });\r\n };\r\n // ---- END minimal edits ---------------------------------------------------------------\r\n EditorSimpleWorker.prototype.computeLinks = function (modelUrl) {\r\n return editorSimpleWorker_awaiter(this, void 0, void 0, function () {\r\n var model;\r\n return editorSimpleWorker_generator(this, function (_a) {\r\n model = this._getModel(modelUrl);\r\n if (!model) {\r\n return [2 /*return*/, null];\r\n }\r\n return [2 /*return*/, computeLinks(model)];\r\n });\r\n });\r\n };\r\n EditorSimpleWorker.prototype.textualSuggest = function (modelUrl, position, wordDef, wordDefFlags) {\r\n return editorSimpleWorker_awaiter(this, void 0, void 0, function () {\r\n var model, words, seen, wordDefRegExp, wordAt, iter, e, word;\r\n return editorSimpleWorker_generator(this, function (_a) {\r\n model = this._getModel(modelUrl);\r\n if (!model) {\r\n return [2 /*return*/, null];\r\n }\r\n words = [];\r\n seen = new Set();\r\n wordDefRegExp = new RegExp(wordDef, wordDefFlags);\r\n wordAt = model.getWordAtPosition(position, wordDefRegExp);\r\n if (wordAt) {\r\n seen.add(model.getValueInRange(wordAt));\r\n }\r\n for (iter = model.createWordIterator(wordDefRegExp), e = iter.next(); !e.done && seen.size <= EditorSimpleWorker._suggestionsLimit; e = iter.next()) {\r\n word = e.value;\r\n if (seen.has(word)) {\r\n continue;\r\n }\r\n seen.add(word);\r\n if (!isNaN(Number(word))) {\r\n continue;\r\n }\r\n words.push(word);\r\n }\r\n return [2 /*return*/, words];\r\n });\r\n });\r\n };\r\n // ---- END suggest --------------------------------------------------------------------------\r\n //#region -- word ranges --\r\n EditorSimpleWorker.prototype.computeWordRanges = function (modelUrl, range, wordDef, wordDefFlags) {\r\n return editorSimpleWorker_awaiter(this, void 0, void 0, function () {\r\n var model, wordDefRegExp, result, line, words, _i, words_1, word, array;\r\n return editorSimpleWorker_generator(this, function (_a) {\r\n model = this._getModel(modelUrl);\r\n if (!model) {\r\n return [2 /*return*/, Object.create(null)];\r\n }\r\n wordDefRegExp = new RegExp(wordDef, wordDefFlags);\r\n result = Object.create(null);\r\n for (line = range.startLineNumber; line < range.endLineNumber; line++) {\r\n words = model.getLineWords(line, wordDefRegExp);\r\n for (_i = 0, words_1 = words; _i < words_1.length; _i++) {\r\n word = words_1[_i];\r\n if (!isNaN(Number(word.word))) {\r\n continue;\r\n }\r\n array = result[word.word];\r\n if (!array) {\r\n array = [];\r\n result[word.word] = array;\r\n }\r\n array.push({\r\n startLineNumber: line,\r\n startColumn: word.startColumn,\r\n endLineNumber: line,\r\n endColumn: word.endColumn\r\n });\r\n }\r\n }\r\n return [2 /*return*/, result];\r\n });\r\n });\r\n };\r\n //#endregion\r\n EditorSimpleWorker.prototype.navigateValueSet = function (modelUrl, range, up, wordDef, wordDefFlags) {\r\n return editorSimpleWorker_awaiter(this, void 0, void 0, function () {\r\n var model, wordDefRegExp, selectionText, wordRange, word, result;\r\n return editorSimpleWorker_generator(this, function (_a) {\r\n model = this._getModel(modelUrl);\r\n if (!model) {\r\n return [2 /*return*/, null];\r\n }\r\n wordDefRegExp = new RegExp(wordDef, wordDefFlags);\r\n if (range.startColumn === range.endColumn) {\r\n range = {\r\n startLineNumber: range.startLineNumber,\r\n startColumn: range.startColumn,\r\n endLineNumber: range.endLineNumber,\r\n endColumn: range.endColumn + 1\r\n };\r\n }\r\n selectionText = model.getValueInRange(range);\r\n wordRange = model.getWordAtPosition({ lineNumber: range.startLineNumber, column: range.startColumn }, wordDefRegExp);\r\n if (!wordRange) {\r\n return [2 /*return*/, null];\r\n }\r\n word = model.getValueInRange(wordRange);\r\n result = BasicInplaceReplace.INSTANCE.navigateValueSet(range, selectionText, wordRange, word, up);\r\n return [2 /*return*/, result];\r\n });\r\n });\r\n };\r\n // ---- BEGIN foreign module support --------------------------------------------------------------------------\r\n EditorSimpleWorker.prototype.loadForeignModule = function (moduleId, createData, foreignHostMethods) {\r\n var _this = this;\r\n var proxyMethodRequest = function (method, args) {\r\n return _this._host.fhr(method, args);\r\n };\r\n var foreignHost = types["b" /* createProxyObject */](foreignHostMethods, proxyMethodRequest);\r\n var ctx = {\r\n host: foreignHost,\r\n getMirrorModels: function () {\r\n return _this._getModels();\r\n }\r\n };\r\n if (this._foreignModuleFactory) {\r\n this._foreignModule = this._foreignModuleFactory(ctx, createData);\r\n // static foreing module\r\n return Promise.resolve(types["c" /* getAllMethodNames */](this._foreignModule));\r\n }\r\n // ESM-comment-begin\r\n // \t\treturn new Promise((resolve, reject) => {\r\n // \t\t\trequire([moduleId], (foreignModule: { create: IForeignModuleFactory }) => {\r\n // \t\t\t\tthis._foreignModule = foreignModule.create(ctx, createData);\r\n // \r\n // \t\t\t\tresolve(types.getAllMethodNames(this._foreignModule));\r\n // \r\n // \t\t\t}, reject);\r\n // \t\t});\r\n // ESM-comment-end\r\n // ESM-uncomment-begin\r\n return Promise.reject(new Error("Unexpected usage"));\r\n // ESM-uncomment-end\r\n };\r\n // foreign method request\r\n EditorSimpleWorker.prototype.fmr = function (method, args) {\r\n if (!this._foreignModule || typeof this._foreignModule[method] !== \'function\') {\r\n return Promise.reject(new Error(\'Missing requestHandler or method: \' + method));\r\n }\r\n try {\r\n return Promise.resolve(this._foreignModule[method].apply(this._foreignModule, args));\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n };\r\n // ---- END diff --------------------------------------------------------------------------\r\n // ---- BEGIN minimal edits ---------------------------------------------------------------\r\n EditorSimpleWorker._diffLimit = 100000;\r\n // ---- BEGIN suggest --------------------------------------------------------------------------\r\n EditorSimpleWorker._suggestionsLimit = 10000;\r\n return EditorSimpleWorker;\r\n}());\r\n\r\n/**\r\n * Called on the worker side\r\n * @internal\r\n */\r\nfunction editorSimpleWorker_create(host) {\r\n return new editorSimpleWorker_EditorSimpleWorker(host, null);\r\n}\r\nif (typeof importScripts === \'function\') {\r\n // Running in a web worker\r\n platform["b" /* globals */].monaco = createMonacoBaseAPI();\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/modelService.js\nvar services_modelService = __webpack_require__("G2kB");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiation.js\nvar instantiation = __webpack_require__("Cg/j");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/textResourceConfigurationService.js\n\r\nvar ITextResourceConfigurationService = Object(instantiation["c" /* createDecorator */])(\'textResourceConfigurationService\');\r\nvar ITextResourcePropertiesService = Object(instantiation["c" /* createDecorator */])(\'textResourcePropertiesService\');\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/log/common/log.js\nvar log = __webpack_require__("09fa");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js\nvar stopwatch = __webpack_require__("5Y4S");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/editorWorkerServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar editorWorkerServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 editorWorkerServiceImpl_decorate = (undefined && undefined.__decorate) || function (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\nvar editorWorkerServiceImpl_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\nvar editorWorkerServiceImpl_awaiter = (undefined && undefined.__awaiter) || function (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\nvar editorWorkerServiceImpl_generator = (undefined && undefined.__generator) || function (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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * Stop syncing a model to the worker if it was not needed for 1 min.\r\n */\r\nvar STOP_SYNC_MODEL_DELTA_TIME_MS = 60 * 1000;\r\n/**\r\n * Stop the worker if it was not needed for 5 min.\r\n */\r\nvar STOP_WORKER_DELTA_TIME_MS = 5 * 60 * 1000;\r\nfunction canSyncModel(modelService, resource) {\r\n var model = modelService.getModel(resource);\r\n if (!model) {\r\n return false;\r\n }\r\n if (model.isTooLargeForSyncing()) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar editorWorkerServiceImpl_EditorWorkerServiceImpl = /** @class */ (function (_super) {\r\n editorWorkerServiceImpl_extends(EditorWorkerServiceImpl, _super);\r\n function EditorWorkerServiceImpl(modelService, configurationService, logService) {\r\n var _this = _super.call(this) || this;\r\n _this._modelService = modelService;\r\n _this._workerManager = _this._register(new editorWorkerServiceImpl_WorkerManager(_this._modelService));\r\n _this._logService = logService;\r\n // todo@joh make sure this happens only once\r\n _this._register(modes["r" /* LinkProviderRegistry */].register(\'*\', {\r\n provideLinks: function (model, token) {\r\n if (!canSyncModel(_this._modelService, model.uri)) {\r\n return Promise.resolve({ links: [] }); // File too large\r\n }\r\n return _this._workerManager.withWorker().then(function (client) { return client.computeLinks(model.uri); }).then(function (links) {\r\n return links && { links: links };\r\n });\r\n }\r\n }));\r\n _this._register(modes["d" /* CompletionProviderRegistry */].register(\'*\', new editorWorkerServiceImpl_WordBasedCompletionItemProvider(_this._workerManager, configurationService, _this._modelService)));\r\n return _this;\r\n }\r\n EditorWorkerServiceImpl.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n };\r\n EditorWorkerServiceImpl.prototype.canComputeDiff = function (original, modified) {\r\n return (canSyncModel(this._modelService, original) && canSyncModel(this._modelService, modified));\r\n };\r\n EditorWorkerServiceImpl.prototype.computeDiff = function (original, modified, ignoreTrimWhitespace, maxComputationTime) {\r\n return this._workerManager.withWorker().then(function (client) { return client.computeDiff(original, modified, ignoreTrimWhitespace, maxComputationTime); });\r\n };\r\n EditorWorkerServiceImpl.prototype.computeMoreMinimalEdits = function (resource, edits) {\r\n var _this = this;\r\n if (Object(arrays["q" /* isNonEmptyArray */])(edits)) {\r\n if (!canSyncModel(this._modelService, resource)) {\r\n return Promise.resolve(edits); // File too large\r\n }\r\n var sw_1 = stopwatch["a" /* StopWatch */].create(true);\r\n var result = this._workerManager.withWorker().then(function (client) { return client.computeMoreMinimalEdits(resource, edits); });\r\n result.finally(function () { return _this._logService.trace(\'FORMAT#computeMoreMinimalEdits\', resource.toString(true), sw_1.elapsed()); });\r\n return result;\r\n }\r\n else {\r\n return Promise.resolve(undefined);\r\n }\r\n };\r\n EditorWorkerServiceImpl.prototype.canNavigateValueSet = function (resource) {\r\n return (canSyncModel(this._modelService, resource));\r\n };\r\n EditorWorkerServiceImpl.prototype.navigateValueSet = function (resource, range, up) {\r\n return this._workerManager.withWorker().then(function (client) { return client.navigateValueSet(resource, range, up); });\r\n };\r\n EditorWorkerServiceImpl.prototype.canComputeWordRanges = function (resource) {\r\n return canSyncModel(this._modelService, resource);\r\n };\r\n EditorWorkerServiceImpl.prototype.computeWordRanges = function (resource, range) {\r\n return this._workerManager.withWorker().then(function (client) { return client.computeWordRanges(resource, range); });\r\n };\r\n EditorWorkerServiceImpl = editorWorkerServiceImpl_decorate([\r\n editorWorkerServiceImpl_param(0, services_modelService["a" /* IModelService */]),\r\n editorWorkerServiceImpl_param(1, ITextResourceConfigurationService),\r\n editorWorkerServiceImpl_param(2, log["a" /* ILogService */])\r\n ], EditorWorkerServiceImpl);\r\n return EditorWorkerServiceImpl;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\nvar editorWorkerServiceImpl_WordBasedCompletionItemProvider = /** @class */ (function () {\r\n function WordBasedCompletionItemProvider(workerManager, configurationService, modelService) {\r\n this._debugDisplayName = \'wordbasedCompletions\';\r\n this._workerManager = workerManager;\r\n this._configurationService = configurationService;\r\n this._modelService = modelService;\r\n }\r\n WordBasedCompletionItemProvider.prototype.provideCompletionItems = function (model, position) {\r\n return editorWorkerServiceImpl_awaiter(this, void 0, void 0, function () {\r\n var wordBasedSuggestions, word, replace, insert, client, words;\r\n return editorWorkerServiceImpl_generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n wordBasedSuggestions = this._configurationService.getValue(model.uri, position, \'editor\').wordBasedSuggestions;\r\n if (!wordBasedSuggestions) {\r\n return [2 /*return*/, undefined];\r\n }\r\n if (!canSyncModel(this._modelService, model.uri)) {\r\n return [2 /*return*/, undefined]; // File too large\r\n }\r\n word = model.getWordAtPosition(position);\r\n replace = !word ? core_range["a" /* Range */].fromPositions(position) : new core_range["a" /* Range */](position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);\r\n insert = replace.setEndPosition(position.lineNumber, position.column);\r\n return [4 /*yield*/, this._workerManager.withWorker()];\r\n case 1:\r\n client = _a.sent();\r\n return [4 /*yield*/, client.textualSuggest(model.uri, position)];\r\n case 2:\r\n words = _a.sent();\r\n if (!words) {\r\n return [2 /*return*/, undefined];\r\n }\r\n return [2 /*return*/, {\r\n suggestions: words.map(function (word) {\r\n return {\r\n kind: 18 /* Text */,\r\n label: word,\r\n insertText: word,\r\n range: { insert: insert, replace: replace }\r\n };\r\n })\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n return WordBasedCompletionItemProvider;\r\n}());\r\nvar editorWorkerServiceImpl_WorkerManager = /** @class */ (function (_super) {\r\n editorWorkerServiceImpl_extends(WorkerManager, _super);\r\n function WorkerManager(modelService) {\r\n var _this = _super.call(this) || this;\r\n _this._modelService = modelService;\r\n _this._editorWorkerClient = null;\r\n _this._lastWorkerUsedTime = (new Date()).getTime();\r\n var stopWorkerInterval = _this._register(new common_async["c" /* IntervalTimer */]());\r\n stopWorkerInterval.cancelAndSet(function () { return _this._checkStopIdleWorker(); }, Math.round(STOP_WORKER_DELTA_TIME_MS / 2));\r\n _this._register(_this._modelService.onModelRemoved(function (_) { return _this._checkStopEmptyWorker(); }));\r\n return _this;\r\n }\r\n WorkerManager.prototype.dispose = function () {\r\n if (this._editorWorkerClient) {\r\n this._editorWorkerClient.dispose();\r\n this._editorWorkerClient = null;\r\n }\r\n _super.prototype.dispose.call(this);\r\n };\r\n /**\r\n * Check if the model service has no more models and stop the worker if that is the case.\r\n */\r\n WorkerManager.prototype._checkStopEmptyWorker = function () {\r\n if (!this._editorWorkerClient) {\r\n return;\r\n }\r\n var models = this._modelService.getModels();\r\n if (models.length === 0) {\r\n // There are no more models => nothing possible for me to do\r\n this._editorWorkerClient.dispose();\r\n this._editorWorkerClient = null;\r\n }\r\n };\r\n /**\r\n * Check if the worker has been idle for a while and then stop it.\r\n */\r\n WorkerManager.prototype._checkStopIdleWorker = function () {\r\n if (!this._editorWorkerClient) {\r\n return;\r\n }\r\n var timeSinceLastWorkerUsedTime = (new Date()).getTime() - this._lastWorkerUsedTime;\r\n if (timeSinceLastWorkerUsedTime > STOP_WORKER_DELTA_TIME_MS) {\r\n this._editorWorkerClient.dispose();\r\n this._editorWorkerClient = null;\r\n }\r\n };\r\n WorkerManager.prototype.withWorker = function () {\r\n this._lastWorkerUsedTime = (new Date()).getTime();\r\n if (!this._editorWorkerClient) {\r\n this._editorWorkerClient = new editorWorkerServiceImpl_EditorWorkerClient(this._modelService, false, \'editorWorkerService\');\r\n }\r\n return Promise.resolve(this._editorWorkerClient);\r\n };\r\n return WorkerManager;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar editorWorkerServiceImpl_EditorModelManager = /** @class */ (function (_super) {\r\n editorWorkerServiceImpl_extends(EditorModelManager, _super);\r\n function EditorModelManager(proxy, modelService, keepIdleModels) {\r\n var _this = _super.call(this) || this;\r\n _this._syncedModels = Object.create(null);\r\n _this._syncedModelsLastUsedTime = Object.create(null);\r\n _this._proxy = proxy;\r\n _this._modelService = modelService;\r\n if (!keepIdleModels) {\r\n var timer = new common_async["c" /* IntervalTimer */]();\r\n timer.cancelAndSet(function () { return _this._checkStopModelSync(); }, Math.round(STOP_SYNC_MODEL_DELTA_TIME_MS / 2));\r\n _this._register(timer);\r\n }\r\n return _this;\r\n }\r\n EditorModelManager.prototype.dispose = function () {\r\n for (var modelUrl in this._syncedModels) {\r\n Object(lifecycle["f" /* dispose */])(this._syncedModels[modelUrl]);\r\n }\r\n this._syncedModels = Object.create(null);\r\n this._syncedModelsLastUsedTime = Object.create(null);\r\n _super.prototype.dispose.call(this);\r\n };\r\n EditorModelManager.prototype.ensureSyncedResources = function (resources) {\r\n for (var _i = 0, resources_1 = resources; _i < resources_1.length; _i++) {\r\n var resource = resources_1[_i];\r\n var resourceStr = resource.toString();\r\n if (!this._syncedModels[resourceStr]) {\r\n this._beginModelSync(resource);\r\n }\r\n if (this._syncedModels[resourceStr]) {\r\n this._syncedModelsLastUsedTime[resourceStr] = (new Date()).getTime();\r\n }\r\n }\r\n };\r\n EditorModelManager.prototype._checkStopModelSync = function () {\r\n var currentTime = (new Date()).getTime();\r\n var toRemove = [];\r\n for (var modelUrl in this._syncedModelsLastUsedTime) {\r\n var elapsedTime = currentTime - this._syncedModelsLastUsedTime[modelUrl];\r\n if (elapsedTime > STOP_SYNC_MODEL_DELTA_TIME_MS) {\r\n toRemove.push(modelUrl);\r\n }\r\n }\r\n for (var _i = 0, toRemove_1 = toRemove; _i < toRemove_1.length; _i++) {\r\n var e = toRemove_1[_i];\r\n this._stopModelSync(e);\r\n }\r\n };\r\n EditorModelManager.prototype._beginModelSync = function (resource) {\r\n var _this = this;\r\n var model = this._modelService.getModel(resource);\r\n if (!model) {\r\n return;\r\n }\r\n if (model.isTooLargeForSyncing()) {\r\n return;\r\n }\r\n var modelUrl = resource.toString();\r\n this._proxy.acceptNewModel({\r\n url: model.uri.toString(),\r\n lines: model.getLinesContent(),\r\n EOL: model.getEOL(),\r\n versionId: model.getVersionId()\r\n });\r\n var toDispose = new lifecycle["b" /* DisposableStore */]();\r\n toDispose.add(model.onDidChangeContent(function (e) {\r\n _this._proxy.acceptModelChanged(modelUrl.toString(), e);\r\n }));\r\n toDispose.add(model.onWillDispose(function () {\r\n _this._stopModelSync(modelUrl);\r\n }));\r\n toDispose.add(Object(lifecycle["h" /* toDisposable */])(function () {\r\n _this._proxy.acceptRemovedModel(modelUrl);\r\n }));\r\n this._syncedModels[modelUrl] = toDispose;\r\n };\r\n EditorModelManager.prototype._stopModelSync = function (modelUrl) {\r\n var toDispose = this._syncedModels[modelUrl];\r\n delete this._syncedModels[modelUrl];\r\n delete this._syncedModelsLastUsedTime[modelUrl];\r\n Object(lifecycle["f" /* dispose */])(toDispose);\r\n };\r\n return EditorModelManager;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar SynchronousWorkerClient = /** @class */ (function () {\r\n function SynchronousWorkerClient(instance) {\r\n this._instance = instance;\r\n this._proxyObj = Promise.resolve(this._instance);\r\n }\r\n SynchronousWorkerClient.prototype.dispose = function () {\r\n this._instance.dispose();\r\n };\r\n SynchronousWorkerClient.prototype.getProxyObject = function () {\r\n return this._proxyObj;\r\n };\r\n return SynchronousWorkerClient;\r\n}());\r\nvar EditorWorkerHost = /** @class */ (function () {\r\n function EditorWorkerHost(workerClient) {\r\n this._workerClient = workerClient;\r\n }\r\n // foreign host request\r\n EditorWorkerHost.prototype.fhr = function (method, args) {\r\n return this._workerClient.fhr(method, args);\r\n };\r\n return EditorWorkerHost;\r\n}());\r\n\r\nvar editorWorkerServiceImpl_EditorWorkerClient = /** @class */ (function (_super) {\r\n editorWorkerServiceImpl_extends(EditorWorkerClient, _super);\r\n function EditorWorkerClient(modelService, keepIdleModels, label) {\r\n var _this = _super.call(this) || this;\r\n _this._modelService = modelService;\r\n _this._keepIdleModels = keepIdleModels;\r\n _this._workerFactory = new defaultWorkerFactory_DefaultWorkerFactory(label);\r\n _this._worker = null;\r\n _this._modelManager = null;\r\n return _this;\r\n }\r\n // foreign host request\r\n EditorWorkerClient.prototype.fhr = function (method, args) {\r\n throw new Error("Not implemented!");\r\n };\r\n EditorWorkerClient.prototype._getOrCreateWorker = function () {\r\n if (!this._worker) {\r\n try {\r\n this._worker = this._register(new simpleWorker_SimpleWorkerClient(this._workerFactory, \'vs/editor/common/services/editorSimpleWorker\', new EditorWorkerHost(this)));\r\n }\r\n catch (err) {\r\n logOnceWebWorkerWarning(err);\r\n this._worker = new SynchronousWorkerClient(new editorSimpleWorker_EditorSimpleWorker(new EditorWorkerHost(this), null));\r\n }\r\n }\r\n return this._worker;\r\n };\r\n EditorWorkerClient.prototype._getProxy = function () {\r\n var _this = this;\r\n return this._getOrCreateWorker().getProxyObject().then(undefined, function (err) {\r\n logOnceWebWorkerWarning(err);\r\n _this._worker = new SynchronousWorkerClient(new editorSimpleWorker_EditorSimpleWorker(new EditorWorkerHost(_this), null));\r\n return _this._getOrCreateWorker().getProxyObject();\r\n });\r\n };\r\n EditorWorkerClient.prototype._getOrCreateModelManager = function (proxy) {\r\n if (!this._modelManager) {\r\n this._modelManager = this._register(new editorWorkerServiceImpl_EditorModelManager(proxy, this._modelService, this._keepIdleModels));\r\n }\r\n return this._modelManager;\r\n };\r\n EditorWorkerClient.prototype._withSyncedResources = function (resources) {\r\n var _this = this;\r\n return this._getProxy().then(function (proxy) {\r\n _this._getOrCreateModelManager(proxy).ensureSyncedResources(resources);\r\n return proxy;\r\n });\r\n };\r\n EditorWorkerClient.prototype.computeDiff = function (original, modified, ignoreTrimWhitespace, maxComputationTime) {\r\n return this._withSyncedResources([original, modified]).then(function (proxy) {\r\n return proxy.computeDiff(original.toString(), modified.toString(), ignoreTrimWhitespace, maxComputationTime);\r\n });\r\n };\r\n EditorWorkerClient.prototype.computeMoreMinimalEdits = function (resource, edits) {\r\n return this._withSyncedResources([resource]).then(function (proxy) {\r\n return proxy.computeMoreMinimalEdits(resource.toString(), edits);\r\n });\r\n };\r\n EditorWorkerClient.prototype.computeLinks = function (resource) {\r\n return this._withSyncedResources([resource]).then(function (proxy) {\r\n return proxy.computeLinks(resource.toString());\r\n });\r\n };\r\n EditorWorkerClient.prototype.textualSuggest = function (resource, position) {\r\n var _this = this;\r\n return this._withSyncedResources([resource]).then(function (proxy) {\r\n var model = _this._modelService.getModel(resource);\r\n if (!model) {\r\n return null;\r\n }\r\n var wordDefRegExp = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getWordDefinition(model.getLanguageIdentifier().id);\r\n var wordDef = wordDefRegExp.source;\r\n var wordDefFlags = Object(strings["H" /* regExpFlags */])(wordDefRegExp);\r\n return proxy.textualSuggest(resource.toString(), position, wordDef, wordDefFlags);\r\n });\r\n };\r\n EditorWorkerClient.prototype.computeWordRanges = function (resource, range) {\r\n var _this = this;\r\n return this._withSyncedResources([resource]).then(function (proxy) {\r\n var model = _this._modelService.getModel(resource);\r\n if (!model) {\r\n return Promise.resolve(null);\r\n }\r\n var wordDefRegExp = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getWordDefinition(model.getLanguageIdentifier().id);\r\n var wordDef = wordDefRegExp.source;\r\n var wordDefFlags = Object(strings["H" /* regExpFlags */])(wordDefRegExp);\r\n return proxy.computeWordRanges(resource.toString(), range, wordDef, wordDefFlags);\r\n });\r\n };\r\n EditorWorkerClient.prototype.navigateValueSet = function (resource, range, up) {\r\n var _this = this;\r\n return this._withSyncedResources([resource]).then(function (proxy) {\r\n var model = _this._modelService.getModel(resource);\r\n if (!model) {\r\n return null;\r\n }\r\n var wordDefRegExp = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getWordDefinition(model.getLanguageIdentifier().id);\r\n var wordDef = wordDefRegExp.source;\r\n var wordDefFlags = Object(strings["H" /* regExpFlags */])(wordDefRegExp);\r\n return proxy.navigateValueSet(resource.toString(), range, up, wordDef, wordDefFlags);\r\n });\r\n };\r\n return EditorWorkerClient;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/webWorker.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar webWorker_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n/**\r\n * Create a new web worker that has model syncing capabilities built in.\r\n * Specify an AMD module to load that will `create` an object that will be proxied.\r\n */\r\nfunction createWebWorker(modelService, opts) {\r\n return new webWorker_MonacoWebWorkerImpl(modelService, opts);\r\n}\r\nvar webWorker_MonacoWebWorkerImpl = /** @class */ (function (_super) {\r\n webWorker_extends(MonacoWebWorkerImpl, _super);\r\n function MonacoWebWorkerImpl(modelService, opts) {\r\n var _this = _super.call(this, modelService, opts.keepIdleModels || false, opts.label) || this;\r\n _this._foreignModuleId = opts.moduleId;\r\n _this._foreignModuleCreateData = opts.createData || null;\r\n _this._foreignModuleHost = opts.host || null;\r\n _this._foreignProxy = null;\r\n return _this;\r\n }\r\n // foreign host request\r\n MonacoWebWorkerImpl.prototype.fhr = function (method, args) {\r\n if (!this._foreignModuleHost || typeof this._foreignModuleHost[method] !== \'function\') {\r\n return Promise.reject(new Error(\'Missing method \' + method + \' or missing main thread foreign host.\'));\r\n }\r\n try {\r\n return Promise.resolve(this._foreignModuleHost[method].apply(this._foreignModuleHost, args));\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n };\r\n MonacoWebWorkerImpl.prototype._getForeignProxy = function () {\r\n var _this = this;\r\n if (!this._foreignProxy) {\r\n this._foreignProxy = this._getProxy().then(function (proxy) {\r\n var foreignHostMethods = _this._foreignModuleHost ? types["c" /* getAllMethodNames */](_this._foreignModuleHost) : [];\r\n return proxy.loadForeignModule(_this._foreignModuleId, _this._foreignModuleCreateData, foreignHostMethods).then(function (foreignMethods) {\r\n _this._foreignModuleCreateData = null;\r\n var proxyMethodRequest = function (method, args) {\r\n return proxy.fmr(method, args);\r\n };\r\n var createProxyMethod = function (method, proxyMethodRequest) {\r\n return function () {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n return proxyMethodRequest(method, args);\r\n };\r\n };\r\n var foreignProxy = {};\r\n for (var _i = 0, foreignMethods_1 = foreignMethods; _i < foreignMethods_1.length; _i++) {\r\n var foreignMethod = foreignMethods_1[_i];\r\n foreignProxy[foreignMethod] = createProxyMethod(foreignMethod, proxyMethodRequest);\r\n }\r\n return foreignProxy;\r\n });\r\n });\r\n }\r\n return this._foreignProxy;\r\n };\r\n MonacoWebWorkerImpl.prototype.getProxy = function () {\r\n return this._getForeignProxy();\r\n };\r\n MonacoWebWorkerImpl.prototype.withSyncedResources = function (resources) {\r\n var _this = this;\r\n return this._withSyncedResources(resources).then(function (_) { return _this.getProxy(); });\r\n };\r\n return MonacoWebWorkerImpl;\r\n}(editorWorkerServiceImpl_EditorWorkerClient));\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/lineTokens.js\nvar core_lineTokens = __webpack_require__("4bUh");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLineRenderer.js\nvar viewLineRenderer = __webpack_require__("baJR");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModel.js\nvar viewModel = __webpack_require__("qNAo");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchCommon.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nfunction isFuzzyActionArr(what) {\r\n return (Array.isArray(what));\r\n}\r\nfunction isFuzzyAction(what) {\r\n return !isFuzzyActionArr(what);\r\n}\r\nfunction isString(what) {\r\n return (typeof what === \'string\');\r\n}\r\nfunction isIAction(what) {\r\n return !isString(what);\r\n}\r\n// Small helper functions\r\n/**\r\n * Is a string null, undefined, or empty?\r\n */\r\nfunction empty(s) {\r\n return (s ? false : true);\r\n}\r\n/**\r\n * Puts a string to lower case if \'ignoreCase\' is set.\r\n */\r\nfunction fixCase(lexer, str) {\r\n return (lexer.ignoreCase && str ? str.toLowerCase() : str);\r\n}\r\n/**\r\n * Ensures there are no bad characters in a CSS token class.\r\n */\r\nfunction sanitize(s) {\r\n return s.replace(/[&<>\'"_]/g, \'-\'); // used on all output token CSS classes\r\n}\r\n// Logging\r\n/**\r\n * Logs a message.\r\n */\r\nfunction monarchCommon_log(lexer, msg) {\r\n console.log(lexer.languageId + ": " + msg);\r\n}\r\n// Throwing errors\r\nfunction createError(lexer, msg) {\r\n return new Error(lexer.languageId + ": " + msg);\r\n}\r\n// Helper functions for rule finding and substitution\r\n/**\r\n * substituteMatches is used on lexer strings and can substitutes predefined patterns:\r\n * \t\t$$ => $\r\n * \t\t$# => id\r\n * \t\t$n => matched entry n\r\n * \t\t@attr => contents of lexer[attr]\r\n *\r\n * See documentation for more info\r\n */\r\nfunction substituteMatches(lexer, str, id, matches, state) {\r\n var re = /\\$((\\$)|(#)|(\\d\\d?)|[sS](\\d\\d?)|@(\\w+))/g;\r\n var stateMatches = null;\r\n return str.replace(re, function (full, sub, dollar, hash, n, s, attr, ofs, total) {\r\n if (!empty(dollar)) {\r\n return \'$\'; // $$\r\n }\r\n if (!empty(hash)) {\r\n return fixCase(lexer, id); // default $#\r\n }\r\n if (!empty(n) && n < matches.length) {\r\n return fixCase(lexer, matches[n]); // $n\r\n }\r\n if (!empty(attr) && lexer && typeof (lexer[attr]) === \'string\') {\r\n return lexer[attr]; //@attribute\r\n }\r\n if (stateMatches === null) { // split state on demand\r\n stateMatches = state.split(\'.\');\r\n stateMatches.unshift(state);\r\n }\r\n if (!empty(s) && s < stateMatches.length) {\r\n return fixCase(lexer, stateMatches[s]); //$Sn\r\n }\r\n return \'\';\r\n });\r\n}\r\n/**\r\n * Find the tokenizer rules for a specific state (i.e. next action)\r\n */\r\nfunction findRules(lexer, inState) {\r\n var state = inState;\r\n while (state && state.length > 0) {\r\n var rules = lexer.tokenizer[state];\r\n if (rules) {\r\n return rules;\r\n }\r\n var idx = state.lastIndexOf(\'.\');\r\n if (idx < 0) {\r\n state = null; // no further parent\r\n }\r\n else {\r\n state = state.substr(0, idx);\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Is a certain state defined? In contrast to \'findRules\' this works on a ILexerMin.\r\n * This is used during compilation where we may know the defined states\r\n * but not yet whether the corresponding rules are correct.\r\n */\r\nfunction stateExists(lexer, inState) {\r\n var state = inState;\r\n while (state && state.length > 0) {\r\n var exist = lexer.stateNames[state];\r\n if (exist) {\r\n return true;\r\n }\r\n var idx = state.lastIndexOf(\'.\');\r\n if (idx < 0) {\r\n state = null; // no further parent\r\n }\r\n else {\r\n state = state.substr(0, idx);\r\n }\r\n }\r\n return false;\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchLexer.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\nvar CACHE_STACK_DEPTH = 5;\r\n/**\r\n * Reuse the same stack elements up to a certain depth.\r\n */\r\nvar MonarchStackElementFactory = /** @class */ (function () {\r\n function MonarchStackElementFactory(maxCacheDepth) {\r\n this._maxCacheDepth = maxCacheDepth;\r\n this._entries = Object.create(null);\r\n }\r\n MonarchStackElementFactory.create = function (parent, state) {\r\n return this._INSTANCE.create(parent, state);\r\n };\r\n MonarchStackElementFactory.prototype.create = function (parent, state) {\r\n if (parent !== null && parent.depth >= this._maxCacheDepth) {\r\n // no caching above a certain depth\r\n return new MonarchStackElement(parent, state);\r\n }\r\n var stackElementId = MonarchStackElement.getStackElementId(parent);\r\n if (stackElementId.length > 0) {\r\n stackElementId += \'|\';\r\n }\r\n stackElementId += state;\r\n var result = this._entries[stackElementId];\r\n if (result) {\r\n return result;\r\n }\r\n result = new MonarchStackElement(parent, state);\r\n this._entries[stackElementId] = result;\r\n return result;\r\n };\r\n MonarchStackElementFactory._INSTANCE = new MonarchStackElementFactory(CACHE_STACK_DEPTH);\r\n return MonarchStackElementFactory;\r\n}());\r\nvar MonarchStackElement = /** @class */ (function () {\r\n function MonarchStackElement(parent, state) {\r\n this.parent = parent;\r\n this.state = state;\r\n this.depth = (this.parent ? this.parent.depth : 0) + 1;\r\n }\r\n MonarchStackElement.getStackElementId = function (element) {\r\n var result = \'\';\r\n while (element !== null) {\r\n if (result.length > 0) {\r\n result += \'|\';\r\n }\r\n result += element.state;\r\n element = element.parent;\r\n }\r\n return result;\r\n };\r\n MonarchStackElement._equals = function (a, b) {\r\n while (a !== null && b !== null) {\r\n if (a === b) {\r\n return true;\r\n }\r\n if (a.state !== b.state) {\r\n return false;\r\n }\r\n a = a.parent;\r\n b = b.parent;\r\n }\r\n if (a === null && b === null) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n MonarchStackElement.prototype.equals = function (other) {\r\n return MonarchStackElement._equals(this, other);\r\n };\r\n MonarchStackElement.prototype.push = function (state) {\r\n return MonarchStackElementFactory.create(this, state);\r\n };\r\n MonarchStackElement.prototype.pop = function () {\r\n return this.parent;\r\n };\r\n MonarchStackElement.prototype.popall = function () {\r\n var result = this;\r\n while (result.parent) {\r\n result = result.parent;\r\n }\r\n return result;\r\n };\r\n MonarchStackElement.prototype.switchTo = function (state) {\r\n return MonarchStackElementFactory.create(this.parent, state);\r\n };\r\n return MonarchStackElement;\r\n}());\r\nvar EmbeddedModeData = /** @class */ (function () {\r\n function EmbeddedModeData(modeId, state) {\r\n this.modeId = modeId;\r\n this.state = state;\r\n }\r\n EmbeddedModeData.prototype.equals = function (other) {\r\n return (this.modeId === other.modeId\r\n && this.state.equals(other.state));\r\n };\r\n EmbeddedModeData.prototype.clone = function () {\r\n var stateClone = this.state.clone();\r\n // save an object\r\n if (stateClone === this.state) {\r\n return this;\r\n }\r\n return new EmbeddedModeData(this.modeId, this.state);\r\n };\r\n return EmbeddedModeData;\r\n}());\r\n/**\r\n * Reuse the same line states up to a certain depth.\r\n */\r\nvar MonarchLineStateFactory = /** @class */ (function () {\r\n function MonarchLineStateFactory(maxCacheDepth) {\r\n this._maxCacheDepth = maxCacheDepth;\r\n this._entries = Object.create(null);\r\n }\r\n MonarchLineStateFactory.create = function (stack, embeddedModeData) {\r\n return this._INSTANCE.create(stack, embeddedModeData);\r\n };\r\n MonarchLineStateFactory.prototype.create = function (stack, embeddedModeData) {\r\n if (embeddedModeData !== null) {\r\n // no caching when embedding\r\n return new MonarchLineState(stack, embeddedModeData);\r\n }\r\n if (stack !== null && stack.depth >= this._maxCacheDepth) {\r\n // no caching above a certain depth\r\n return new MonarchLineState(stack, embeddedModeData);\r\n }\r\n var stackElementId = MonarchStackElement.getStackElementId(stack);\r\n var result = this._entries[stackElementId];\r\n if (result) {\r\n return result;\r\n }\r\n result = new MonarchLineState(stack, null);\r\n this._entries[stackElementId] = result;\r\n return result;\r\n };\r\n MonarchLineStateFactory._INSTANCE = new MonarchLineStateFactory(CACHE_STACK_DEPTH);\r\n return MonarchLineStateFactory;\r\n}());\r\nvar MonarchLineState = /** @class */ (function () {\r\n function MonarchLineState(stack, embeddedModeData) {\r\n this.stack = stack;\r\n this.embeddedModeData = embeddedModeData;\r\n }\r\n MonarchLineState.prototype.clone = function () {\r\n var embeddedModeDataClone = this.embeddedModeData ? this.embeddedModeData.clone() : null;\r\n // save an object\r\n if (embeddedModeDataClone === this.embeddedModeData) {\r\n return this;\r\n }\r\n return MonarchLineStateFactory.create(this.stack, this.embeddedModeData);\r\n };\r\n MonarchLineState.prototype.equals = function (other) {\r\n if (!(other instanceof MonarchLineState)) {\r\n return false;\r\n }\r\n if (!this.stack.equals(other.stack)) {\r\n return false;\r\n }\r\n if (this.embeddedModeData === null && other.embeddedModeData === null) {\r\n return true;\r\n }\r\n if (this.embeddedModeData === null || other.embeddedModeData === null) {\r\n return false;\r\n }\r\n return this.embeddedModeData.equals(other.embeddedModeData);\r\n };\r\n return MonarchLineState;\r\n}());\r\nvar monarchLexer_MonarchClassicTokensCollector = /** @class */ (function () {\r\n function MonarchClassicTokensCollector() {\r\n this._tokens = [];\r\n this._language = null;\r\n this._lastTokenType = null;\r\n this._lastTokenLanguage = null;\r\n }\r\n MonarchClassicTokensCollector.prototype.enterMode = function (startOffset, modeId) {\r\n this._language = modeId;\r\n };\r\n MonarchClassicTokensCollector.prototype.emit = function (startOffset, type) {\r\n if (this._lastTokenType === type && this._lastTokenLanguage === this._language) {\r\n return;\r\n }\r\n this._lastTokenType = type;\r\n this._lastTokenLanguage = this._language;\r\n this._tokens.push(new core_token["a" /* Token */](startOffset, type, this._language));\r\n };\r\n MonarchClassicTokensCollector.prototype.nestedModeTokenize = function (embeddedModeLine, embeddedModeData, offsetDelta) {\r\n var nestedModeId = embeddedModeData.modeId;\r\n var embeddedModeState = embeddedModeData.state;\r\n var nestedModeTokenizationSupport = modes["y" /* TokenizationRegistry */].get(nestedModeId);\r\n if (!nestedModeTokenizationSupport) {\r\n this.enterMode(offsetDelta, nestedModeId);\r\n this.emit(offsetDelta, \'\');\r\n return embeddedModeState;\r\n }\r\n var nestedResult = nestedModeTokenizationSupport.tokenize(embeddedModeLine, embeddedModeState, offsetDelta);\r\n this._tokens = this._tokens.concat(nestedResult.tokens);\r\n this._lastTokenType = null;\r\n this._lastTokenLanguage = null;\r\n this._language = null;\r\n return nestedResult.endState;\r\n };\r\n MonarchClassicTokensCollector.prototype.finalize = function (endState) {\r\n return new core_token["b" /* TokenizationResult */](this._tokens, endState);\r\n };\r\n return MonarchClassicTokensCollector;\r\n}());\r\nvar monarchLexer_MonarchModernTokensCollector = /** @class */ (function () {\r\n function MonarchModernTokensCollector(modeService, theme) {\r\n this._modeService = modeService;\r\n this._theme = theme;\r\n this._prependTokens = null;\r\n this._tokens = [];\r\n this._currentLanguageId = 0 /* Null */;\r\n this._lastTokenMetadata = 0;\r\n }\r\n MonarchModernTokensCollector.prototype.enterMode = function (startOffset, modeId) {\r\n this._currentLanguageId = this._modeService.getLanguageIdentifier(modeId).id;\r\n };\r\n MonarchModernTokensCollector.prototype.emit = function (startOffset, type) {\r\n var metadata = this._theme.match(this._currentLanguageId, type);\r\n if (this._lastTokenMetadata === metadata) {\r\n return;\r\n }\r\n this._lastTokenMetadata = metadata;\r\n this._tokens.push(startOffset);\r\n this._tokens.push(metadata);\r\n };\r\n MonarchModernTokensCollector._merge = function (a, b, c) {\r\n var aLen = (a !== null ? a.length : 0);\r\n var bLen = b.length;\r\n var cLen = (c !== null ? c.length : 0);\r\n if (aLen === 0 && bLen === 0 && cLen === 0) {\r\n return new Uint32Array(0);\r\n }\r\n if (aLen === 0 && bLen === 0) {\r\n return c;\r\n }\r\n if (bLen === 0 && cLen === 0) {\r\n return a;\r\n }\r\n var result = new Uint32Array(aLen + bLen + cLen);\r\n if (a !== null) {\r\n result.set(a);\r\n }\r\n for (var i = 0; i < bLen; i++) {\r\n result[aLen + i] = b[i];\r\n }\r\n if (c !== null) {\r\n result.set(c, aLen + bLen);\r\n }\r\n return result;\r\n };\r\n MonarchModernTokensCollector.prototype.nestedModeTokenize = function (embeddedModeLine, embeddedModeData, offsetDelta) {\r\n var nestedModeId = embeddedModeData.modeId;\r\n var embeddedModeState = embeddedModeData.state;\r\n var nestedModeTokenizationSupport = modes["y" /* TokenizationRegistry */].get(nestedModeId);\r\n if (!nestedModeTokenizationSupport) {\r\n this.enterMode(offsetDelta, nestedModeId);\r\n this.emit(offsetDelta, \'\');\r\n return embeddedModeState;\r\n }\r\n var nestedResult = nestedModeTokenizationSupport.tokenize2(embeddedModeLine, embeddedModeState, offsetDelta);\r\n this._prependTokens = MonarchModernTokensCollector._merge(this._prependTokens, this._tokens, nestedResult.tokens);\r\n this._tokens = [];\r\n this._currentLanguageId = 0;\r\n this._lastTokenMetadata = 0;\r\n return nestedResult.endState;\r\n };\r\n MonarchModernTokensCollector.prototype.finalize = function (endState) {\r\n return new core_token["c" /* TokenizationResult2 */](MonarchModernTokensCollector._merge(this._prependTokens, this._tokens, null), endState);\r\n };\r\n return MonarchModernTokensCollector;\r\n}());\r\nvar monarchLexer_MonarchTokenizer = /** @class */ (function () {\r\n function MonarchTokenizer(modeService, standaloneThemeService, modeId, lexer) {\r\n var _this = this;\r\n this._modeService = modeService;\r\n this._standaloneThemeService = standaloneThemeService;\r\n this._modeId = modeId;\r\n this._lexer = lexer;\r\n this._embeddedModes = Object.create(null);\r\n this.embeddedLoaded = Promise.resolve(undefined);\r\n // Set up listening for embedded modes\r\n var emitting = false;\r\n this._tokenizationRegistryListener = modes["y" /* TokenizationRegistry */].onDidChange(function (e) {\r\n if (emitting) {\r\n return;\r\n }\r\n var isOneOfMyEmbeddedModes = false;\r\n for (var i = 0, len = e.changedLanguages.length; i < len; i++) {\r\n var language = e.changedLanguages[i];\r\n if (_this._embeddedModes[language]) {\r\n isOneOfMyEmbeddedModes = true;\r\n break;\r\n }\r\n }\r\n if (isOneOfMyEmbeddedModes) {\r\n emitting = true;\r\n modes["y" /* TokenizationRegistry */].fire([_this._modeId]);\r\n emitting = false;\r\n }\r\n });\r\n }\r\n MonarchTokenizer.prototype.dispose = function () {\r\n this._tokenizationRegistryListener.dispose();\r\n };\r\n MonarchTokenizer.prototype.getLoadStatus = function () {\r\n var promises = [];\r\n for (var nestedModeId in this._embeddedModes) {\r\n var tokenizationSupport = modes["y" /* TokenizationRegistry */].get(nestedModeId);\r\n if (tokenizationSupport) {\r\n // The nested mode is already loaded\r\n if (tokenizationSupport instanceof MonarchTokenizer) {\r\n var nestedModeStatus = tokenizationSupport.getLoadStatus();\r\n if (nestedModeStatus.loaded === false) {\r\n promises.push(nestedModeStatus.promise);\r\n }\r\n }\r\n continue;\r\n }\r\n var tokenizationSupportPromise = modes["y" /* TokenizationRegistry */].getPromise(nestedModeId);\r\n if (tokenizationSupportPromise) {\r\n // The nested mode is in the process of being loaded\r\n promises.push(tokenizationSupportPromise);\r\n }\r\n }\r\n if (promises.length === 0) {\r\n return {\r\n loaded: true\r\n };\r\n }\r\n return {\r\n loaded: false,\r\n promise: Promise.all(promises).then(function (_) { return undefined; })\r\n };\r\n };\r\n MonarchTokenizer.prototype.getInitialState = function () {\r\n var rootState = MonarchStackElementFactory.create(null, this._lexer.start);\r\n return MonarchLineStateFactory.create(rootState, null);\r\n };\r\n MonarchTokenizer.prototype.tokenize = function (line, lineState, offsetDelta) {\r\n var tokensCollector = new monarchLexer_MonarchClassicTokensCollector();\r\n var endLineState = this._tokenize(line, lineState, offsetDelta, tokensCollector);\r\n return tokensCollector.finalize(endLineState);\r\n };\r\n MonarchTokenizer.prototype.tokenize2 = function (line, lineState, offsetDelta) {\r\n var tokensCollector = new monarchLexer_MonarchModernTokensCollector(this._modeService, this._standaloneThemeService.getTheme().tokenTheme);\r\n var endLineState = this._tokenize(line, lineState, offsetDelta, tokensCollector);\r\n return tokensCollector.finalize(endLineState);\r\n };\r\n MonarchTokenizer.prototype._tokenize = function (line, lineState, offsetDelta, collector) {\r\n if (lineState.embeddedModeData) {\r\n return this._nestedTokenize(line, lineState, offsetDelta, collector);\r\n }\r\n else {\r\n return this._myTokenize(line, lineState, offsetDelta, collector);\r\n }\r\n };\r\n MonarchTokenizer.prototype._findLeavingNestedModeOffset = function (line, state) {\r\n var rules = this._lexer.tokenizer[state.stack.state];\r\n if (!rules) {\r\n rules = findRules(this._lexer, state.stack.state); // do parent matching\r\n if (!rules) {\r\n throw createError(this._lexer, \'tokenizer state is not defined: \' + state.stack.state);\r\n }\r\n }\r\n var popOffset = -1;\r\n var hasEmbeddedPopRule = false;\r\n for (var _i = 0, rules_1 = rules; _i < rules_1.length; _i++) {\r\n var rule = rules_1[_i];\r\n if (!isIAction(rule.action) || rule.action.nextEmbedded !== \'@pop\') {\r\n continue;\r\n }\r\n hasEmbeddedPopRule = true;\r\n var regex = rule.regex;\r\n var regexSource = rule.regex.source;\r\n if (regexSource.substr(0, 4) === \'^(?:\' && regexSource.substr(regexSource.length - 1, 1) === \')\') {\r\n regex = new RegExp(regexSource.substr(4, regexSource.length - 5), regex.ignoreCase ? \'i\' : \'\');\r\n }\r\n var result = line.search(regex);\r\n if (result === -1 || (result !== 0 && rule.matchOnlyAtLineStart)) {\r\n continue;\r\n }\r\n if (popOffset === -1 || result < popOffset) {\r\n popOffset = result;\r\n }\r\n }\r\n if (!hasEmbeddedPopRule) {\r\n throw createError(this._lexer, \'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: \' + state.stack.state);\r\n }\r\n return popOffset;\r\n };\r\n MonarchTokenizer.prototype._nestedTokenize = function (line, lineState, offsetDelta, tokensCollector) {\r\n var popOffset = this._findLeavingNestedModeOffset(line, lineState);\r\n if (popOffset === -1) {\r\n // tokenization will not leave nested mode\r\n var nestedEndState = tokensCollector.nestedModeTokenize(line, lineState.embeddedModeData, offsetDelta);\r\n return MonarchLineStateFactory.create(lineState.stack, new EmbeddedModeData(lineState.embeddedModeData.modeId, nestedEndState));\r\n }\r\n var nestedModeLine = line.substring(0, popOffset);\r\n if (nestedModeLine.length > 0) {\r\n // tokenize with the nested mode\r\n tokensCollector.nestedModeTokenize(nestedModeLine, lineState.embeddedModeData, offsetDelta);\r\n }\r\n var restOfTheLine = line.substring(popOffset);\r\n return this._myTokenize(restOfTheLine, lineState, offsetDelta + popOffset, tokensCollector);\r\n };\r\n MonarchTokenizer.prototype._safeRuleName = function (rule) {\r\n if (rule) {\r\n return rule.name;\r\n }\r\n return \'(unknown)\';\r\n };\r\n MonarchTokenizer.prototype._myTokenize = function (line, lineState, offsetDelta, tokensCollector) {\r\n tokensCollector.enterMode(offsetDelta, this._modeId);\r\n var lineLength = line.length;\r\n var embeddedModeData = lineState.embeddedModeData;\r\n var stack = lineState.stack;\r\n var pos = 0;\r\n var groupMatching = null;\r\n // See https://github.com/Microsoft/monaco-editor/issues/1235:\r\n // Evaluate rules at least once for an empty line\r\n var forceEvaluation = true;\r\n while (forceEvaluation || pos < lineLength) {\r\n var pos0 = pos;\r\n var stackLen0 = stack.depth;\r\n var groupLen0 = groupMatching ? groupMatching.groups.length : 0;\r\n var state = stack.state;\r\n var matches = null;\r\n var matched = null;\r\n var action = null;\r\n var rule = null;\r\n var enteringEmbeddedMode = null;\r\n // check if we need to process group matches first\r\n if (groupMatching) {\r\n matches = groupMatching.matches;\r\n var groupEntry = groupMatching.groups.shift();\r\n matched = groupEntry.matched;\r\n action = groupEntry.action;\r\n rule = groupMatching.rule;\r\n // cleanup if necessary\r\n if (groupMatching.groups.length === 0) {\r\n groupMatching = null;\r\n }\r\n }\r\n else {\r\n // otherwise we match on the token stream\r\n if (!forceEvaluation && pos >= lineLength) {\r\n // nothing to do\r\n break;\r\n }\r\n forceEvaluation = false;\r\n // get the rules for this state\r\n var rules = this._lexer.tokenizer[state];\r\n if (!rules) {\r\n rules = findRules(this._lexer, state); // do parent matching\r\n if (!rules) {\r\n throw createError(this._lexer, \'tokenizer state is not defined: \' + state);\r\n }\r\n }\r\n // try each rule until we match\r\n var restOfLine = line.substr(pos);\r\n for (var _i = 0, rules_2 = rules; _i < rules_2.length; _i++) {\r\n var rule_1 = rules_2[_i];\r\n if (pos === 0 || !rule_1.matchOnlyAtLineStart) {\r\n matches = restOfLine.match(rule_1.regex);\r\n if (matches) {\r\n matched = matches[0];\r\n action = rule_1.action;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n // We matched \'rule\' with \'matches\' and \'action\'\r\n if (!matches) {\r\n matches = [\'\'];\r\n matched = \'\';\r\n }\r\n if (!action) {\r\n // bad: we didn\'t match anything, and there is no action to take\r\n // we need to advance the stream or we get progress trouble\r\n if (pos < lineLength) {\r\n matches = [line.charAt(pos)];\r\n matched = matches[0];\r\n }\r\n action = this._lexer.defaultToken;\r\n }\r\n if (matched === null) {\r\n // should never happen, needed for strict null checking\r\n break;\r\n }\r\n // advance stream\r\n pos += matched.length;\r\n // maybe call action function (used for \'cases\')\r\n while (isFuzzyAction(action) && isIAction(action) && action.test) {\r\n action = action.test(matched, matches, state, pos === lineLength);\r\n }\r\n var result = null;\r\n // set the result: either a string or an array of actions\r\n if (typeof action === \'string\' || Array.isArray(action)) {\r\n result = action;\r\n }\r\n else if (action.group) {\r\n result = action.group;\r\n }\r\n else if (action.token !== null && action.token !== undefined) {\r\n // do $n replacements?\r\n if (action.tokenSubst) {\r\n result = substituteMatches(this._lexer, action.token, matched, matches, state);\r\n }\r\n else {\r\n result = action.token;\r\n }\r\n // enter embedded mode?\r\n if (action.nextEmbedded) {\r\n if (action.nextEmbedded === \'@pop\') {\r\n if (!embeddedModeData) {\r\n throw createError(this._lexer, \'cannot pop embedded mode if not inside one\');\r\n }\r\n embeddedModeData = null;\r\n }\r\n else if (embeddedModeData) {\r\n throw createError(this._lexer, \'cannot enter embedded mode from within an embedded mode\');\r\n }\r\n else {\r\n enteringEmbeddedMode = substituteMatches(this._lexer, action.nextEmbedded, matched, matches, state);\r\n }\r\n }\r\n // state transformations\r\n if (action.goBack) { // back up the stream..\r\n pos = Math.max(0, pos - action.goBack);\r\n }\r\n if (action.switchTo && typeof action.switchTo === \'string\') {\r\n var nextState = substituteMatches(this._lexer, action.switchTo, matched, matches, state); // switch state without a push...\r\n if (nextState[0] === \'@\') {\r\n nextState = nextState.substr(1); // peel off starting \'@\'\r\n }\r\n if (!findRules(this._lexer, nextState)) {\r\n throw createError(this._lexer, \'trying to switch to a state \\\'\' + nextState + \'\\\' that is undefined in rule: \' + this._safeRuleName(rule));\r\n }\r\n else {\r\n stack = stack.switchTo(nextState);\r\n }\r\n }\r\n else if (action.transform && typeof action.transform === \'function\') {\r\n throw createError(this._lexer, \'action.transform not supported\');\r\n }\r\n else if (action.next) {\r\n if (action.next === \'@push\') {\r\n if (stack.depth >= this._lexer.maxStack) {\r\n throw createError(this._lexer, \'maximum tokenizer stack size reached: [\' +\r\n stack.state + \',\' + stack.parent.state + \',...]\');\r\n }\r\n else {\r\n stack = stack.push(state);\r\n }\r\n }\r\n else if (action.next === \'@pop\') {\r\n if (stack.depth <= 1) {\r\n throw createError(this._lexer, \'trying to pop an empty stack in rule: \' + this._safeRuleName(rule));\r\n }\r\n else {\r\n stack = stack.pop();\r\n }\r\n }\r\n else if (action.next === \'@popall\') {\r\n stack = stack.popall();\r\n }\r\n else {\r\n var nextState = substituteMatches(this._lexer, action.next, matched, matches, state);\r\n if (nextState[0] === \'@\') {\r\n nextState = nextState.substr(1); // peel off starting \'@\'\r\n }\r\n if (!findRules(this._lexer, nextState)) {\r\n throw createError(this._lexer, \'trying to set a next state \\\'\' + nextState + \'\\\' that is undefined in rule: \' + this._safeRuleName(rule));\r\n }\r\n else {\r\n stack = stack.push(nextState);\r\n }\r\n }\r\n }\r\n if (action.log && typeof (action.log) === \'string\') {\r\n monarchCommon_log(this._lexer, this._lexer.languageId + \': \' + substituteMatches(this._lexer, action.log, matched, matches, state));\r\n }\r\n }\r\n // check result\r\n if (result === null) {\r\n throw createError(this._lexer, \'lexer rule has no well-defined action in rule: \' + this._safeRuleName(rule));\r\n }\r\n // is the result a group match?\r\n if (Array.isArray(result)) {\r\n if (groupMatching && groupMatching.groups.length > 0) {\r\n throw createError(this._lexer, \'groups cannot be nested: \' + this._safeRuleName(rule));\r\n }\r\n if (matches.length !== result.length + 1) {\r\n throw createError(this._lexer, \'matched number of groups does not match the number of actions in rule: \' + this._safeRuleName(rule));\r\n }\r\n var totalLen = 0;\r\n for (var i = 1; i < matches.length; i++) {\r\n totalLen += matches[i].length;\r\n }\r\n if (totalLen !== matched.length) {\r\n throw createError(this._lexer, \'with groups, all characters should be matched in consecutive groups in rule: \' + this._safeRuleName(rule));\r\n }\r\n groupMatching = {\r\n rule: rule,\r\n matches: matches,\r\n groups: []\r\n };\r\n for (var i = 0; i < result.length; i++) {\r\n groupMatching.groups[i] = {\r\n action: result[i],\r\n matched: matches[i + 1]\r\n };\r\n }\r\n pos -= matched.length;\r\n // call recursively to initiate first result match\r\n continue;\r\n }\r\n else {\r\n // regular result\r\n // check for \'@rematch\'\r\n if (result === \'@rematch\') {\r\n pos -= matched.length;\r\n matched = \'\'; // better set the next state too..\r\n matches = null;\r\n result = \'\';\r\n }\r\n // check progress\r\n if (matched.length === 0) {\r\n if (lineLength === 0 || stackLen0 !== stack.depth || state !== stack.state || (!groupMatching ? 0 : groupMatching.groups.length) !== groupLen0) {\r\n continue;\r\n }\r\n else {\r\n throw createError(this._lexer, \'no progress in tokenizer in rule: \' + this._safeRuleName(rule));\r\n }\r\n }\r\n // return the result (and check for brace matching)\r\n // todo: for efficiency we could pre-sanitize tokenPostfix and substitutions\r\n var tokenType = null;\r\n if (isString(result) && result.indexOf(\'@brackets\') === 0) {\r\n var rest = result.substr(\'@brackets\'.length);\r\n var bracket = findBracket(this._lexer, matched);\r\n if (!bracket) {\r\n throw createError(this._lexer, \'@brackets token returned but no bracket defined as: \' + matched);\r\n }\r\n tokenType = sanitize(bracket.token + rest);\r\n }\r\n else {\r\n var token = (result === \'\' ? \'\' : result + this._lexer.tokenPostfix);\r\n tokenType = sanitize(token);\r\n }\r\n tokensCollector.emit(pos0 + offsetDelta, tokenType);\r\n }\r\n if (enteringEmbeddedMode !== null) {\r\n // substitute language alias to known modes to support syntax highlighting\r\n var enteringEmbeddedModeId = this._modeService.getModeIdForLanguageName(enteringEmbeddedMode);\r\n if (enteringEmbeddedModeId) {\r\n enteringEmbeddedMode = enteringEmbeddedModeId;\r\n }\r\n var embeddedModeData_1 = this._getNestedEmbeddedModeData(enteringEmbeddedMode);\r\n if (pos < lineLength) {\r\n // there is content from the embedded mode on this line\r\n var restOfLine = line.substr(pos);\r\n return this._nestedTokenize(restOfLine, MonarchLineStateFactory.create(stack, embeddedModeData_1), offsetDelta + pos, tokensCollector);\r\n }\r\n else {\r\n return MonarchLineStateFactory.create(stack, embeddedModeData_1);\r\n }\r\n }\r\n }\r\n return MonarchLineStateFactory.create(stack, embeddedModeData);\r\n };\r\n MonarchTokenizer.prototype._getNestedEmbeddedModeData = function (mimetypeOrModeId) {\r\n var nestedModeId = this._locateMode(mimetypeOrModeId);\r\n if (nestedModeId) {\r\n var tokenizationSupport = modes["y" /* TokenizationRegistry */].get(nestedModeId);\r\n if (tokenizationSupport) {\r\n return new EmbeddedModeData(nestedModeId, tokenizationSupport.getInitialState());\r\n }\r\n }\r\n return new EmbeddedModeData(nestedModeId || nullMode["b" /* NULL_MODE_ID */], nullMode["c" /* NULL_STATE */]);\r\n };\r\n MonarchTokenizer.prototype._locateMode = function (mimetypeOrModeId) {\r\n if (!mimetypeOrModeId || !this._modeService.isRegisteredMode(mimetypeOrModeId)) {\r\n return null;\r\n }\r\n if (mimetypeOrModeId === this._modeId) {\r\n // embedding myself...\r\n return mimetypeOrModeId;\r\n }\r\n var modeId = this._modeService.getModeId(mimetypeOrModeId);\r\n if (modeId) {\r\n // Fire mode loading event\r\n this._modeService.triggerMode(modeId);\r\n this._embeddedModes[modeId] = true;\r\n }\r\n return modeId;\r\n };\r\n return MonarchTokenizer;\r\n}());\r\n\r\n/**\r\n * Searches for a bracket in the \'brackets\' attribute that matches the input.\r\n */\r\nfunction findBracket(lexer, matched) {\r\n if (!matched) {\r\n return null;\r\n }\r\n matched = fixCase(lexer, matched);\r\n var brackets = lexer.brackets;\r\n for (var _i = 0, brackets_1 = brackets; _i < brackets_1.length; _i++) {\r\n var bracket = brackets_1[_i];\r\n if (bracket.open === matched) {\r\n return { token: bracket.token, bracketType: 1 /* Open */ };\r\n }\r\n else if (bracket.close === matched) {\r\n return { token: bracket.token, bracketType: -1 /* Close */ };\r\n }\r\n }\r\n return null;\r\n}\r\nfunction createTokenizationSupport(modeService, standaloneThemeService, modeId, lexer) {\r\n return new monarchLexer_MonarchTokenizer(modeService, standaloneThemeService, modeId, lexer);\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/colorizer.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar colorizer_Colorizer = /** @class */ (function () {\r\n function Colorizer() {\r\n }\r\n Colorizer.colorizeElement = function (themeService, modeService, domNode, options) {\r\n options = options || {};\r\n var theme = options.theme || \'vs\';\r\n var mimeType = options.mimeType || domNode.getAttribute(\'lang\') || domNode.getAttribute(\'data-lang\');\r\n if (!mimeType) {\r\n console.error(\'Mode not detected\');\r\n return Promise.resolve();\r\n }\r\n themeService.setTheme(theme);\r\n var text = domNode.firstChild ? domNode.firstChild.nodeValue : \'\';\r\n domNode.className += \' \' + theme;\r\n var render = function (str) {\r\n domNode.innerHTML = str;\r\n };\r\n return this.colorize(modeService, text || \'\', mimeType, options).then(render, function (err) { return console.error(err); });\r\n };\r\n Colorizer.colorize = function (modeService, text, mimeType, options) {\r\n var tabSize = 4;\r\n if (options && typeof options.tabSize === \'number\') {\r\n tabSize = options.tabSize;\r\n }\r\n if (strings["O" /* startsWithUTF8BOM */](text)) {\r\n text = text.substr(1);\r\n }\r\n var lines = text.split(/\\r\\n|\\r|\\n/);\r\n var language = modeService.getModeId(mimeType);\r\n if (!language) {\r\n return Promise.resolve(_fakeColorize(lines, tabSize));\r\n }\r\n // Send out the event to create the mode\r\n modeService.triggerMode(language);\r\n var tokenizationSupport = modes["y" /* TokenizationRegistry */].get(language);\r\n if (tokenizationSupport) {\r\n return _colorize(lines, tabSize, tokenizationSupport);\r\n }\r\n var tokenizationSupportPromise = modes["y" /* TokenizationRegistry */].getPromise(language);\r\n if (tokenizationSupportPromise) {\r\n // A tokenizer will be registered soon\r\n return new Promise(function (resolve, reject) {\r\n tokenizationSupportPromise.then(function (tokenizationSupport) {\r\n _colorize(lines, tabSize, tokenizationSupport).then(resolve, reject);\r\n }, reject);\r\n });\r\n }\r\n return new Promise(function (resolve, reject) {\r\n var listener = null;\r\n var timeout = null;\r\n var execute = function () {\r\n if (listener) {\r\n listener.dispose();\r\n listener = null;\r\n }\r\n if (timeout) {\r\n timeout.dispose();\r\n timeout = null;\r\n }\r\n var tokenizationSupport = modes["y" /* TokenizationRegistry */].get(language);\r\n if (tokenizationSupport) {\r\n _colorize(lines, tabSize, tokenizationSupport).then(resolve, reject);\r\n return;\r\n }\r\n resolve(_fakeColorize(lines, tabSize));\r\n };\r\n // wait 500ms for mode to load, then give up\r\n timeout = new common_async["e" /* TimeoutTimer */]();\r\n timeout.cancelAndSet(execute, 500);\r\n listener = modes["y" /* TokenizationRegistry */].onDidChange(function (e) {\r\n if (e.changedLanguages.indexOf(language) >= 0) {\r\n execute();\r\n }\r\n });\r\n });\r\n };\r\n Colorizer.colorizeLine = function (line, mightContainNonBasicASCII, mightContainRTL, tokens, tabSize) {\r\n if (tabSize === void 0) { tabSize = 4; }\r\n var isBasicASCII = viewModel["d" /* ViewLineRenderingData */].isBasicASCII(line, mightContainNonBasicASCII);\r\n var containsRTL = viewModel["d" /* ViewLineRenderingData */].containsRTL(line, isBasicASCII, mightContainRTL);\r\n var renderResult = Object(viewLineRenderer["e" /* renderViewLine2 */])(new viewLineRenderer["c" /* RenderLineInput */](false, true, line, false, isBasicASCII, containsRTL, 0, tokens, [], tabSize, 0, 0, 0, -1, \'none\', false, false, null));\r\n return renderResult.html;\r\n };\r\n Colorizer.colorizeModelLine = function (model, lineNumber, tabSize) {\r\n if (tabSize === void 0) { tabSize = 4; }\r\n var content = model.getLineContent(lineNumber);\r\n model.forceTokenization(lineNumber);\r\n var tokens = model.getLineTokens(lineNumber);\r\n var inflatedTokens = tokens.inflate();\r\n return this.colorizeLine(content, model.mightContainNonBasicASCII(), model.mightContainRTL(), inflatedTokens, tabSize);\r\n };\r\n return Colorizer;\r\n}());\r\n\r\nfunction _colorize(lines, tabSize, tokenizationSupport) {\r\n return new Promise(function (c, e) {\r\n var execute = function () {\r\n var result = _actualColorize(lines, tabSize, tokenizationSupport);\r\n if (tokenizationSupport instanceof monarchLexer_MonarchTokenizer) {\r\n var status_1 = tokenizationSupport.getLoadStatus();\r\n if (status_1.loaded === false) {\r\n status_1.promise.then(execute, e);\r\n return;\r\n }\r\n }\r\n c(result);\r\n };\r\n execute();\r\n });\r\n}\r\nfunction _fakeColorize(lines, tabSize) {\r\n var html = [];\r\n var defaultMetadata = ((0 /* None */ << 11 /* FONT_STYLE_OFFSET */)\r\n | (1 /* DefaultForeground */ << 14 /* FOREGROUND_OFFSET */)\r\n | (2 /* DefaultBackground */ << 23 /* BACKGROUND_OFFSET */)) >>> 0;\r\n var tokens = new Uint32Array(2);\r\n tokens[0] = 0;\r\n tokens[1] = defaultMetadata;\r\n for (var i = 0, length_1 = lines.length; i < length_1; i++) {\r\n var line = lines[i];\r\n tokens[0] = line.length;\r\n var lineTokens = new core_lineTokens["a" /* LineTokens */](tokens, line);\r\n var isBasicASCII = viewModel["d" /* ViewLineRenderingData */].isBasicASCII(line, /* check for basic ASCII */ true);\r\n var containsRTL = viewModel["d" /* ViewLineRenderingData */].containsRTL(line, isBasicASCII, /* check for RTL */ true);\r\n var renderResult = Object(viewLineRenderer["e" /* renderViewLine2 */])(new viewLineRenderer["c" /* RenderLineInput */](false, true, line, false, isBasicASCII, containsRTL, 0, lineTokens, [], tabSize, 0, 0, 0, -1, \'none\', false, false, null));\r\n html = html.concat(renderResult.html);\r\n html.push(\'
    \');\r\n }\r\n return html.join(\'\');\r\n}\r\nfunction _actualColorize(lines, tabSize, tokenizationSupport) {\r\n var html = [];\r\n var state = tokenizationSupport.getInitialState();\r\n for (var i = 0, length_2 = lines.length; i < length_2; i++) {\r\n var line = lines[i];\r\n var tokenizeResult = tokenizationSupport.tokenize2(line, state, 0);\r\n core_lineTokens["a" /* LineTokens */].convertToEndOffset(tokenizeResult.tokens, line.length);\r\n var lineTokens = new core_lineTokens["a" /* LineTokens */](tokenizeResult.tokens, line);\r\n var isBasicASCII = viewModel["d" /* ViewLineRenderingData */].isBasicASCII(line, /* check for basic ASCII */ true);\r\n var containsRTL = viewModel["d" /* ViewLineRenderingData */].containsRTL(line, isBasicASCII, /* check for RTL */ true);\r\n var renderResult = Object(viewLineRenderer["e" /* renderViewLine2 */])(new viewLineRenderer["c" /* RenderLineInput */](false, true, line, false, isBasicASCII, containsRTL, 0, lineTokens.inflate(), [], tabSize, 0, 0, 0, -1, \'none\', false, false, null));\r\n html = html.concat(renderResult.html);\r\n html.push(\'
    \');\r\n state = tokenizeResult.endState;\r\n }\r\n return html.join(\'\');\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\nvar browser_keyboardEvent = __webpack_require__("uDWl");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/severity.js\nvar common_severity = __webpack_require__("S3by");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.js\nvar editorBrowser = __webpack_require__("sFUC");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/config/commonEditorConfig.js\nvar commonEditorConfig = __webpack_require__("iDAx");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/editOperation.js\nvar editOperation = __webpack_require__("0/Sa");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/configuration/common/configuration.js\nvar common_configuration = __webpack_require__("+7oY");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/map.js\nvar common_map = __webpack_require__("QDVR");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js\nvar configurationRegistry = __webpack_require__("CRAX");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationModels.js\nvar configurationModels_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 configurationModels_spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\nvar configurationModels_ConfigurationModel = /** @class */ (function () {\r\n function ConfigurationModel(_contents, _keys, _overrides) {\r\n if (_contents === void 0) { _contents = {}; }\r\n if (_keys === void 0) { _keys = []; }\r\n if (_overrides === void 0) { _overrides = []; }\r\n this._contents = _contents;\r\n this._keys = _keys;\r\n this._overrides = _overrides;\r\n this.isFrozen = false;\r\n }\r\n Object.defineProperty(ConfigurationModel.prototype, "contents", {\r\n get: function () {\r\n return this.checkAndFreeze(this._contents);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ConfigurationModel.prototype, "overrides", {\r\n get: function () {\r\n return this.checkAndFreeze(this._overrides);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ConfigurationModel.prototype, "keys", {\r\n get: function () {\r\n return this.checkAndFreeze(this._keys);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ConfigurationModel.prototype.isEmpty = function () {\r\n return this._keys.length === 0 && Object.keys(this._contents).length === 0 && this._overrides.length === 0;\r\n };\r\n ConfigurationModel.prototype.getValue = function (section) {\r\n return section ? Object(common_configuration["d" /* getConfigurationValue */])(this.contents, section) : this.contents;\r\n };\r\n ConfigurationModel.prototype.getOverrideValue = function (section, overrideIdentifier) {\r\n var overrideContents = this.getContentsForOverrideIdentifer(overrideIdentifier);\r\n return overrideContents\r\n ? section ? Object(common_configuration["d" /* getConfigurationValue */])(overrideContents, section) : overrideContents\r\n : undefined;\r\n };\r\n ConfigurationModel.prototype.override = function (identifier) {\r\n var overrideContents = this.getContentsForOverrideIdentifer(identifier);\r\n if (!overrideContents || typeof overrideContents !== \'object\' || !Object.keys(overrideContents).length) {\r\n // If there are no valid overrides, return self\r\n return this;\r\n }\r\n var contents = {};\r\n for (var _i = 0, _a = arrays["e" /* distinct */](configurationModels_spreadArrays(Object.keys(this.contents), Object.keys(overrideContents))); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var contentsForKey = this.contents[key];\r\n var overrideContentsForKey = overrideContents[key];\r\n // If there are override contents for the key, clone and merge otherwise use base contents\r\n if (overrideContentsForKey) {\r\n // Clone and merge only if base contents and override contents are of type object otherwise just override\r\n if (typeof contentsForKey === \'object\' && typeof overrideContentsForKey === \'object\') {\r\n contentsForKey = objects["c" /* deepClone */](contentsForKey);\r\n this.mergeContents(contentsForKey, overrideContentsForKey);\r\n }\r\n else {\r\n contentsForKey = overrideContentsForKey;\r\n }\r\n }\r\n contents[key] = contentsForKey;\r\n }\r\n return new ConfigurationModel(contents, this.keys, this.overrides);\r\n };\r\n ConfigurationModel.prototype.merge = function () {\r\n var others = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n others[_i] = arguments[_i];\r\n }\r\n var contents = objects["c" /* deepClone */](this.contents);\r\n var overrides = objects["c" /* deepClone */](this.overrides);\r\n var keys = configurationModels_spreadArrays(this.keys);\r\n for (var _a = 0, others_1 = others; _a < others_1.length; _a++) {\r\n var other = others_1[_a];\r\n this.mergeContents(contents, other.contents);\r\n var _loop_1 = function (otherOverride) {\r\n var override = overrides.filter(function (o) { return arrays["g" /* equals */](o.identifiers, otherOverride.identifiers); })[0];\r\n if (override) {\r\n this_1.mergeContents(override.contents, otherOverride.contents);\r\n }\r\n else {\r\n overrides.push(objects["c" /* deepClone */](otherOverride));\r\n }\r\n };\r\n var this_1 = this;\r\n for (var _b = 0, _c = other.overrides; _b < _c.length; _b++) {\r\n var otherOverride = _c[_b];\r\n _loop_1(otherOverride);\r\n }\r\n for (var _d = 0, _e = other.keys; _d < _e.length; _d++) {\r\n var key = _e[_d];\r\n if (keys.indexOf(key) === -1) {\r\n keys.push(key);\r\n }\r\n }\r\n }\r\n return new ConfigurationModel(contents, keys, overrides);\r\n };\r\n ConfigurationModel.prototype.freeze = function () {\r\n this.isFrozen = true;\r\n return this;\r\n };\r\n ConfigurationModel.prototype.mergeContents = function (source, target) {\r\n for (var _i = 0, _a = Object.keys(target); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (key in source) {\r\n if (types["i" /* isObject */](source[key]) && types["i" /* isObject */](target[key])) {\r\n this.mergeContents(source[key], target[key]);\r\n continue;\r\n }\r\n }\r\n source[key] = objects["c" /* deepClone */](target[key]);\r\n }\r\n };\r\n ConfigurationModel.prototype.checkAndFreeze = function (data) {\r\n if (this.isFrozen && !Object.isFrozen(data)) {\r\n return objects["d" /* deepFreeze */](data);\r\n }\r\n return data;\r\n };\r\n ConfigurationModel.prototype.getContentsForOverrideIdentifer = function (identifier) {\r\n for (var _i = 0, _a = this.overrides; _i < _a.length; _i++) {\r\n var override = _a[_i];\r\n if (override.identifiers.indexOf(identifier) !== -1) {\r\n return override.contents;\r\n }\r\n }\r\n return null;\r\n };\r\n ConfigurationModel.prototype.toJSON = function () {\r\n return {\r\n contents: this.contents,\r\n overrides: this.overrides,\r\n keys: this.keys\r\n };\r\n };\r\n // Update methods\r\n ConfigurationModel.prototype.setValue = function (key, value) {\r\n this.addKey(key);\r\n Object(common_configuration["b" /* addToValueTree */])(this.contents, key, value, function (e) { throw new Error(e); });\r\n };\r\n ConfigurationModel.prototype.removeValue = function (key) {\r\n if (this.removeKey(key)) {\r\n Object(common_configuration["h" /* removeFromValueTree */])(this.contents, key);\r\n }\r\n };\r\n ConfigurationModel.prototype.addKey = function (key) {\r\n var index = this.keys.length;\r\n for (var i = 0; i < index; i++) {\r\n if (key.indexOf(this.keys[i]) === 0) {\r\n index = i;\r\n }\r\n }\r\n this.keys.splice(index, 1, key);\r\n };\r\n ConfigurationModel.prototype.removeKey = function (key) {\r\n var index = this.keys.indexOf(key);\r\n if (index !== -1) {\r\n this.keys.splice(index, 1);\r\n return true;\r\n }\r\n return false;\r\n };\r\n return ConfigurationModel;\r\n}());\r\n\r\nvar configurationModels_DefaultConfigurationModel = /** @class */ (function (_super) {\r\n configurationModels_extends(DefaultConfigurationModel, _super);\r\n function DefaultConfigurationModel() {\r\n var _this = this;\r\n var contents = Object(common_configuration["e" /* getDefaultValues */])();\r\n var keys = Object(common_configuration["c" /* getConfigurationKeys */])();\r\n var overrides = [];\r\n for (var _i = 0, _a = Object.keys(contents); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (configurationRegistry["b" /* OVERRIDE_PROPERTY_PATTERN */].test(key)) {\r\n overrides.push({\r\n identifiers: [Object(common_configuration["g" /* overrideIdentifierFromKey */])(key).trim()],\r\n keys: Object.keys(contents[key]),\r\n contents: Object(common_configuration["i" /* toValuesTree */])(contents[key], function (message) { return console.error("Conflict in default settings file: " + message); }),\r\n });\r\n }\r\n }\r\n _this = _super.call(this, contents, keys, overrides) || this;\r\n return _this;\r\n }\r\n return DefaultConfigurationModel;\r\n}(configurationModels_ConfigurationModel));\r\n\r\nvar configurationModels_Configuration = /** @class */ (function () {\r\n function Configuration(_defaultConfiguration, _localUserConfiguration, _remoteUserConfiguration, _workspaceConfiguration, _folderConfigurations, _memoryConfiguration, _memoryConfigurationByResource, _freeze) {\r\n if (_remoteUserConfiguration === void 0) { _remoteUserConfiguration = new configurationModels_ConfigurationModel(); }\r\n if (_workspaceConfiguration === void 0) { _workspaceConfiguration = new configurationModels_ConfigurationModel(); }\r\n if (_folderConfigurations === void 0) { _folderConfigurations = new common_map["b" /* ResourceMap */](); }\r\n if (_memoryConfiguration === void 0) { _memoryConfiguration = new configurationModels_ConfigurationModel(); }\r\n if (_memoryConfigurationByResource === void 0) { _memoryConfigurationByResource = new common_map["b" /* ResourceMap */](); }\r\n if (_freeze === void 0) { _freeze = true; }\r\n this._defaultConfiguration = _defaultConfiguration;\r\n this._localUserConfiguration = _localUserConfiguration;\r\n this._remoteUserConfiguration = _remoteUserConfiguration;\r\n this._workspaceConfiguration = _workspaceConfiguration;\r\n this._folderConfigurations = _folderConfigurations;\r\n this._memoryConfiguration = _memoryConfiguration;\r\n this._memoryConfigurationByResource = _memoryConfigurationByResource;\r\n this._freeze = _freeze;\r\n this._workspaceConsolidatedConfiguration = null;\r\n this._foldersConsolidatedConfigurations = new common_map["b" /* ResourceMap */]();\r\n this._userConfiguration = null;\r\n }\r\n Configuration.prototype.getValue = function (section, overrides, workspace) {\r\n var consolidateConfigurationModel = this.getConsolidateConfigurationModel(overrides, workspace);\r\n return consolidateConfigurationModel.getValue(section);\r\n };\r\n Configuration.prototype.updateValue = function (key, value, overrides) {\r\n if (overrides === void 0) { overrides = {}; }\r\n var memoryConfiguration;\r\n if (overrides.resource) {\r\n memoryConfiguration = this._memoryConfigurationByResource.get(overrides.resource);\r\n if (!memoryConfiguration) {\r\n memoryConfiguration = new configurationModels_ConfigurationModel();\r\n this._memoryConfigurationByResource.set(overrides.resource, memoryConfiguration);\r\n }\r\n }\r\n else {\r\n memoryConfiguration = this._memoryConfiguration;\r\n }\r\n if (value === undefined) {\r\n memoryConfiguration.removeValue(key);\r\n }\r\n else {\r\n memoryConfiguration.setValue(key, value);\r\n }\r\n if (!overrides.resource) {\r\n this._workspaceConsolidatedConfiguration = null;\r\n }\r\n };\r\n Configuration.prototype.inspect = function (key, overrides, workspace) {\r\n var consolidateConfigurationModel = this.getConsolidateConfigurationModel(overrides, workspace);\r\n var folderConfigurationModel = this.getFolderConfigurationModelForResource(overrides.resource, workspace);\r\n var memoryConfigurationModel = overrides.resource ? this._memoryConfigurationByResource.get(overrides.resource) || this._memoryConfiguration : this._memoryConfiguration;\r\n var defaultValue = overrides.overrideIdentifier ? this._defaultConfiguration.freeze().override(overrides.overrideIdentifier).getValue(key) : this._defaultConfiguration.freeze().getValue(key);\r\n var userValue = overrides.overrideIdentifier ? this.userConfiguration.freeze().override(overrides.overrideIdentifier).getValue(key) : this.userConfiguration.freeze().getValue(key);\r\n var userLocalValue = overrides.overrideIdentifier ? this.localUserConfiguration.freeze().override(overrides.overrideIdentifier).getValue(key) : this.localUserConfiguration.freeze().getValue(key);\r\n var userRemoteValue = overrides.overrideIdentifier ? this.remoteUserConfiguration.freeze().override(overrides.overrideIdentifier).getValue(key) : this.remoteUserConfiguration.freeze().getValue(key);\r\n var workspaceValue = workspace ? overrides.overrideIdentifier ? this._workspaceConfiguration.freeze().override(overrides.overrideIdentifier).getValue(key) : this._workspaceConfiguration.freeze().getValue(key) : undefined; //Check on workspace exists or not because _workspaceConfiguration is never null\r\n var workspaceFolderValue = folderConfigurationModel ? overrides.overrideIdentifier ? folderConfigurationModel.freeze().override(overrides.overrideIdentifier).getValue(key) : folderConfigurationModel.freeze().getValue(key) : undefined;\r\n var memoryValue = overrides.overrideIdentifier ? memoryConfigurationModel.override(overrides.overrideIdentifier).getValue(key) : memoryConfigurationModel.getValue(key);\r\n var value = consolidateConfigurationModel.getValue(key);\r\n var overrideIdentifiers = arrays["e" /* distinct */](arrays["m" /* flatten */](consolidateConfigurationModel.overrides.map(function (override) { return override.identifiers; }))).filter(function (overrideIdentifier) { return consolidateConfigurationModel.getOverrideValue(key, overrideIdentifier) !== undefined; });\r\n return {\r\n defaultValue: defaultValue,\r\n userValue: userValue,\r\n userLocalValue: userLocalValue,\r\n userRemoteValue: userRemoteValue,\r\n workspaceValue: workspaceValue,\r\n workspaceFolderValue: workspaceFolderValue,\r\n memoryValue: memoryValue,\r\n value: value,\r\n default: defaultValue !== undefined ? { value: this._defaultConfiguration.freeze().getValue(key), override: overrides.overrideIdentifier ? this._defaultConfiguration.freeze().getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n user: userValue !== undefined ? { value: this.userConfiguration.freeze().getValue(key), override: overrides.overrideIdentifier ? this.userConfiguration.freeze().getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n userLocal: userLocalValue !== undefined ? { value: this.localUserConfiguration.freeze().getValue(key), override: overrides.overrideIdentifier ? this.localUserConfiguration.freeze().getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n userRemote: userRemoteValue !== undefined ? { value: this.remoteUserConfiguration.freeze().getValue(key), override: overrides.overrideIdentifier ? this.remoteUserConfiguration.freeze().getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n workspace: workspaceValue !== undefined ? { value: this._workspaceConfiguration.freeze().getValue(key), override: overrides.overrideIdentifier ? this._workspaceConfiguration.freeze().getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n workspaceFolder: workspaceFolderValue !== undefined ? { value: folderConfigurationModel === null || folderConfigurationModel === void 0 ? void 0 : folderConfigurationModel.freeze().getValue(key), override: overrides.overrideIdentifier ? folderConfigurationModel === null || folderConfigurationModel === void 0 ? void 0 : folderConfigurationModel.freeze().getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n memory: memoryValue !== undefined ? { value: memoryConfigurationModel.getValue(key), override: overrides.overrideIdentifier ? memoryConfigurationModel.getOverrideValue(key, overrides.overrideIdentifier) : undefined } : undefined,\r\n overrideIdentifiers: overrideIdentifiers.length ? overrideIdentifiers : undefined\r\n };\r\n };\r\n Object.defineProperty(Configuration.prototype, "userConfiguration", {\r\n get: function () {\r\n if (!this._userConfiguration) {\r\n this._userConfiguration = this._remoteUserConfiguration.isEmpty() ? this._localUserConfiguration : this._localUserConfiguration.merge(this._remoteUserConfiguration);\r\n if (this._freeze) {\r\n this._userConfiguration.freeze();\r\n }\r\n }\r\n return this._userConfiguration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Configuration.prototype, "localUserConfiguration", {\r\n get: function () {\r\n return this._localUserConfiguration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Configuration.prototype, "remoteUserConfiguration", {\r\n get: function () {\r\n return this._remoteUserConfiguration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Configuration.prototype.getConsolidateConfigurationModel = function (overrides, workspace) {\r\n var configurationModel = this.getConsolidatedConfigurationModelForResource(overrides, workspace);\r\n return overrides.overrideIdentifier ? configurationModel.override(overrides.overrideIdentifier) : configurationModel;\r\n };\r\n Configuration.prototype.getConsolidatedConfigurationModelForResource = function (_a, workspace) {\r\n var resource = _a.resource;\r\n var consolidateConfiguration = this.getWorkspaceConsolidatedConfiguration();\r\n if (workspace && resource) {\r\n var root = workspace.getFolder(resource);\r\n if (root) {\r\n consolidateConfiguration = this.getFolderConsolidatedConfiguration(root.uri) || consolidateConfiguration;\r\n }\r\n var memoryConfigurationForResource = this._memoryConfigurationByResource.get(resource);\r\n if (memoryConfigurationForResource) {\r\n consolidateConfiguration = consolidateConfiguration.merge(memoryConfigurationForResource);\r\n }\r\n }\r\n return consolidateConfiguration;\r\n };\r\n Configuration.prototype.getWorkspaceConsolidatedConfiguration = function () {\r\n if (!this._workspaceConsolidatedConfiguration) {\r\n this._workspaceConsolidatedConfiguration = this._defaultConfiguration.merge(this.userConfiguration, this._workspaceConfiguration, this._memoryConfiguration);\r\n if (this._freeze) {\r\n this._workspaceConfiguration = this._workspaceConfiguration.freeze();\r\n }\r\n }\r\n return this._workspaceConsolidatedConfiguration;\r\n };\r\n Configuration.prototype.getFolderConsolidatedConfiguration = function (folder) {\r\n var folderConsolidatedConfiguration = this._foldersConsolidatedConfigurations.get(folder);\r\n if (!folderConsolidatedConfiguration) {\r\n var workspaceConsolidateConfiguration = this.getWorkspaceConsolidatedConfiguration();\r\n var folderConfiguration = this._folderConfigurations.get(folder);\r\n if (folderConfiguration) {\r\n folderConsolidatedConfiguration = workspaceConsolidateConfiguration.merge(folderConfiguration);\r\n if (this._freeze) {\r\n folderConsolidatedConfiguration = folderConsolidatedConfiguration.freeze();\r\n }\r\n this._foldersConsolidatedConfigurations.set(folder, folderConsolidatedConfiguration);\r\n }\r\n else {\r\n folderConsolidatedConfiguration = workspaceConsolidateConfiguration;\r\n }\r\n }\r\n return folderConsolidatedConfiguration;\r\n };\r\n Configuration.prototype.getFolderConfigurationModelForResource = function (resource, workspace) {\r\n if (workspace && resource) {\r\n var root = workspace.getFolder(resource);\r\n if (root) {\r\n return this._folderConfigurations.get(root.uri);\r\n }\r\n }\r\n return undefined;\r\n };\r\n return Configuration;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/nls.js\nvar nls = __webpack_require__("3/fG");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/abstractKeybindingService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar abstractKeybindingService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar abstractKeybindingService_AbstractKeybindingService = /** @class */ (function (_super) {\r\n abstractKeybindingService_extends(AbstractKeybindingService, _super);\r\n function AbstractKeybindingService(_contextKeyService, _commandService, _telemetryService, _notificationService) {\r\n var _this = _super.call(this) || this;\r\n _this._contextKeyService = _contextKeyService;\r\n _this._commandService = _commandService;\r\n _this._telemetryService = _telemetryService;\r\n _this._notificationService = _notificationService;\r\n _this._onDidUpdateKeybindings = _this._register(new common_event["a" /* Emitter */]());\r\n _this._currentChord = null;\r\n _this._currentChordChecker = new common_async["c" /* IntervalTimer */]();\r\n _this._currentChordStatusMessage = null;\r\n return _this;\r\n }\r\n Object.defineProperty(AbstractKeybindingService.prototype, "onDidUpdateKeybindings", {\r\n get: function () {\r\n return this._onDidUpdateKeybindings ? this._onDidUpdateKeybindings.event : common_event["b" /* Event */].None; // Sinon stubbing walks properties on prototype\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n AbstractKeybindingService.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n };\r\n AbstractKeybindingService.prototype.getKeybindings = function () {\r\n return this._getResolver().getKeybindings();\r\n };\r\n AbstractKeybindingService.prototype.lookupKeybinding = function (commandId) {\r\n var result = this._getResolver().lookupPrimaryKeybinding(commandId);\r\n if (!result) {\r\n return undefined;\r\n }\r\n return result.resolvedKeybinding;\r\n };\r\n AbstractKeybindingService.prototype.softDispatch = function (e, target) {\r\n var keybinding = this.resolveKeyboardEvent(e);\r\n if (keybinding.isChord()) {\r\n console.warn(\'Unexpected keyboard event mapped to a chord\');\r\n return null;\r\n }\r\n var firstPart = keybinding.getDispatchParts()[0];\r\n if (firstPart === null) {\r\n // cannot be dispatched, probably only modifier keys\r\n return null;\r\n }\r\n var contextValue = this._contextKeyService.getContext(target);\r\n var currentChord = this._currentChord ? this._currentChord.keypress : null;\r\n return this._getResolver().resolve(contextValue, currentChord, firstPart);\r\n };\r\n AbstractKeybindingService.prototype._enterChordMode = function (firstPart, keypressLabel) {\r\n var _this = this;\r\n this._currentChord = {\r\n keypress: firstPart,\r\n label: keypressLabel\r\n };\r\n this._currentChordStatusMessage = this._notificationService.status(nls["a" /* localize */](\'first.chord\', "({0}) was pressed. Waiting for second key of chord...", keypressLabel));\r\n var chordEnterTime = Date.now();\r\n this._currentChordChecker.cancelAndSet(function () {\r\n if (!_this._documentHasFocus()) {\r\n // Focus has been lost => leave chord mode\r\n _this._leaveChordMode();\r\n return;\r\n }\r\n if (Date.now() - chordEnterTime > 5000) {\r\n // 5 seconds elapsed => leave chord mode\r\n _this._leaveChordMode();\r\n }\r\n }, 500);\r\n };\r\n AbstractKeybindingService.prototype._leaveChordMode = function () {\r\n if (this._currentChordStatusMessage) {\r\n this._currentChordStatusMessage.dispose();\r\n this._currentChordStatusMessage = null;\r\n }\r\n this._currentChordChecker.cancel();\r\n this._currentChord = null;\r\n };\r\n AbstractKeybindingService.prototype._dispatch = function (e, target) {\r\n return this._doDispatch(this.resolveKeyboardEvent(e), target);\r\n };\r\n AbstractKeybindingService.prototype._doDispatch = function (keybinding, target) {\r\n var _this = this;\r\n var shouldPreventDefault = false;\r\n if (keybinding.isChord()) {\r\n console.warn(\'Unexpected keyboard event mapped to a chord\');\r\n return false;\r\n }\r\n var firstPart = keybinding.getDispatchParts()[0];\r\n if (firstPart === null) {\r\n // cannot be dispatched, probably only modifier keys\r\n return shouldPreventDefault;\r\n }\r\n var contextValue = this._contextKeyService.getContext(target);\r\n var currentChord = this._currentChord ? this._currentChord.keypress : null;\r\n var keypressLabel = keybinding.getLabel();\r\n var resolveResult = this._getResolver().resolve(contextValue, currentChord, firstPart);\r\n if (resolveResult && resolveResult.enterChord) {\r\n shouldPreventDefault = true;\r\n this._enterChordMode(firstPart, keypressLabel);\r\n return shouldPreventDefault;\r\n }\r\n if (this._currentChord) {\r\n if (!resolveResult || !resolveResult.commandId) {\r\n this._notificationService.status(nls["a" /* localize */](\'missing.chord\', "The key combination ({0}, {1}) is not a command.", this._currentChord.label, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ });\r\n shouldPreventDefault = true;\r\n }\r\n }\r\n this._leaveChordMode();\r\n if (resolveResult && resolveResult.commandId) {\r\n if (!resolveResult.bubble) {\r\n shouldPreventDefault = true;\r\n }\r\n if (typeof resolveResult.commandArgs === \'undefined\') {\r\n this._commandService.executeCommand(resolveResult.commandId).then(undefined, function (err) { return _this._notificationService.warn(err); });\r\n }\r\n else {\r\n this._commandService.executeCommand(resolveResult.commandId, resolveResult.commandArgs).then(undefined, function (err) { return _this._notificationService.warn(err); });\r\n }\r\n this._telemetryService.publicLog2(\'workbenchActionExecuted\', { id: resolveResult.commandId, from: \'keybinding\' });\r\n }\r\n return shouldPreventDefault;\r\n };\r\n AbstractKeybindingService.prototype.mightProducePrintableCharacter = function (event) {\r\n if (event.ctrlKey || event.metaKey) {\r\n // ignore ctrl/cmd-combination but not shift/alt-combinatios\r\n return false;\r\n }\r\n // weak check for certain ranges. this is properly implemented in a subclass\r\n // with access to the KeyboardMapperFactory.\r\n if ((event.keyCode >= 31 /* KEY_A */ && event.keyCode <= 56 /* KEY_Z */)\r\n || (event.keyCode >= 21 /* KEY_0 */ && event.keyCode <= 30 /* KEY_9 */)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n return AbstractKeybindingService;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkey.js\nvar contextkey = __webpack_require__("T8No");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingResolver.js\n\r\nvar keybindingResolver_KeybindingResolver = /** @class */ (function () {\r\n function KeybindingResolver(defaultKeybindings, overrides) {\r\n this._defaultKeybindings = defaultKeybindings;\r\n this._defaultBoundCommands = new Map();\r\n for (var i = 0, len = defaultKeybindings.length; i < len; i++) {\r\n var command = defaultKeybindings[i].command;\r\n if (command) {\r\n this._defaultBoundCommands.set(command, true);\r\n }\r\n }\r\n this._map = new Map();\r\n this._lookupMap = new Map();\r\n this._keybindings = KeybindingResolver.combine(defaultKeybindings, overrides);\r\n for (var i = 0, len = this._keybindings.length; i < len; i++) {\r\n var k = this._keybindings[i];\r\n if (k.keypressParts.length === 0) {\r\n // unbound\r\n continue;\r\n }\r\n // TODO@chords\r\n this._addKeyPress(k.keypressParts[0], k);\r\n }\r\n }\r\n KeybindingResolver._isTargetedForRemoval = function (defaultKb, keypressFirstPart, keypressChordPart, command, when) {\r\n if (defaultKb.command !== command) {\r\n return false;\r\n }\r\n // TODO@chords\r\n if (keypressFirstPart && defaultKb.keypressParts[0] !== keypressFirstPart) {\r\n return false;\r\n }\r\n // TODO@chords\r\n if (keypressChordPart && defaultKb.keypressParts[1] !== keypressChordPart) {\r\n return false;\r\n }\r\n if (when) {\r\n if (!defaultKb.when) {\r\n return false;\r\n }\r\n if (!when.equals(defaultKb.when)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n /**\r\n * Looks for rules containing -command in `overrides` and removes them directly from `defaults`.\r\n */\r\n KeybindingResolver.combine = function (defaults, rawOverrides) {\r\n defaults = defaults.slice(0);\r\n var overrides = [];\r\n for (var _i = 0, rawOverrides_1 = rawOverrides; _i < rawOverrides_1.length; _i++) {\r\n var override = rawOverrides_1[_i];\r\n if (!override.command || override.command.length === 0 || override.command.charAt(0) !== \'-\') {\r\n overrides.push(override);\r\n continue;\r\n }\r\n var command = override.command.substr(1);\r\n // TODO@chords\r\n var keypressFirstPart = override.keypressParts[0];\r\n var keypressChordPart = override.keypressParts[1];\r\n var when = override.when;\r\n for (var j = defaults.length - 1; j >= 0; j--) {\r\n if (this._isTargetedForRemoval(defaults[j], keypressFirstPart, keypressChordPart, command, when)) {\r\n defaults.splice(j, 1);\r\n }\r\n }\r\n }\r\n return defaults.concat(overrides);\r\n };\r\n KeybindingResolver.prototype._addKeyPress = function (keypress, item) {\r\n var conflicts = this._map.get(keypress);\r\n if (typeof conflicts === \'undefined\') {\r\n // There is no conflict so far\r\n this._map.set(keypress, [item]);\r\n this._addToLookupMap(item);\r\n return;\r\n }\r\n for (var i = conflicts.length - 1; i >= 0; i--) {\r\n var conflict = conflicts[i];\r\n if (conflict.command === item.command) {\r\n continue;\r\n }\r\n var conflictIsChord = (conflict.keypressParts.length > 1);\r\n var itemIsChord = (item.keypressParts.length > 1);\r\n // TODO@chords\r\n if (conflictIsChord && itemIsChord && conflict.keypressParts[1] !== item.keypressParts[1]) {\r\n // The conflict only shares the chord start with this command\r\n continue;\r\n }\r\n if (KeybindingResolver.whenIsEntirelyIncluded(conflict.when, item.when)) {\r\n // `item` completely overwrites `conflict`\r\n // Remove conflict from the lookupMap\r\n this._removeFromLookupMap(conflict);\r\n }\r\n }\r\n conflicts.push(item);\r\n this._addToLookupMap(item);\r\n };\r\n KeybindingResolver.prototype._addToLookupMap = function (item) {\r\n if (!item.command) {\r\n return;\r\n }\r\n var arr = this._lookupMap.get(item.command);\r\n if (typeof arr === \'undefined\') {\r\n arr = [item];\r\n this._lookupMap.set(item.command, arr);\r\n }\r\n else {\r\n arr.push(item);\r\n }\r\n };\r\n KeybindingResolver.prototype._removeFromLookupMap = function (item) {\r\n if (!item.command) {\r\n return;\r\n }\r\n var arr = this._lookupMap.get(item.command);\r\n if (typeof arr === \'undefined\') {\r\n return;\r\n }\r\n for (var i = 0, len = arr.length; i < len; i++) {\r\n if (arr[i] === item) {\r\n arr.splice(i, 1);\r\n return;\r\n }\r\n }\r\n };\r\n /**\r\n * Returns true if it is provable `a` implies `b`.\r\n */\r\n KeybindingResolver.whenIsEntirelyIncluded = function (a, b) {\r\n if (!b) {\r\n return true;\r\n }\r\n if (!a) {\r\n return false;\r\n }\r\n return this._implies(a, b);\r\n };\r\n /**\r\n * Returns true if it is provable `p` implies `q`.\r\n */\r\n KeybindingResolver._implies = function (p, q) {\r\n var notP = p.negate();\r\n var terminals = function (node) {\r\n if (node instanceof contextkey["b" /* ContextKeyOrExpr */]) {\r\n return node.expr;\r\n }\r\n return [node];\r\n };\r\n var expr = terminals(notP).concat(terminals(q));\r\n for (var i = 0; i < expr.length; i++) {\r\n var a = expr[i];\r\n var notA = a.negate();\r\n for (var j = i + 1; j < expr.length; j++) {\r\n var b = expr[j];\r\n if (notA.equals(b)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n KeybindingResolver.prototype.getKeybindings = function () {\r\n return this._keybindings;\r\n };\r\n KeybindingResolver.prototype.lookupPrimaryKeybinding = function (commandId) {\r\n var items = this._lookupMap.get(commandId);\r\n if (typeof items === \'undefined\' || items.length === 0) {\r\n return null;\r\n }\r\n return items[items.length - 1];\r\n };\r\n KeybindingResolver.prototype.resolve = function (context, currentChord, keypress) {\r\n var lookupMap = null;\r\n if (currentChord !== null) {\r\n // Fetch all chord bindings for `currentChord`\r\n var candidates = this._map.get(currentChord);\r\n if (typeof candidates === \'undefined\') {\r\n // No chords starting with `currentChord`\r\n return null;\r\n }\r\n lookupMap = [];\r\n for (var i = 0, len = candidates.length; i < len; i++) {\r\n var candidate = candidates[i];\r\n // TODO@chords\r\n if (candidate.keypressParts[1] === keypress) {\r\n lookupMap.push(candidate);\r\n }\r\n }\r\n }\r\n else {\r\n var candidates = this._map.get(keypress);\r\n if (typeof candidates === \'undefined\') {\r\n // No bindings with `keypress`\r\n return null;\r\n }\r\n lookupMap = candidates;\r\n }\r\n var result = this._findCommand(context, lookupMap);\r\n if (!result) {\r\n return null;\r\n }\r\n // TODO@chords\r\n if (currentChord === null && result.keypressParts.length > 1 && result.keypressParts[1] !== null) {\r\n return {\r\n enterChord: true,\r\n commandId: null,\r\n commandArgs: null,\r\n bubble: false\r\n };\r\n }\r\n return {\r\n enterChord: false,\r\n commandId: result.command,\r\n commandArgs: result.commandArgs,\r\n bubble: result.bubble\r\n };\r\n };\r\n KeybindingResolver.prototype._findCommand = function (context, matches) {\r\n for (var i = matches.length - 1; i >= 0; i--) {\r\n var k = matches[i];\r\n if (!KeybindingResolver.contextMatchesRules(context, k.when)) {\r\n continue;\r\n }\r\n return k;\r\n }\r\n return null;\r\n };\r\n KeybindingResolver.contextMatchesRules = function (context, rules) {\r\n if (!rules) {\r\n return true;\r\n }\r\n return rules.evaluate(context);\r\n };\r\n return KeybindingResolver;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js\nvar keybindingsRegistry = __webpack_require__("nrhi");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/resolvedKeybindingItem.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar ResolvedKeybindingItem = /** @class */ (function () {\r\n function ResolvedKeybindingItem(resolvedKeybinding, command, commandArgs, when, isDefault) {\r\n this.resolvedKeybinding = resolvedKeybinding;\r\n this.keypressParts = resolvedKeybinding ? removeElementsAfterNulls(resolvedKeybinding.getDispatchParts()) : [];\r\n this.bubble = (command ? command.charCodeAt(0) === 94 /* Caret */ : false);\r\n this.command = this.bubble ? command.substr(1) : command;\r\n this.commandArgs = commandArgs;\r\n this.when = when;\r\n this.isDefault = isDefault;\r\n }\r\n return ResolvedKeybindingItem;\r\n}());\r\n\r\nfunction removeElementsAfterNulls(arr) {\r\n var result = [];\r\n for (var i = 0, len = arr.length; i < len; i++) {\r\n var element = arr[i];\r\n if (!element) {\r\n // stop processing at first encountered null\r\n return result;\r\n }\r\n result.push(element);\r\n }\r\n return result;\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar ModifierLabelProvider = /** @class */ (function () {\r\n function ModifierLabelProvider(mac, windows, linux) {\r\n if (linux === void 0) { linux = windows; }\r\n this.modifierLabels = [null]; // index 0 will never me accessed.\r\n this.modifierLabels[2 /* Macintosh */] = mac;\r\n this.modifierLabels[1 /* Windows */] = windows;\r\n this.modifierLabels[3 /* Linux */] = linux;\r\n }\r\n ModifierLabelProvider.prototype.toLabel = function (OS, parts, keyLabelProvider) {\r\n if (parts.length === 0) {\r\n return null;\r\n }\r\n var result = [];\r\n for (var i = 0, len = parts.length; i < len; i++) {\r\n var part = parts[i];\r\n var keyLabel = keyLabelProvider(part);\r\n if (keyLabel === null) {\r\n // this keybinding cannot be expressed...\r\n return null;\r\n }\r\n result[i] = _simpleAsString(part, keyLabel, this.modifierLabels[OS]);\r\n }\r\n return result.join(\' \');\r\n };\r\n return ModifierLabelProvider;\r\n}());\r\n\r\n/**\r\n * A label provider that prints modifiers in a suitable format for displaying in the UI.\r\n */\r\nvar UILabelProvider = new ModifierLabelProvider({\r\n ctrlKey: \'\u2303\',\r\n shiftKey: \'\u21e7\',\r\n altKey: \'\u2325\',\r\n metaKey: \'\u2318\',\r\n separator: \'\',\r\n}, {\r\n ctrlKey: nls["a" /* localize */]({ key: \'ctrlKey\', comment: [\'This is the short form for the Control key on the keyboard\'] }, "Ctrl"),\r\n shiftKey: nls["a" /* localize */]({ key: \'shiftKey\', comment: [\'This is the short form for the Shift key on the keyboard\'] }, "Shift"),\r\n altKey: nls["a" /* localize */]({ key: \'altKey\', comment: [\'This is the short form for the Alt key on the keyboard\'] }, "Alt"),\r\n metaKey: nls["a" /* localize */]({ key: \'windowsKey\', comment: [\'This is the short form for the Windows key on the keyboard\'] }, "Windows"),\r\n separator: \'+\',\r\n}, {\r\n ctrlKey: nls["a" /* localize */]({ key: \'ctrlKey\', comment: [\'This is the short form for the Control key on the keyboard\'] }, "Ctrl"),\r\n shiftKey: nls["a" /* localize */]({ key: \'shiftKey\', comment: [\'This is the short form for the Shift key on the keyboard\'] }, "Shift"),\r\n altKey: nls["a" /* localize */]({ key: \'altKey\', comment: [\'This is the short form for the Alt key on the keyboard\'] }, "Alt"),\r\n metaKey: nls["a" /* localize */]({ key: \'superKey\', comment: [\'This is the short form for the Super key on the keyboard\'] }, "Super"),\r\n separator: \'+\',\r\n});\r\n/**\r\n * A label provider that prints modifiers in a suitable format for ARIA.\r\n */\r\nvar AriaLabelProvider = new ModifierLabelProvider({\r\n ctrlKey: nls["a" /* localize */]({ key: \'ctrlKey.long\', comment: [\'This is the long form for the Control key on the keyboard\'] }, "Control"),\r\n shiftKey: nls["a" /* localize */]({ key: \'shiftKey.long\', comment: [\'This is the long form for the Shift key on the keyboard\'] }, "Shift"),\r\n altKey: nls["a" /* localize */]({ key: \'altKey.long\', comment: [\'This is the long form for the Alt key on the keyboard\'] }, "Alt"),\r\n metaKey: nls["a" /* localize */]({ key: \'cmdKey.long\', comment: [\'This is the long form for the Command key on the keyboard\'] }, "Command"),\r\n separator: \'+\',\r\n}, {\r\n ctrlKey: nls["a" /* localize */]({ key: \'ctrlKey.long\', comment: [\'This is the long form for the Control key on the keyboard\'] }, "Control"),\r\n shiftKey: nls["a" /* localize */]({ key: \'shiftKey.long\', comment: [\'This is the long form for the Shift key on the keyboard\'] }, "Shift"),\r\n altKey: nls["a" /* localize */]({ key: \'altKey.long\', comment: [\'This is the long form for the Alt key on the keyboard\'] }, "Alt"),\r\n metaKey: nls["a" /* localize */]({ key: \'windowsKey.long\', comment: [\'This is the long form for the Windows key on the keyboard\'] }, "Windows"),\r\n separator: \'+\',\r\n}, {\r\n ctrlKey: nls["a" /* localize */]({ key: \'ctrlKey.long\', comment: [\'This is the long form for the Control key on the keyboard\'] }, "Control"),\r\n shiftKey: nls["a" /* localize */]({ key: \'shiftKey.long\', comment: [\'This is the long form for the Shift key on the keyboard\'] }, "Shift"),\r\n altKey: nls["a" /* localize */]({ key: \'altKey.long\', comment: [\'This is the long form for the Alt key on the keyboard\'] }, "Alt"),\r\n metaKey: nls["a" /* localize */]({ key: \'superKey.long\', comment: [\'This is the long form for the Super key on the keyboard\'] }, "Super"),\r\n separator: \'+\',\r\n});\r\nfunction _simpleAsString(modifiers, key, labels) {\r\n if (key === null) {\r\n return \'\';\r\n }\r\n var result = [];\r\n // translate modifier keys: Ctrl-Shift-Alt-Meta\r\n if (modifiers.ctrlKey) {\r\n result.push(labels.ctrlKey);\r\n }\r\n if (modifiers.shiftKey) {\r\n result.push(labels.shiftKey);\r\n }\r\n if (modifiers.altKey) {\r\n result.push(labels.altKey);\r\n }\r\n if (modifiers.metaKey) {\r\n result.push(labels.metaKey);\r\n }\r\n // the actual key\r\n result.push(key);\r\n return result.join(labels.separator);\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar baseResolvedKeybinding_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\nvar baseResolvedKeybinding_BaseResolvedKeybinding = /** @class */ (function (_super) {\r\n baseResolvedKeybinding_extends(BaseResolvedKeybinding, _super);\r\n function BaseResolvedKeybinding(os, parts) {\r\n var _this = _super.call(this) || this;\r\n if (parts.length === 0) {\r\n throw Object(errors["b" /* illegalArgument */])("parts");\r\n }\r\n _this._os = os;\r\n _this._parts = parts;\r\n return _this;\r\n }\r\n BaseResolvedKeybinding.prototype.getLabel = function () {\r\n var _this = this;\r\n return UILabelProvider.toLabel(this._os, this._parts, function (keybinding) { return _this._getLabel(keybinding); });\r\n };\r\n BaseResolvedKeybinding.prototype.getAriaLabel = function () {\r\n var _this = this;\r\n return AriaLabelProvider.toLabel(this._os, this._parts, function (keybinding) { return _this._getAriaLabel(keybinding); });\r\n };\r\n BaseResolvedKeybinding.prototype.isChord = function () {\r\n return (this._parts.length > 1);\r\n };\r\n BaseResolvedKeybinding.prototype.getParts = function () {\r\n var _this = this;\r\n return this._parts.map(function (keybinding) { return _this._getPart(keybinding); });\r\n };\r\n BaseResolvedKeybinding.prototype._getPart = function (keybinding) {\r\n return new keyCodes["d" /* ResolvedKeybindingPart */](keybinding.ctrlKey, keybinding.shiftKey, keybinding.altKey, keybinding.metaKey, this._getLabel(keybinding), this._getAriaLabel(keybinding));\r\n };\r\n BaseResolvedKeybinding.prototype.getDispatchParts = function () {\r\n var _this = this;\r\n return this._parts.map(function (keybinding) { return _this._getDispatchPart(keybinding); });\r\n };\r\n return BaseResolvedKeybinding;\r\n}(keyCodes["c" /* ResolvedKeybinding */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar usLayoutResolvedKeybinding_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n/**\r\n * Do not instantiate. Use KeybindingService to get a ResolvedKeybinding seeded with information about the current kb layout.\r\n */\r\nvar usLayoutResolvedKeybinding_USLayoutResolvedKeybinding = /** @class */ (function (_super) {\r\n usLayoutResolvedKeybinding_extends(USLayoutResolvedKeybinding, _super);\r\n function USLayoutResolvedKeybinding(actual, os) {\r\n return _super.call(this, os, actual.parts) || this;\r\n }\r\n USLayoutResolvedKeybinding.prototype._keyCodeToUILabel = function (keyCode) {\r\n if (this._os === 2 /* Macintosh */) {\r\n switch (keyCode) {\r\n case 15 /* LeftArrow */:\r\n return \'\u2190\';\r\n case 16 /* UpArrow */:\r\n return \'\u2191\';\r\n case 17 /* RightArrow */:\r\n return \'\u2192\';\r\n case 18 /* DownArrow */:\r\n return \'\u2193\';\r\n }\r\n }\r\n return keyCodes["b" /* KeyCodeUtils */].toString(keyCode);\r\n };\r\n USLayoutResolvedKeybinding.prototype._getLabel = function (keybinding) {\r\n if (keybinding.isDuplicateModifierCase()) {\r\n return \'\';\r\n }\r\n return this._keyCodeToUILabel(keybinding.keyCode);\r\n };\r\n USLayoutResolvedKeybinding.prototype._getAriaLabel = function (keybinding) {\r\n if (keybinding.isDuplicateModifierCase()) {\r\n return \'\';\r\n }\r\n return keyCodes["b" /* KeyCodeUtils */].toString(keybinding.keyCode);\r\n };\r\n USLayoutResolvedKeybinding.prototype._getDispatchPart = function (keybinding) {\r\n return USLayoutResolvedKeybinding.getDispatchStr(keybinding);\r\n };\r\n USLayoutResolvedKeybinding.getDispatchStr = function (keybinding) {\r\n if (keybinding.isModifierKey()) {\r\n return null;\r\n }\r\n var result = \'\';\r\n if (keybinding.ctrlKey) {\r\n result += \'ctrl+\';\r\n }\r\n if (keybinding.shiftKey) {\r\n result += \'shift+\';\r\n }\r\n if (keybinding.altKey) {\r\n result += \'alt+\';\r\n }\r\n if (keybinding.metaKey) {\r\n result += \'meta+\';\r\n }\r\n result += keyCodes["b" /* KeyCodeUtils */].toString(keybinding.keyCode);\r\n return result;\r\n };\r\n return USLayoutResolvedKeybinding;\r\n}(baseResolvedKeybinding_BaseResolvedKeybinding));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/notification/common/notification.js\nvar common_notification = __webpack_require__("sM1p");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.js\nvar common_workspace = __webpack_require__("EWX2");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/standaloneStrings.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar standaloneStrings_AccessibilityHelpNLS;\r\n(function (AccessibilityHelpNLS) {\r\n AccessibilityHelpNLS.noSelection = nls["a" /* localize */]("noSelection", "No selection");\r\n AccessibilityHelpNLS.singleSelectionRange = nls["a" /* localize */]("singleSelectionRange", "Line {0}, Column {1} ({2} selected)");\r\n AccessibilityHelpNLS.singleSelection = nls["a" /* localize */]("singleSelection", "Line {0}, Column {1}");\r\n AccessibilityHelpNLS.multiSelectionRange = nls["a" /* localize */]("multiSelectionRange", "{0} selections ({1} characters selected)");\r\n AccessibilityHelpNLS.multiSelection = nls["a" /* localize */]("multiSelection", "{0} selections");\r\n AccessibilityHelpNLS.emergencyConfOn = nls["a" /* localize */]("emergencyConfOn", "Now changing the setting `accessibilitySupport` to \'on\'.");\r\n AccessibilityHelpNLS.openingDocs = nls["a" /* localize */]("openingDocs", "Now opening the Editor Accessibility documentation page.");\r\n AccessibilityHelpNLS.readonlyDiffEditor = nls["a" /* localize */]("readonlyDiffEditor", " in a read-only pane of a diff editor.");\r\n AccessibilityHelpNLS.editableDiffEditor = nls["a" /* localize */]("editableDiffEditor", " in a pane of a diff editor.");\r\n AccessibilityHelpNLS.readonlyEditor = nls["a" /* localize */]("readonlyEditor", " in a read-only code editor");\r\n AccessibilityHelpNLS.editableEditor = nls["a" /* localize */]("editableEditor", " in a code editor");\r\n AccessibilityHelpNLS.changeConfigToOnMac = nls["a" /* localize */]("changeConfigToOnMac", "To configure the editor to be optimized for usage with a Screen Reader press Command+E now.");\r\n AccessibilityHelpNLS.changeConfigToOnWinLinux = nls["a" /* localize */]("changeConfigToOnWinLinux", "To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");\r\n AccessibilityHelpNLS.auto_on = nls["a" /* localize */]("auto_on", "The editor is configured to be optimized for usage with a Screen Reader.");\r\n AccessibilityHelpNLS.auto_off = nls["a" /* localize */]("auto_off", "The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.");\r\n AccessibilityHelpNLS.tabFocusModeOnMsg = nls["a" /* localize */]("tabFocusModeOnMsg", "Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.");\r\n AccessibilityHelpNLS.tabFocusModeOnMsgNoKb = nls["a" /* localize */]("tabFocusModeOnMsgNoKb", "Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.");\r\n AccessibilityHelpNLS.tabFocusModeOffMsg = nls["a" /* localize */]("tabFocusModeOffMsg", "Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.");\r\n AccessibilityHelpNLS.tabFocusModeOffMsgNoKb = nls["a" /* localize */]("tabFocusModeOffMsgNoKb", "Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");\r\n AccessibilityHelpNLS.openDocMac = nls["a" /* localize */]("openDocMac", "Press Command+H now to open a browser window with more information related to editor accessibility.");\r\n AccessibilityHelpNLS.openDocWinLinux = nls["a" /* localize */]("openDocWinLinux", "Press Control+H now to open a browser window with more information related to editor accessibility.");\r\n AccessibilityHelpNLS.outroMsg = nls["a" /* localize */]("outroMsg", "You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.");\r\n AccessibilityHelpNLS.showAccessibilityHelpAction = nls["a" /* localize */]("showAccessibilityHelpAction", "Show Accessibility Help");\r\n})(standaloneStrings_AccessibilityHelpNLS || (standaloneStrings_AccessibilityHelpNLS = {}));\r\nvar standaloneStrings_InspectTokensNLS;\r\n(function (InspectTokensNLS) {\r\n InspectTokensNLS.inspectTokensAction = nls["a" /* localize */](\'inspectTokens\', "Developer: Inspect Tokens");\r\n})(standaloneStrings_InspectTokensNLS || (standaloneStrings_InspectTokensNLS = {}));\r\nvar standaloneStrings_GoToLineNLS;\r\n(function (GoToLineNLS) {\r\n GoToLineNLS.gotoLineLabelValidLineAndColumn = nls["a" /* localize */](\'gotoLineLabelValidLineAndColumn\', "Go to line {0} and character {1}");\r\n GoToLineNLS.gotoLineLabelValidLine = nls["a" /* localize */](\'gotoLineLabelValidLine\', "Go to line {0}");\r\n GoToLineNLS.gotoLineLabelEmptyWithLineLimit = nls["a" /* localize */](\'gotoLineLabelEmptyWithLineLimit\', "Type a line number between 1 and {0} to navigate to");\r\n GoToLineNLS.gotoLineLabelEmptyWithLineAndColumnLimit = nls["a" /* localize */](\'gotoLineLabelEmptyWithLineAndColumnLimit\', "Type a character between 1 and {0} to navigate to");\r\n GoToLineNLS.gotoLineAriaLabel = nls["a" /* localize */](\'gotoLineAriaLabel\', "Current Line: {0}. Go to line {1}.");\r\n GoToLineNLS.gotoLineActionInput = nls["a" /* localize */](\'gotoLineActionInput\', "Type a line number, followed by an optional colon and a character number to navigate to");\r\n GoToLineNLS.gotoLineActionLabel = nls["a" /* localize */](\'gotoLineActionLabel\', "Go to Line...");\r\n})(standaloneStrings_GoToLineNLS || (standaloneStrings_GoToLineNLS = {}));\r\nvar standaloneStrings_QuickCommandNLS;\r\n(function (QuickCommandNLS) {\r\n QuickCommandNLS.ariaLabelEntryWithKey = nls["a" /* localize */](\'ariaLabelEntryWithKey\', "{0}, {1}, commands");\r\n QuickCommandNLS.ariaLabelEntry = nls["a" /* localize */](\'ariaLabelEntry\', "{0}, commands");\r\n QuickCommandNLS.quickCommandActionInput = nls["a" /* localize */](\'quickCommandActionInput\', "Type the name of an action you want to execute");\r\n QuickCommandNLS.quickCommandActionLabel = nls["a" /* localize */](\'quickCommandActionLabel\', "Command Palette");\r\n})(standaloneStrings_QuickCommandNLS || (standaloneStrings_QuickCommandNLS = {}));\r\nvar standaloneStrings_QuickOutlineNLS;\r\n(function (QuickOutlineNLS) {\r\n QuickOutlineNLS.entryAriaLabel = nls["a" /* localize */](\'entryAriaLabel\', "{0}, symbols");\r\n QuickOutlineNLS.quickOutlineActionInput = nls["a" /* localize */](\'quickOutlineActionInput\', "Type the name of an identifier you wish to navigate to");\r\n QuickOutlineNLS.quickOutlineActionLabel = nls["a" /* localize */](\'quickOutlineActionLabel\', "Go to Symbol...");\r\n QuickOutlineNLS._symbols_ = nls["a" /* localize */](\'symbols\', "symbols ({0})");\r\n QuickOutlineNLS._modules_ = nls["a" /* localize */](\'modules\', "modules ({0})");\r\n QuickOutlineNLS._class_ = nls["a" /* localize */](\'class\', "classes ({0})");\r\n QuickOutlineNLS._interface_ = nls["a" /* localize */](\'interface\', "interfaces ({0})");\r\n QuickOutlineNLS._method_ = nls["a" /* localize */](\'method\', "methods ({0})");\r\n QuickOutlineNLS._function_ = nls["a" /* localize */](\'function\', "functions ({0})");\r\n QuickOutlineNLS._property_ = nls["a" /* localize */](\'property\', "properties ({0})");\r\n QuickOutlineNLS._variable_ = nls["a" /* localize */](\'variable\', "variables ({0})");\r\n QuickOutlineNLS._variable2_ = nls["a" /* localize */](\'variable2\', "variables ({0})");\r\n QuickOutlineNLS._constructor_ = nls["a" /* localize */](\'_constructor\', "constructors ({0})");\r\n QuickOutlineNLS._call_ = nls["a" /* localize */](\'call\', "calls ({0})");\r\n})(standaloneStrings_QuickOutlineNLS || (standaloneStrings_QuickOutlineNLS = {}));\r\nvar standaloneStrings_StandaloneCodeEditorNLS;\r\n(function (StandaloneCodeEditorNLS) {\r\n StandaloneCodeEditorNLS.editorViewAccessibleLabel = nls["a" /* localize */](\'editorViewAccessibleLabel\', "Editor content");\r\n StandaloneCodeEditorNLS.accessibilityHelpMessageIE = nls["a" /* localize */](\'accessibilityHelpMessageIE\', "Press Ctrl+F1 for Accessibility Options.");\r\n StandaloneCodeEditorNLS.accessibilityHelpMessage = nls["a" /* localize */](\'accessibilityHelpMessage\', "Press Alt+F1 for Accessibility Options.");\r\n})(standaloneStrings_StandaloneCodeEditorNLS || (standaloneStrings_StandaloneCodeEditorNLS = {}));\r\nvar standaloneStrings_ToggleHighContrastNLS;\r\n(function (ToggleHighContrastNLS) {\r\n ToggleHighContrastNLS.toggleHighContrast = nls["a" /* localize */](\'toggleHighContrast\', "Toggle High Contrast Theme");\r\n})(standaloneStrings_ToggleHighContrastNLS || (standaloneStrings_ToggleHighContrastNLS = {}));\r\nvar standaloneStrings_SimpleServicesNLS;\r\n(function (SimpleServicesNLS) {\r\n SimpleServicesNLS.bulkEditServiceSummary = nls["a" /* localize */](\'bulkEditServiceSummary\', "Made {0} edits in {1} files");\r\n})(standaloneStrings_SimpleServicesNLS || (standaloneStrings_SimpleServicesNLS = {}));\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/simpleServices.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar simpleServices_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 simpleServices_decorate = (undefined && undefined.__decorate) || function (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\nvar simpleServices_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\nvar simpleServices_spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar simpleServices_SimpleModel = /** @class */ (function () {\r\n function SimpleModel(model) {\r\n this.model = model;\r\n this._onDispose = new common_event["a" /* Emitter */]();\r\n }\r\n Object.defineProperty(SimpleModel.prototype, "textEditorModel", {\r\n get: function () {\r\n return this.model;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SimpleModel.prototype.dispose = function () {\r\n this._onDispose.fire();\r\n };\r\n return SimpleModel;\r\n}());\r\n\r\nfunction withTypedEditor(widget, codeEditorCallback, diffEditorCallback) {\r\n if (Object(editorBrowser["a" /* isCodeEditor */])(widget)) {\r\n // Single Editor\r\n return codeEditorCallback(widget);\r\n }\r\n else {\r\n // Diff Editor\r\n return diffEditorCallback(widget);\r\n }\r\n}\r\nvar simpleServices_SimpleEditorModelResolverService = /** @class */ (function () {\r\n function SimpleEditorModelResolverService(modelService) {\r\n this.modelService = modelService;\r\n }\r\n SimpleEditorModelResolverService.prototype.setEditor = function (editor) {\r\n this.editor = editor;\r\n };\r\n SimpleEditorModelResolverService.prototype.createModelReference = function (resource) {\r\n var _this = this;\r\n var model = null;\r\n if (this.editor) {\r\n model = withTypedEditor(this.editor, function (editor) { return _this.findModel(editor, resource); }, function (diffEditor) { return _this.findModel(diffEditor.getOriginalEditor(), resource) || _this.findModel(diffEditor.getModifiedEditor(), resource); });\r\n }\r\n if (!model) {\r\n return Promise.reject(new Error("Model not found"));\r\n }\r\n return Promise.resolve(new lifecycle["c" /* ImmortalReference */](new simpleServices_SimpleModel(model)));\r\n };\r\n SimpleEditorModelResolverService.prototype.findModel = function (editor, resource) {\r\n var model = this.modelService ? this.modelService.getModel(resource) : editor.getModel();\r\n if (model && model.uri.toString() !== resource.toString()) {\r\n return null;\r\n }\r\n return model;\r\n };\r\n return SimpleEditorModelResolverService;\r\n}());\r\n\r\nvar SimpleEditorProgressService = /** @class */ (function () {\r\n function SimpleEditorProgressService() {\r\n }\r\n SimpleEditorProgressService.prototype.show = function () {\r\n return SimpleEditorProgressService.NULL_PROGRESS_RUNNER;\r\n };\r\n SimpleEditorProgressService.prototype.showWhile = function (promise, delay) {\r\n return Promise.resolve(undefined);\r\n };\r\n SimpleEditorProgressService.NULL_PROGRESS_RUNNER = {\r\n done: function () { },\r\n total: function () { },\r\n worked: function () { }\r\n };\r\n return SimpleEditorProgressService;\r\n}());\r\n\r\nvar SimpleDialogService = /** @class */ (function () {\r\n function SimpleDialogService() {\r\n }\r\n return SimpleDialogService;\r\n}());\r\n\r\nvar simpleServices_SimpleNotificationService = /** @class */ (function () {\r\n function SimpleNotificationService() {\r\n }\r\n SimpleNotificationService.prototype.info = function (message) {\r\n return this.notify({ severity: common_severity["a" /* default */].Info, message: message });\r\n };\r\n SimpleNotificationService.prototype.warn = function (message) {\r\n return this.notify({ severity: common_severity["a" /* default */].Warning, message: message });\r\n };\r\n SimpleNotificationService.prototype.error = function (error) {\r\n return this.notify({ severity: common_severity["a" /* default */].Error, message: error });\r\n };\r\n SimpleNotificationService.prototype.notify = function (notification) {\r\n switch (notification.severity) {\r\n case common_severity["a" /* default */].Error:\r\n console.error(notification.message);\r\n break;\r\n case common_severity["a" /* default */].Warning:\r\n console.warn(notification.message);\r\n break;\r\n default:\r\n console.log(notification.message);\r\n break;\r\n }\r\n return SimpleNotificationService.NO_OP;\r\n };\r\n SimpleNotificationService.prototype.status = function (message, options) {\r\n return lifecycle["a" /* Disposable */].None;\r\n };\r\n SimpleNotificationService.NO_OP = new common_notification["b" /* NoOpNotification */]();\r\n return SimpleNotificationService;\r\n}());\r\n\r\nvar simpleServices_StandaloneCommandService = /** @class */ (function () {\r\n function StandaloneCommandService(instantiationService) {\r\n this._onWillExecuteCommand = new common_event["a" /* Emitter */]();\r\n this._onDidExecuteCommand = new common_event["a" /* Emitter */]();\r\n this._instantiationService = instantiationService;\r\n this._dynamicCommands = Object.create(null);\r\n }\r\n StandaloneCommandService.prototype.addCommand = function (command) {\r\n var _this = this;\r\n var id = command.id;\r\n this._dynamicCommands[id] = command;\r\n return Object(lifecycle["h" /* toDisposable */])(function () {\r\n delete _this._dynamicCommands[id];\r\n });\r\n };\r\n StandaloneCommandService.prototype.executeCommand = function (id) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var command = (commands["a" /* CommandsRegistry */].getCommand(id) || this._dynamicCommands[id]);\r\n if (!command) {\r\n return Promise.reject(new Error("command \'" + id + "\' not found"));\r\n }\r\n try {\r\n this._onWillExecuteCommand.fire({ commandId: id, args: args });\r\n var result = this._instantiationService.invokeFunction.apply(this._instantiationService, simpleServices_spreadArrays([command.handler], args));\r\n this._onDidExecuteCommand.fire({ commandId: id, args: args });\r\n return Promise.resolve(result);\r\n }\r\n catch (err) {\r\n return Promise.reject(err);\r\n }\r\n };\r\n return StandaloneCommandService;\r\n}());\r\n\r\nvar simpleServices_StandaloneKeybindingService = /** @class */ (function (_super) {\r\n simpleServices_extends(StandaloneKeybindingService, _super);\r\n function StandaloneKeybindingService(contextKeyService, commandService, telemetryService, notificationService, domNode) {\r\n var _this = _super.call(this, contextKeyService, commandService, telemetryService, notificationService) || this;\r\n _this._cachedResolver = null;\r\n _this._dynamicKeybindings = [];\r\n _this._register(dom["i" /* addDisposableListener */](domNode, dom["c" /* EventType */].KEY_DOWN, function (e) {\r\n var keyEvent = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n var shouldPreventDefault = _this._dispatch(keyEvent, keyEvent.target);\r\n if (shouldPreventDefault) {\r\n keyEvent.preventDefault();\r\n keyEvent.stopPropagation();\r\n }\r\n }));\r\n return _this;\r\n }\r\n StandaloneKeybindingService.prototype.addDynamicKeybinding = function (commandId, _keybinding, handler, when) {\r\n var _this = this;\r\n var keybinding = Object(keyCodes["f" /* createKeybinding */])(_keybinding, platform["a" /* OS */]);\r\n var toDispose = new lifecycle["b" /* DisposableStore */]();\r\n if (keybinding) {\r\n this._dynamicKeybindings.push({\r\n keybinding: keybinding,\r\n command: commandId,\r\n when: when,\r\n weight1: 1000,\r\n weight2: 0\r\n });\r\n toDispose.add(Object(lifecycle["h" /* toDisposable */])(function () {\r\n for (var i = 0; i < _this._dynamicKeybindings.length; i++) {\r\n var kb = _this._dynamicKeybindings[i];\r\n if (kb.command === commandId) {\r\n _this._dynamicKeybindings.splice(i, 1);\r\n _this.updateResolver({ source: 1 /* Default */ });\r\n return;\r\n }\r\n }\r\n }));\r\n }\r\n var commandService = this._commandService;\r\n if (commandService instanceof simpleServices_StandaloneCommandService) {\r\n toDispose.add(commandService.addCommand({\r\n id: commandId,\r\n handler: handler\r\n }));\r\n }\r\n else {\r\n throw new Error(\'Unknown command service!\');\r\n }\r\n this.updateResolver({ source: 1 /* Default */ });\r\n return toDispose;\r\n };\r\n StandaloneKeybindingService.prototype.updateResolver = function (event) {\r\n this._cachedResolver = null;\r\n this._onDidUpdateKeybindings.fire(event);\r\n };\r\n StandaloneKeybindingService.prototype._getResolver = function () {\r\n if (!this._cachedResolver) {\r\n var defaults = this._toNormalizedKeybindingItems(keybindingsRegistry["a" /* KeybindingsRegistry */].getDefaultKeybindings(), true);\r\n var overrides = this._toNormalizedKeybindingItems(this._dynamicKeybindings, false);\r\n this._cachedResolver = new keybindingResolver_KeybindingResolver(defaults, overrides);\r\n }\r\n return this._cachedResolver;\r\n };\r\n StandaloneKeybindingService.prototype._documentHasFocus = function () {\r\n return document.hasFocus();\r\n };\r\n StandaloneKeybindingService.prototype._toNormalizedKeybindingItems = function (items, isDefault) {\r\n var result = [], resultLen = 0;\r\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\r\n var item = items_1[_i];\r\n var when = item.when || undefined;\r\n var keybinding = item.keybinding;\r\n if (!keybinding) {\r\n // This might be a removal keybinding item in user settings => accept it\r\n result[resultLen++] = new ResolvedKeybindingItem(undefined, item.command, item.commandArgs, when, isDefault);\r\n }\r\n else {\r\n var resolvedKeybindings = this.resolveKeybinding(keybinding);\r\n for (var _a = 0, resolvedKeybindings_1 = resolvedKeybindings; _a < resolvedKeybindings_1.length; _a++) {\r\n var resolvedKeybinding = resolvedKeybindings_1[_a];\r\n result[resultLen++] = new ResolvedKeybindingItem(resolvedKeybinding, item.command, item.commandArgs, when, isDefault);\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n StandaloneKeybindingService.prototype.resolveKeybinding = function (keybinding) {\r\n return [new usLayoutResolvedKeybinding_USLayoutResolvedKeybinding(keybinding, platform["a" /* OS */])];\r\n };\r\n StandaloneKeybindingService.prototype.resolveKeyboardEvent = function (keyboardEvent) {\r\n var keybinding = new keyCodes["e" /* SimpleKeybinding */](keyboardEvent.ctrlKey, keyboardEvent.shiftKey, keyboardEvent.altKey, keyboardEvent.metaKey, keyboardEvent.keyCode).toChord();\r\n return new usLayoutResolvedKeybinding_USLayoutResolvedKeybinding(keybinding, platform["a" /* OS */]);\r\n };\r\n return StandaloneKeybindingService;\r\n}(abstractKeybindingService_AbstractKeybindingService));\r\n\r\nfunction isConfigurationOverrides(thing) {\r\n return thing\r\n && typeof thing === \'object\'\r\n && (!thing.overrideIdentifier || typeof thing.overrideIdentifier === \'string\')\r\n && (!thing.resource || thing.resource instanceof common_uri["a" /* URI */]);\r\n}\r\nvar simpleServices_SimpleConfigurationService = /** @class */ (function () {\r\n function SimpleConfigurationService() {\r\n this._onDidChangeConfiguration = new common_event["a" /* Emitter */]();\r\n this.onDidChangeConfiguration = this._onDidChangeConfiguration.event;\r\n this._configuration = new configurationModels_Configuration(new configurationModels_DefaultConfigurationModel(), new configurationModels_ConfigurationModel());\r\n }\r\n SimpleConfigurationService.prototype.configuration = function () {\r\n return this._configuration;\r\n };\r\n SimpleConfigurationService.prototype.getValue = function (arg1, arg2) {\r\n var section = typeof arg1 === \'string\' ? arg1 : undefined;\r\n var overrides = isConfigurationOverrides(arg1) ? arg1 : isConfigurationOverrides(arg2) ? arg2 : {};\r\n return this.configuration().getValue(section, overrides, undefined);\r\n };\r\n SimpleConfigurationService.prototype.updateValue = function (key, value, arg3, arg4) {\r\n this.configuration().updateValue(key, value);\r\n return Promise.resolve();\r\n };\r\n SimpleConfigurationService.prototype.inspect = function (key, options) {\r\n if (options === void 0) { options = {}; }\r\n return this.configuration().inspect(key, options, undefined);\r\n };\r\n return SimpleConfigurationService;\r\n}());\r\n\r\nvar simpleServices_SimpleResourceConfigurationService = /** @class */ (function () {\r\n function SimpleResourceConfigurationService(configurationService) {\r\n var _this = this;\r\n this.configurationService = configurationService;\r\n this._onDidChangeConfiguration = new common_event["a" /* Emitter */]();\r\n this.configurationService.onDidChangeConfiguration(function (e) {\r\n _this._onDidChangeConfiguration.fire({ affectedKeys: e.affectedKeys, affectsConfiguration: function (resource, configuration) { return e.affectsConfiguration(configuration); } });\r\n });\r\n }\r\n SimpleResourceConfigurationService.prototype.getValue = function (resource, arg2, arg3) {\r\n var position = core_position["a" /* Position */].isIPosition(arg2) ? arg2 : null;\r\n var section = position ? (typeof arg3 === \'string\' ? arg3 : undefined) : (typeof arg2 === \'string\' ? arg2 : undefined);\r\n if (typeof section === \'undefined\') {\r\n return this.configurationService.getValue();\r\n }\r\n return this.configurationService.getValue(section);\r\n };\r\n return SimpleResourceConfigurationService;\r\n}());\r\n\r\nvar simpleServices_SimpleResourcePropertiesService = /** @class */ (function () {\r\n function SimpleResourcePropertiesService(configurationService) {\r\n this.configurationService = configurationService;\r\n }\r\n SimpleResourcePropertiesService.prototype.getEOL = function (resource, language) {\r\n var eol = this.configurationService.getValue(\'files.eol\', { overrideIdentifier: language, resource: resource });\r\n if (eol && eol !== \'auto\') {\r\n return eol;\r\n }\r\n return (platform["d" /* isLinux */] || platform["e" /* isMacintosh */]) ? \'\\n\' : \'\\r\\n\';\r\n };\r\n SimpleResourcePropertiesService = simpleServices_decorate([\r\n simpleServices_param(0, common_configuration["a" /* IConfigurationService */])\r\n ], SimpleResourcePropertiesService);\r\n return SimpleResourcePropertiesService;\r\n}());\r\n\r\nvar StandaloneTelemetryService = /** @class */ (function () {\r\n function StandaloneTelemetryService() {\r\n }\r\n StandaloneTelemetryService.prototype.publicLog = function (eventName, data) {\r\n return Promise.resolve(undefined);\r\n };\r\n StandaloneTelemetryService.prototype.publicLog2 = function (eventName, data) {\r\n return this.publicLog(eventName, data);\r\n };\r\n return StandaloneTelemetryService;\r\n}());\r\n\r\nvar simpleServices_SimpleWorkspaceContextService = /** @class */ (function () {\r\n function SimpleWorkspaceContextService() {\r\n var resource = common_uri["a" /* URI */].from({ scheme: SimpleWorkspaceContextService.SCHEME, authority: \'model\', path: \'/\' });\r\n this.workspace = { id: \'4064f6ec-cb38-4ad0-af64-ee6467e63c82\', folders: [new common_workspace["b" /* WorkspaceFolder */]({ uri: resource, name: \'\', index: 0 })] };\r\n }\r\n SimpleWorkspaceContextService.prototype.getWorkspace = function () {\r\n return this.workspace;\r\n };\r\n SimpleWorkspaceContextService.prototype.getWorkspaceFolder = function (resource) {\r\n return resource && resource.scheme === SimpleWorkspaceContextService.SCHEME ? this.workspace.folders[0] : null;\r\n };\r\n SimpleWorkspaceContextService.SCHEME = \'inmemory\';\r\n return SimpleWorkspaceContextService;\r\n}());\r\n\r\nfunction applyConfigurationValues(configurationService, source, isDiffEditor) {\r\n if (!source) {\r\n return;\r\n }\r\n if (!(configurationService instanceof simpleServices_SimpleConfigurationService)) {\r\n return;\r\n }\r\n Object.keys(source).forEach(function (key) {\r\n if (Object(commonEditorConfig["c" /* isEditorConfigurationKey */])(key)) {\r\n configurationService.updateValue("editor." + key, source[key]);\r\n }\r\n if (isDiffEditor && Object(commonEditorConfig["b" /* isDiffEditorConfigurationKey */])(key)) {\r\n configurationService.updateValue("diffEditor." + key, source[key]);\r\n }\r\n });\r\n}\r\nvar simpleServices_SimpleBulkEditService = /** @class */ (function () {\r\n function SimpleBulkEditService(_modelService) {\r\n this._modelService = _modelService;\r\n //\r\n }\r\n SimpleBulkEditService.prototype.hasPreviewHandler = function () {\r\n return false;\r\n };\r\n SimpleBulkEditService.prototype.apply = function (workspaceEdit, options) {\r\n var edits = new Map();\r\n if (workspaceEdit.edits) {\r\n for (var _i = 0, _a = workspaceEdit.edits; _i < _a.length; _i++) {\r\n var edit = _a[_i];\r\n if (!modes["A" /* WorkspaceTextEdit */].is(edit)) {\r\n return Promise.reject(new Error(\'bad edit - only text edits are supported\'));\r\n }\r\n var model = this._modelService.getModel(edit.resource);\r\n if (!model) {\r\n return Promise.reject(new Error(\'bad edit - model not found\'));\r\n }\r\n var array = edits.get(model);\r\n if (!array) {\r\n array = [];\r\n edits.set(model, array);\r\n }\r\n array.push(edit.edit);\r\n }\r\n }\r\n var totalEdits = 0;\r\n var totalFiles = 0;\r\n edits.forEach(function (edits, model) {\r\n model.pushStackElement();\r\n model.pushEditOperations([], edits.map(function (e) { return editOperation["a" /* EditOperation */].replaceMove(core_range["a" /* Range */].lift(e.range), e.text); }), function () { return []; });\r\n model.pushStackElement();\r\n totalFiles += 1;\r\n totalEdits += edits.length;\r\n });\r\n return Promise.resolve({\r\n selection: undefined,\r\n ariaSummary: strings["r" /* format */](standaloneStrings_SimpleServicesNLS.bulkEditServiceSummary, totalEdits, totalFiles)\r\n });\r\n };\r\n return SimpleBulkEditService;\r\n}());\r\n\r\nvar SimpleUriLabelService = /** @class */ (function () {\r\n function SimpleUriLabelService() {\r\n }\r\n SimpleUriLabelService.prototype.getUriLabel = function (resource, options) {\r\n if (resource.scheme === \'file\') {\r\n return resource.fsPath;\r\n }\r\n return resource.path;\r\n };\r\n return SimpleUriLabelService;\r\n}());\r\n\r\nvar simpleServices_SimpleLayoutService = /** @class */ (function () {\r\n function SimpleLayoutService(_container) {\r\n this._container = _container;\r\n this.onLayout = common_event["b" /* Event */].None;\r\n }\r\n Object.defineProperty(SimpleLayoutService.prototype, "container", {\r\n get: function () {\r\n return this._container;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return SimpleLayoutService;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/browser.js\nvar browser = __webpack_require__("D3Dy");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\nvar aria = __webpack_require__("OBOq");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js + 57 modules\nvar codeEditorWidget = __webpack_require__("nB0o");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.css\nvar media_diffEditor = __webpack_require__("lKfe");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\nvar fastDomNode = __webpack_require__("ZlPH");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js\nvar sash = __webpack_require__("cMOf");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/config/configuration.js + 1 modules\nvar config_configuration = __webpack_require__("HdwC");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/core/editorState.js + 1 modules\nvar editorState = __webpack_require__("vATl");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.css\nvar diffReview = __webpack_require__("DTDp");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\nvar actionbar = __webpack_require__("WqXY");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js + 6 modules\nvar scrollableElement = __webpack_require__("GJhM");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/actions.js\nvar common_actions = __webpack_require__("8HAY");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.js\nvar editorExtensions = __webpack_require__("sswD");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/view/editorColorRegistry.js\nvar editorColorRegistry = __webpack_require__("kYye");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/theme/common/colorRegistry.js\nvar colorRegistry = __webpack_require__("MD5Z");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/theme/common/themeService.js\nvar common_themeService = __webpack_require__("t9D7");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffReview.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar diffReview_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar DIFF_LINES_PADDING = 3;\r\nvar DiffEntry = /** @class */ (function () {\r\n function DiffEntry(originalLineStart, originalLineEnd, modifiedLineStart, modifiedLineEnd) {\r\n this.originalLineStart = originalLineStart;\r\n this.originalLineEnd = originalLineEnd;\r\n this.modifiedLineStart = modifiedLineStart;\r\n this.modifiedLineEnd = modifiedLineEnd;\r\n }\r\n DiffEntry.prototype.getType = function () {\r\n if (this.originalLineStart === 0) {\r\n return 1 /* Insert */;\r\n }\r\n if (this.modifiedLineStart === 0) {\r\n return 2 /* Delete */;\r\n }\r\n return 0 /* Equal */;\r\n };\r\n return DiffEntry;\r\n}());\r\nvar Diff = /** @class */ (function () {\r\n function Diff(entries) {\r\n this.entries = entries;\r\n }\r\n return Diff;\r\n}());\r\nvar diffReview_DiffReview = /** @class */ (function (_super) {\r\n diffReview_extends(DiffReview, _super);\r\n function DiffReview(diffEditor) {\r\n var _this = _super.call(this) || this;\r\n _this._width = 0;\r\n _this._diffEditor = diffEditor;\r\n _this._isVisible = false;\r\n _this.shadow = Object(fastDomNode["b" /* createFastDomNode */])(document.createElement(\'div\'));\r\n _this.shadow.setClassName(\'diff-review-shadow\');\r\n _this.actionBarContainer = Object(fastDomNode["b" /* createFastDomNode */])(document.createElement(\'div\'));\r\n _this.actionBarContainer.setClassName(\'diff-review-actions\');\r\n _this._actionBar = _this._register(new actionbar["a" /* ActionBar */](_this.actionBarContainer.domNode));\r\n _this._actionBar.push(new common_actions["a" /* Action */](\'diffreview.close\', nls["a" /* localize */](\'label.close\', "Close"), \'close-diff-review\', true, function () {\r\n _this.hide();\r\n return Promise.resolve(null);\r\n }), { label: false, icon: true });\r\n _this.domNode = Object(fastDomNode["b" /* createFastDomNode */])(document.createElement(\'div\'));\r\n _this.domNode.setClassName(\'diff-review monaco-editor-background\');\r\n _this._content = Object(fastDomNode["b" /* createFastDomNode */])(document.createElement(\'div\'));\r\n _this._content.setClassName(\'diff-review-content\');\r\n _this.scrollbar = _this._register(new scrollableElement["a" /* DomScrollableElement */](_this._content.domNode, {}));\r\n _this.domNode.domNode.appendChild(_this.scrollbar.getDomNode());\r\n _this._register(diffEditor.onDidUpdateDiff(function () {\r\n if (!_this._isVisible) {\r\n return;\r\n }\r\n _this._diffs = _this._compute();\r\n _this._render();\r\n }));\r\n _this._register(diffEditor.getModifiedEditor().onDidChangeCursorPosition(function () {\r\n if (!_this._isVisible) {\r\n return;\r\n }\r\n _this._render();\r\n }));\r\n _this._register(diffEditor.getOriginalEditor().onDidFocusEditorWidget(function () {\r\n if (_this._isVisible) {\r\n _this.hide();\r\n }\r\n }));\r\n _this._register(diffEditor.getModifiedEditor().onDidFocusEditorWidget(function () {\r\n if (_this._isVisible) {\r\n _this.hide();\r\n }\r\n }));\r\n _this._register(dom["n" /* addStandardDisposableListener */](_this.domNode.domNode, \'click\', function (e) {\r\n e.preventDefault();\r\n var row = dom["w" /* findParentWithClass */](e.target, \'diff-review-row\');\r\n if (row) {\r\n _this._goToRow(row);\r\n }\r\n }));\r\n _this._register(dom["n" /* addStandardDisposableListener */](_this.domNode.domNode, \'keydown\', function (e) {\r\n if (e.equals(18 /* DownArrow */)\r\n || e.equals(2048 /* CtrlCmd */ | 18 /* DownArrow */)\r\n || e.equals(512 /* Alt */ | 18 /* DownArrow */)) {\r\n e.preventDefault();\r\n _this._goToRow(_this._getNextRow());\r\n }\r\n if (e.equals(16 /* UpArrow */)\r\n || e.equals(2048 /* CtrlCmd */ | 16 /* UpArrow */)\r\n || e.equals(512 /* Alt */ | 16 /* UpArrow */)) {\r\n e.preventDefault();\r\n _this._goToRow(_this._getPrevRow());\r\n }\r\n if (e.equals(9 /* Escape */)\r\n || e.equals(2048 /* CtrlCmd */ | 9 /* Escape */)\r\n || e.equals(512 /* Alt */ | 9 /* Escape */)\r\n || e.equals(1024 /* Shift */ | 9 /* Escape */)) {\r\n e.preventDefault();\r\n _this.hide();\r\n }\r\n if (e.equals(10 /* Space */)\r\n || e.equals(3 /* Enter */)) {\r\n e.preventDefault();\r\n _this.accept();\r\n }\r\n }));\r\n _this._diffs = [];\r\n _this._currentDiff = null;\r\n return _this;\r\n }\r\n DiffReview.prototype.prev = function () {\r\n var index = 0;\r\n if (!this._isVisible) {\r\n this._diffs = this._compute();\r\n }\r\n if (this._isVisible) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = this._diffs.length; i < len; i++) {\r\n if (this._diffs[i] === this._currentDiff) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n index = (this._diffs.length + currentIndex - 1);\r\n }\r\n else {\r\n index = this._findDiffIndex(this._diffEditor.getPosition());\r\n }\r\n if (this._diffs.length === 0) {\r\n // Nothing to do\r\n return;\r\n }\r\n index = index % this._diffs.length;\r\n this._diffEditor.setPosition(new core_position["a" /* Position */](this._diffs[index].entries[0].modifiedLineStart, 1));\r\n this._isVisible = true;\r\n this._diffEditor.doLayout();\r\n this._render();\r\n this._goToRow(this._getNextRow());\r\n };\r\n DiffReview.prototype.next = function () {\r\n var index = 0;\r\n if (!this._isVisible) {\r\n this._diffs = this._compute();\r\n }\r\n if (this._isVisible) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = this._diffs.length; i < len; i++) {\r\n if (this._diffs[i] === this._currentDiff) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n index = (currentIndex + 1);\r\n }\r\n else {\r\n index = this._findDiffIndex(this._diffEditor.getPosition());\r\n }\r\n if (this._diffs.length === 0) {\r\n // Nothing to do\r\n return;\r\n }\r\n index = index % this._diffs.length;\r\n this._diffEditor.setPosition(new core_position["a" /* Position */](this._diffs[index].entries[0].modifiedLineStart, 1));\r\n this._isVisible = true;\r\n this._diffEditor.doLayout();\r\n this._render();\r\n this._goToRow(this._getNextRow());\r\n };\r\n DiffReview.prototype.accept = function () {\r\n var jumpToLineNumber = -1;\r\n var current = this._getCurrentFocusedRow();\r\n if (current) {\r\n var lineNumber = parseInt(current.getAttribute(\'data-line\'), 10);\r\n if (!isNaN(lineNumber)) {\r\n jumpToLineNumber = lineNumber;\r\n }\r\n }\r\n this.hide();\r\n if (jumpToLineNumber !== -1) {\r\n this._diffEditor.setPosition(new core_position["a" /* Position */](jumpToLineNumber, 1));\r\n this._diffEditor.revealPosition(new core_position["a" /* Position */](jumpToLineNumber, 1), 1 /* Immediate */);\r\n }\r\n };\r\n DiffReview.prototype.hide = function () {\r\n this._isVisible = false;\r\n this._diffEditor.focus();\r\n this._diffEditor.doLayout();\r\n this._render();\r\n };\r\n DiffReview.prototype._getPrevRow = function () {\r\n var current = this._getCurrentFocusedRow();\r\n if (!current) {\r\n return this._getFirstRow();\r\n }\r\n if (current.previousElementSibling) {\r\n return current.previousElementSibling;\r\n }\r\n return current;\r\n };\r\n DiffReview.prototype._getNextRow = function () {\r\n var current = this._getCurrentFocusedRow();\r\n if (!current) {\r\n return this._getFirstRow();\r\n }\r\n if (current.nextElementSibling) {\r\n return current.nextElementSibling;\r\n }\r\n return current;\r\n };\r\n DiffReview.prototype._getFirstRow = function () {\r\n return this.domNode.domNode.querySelector(\'.diff-review-row\');\r\n };\r\n DiffReview.prototype._getCurrentFocusedRow = function () {\r\n var result = document.activeElement;\r\n if (result && /diff-review-row/.test(result.className)) {\r\n return result;\r\n }\r\n return null;\r\n };\r\n DiffReview.prototype._goToRow = function (row) {\r\n var prev = this._getCurrentFocusedRow();\r\n row.tabIndex = 0;\r\n row.focus();\r\n if (prev && prev !== row) {\r\n prev.tabIndex = -1;\r\n }\r\n this.scrollbar.scanDomNode();\r\n };\r\n DiffReview.prototype.isVisible = function () {\r\n return this._isVisible;\r\n };\r\n DiffReview.prototype.layout = function (top, width, height) {\r\n this._width = width;\r\n this.shadow.setTop(top - 6);\r\n this.shadow.setWidth(width);\r\n this.shadow.setHeight(this._isVisible ? 6 : 0);\r\n this.domNode.setTop(top);\r\n this.domNode.setWidth(width);\r\n this.domNode.setHeight(height);\r\n this._content.setHeight(height);\r\n this._content.setWidth(width);\r\n if (this._isVisible) {\r\n this.actionBarContainer.setAttribute(\'aria-hidden\', \'false\');\r\n this.actionBarContainer.setDisplay(\'block\');\r\n }\r\n else {\r\n this.actionBarContainer.setAttribute(\'aria-hidden\', \'true\');\r\n this.actionBarContainer.setDisplay(\'none\');\r\n }\r\n };\r\n DiffReview.prototype._compute = function () {\r\n var lineChanges = this._diffEditor.getLineChanges();\r\n if (!lineChanges || lineChanges.length === 0) {\r\n return [];\r\n }\r\n var originalModel = this._diffEditor.getOriginalEditor().getModel();\r\n var modifiedModel = this._diffEditor.getModifiedEditor().getModel();\r\n if (!originalModel || !modifiedModel) {\r\n return [];\r\n }\r\n return DiffReview._mergeAdjacent(lineChanges, originalModel.getLineCount(), modifiedModel.getLineCount());\r\n };\r\n DiffReview._mergeAdjacent = function (lineChanges, originalLineCount, modifiedLineCount) {\r\n if (!lineChanges || lineChanges.length === 0) {\r\n return [];\r\n }\r\n var diffs = [], diffsLength = 0;\r\n for (var i = 0, len = lineChanges.length; i < len; i++) {\r\n var lineChange = lineChanges[i];\r\n var originalStart = lineChange.originalStartLineNumber;\r\n var originalEnd = lineChange.originalEndLineNumber;\r\n var modifiedStart = lineChange.modifiedStartLineNumber;\r\n var modifiedEnd = lineChange.modifiedEndLineNumber;\r\n var r_1 = [], rLength_1 = 0;\r\n // Emit before anchors\r\n {\r\n var originalEqualAbove = (originalEnd === 0 ? originalStart : originalStart - 1);\r\n var modifiedEqualAbove = (modifiedEnd === 0 ? modifiedStart : modifiedStart - 1);\r\n // Make sure we don\'t step into the previous diff\r\n var minOriginal = 1;\r\n var minModified = 1;\r\n if (i > 0) {\r\n var prevLineChange = lineChanges[i - 1];\r\n if (prevLineChange.originalEndLineNumber === 0) {\r\n minOriginal = prevLineChange.originalStartLineNumber + 1;\r\n }\r\n else {\r\n minOriginal = prevLineChange.originalEndLineNumber + 1;\r\n }\r\n if (prevLineChange.modifiedEndLineNumber === 0) {\r\n minModified = prevLineChange.modifiedStartLineNumber + 1;\r\n }\r\n else {\r\n minModified = prevLineChange.modifiedEndLineNumber + 1;\r\n }\r\n }\r\n var fromOriginal = originalEqualAbove - DIFF_LINES_PADDING + 1;\r\n var fromModified = modifiedEqualAbove - DIFF_LINES_PADDING + 1;\r\n if (fromOriginal < minOriginal) {\r\n var delta = minOriginal - fromOriginal;\r\n fromOriginal = fromOriginal + delta;\r\n fromModified = fromModified + delta;\r\n }\r\n if (fromModified < minModified) {\r\n var delta = minModified - fromModified;\r\n fromOriginal = fromOriginal + delta;\r\n fromModified = fromModified + delta;\r\n }\r\n r_1[rLength_1++] = new DiffEntry(fromOriginal, originalEqualAbove, fromModified, modifiedEqualAbove);\r\n }\r\n // Emit deleted lines\r\n {\r\n if (originalEnd !== 0) {\r\n r_1[rLength_1++] = new DiffEntry(originalStart, originalEnd, 0, 0);\r\n }\r\n }\r\n // Emit inserted lines\r\n {\r\n if (modifiedEnd !== 0) {\r\n r_1[rLength_1++] = new DiffEntry(0, 0, modifiedStart, modifiedEnd);\r\n }\r\n }\r\n // Emit after anchors\r\n {\r\n var originalEqualBelow = (originalEnd === 0 ? originalStart + 1 : originalEnd + 1);\r\n var modifiedEqualBelow = (modifiedEnd === 0 ? modifiedStart + 1 : modifiedEnd + 1);\r\n // Make sure we don\'t step into the next diff\r\n var maxOriginal = originalLineCount;\r\n var maxModified = modifiedLineCount;\r\n if (i + 1 < len) {\r\n var nextLineChange = lineChanges[i + 1];\r\n if (nextLineChange.originalEndLineNumber === 0) {\r\n maxOriginal = nextLineChange.originalStartLineNumber;\r\n }\r\n else {\r\n maxOriginal = nextLineChange.originalStartLineNumber - 1;\r\n }\r\n if (nextLineChange.modifiedEndLineNumber === 0) {\r\n maxModified = nextLineChange.modifiedStartLineNumber;\r\n }\r\n else {\r\n maxModified = nextLineChange.modifiedStartLineNumber - 1;\r\n }\r\n }\r\n var toOriginal = originalEqualBelow + DIFF_LINES_PADDING - 1;\r\n var toModified = modifiedEqualBelow + DIFF_LINES_PADDING - 1;\r\n if (toOriginal > maxOriginal) {\r\n var delta = maxOriginal - toOriginal;\r\n toOriginal = toOriginal + delta;\r\n toModified = toModified + delta;\r\n }\r\n if (toModified > maxModified) {\r\n var delta = maxModified - toModified;\r\n toOriginal = toOriginal + delta;\r\n toModified = toModified + delta;\r\n }\r\n r_1[rLength_1++] = new DiffEntry(originalEqualBelow, toOriginal, modifiedEqualBelow, toModified);\r\n }\r\n diffs[diffsLength++] = new Diff(r_1);\r\n }\r\n // Merge adjacent diffs\r\n var curr = diffs[0].entries;\r\n var r = [], rLength = 0;\r\n for (var i = 1, len = diffs.length; i < len; i++) {\r\n var thisDiff = diffs[i].entries;\r\n var currLast = curr[curr.length - 1];\r\n var thisFirst = thisDiff[0];\r\n if (currLast.getType() === 0 /* Equal */\r\n && thisFirst.getType() === 0 /* Equal */\r\n && thisFirst.originalLineStart <= currLast.originalLineEnd) {\r\n // We are dealing with equal lines that overlap\r\n curr[curr.length - 1] = new DiffEntry(currLast.originalLineStart, thisFirst.originalLineEnd, currLast.modifiedLineStart, thisFirst.modifiedLineEnd);\r\n curr = curr.concat(thisDiff.slice(1));\r\n continue;\r\n }\r\n r[rLength++] = new Diff(curr);\r\n curr = thisDiff;\r\n }\r\n r[rLength++] = new Diff(curr);\r\n return r;\r\n };\r\n DiffReview.prototype._findDiffIndex = function (pos) {\r\n var lineNumber = pos.lineNumber;\r\n for (var i = 0, len = this._diffs.length; i < len; i++) {\r\n var diff = this._diffs[i].entries;\r\n var lastModifiedLine = diff[diff.length - 1].modifiedLineEnd;\r\n if (lineNumber <= lastModifiedLine) {\r\n return i;\r\n }\r\n }\r\n return 0;\r\n };\r\n DiffReview.prototype._render = function () {\r\n var originalOptions = this._diffEditor.getOriginalEditor().getOptions();\r\n var modifiedOptions = this._diffEditor.getModifiedEditor().getOptions();\r\n var originalModel = this._diffEditor.getOriginalEditor().getModel();\r\n var modifiedModel = this._diffEditor.getModifiedEditor().getModel();\r\n var originalModelOpts = originalModel.getOptions();\r\n var modifiedModelOpts = modifiedModel.getOptions();\r\n if (!this._isVisible || !originalModel || !modifiedModel) {\r\n dom["s" /* clearNode */](this._content.domNode);\r\n this._currentDiff = null;\r\n this.scrollbar.scanDomNode();\r\n return;\r\n }\r\n var diffIndex = this._findDiffIndex(this._diffEditor.getPosition());\r\n if (this._diffs[diffIndex] === this._currentDiff) {\r\n return;\r\n }\r\n this._currentDiff = this._diffs[diffIndex];\r\n var diffs = this._diffs[diffIndex].entries;\r\n var container = document.createElement(\'div\');\r\n container.className = \'diff-review-table\';\r\n container.setAttribute(\'role\', \'list\');\r\n config_configuration["a" /* Configuration */].applyFontInfoSlow(container, modifiedOptions.get(34 /* fontInfo */));\r\n var minOriginalLine = 0;\r\n var maxOriginalLine = 0;\r\n var minModifiedLine = 0;\r\n var maxModifiedLine = 0;\r\n for (var i = 0, len = diffs.length; i < len; i++) {\r\n var diffEntry = diffs[i];\r\n var originalLineStart = diffEntry.originalLineStart;\r\n var originalLineEnd = diffEntry.originalLineEnd;\r\n var modifiedLineStart = diffEntry.modifiedLineStart;\r\n var modifiedLineEnd = diffEntry.modifiedLineEnd;\r\n if (originalLineStart !== 0 && ((minOriginalLine === 0 || originalLineStart < minOriginalLine))) {\r\n minOriginalLine = originalLineStart;\r\n }\r\n if (originalLineEnd !== 0 && ((maxOriginalLine === 0 || originalLineEnd > maxOriginalLine))) {\r\n maxOriginalLine = originalLineEnd;\r\n }\r\n if (modifiedLineStart !== 0 && ((minModifiedLine === 0 || modifiedLineStart < minModifiedLine))) {\r\n minModifiedLine = modifiedLineStart;\r\n }\r\n if (modifiedLineEnd !== 0 && ((maxModifiedLine === 0 || modifiedLineEnd > maxModifiedLine))) {\r\n maxModifiedLine = modifiedLineEnd;\r\n }\r\n }\r\n var header = document.createElement(\'div\');\r\n header.className = \'diff-review-row\';\r\n var cell = document.createElement(\'div\');\r\n cell.className = \'diff-review-cell diff-review-summary\';\r\n var originalChangedLinesCnt = maxOriginalLine - minOriginalLine + 1;\r\n var modifiedChangedLinesCnt = maxModifiedLine - minModifiedLine + 1;\r\n cell.appendChild(document.createTextNode(diffIndex + 1 + "/" + this._diffs.length + ": @@ -" + minOriginalLine + "," + originalChangedLinesCnt + " +" + minModifiedLine + "," + modifiedChangedLinesCnt + " @@"));\r\n header.setAttribute(\'data-line\', String(minModifiedLine));\r\n var getAriaLines = function (lines) {\r\n if (lines === 0) {\r\n return nls["a" /* localize */](\'no_lines\', "no lines");\r\n }\r\n else if (lines === 1) {\r\n return nls["a" /* localize */](\'one_line\', "1 line");\r\n }\r\n else {\r\n return nls["a" /* localize */](\'more_lines\', "{0} lines", lines);\r\n }\r\n };\r\n var originalChangedLinesCntAria = getAriaLines(originalChangedLinesCnt);\r\n var modifiedChangedLinesCntAria = getAriaLines(modifiedChangedLinesCnt);\r\n header.setAttribute(\'aria-label\', nls["a" /* localize */]({\r\n key: \'header\',\r\n comment: [\r\n \'This is the ARIA label for a git diff header.\',\r\n \'A git diff header looks like this: @@ -154,12 +159,39 @@.\',\r\n \'That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.\',\r\n \'Variables 0 and 1 refer to the diff index out of total number of diffs.\',\r\n \'Variables 2 and 4 will be numbers (a line number).\',\r\n \'Variables 3 and 5 will be "no lines", "1 line" or "X lines", localized separately.\'\r\n ]\r\n }, "Difference {0} of {1}: original {2}, {3}, modified {4}, {5}", (diffIndex + 1), this._diffs.length, minOriginalLine, originalChangedLinesCntAria, minModifiedLine, modifiedChangedLinesCntAria));\r\n header.appendChild(cell);\r\n // @@ -504,7 +517,7 @@\r\n header.setAttribute(\'role\', \'listitem\');\r\n container.appendChild(header);\r\n var modLine = minModifiedLine;\r\n for (var i = 0, len = diffs.length; i < len; i++) {\r\n var diffEntry = diffs[i];\r\n DiffReview._renderSection(container, diffEntry, modLine, this._width, originalOptions, originalModel, originalModelOpts, modifiedOptions, modifiedModel, modifiedModelOpts);\r\n if (diffEntry.modifiedLineStart !== 0) {\r\n modLine = diffEntry.modifiedLineEnd;\r\n }\r\n }\r\n dom["s" /* clearNode */](this._content.domNode);\r\n this._content.domNode.appendChild(container);\r\n this.scrollbar.scanDomNode();\r\n };\r\n DiffReview._renderSection = function (dest, diffEntry, modLine, width, originalOptions, originalModel, originalModelOpts, modifiedOptions, modifiedModel, modifiedModelOpts) {\r\n var type = diffEntry.getType();\r\n var rowClassName = \'diff-review-row\';\r\n var lineNumbersExtraClassName = \'\';\r\n var spacerClassName = \'diff-review-spacer\';\r\n switch (type) {\r\n case 1 /* Insert */:\r\n rowClassName = \'diff-review-row line-insert\';\r\n lineNumbersExtraClassName = \' char-insert\';\r\n spacerClassName = \'diff-review-spacer insert-sign\';\r\n break;\r\n case 2 /* Delete */:\r\n rowClassName = \'diff-review-row line-delete\';\r\n lineNumbersExtraClassName = \' char-delete\';\r\n spacerClassName = \'diff-review-spacer delete-sign\';\r\n break;\r\n }\r\n var originalLineStart = diffEntry.originalLineStart;\r\n var originalLineEnd = diffEntry.originalLineEnd;\r\n var modifiedLineStart = diffEntry.modifiedLineStart;\r\n var modifiedLineEnd = diffEntry.modifiedLineEnd;\r\n var cnt = Math.max(modifiedLineEnd - modifiedLineStart, originalLineEnd - originalLineStart);\r\n var originalLayoutInfo = originalOptions.get(107 /* layoutInfo */);\r\n var originalLineNumbersWidth = originalLayoutInfo.glyphMarginWidth + originalLayoutInfo.lineNumbersWidth;\r\n var modifiedLayoutInfo = modifiedOptions.get(107 /* layoutInfo */);\r\n var modifiedLineNumbersWidth = 10 + modifiedLayoutInfo.glyphMarginWidth + modifiedLayoutInfo.lineNumbersWidth;\r\n for (var i = 0; i <= cnt; i++) {\r\n var originalLine = (originalLineStart === 0 ? 0 : originalLineStart + i);\r\n var modifiedLine = (modifiedLineStart === 0 ? 0 : modifiedLineStart + i);\r\n var row = document.createElement(\'div\');\r\n row.style.minWidth = width + \'px\';\r\n row.className = rowClassName;\r\n row.setAttribute(\'role\', \'listitem\');\r\n if (modifiedLine !== 0) {\r\n modLine = modifiedLine;\r\n }\r\n row.setAttribute(\'data-line\', String(modLine));\r\n var cell = document.createElement(\'div\');\r\n cell.className = \'diff-review-cell\';\r\n row.appendChild(cell);\r\n var originalLineNumber = document.createElement(\'span\');\r\n originalLineNumber.style.width = (originalLineNumbersWidth + \'px\');\r\n originalLineNumber.style.minWidth = (originalLineNumbersWidth + \'px\');\r\n originalLineNumber.className = \'diff-review-line-number\' + lineNumbersExtraClassName;\r\n if (originalLine !== 0) {\r\n originalLineNumber.appendChild(document.createTextNode(String(originalLine)));\r\n }\r\n else {\r\n originalLineNumber.innerHTML = \' \';\r\n }\r\n cell.appendChild(originalLineNumber);\r\n var modifiedLineNumber = document.createElement(\'span\');\r\n modifiedLineNumber.style.width = (modifiedLineNumbersWidth + \'px\');\r\n modifiedLineNumber.style.minWidth = (modifiedLineNumbersWidth + \'px\');\r\n modifiedLineNumber.style.paddingRight = \'10px\';\r\n modifiedLineNumber.className = \'diff-review-line-number\' + lineNumbersExtraClassName;\r\n if (modifiedLine !== 0) {\r\n modifiedLineNumber.appendChild(document.createTextNode(String(modifiedLine)));\r\n }\r\n else {\r\n modifiedLineNumber.innerHTML = \' \';\r\n }\r\n cell.appendChild(modifiedLineNumber);\r\n var spacer = document.createElement(\'span\');\r\n spacer.className = spacerClassName;\r\n spacer.innerHTML = \'  \';\r\n cell.appendChild(spacer);\r\n var lineContent = void 0;\r\n if (modifiedLine !== 0) {\r\n cell.insertAdjacentHTML(\'beforeend\', this._renderLine(modifiedModel, modifiedOptions, modifiedModelOpts.tabSize, modifiedLine));\r\n lineContent = modifiedModel.getLineContent(modifiedLine);\r\n }\r\n else {\r\n cell.insertAdjacentHTML(\'beforeend\', this._renderLine(originalModel, originalOptions, originalModelOpts.tabSize, originalLine));\r\n lineContent = originalModel.getLineContent(originalLine);\r\n }\r\n if (lineContent.length === 0) {\r\n lineContent = nls["a" /* localize */](\'blankLine\', "blank");\r\n }\r\n var ariaLabel = \'\';\r\n switch (type) {\r\n case 0 /* Equal */:\r\n ariaLabel = nls["a" /* localize */](\'equalLine\', "original {0}, modified {1}: {2}", originalLine, modifiedLine, lineContent);\r\n break;\r\n case 1 /* Insert */:\r\n ariaLabel = nls["a" /* localize */](\'insertLine\', "+ modified {0}: {1}", modifiedLine, lineContent);\r\n break;\r\n case 2 /* Delete */:\r\n ariaLabel = nls["a" /* localize */](\'deleteLine\', "- original {0}: {1}", originalLine, lineContent);\r\n break;\r\n }\r\n row.setAttribute(\'aria-label\', ariaLabel);\r\n dest.appendChild(row);\r\n }\r\n };\r\n DiffReview._renderLine = function (model, options, tabSize, lineNumber) {\r\n var lineContent = model.getLineContent(lineNumber);\r\n var fontInfo = options.get(34 /* fontInfo */);\r\n var defaultMetadata = ((0 /* None */ << 11 /* FONT_STYLE_OFFSET */)\r\n | (1 /* DefaultForeground */ << 14 /* FOREGROUND_OFFSET */)\r\n | (2 /* DefaultBackground */ << 23 /* BACKGROUND_OFFSET */)) >>> 0;\r\n var tokens = new Uint32Array(2);\r\n tokens[0] = lineContent.length;\r\n tokens[1] = defaultMetadata;\r\n var lineTokens = new core_lineTokens["a" /* LineTokens */](tokens, lineContent);\r\n var isBasicASCII = viewModel["d" /* ViewLineRenderingData */].isBasicASCII(lineContent, model.mightContainNonBasicASCII());\r\n var containsRTL = viewModel["d" /* ViewLineRenderingData */].containsRTL(lineContent, isBasicASCII, model.mightContainRTL());\r\n var r = Object(viewLineRenderer["e" /* renderViewLine2 */])(new viewLineRenderer["c" /* RenderLineInput */]((fontInfo.isMonospace && !options.get(23 /* disableMonospaceOptimizations */)), fontInfo.canUseHalfwidthRightwardsArrow, lineContent, false, isBasicASCII, containsRTL, 0, lineTokens, [], tabSize, 0, fontInfo.spaceWidth, fontInfo.middotWidth, options.get(88 /* stopRenderingLineAfter */), options.get(74 /* renderWhitespace */), options.get(69 /* renderControlCharacters */), options.get(35 /* fontLigatures */) !== editorOptions["d" /* EditorFontLigatures */].OFF, null));\r\n return r.html;\r\n };\r\n return DiffReview;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n// theming\r\nObject(common_themeService["e" /* registerThemingParticipant */])(function (theme, collector) {\r\n var lineNumbers = theme.getColor(editorColorRegistry["j" /* editorLineNumbers */]);\r\n if (lineNumbers) {\r\n collector.addRule(".monaco-diff-editor .diff-review-line-number { color: " + lineNumbers + "; }");\r\n }\r\n var shadow = theme.getColor(colorRegistry["Tb" /* scrollbarShadow */]);\r\n if (shadow) {\r\n collector.addRule(".monaco-diff-editor .diff-review-shadow { box-shadow: " + shadow + " 0 -6px 6px -6px inset; }");\r\n }\r\n});\r\nvar diffReview_DiffReviewNext = /** @class */ (function (_super) {\r\n diffReview_extends(DiffReviewNext, _super);\r\n function DiffReviewNext() {\r\n return _super.call(this, {\r\n id: \'editor.action.diffReview.next\',\r\n label: nls["a" /* localize */](\'editor.action.diffReview.next\', "Go to Next Difference"),\r\n alias: \'Go to Next Difference\',\r\n precondition: contextkey["a" /* ContextKeyExpr */].has(\'isInDiffEditor\'),\r\n kbOpts: {\r\n kbExpr: null,\r\n primary: 65 /* F7 */,\r\n weight: 100 /* EditorContrib */\r\n }\r\n }) || this;\r\n }\r\n DiffReviewNext.prototype.run = function (accessor, editor) {\r\n var diffEditor = findFocusedDiffEditor(accessor);\r\n if (diffEditor) {\r\n diffEditor.diffReviewNext();\r\n }\r\n };\r\n return DiffReviewNext;\r\n}(editorExtensions["b" /* EditorAction */]));\r\nvar diffReview_DiffReviewPrev = /** @class */ (function (_super) {\r\n diffReview_extends(DiffReviewPrev, _super);\r\n function DiffReviewPrev() {\r\n return _super.call(this, {\r\n id: \'editor.action.diffReview.prev\',\r\n label: nls["a" /* localize */](\'editor.action.diffReview.prev\', "Go to Previous Difference"),\r\n alias: \'Go to Previous Difference\',\r\n precondition: contextkey["a" /* ContextKeyExpr */].has(\'isInDiffEditor\'),\r\n kbOpts: {\r\n kbExpr: null,\r\n primary: 1024 /* Shift */ | 65 /* F7 */,\r\n weight: 100 /* EditorContrib */\r\n }\r\n }) || this;\r\n }\r\n DiffReviewPrev.prototype.run = function (accessor, editor) {\r\n var diffEditor = findFocusedDiffEditor(accessor);\r\n if (diffEditor) {\r\n diffEditor.diffReviewPrev();\r\n }\r\n };\r\n return DiffReviewPrev;\r\n}(editorExtensions["b" /* EditorAction */]));\r\nfunction findFocusedDiffEditor(accessor) {\r\n var codeEditorService = accessor.get(services_codeEditorService["a" /* ICodeEditorService */]);\r\n var diffEditors = codeEditorService.listDiffEditors();\r\n for (var i = 0, len = diffEditors.length; i < len; i++) {\r\n var diffEditor = diffEditors[i];\r\n if (diffEditor.hasWidgetFocus()) {\r\n return diffEditor;\r\n }\r\n }\r\n return null;\r\n}\r\nObject(editorExtensions["f" /* registerEditorAction */])(diffReview_DiffReviewNext);\r\nObject(editorExtensions["f" /* registerEditorAction */])(diffReview_DiffReviewPrev);\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/stringBuilder.js\nvar stringBuilder = __webpack_require__("erNZ");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/model/textModel.js + 9 modules\nvar textModel = __webpack_require__("tX9W");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/view/overviewZoneManager.js\nvar overviewZoneManager = __webpack_require__("MvK1");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/viewLayout/lineDecorations.js\nvar lineDecorations = __webpack_require__("dBaI");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/serviceCollection.js\nvar serviceCollection = __webpack_require__("8HsV");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextView.js\nvar contextView = __webpack_require__("Uzvx");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/inlineDiffMargin.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar inlineDiffMargin_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 inlineDiffMargin_awaiter = (undefined && undefined.__awaiter) || function (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\nvar inlineDiffMargin_generator = (undefined && undefined.__generator) || function (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\n\r\n\r\n\r\n\r\nvar inlineDiffMargin_InlineDiffMargin = /** @class */ (function (_super) {\r\n inlineDiffMargin_extends(InlineDiffMargin, _super);\r\n function InlineDiffMargin(_viewZoneId, _marginDomNode, editor, diff, _contextMenuService, _clipboardService) {\r\n var _this = _super.call(this) || this;\r\n _this._viewZoneId = _viewZoneId;\r\n _this._marginDomNode = _marginDomNode;\r\n _this.editor = editor;\r\n _this.diff = diff;\r\n _this._contextMenuService = _contextMenuService;\r\n _this._clipboardService = _clipboardService;\r\n _this._visibility = false;\r\n // make sure the diff margin shows above overlay.\r\n _this._marginDomNode.style.zIndex = \'10\';\r\n _this._diffActions = document.createElement(\'div\');\r\n _this._diffActions.className = \'codicon codicon-lightbulb lightbulb-glyph\';\r\n _this._diffActions.style.position = \'absolute\';\r\n var lineHeight = editor.getOption(49 /* lineHeight */);\r\n var lineFeed = editor.getModel().getEOL();\r\n _this._diffActions.style.right = \'0px\';\r\n _this._diffActions.style.visibility = \'hidden\';\r\n _this._diffActions.style.height = lineHeight + "px";\r\n _this._diffActions.style.lineHeight = lineHeight + "px";\r\n _this._marginDomNode.appendChild(_this._diffActions);\r\n var actions = [];\r\n // default action\r\n actions.push(new common_actions["a" /* Action */](\'diff.clipboard.copyDeletedContent\', diff.originalEndLineNumber > diff.modifiedStartLineNumber\r\n ? nls["a" /* localize */](\'diff.clipboard.copyDeletedLinesContent.label\', "Copy deleted lines")\r\n : nls["a" /* localize */](\'diff.clipboard.copyDeletedLinesContent.single.label\', "Copy deleted line"), undefined, true, function () { return inlineDiffMargin_awaiter(_this, void 0, void 0, function () {\r\n return inlineDiffMargin_generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._clipboardService.writeText(diff.originalContent.join(lineFeed) + lineFeed)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); }));\r\n var currentLineNumberOffset = 0;\r\n var copyLineAction = undefined;\r\n if (diff.originalEndLineNumber > diff.modifiedStartLineNumber) {\r\n copyLineAction = new common_actions["a" /* Action */](\'diff.clipboard.copyDeletedLineContent\', nls["a" /* localize */](\'diff.clipboard.copyDeletedLineContent.label\', "Copy deleted line ({0})", diff.originalStartLineNumber), undefined, true, function () { return inlineDiffMargin_awaiter(_this, void 0, void 0, function () {\r\n return inlineDiffMargin_generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._clipboardService.writeText(diff.originalContent[currentLineNumberOffset])];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n actions.push(copyLineAction);\r\n }\r\n var readOnly = editor.getOption(68 /* readOnly */);\r\n if (!readOnly) {\r\n actions.push(new common_actions["a" /* Action */](\'diff.inline.revertChange\', nls["a" /* localize */](\'diff.inline.revertChange.label\', "Revert this change"), undefined, true, function () { return inlineDiffMargin_awaiter(_this, void 0, void 0, function () {\r\n var column, column;\r\n return inlineDiffMargin_generator(this, function (_a) {\r\n if (diff.modifiedEndLineNumber === 0) {\r\n column = editor.getModel().getLineMaxColumn(diff.modifiedStartLineNumber);\r\n editor.executeEdits(\'diffEditor\', [\r\n {\r\n range: new core_range["a" /* Range */](diff.modifiedStartLineNumber, column, diff.modifiedStartLineNumber, column),\r\n text: lineFeed + diff.originalContent.join(lineFeed)\r\n }\r\n ]);\r\n }\r\n else {\r\n column = editor.getModel().getLineMaxColumn(diff.modifiedEndLineNumber);\r\n editor.executeEdits(\'diffEditor\', [\r\n {\r\n range: new core_range["a" /* Range */](diff.modifiedStartLineNumber, 1, diff.modifiedEndLineNumber, column),\r\n text: diff.originalContent.join(lineFeed)\r\n }\r\n ]);\r\n }\r\n return [2 /*return*/];\r\n });\r\n }); }));\r\n }\r\n var showContextMenu = function (x, y) {\r\n _this._contextMenuService.showContextMenu({\r\n getAnchor: function () {\r\n return {\r\n x: x,\r\n y: y\r\n };\r\n },\r\n getActions: function () {\r\n if (copyLineAction) {\r\n copyLineAction.label = nls["a" /* localize */](\'diff.clipboard.copyDeletedLineContent.label\', "Copy deleted line ({0})", diff.originalStartLineNumber + currentLineNumberOffset);\r\n }\r\n return actions;\r\n },\r\n autoSelectFirstItem: true\r\n });\r\n };\r\n _this._register(dom["n" /* addStandardDisposableListener */](_this._diffActions, \'mousedown\', function (e) {\r\n var _a = dom["B" /* getDomNodePagePosition */](_this._diffActions), top = _a.top, height = _a.height;\r\n var pad = Math.floor(lineHeight / 3);\r\n e.preventDefault();\r\n showContextMenu(e.posx, top + height + pad);\r\n }));\r\n _this._register(editor.onMouseMove(function (e) {\r\n if (e.target.type === 8 /* CONTENT_VIEW_ZONE */ || e.target.type === 5 /* GUTTER_VIEW_ZONE */) {\r\n var viewZoneId = e.target.detail.viewZoneId;\r\n if (viewZoneId === _this._viewZoneId) {\r\n _this.visibility = true;\r\n currentLineNumberOffset = _this._updateLightBulbPosition(_this._marginDomNode, e.event.browserEvent.y, lineHeight);\r\n }\r\n else {\r\n _this.visibility = false;\r\n }\r\n }\r\n else {\r\n _this.visibility = false;\r\n }\r\n }));\r\n _this._register(editor.onMouseDown(function (e) {\r\n if (!e.event.rightButton) {\r\n return;\r\n }\r\n if (e.target.type === 8 /* CONTENT_VIEW_ZONE */ || e.target.type === 5 /* GUTTER_VIEW_ZONE */) {\r\n var viewZoneId = e.target.detail.viewZoneId;\r\n if (viewZoneId === _this._viewZoneId) {\r\n e.event.preventDefault();\r\n currentLineNumberOffset = _this._updateLightBulbPosition(_this._marginDomNode, e.event.browserEvent.y, lineHeight);\r\n showContextMenu(e.event.posx, e.event.posy + lineHeight);\r\n }\r\n }\r\n }));\r\n return _this;\r\n }\r\n Object.defineProperty(InlineDiffMargin.prototype, "visibility", {\r\n get: function () {\r\n return this._visibility;\r\n },\r\n set: function (_visibility) {\r\n if (this._visibility !== _visibility) {\r\n this._visibility = _visibility;\r\n if (_visibility) {\r\n this._diffActions.style.visibility = \'visible\';\r\n }\r\n else {\r\n this._diffActions.style.visibility = \'hidden\';\r\n }\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n InlineDiffMargin.prototype._updateLightBulbPosition = function (marginDomNode, y, lineHeight) {\r\n var top = dom["B" /* getDomNodePagePosition */](marginDomNode).top;\r\n var offset = y - top;\r\n var lineNumberOffset = Math.floor(offset / lineHeight);\r\n var newTop = lineNumberOffset * lineHeight;\r\n this._diffActions.style.top = newTop + "px";\r\n return lineNumberOffset;\r\n };\r\n return InlineDiffMargin;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/progress/common/progress.js\nvar progress = __webpack_require__("tTk5");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js\nvar elementSizeObserver = __webpack_require__("o39E");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar diffEditorWidget_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 diffEditorWidget_decorate = (undefined && undefined.__decorate) || function (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\nvar diffEditorWidget_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar diffEditorWidget_VisualEditorState = /** @class */ (function () {\r\n function VisualEditorState(_contextMenuService, _clipboardService) {\r\n this._contextMenuService = _contextMenuService;\r\n this._clipboardService = _clipboardService;\r\n this._zones = [];\r\n this.inlineDiffMargins = [];\r\n this._zonesMap = {};\r\n this._decorations = [];\r\n }\r\n VisualEditorState.prototype.getForeignViewZones = function (allViewZones) {\r\n var _this = this;\r\n return allViewZones.filter(function (z) { return !_this._zonesMap[String(z.id)]; });\r\n };\r\n VisualEditorState.prototype.clean = function (editor) {\r\n var _this = this;\r\n // (1) View zones\r\n if (this._zones.length > 0) {\r\n editor.changeViewZones(function (viewChangeAccessor) {\r\n for (var i = 0, length_1 = _this._zones.length; i < length_1; i++) {\r\n viewChangeAccessor.removeZone(_this._zones[i]);\r\n }\r\n });\r\n }\r\n this._zones = [];\r\n this._zonesMap = {};\r\n // (2) Model decorations\r\n this._decorations = editor.deltaDecorations(this._decorations, []);\r\n };\r\n VisualEditorState.prototype.apply = function (editor, overviewRuler, newDecorations, restoreScrollState) {\r\n var _this = this;\r\n var scrollState = restoreScrollState ? editorState["c" /* StableEditorScrollState */].capture(editor) : null;\r\n // view zones\r\n editor.changeViewZones(function (viewChangeAccessor) {\r\n for (var i = 0, length_2 = _this._zones.length; i < length_2; i++) {\r\n viewChangeAccessor.removeZone(_this._zones[i]);\r\n }\r\n for (var i = 0, length_3 = _this.inlineDiffMargins.length; i < length_3; i++) {\r\n _this.inlineDiffMargins[i].dispose();\r\n }\r\n _this._zones = [];\r\n _this._zonesMap = {};\r\n _this.inlineDiffMargins = [];\r\n for (var i = 0, length_4 = newDecorations.zones.length; i < length_4; i++) {\r\n var viewZone = newDecorations.zones[i];\r\n viewZone.suppressMouseDown = true;\r\n var zoneId = viewChangeAccessor.addZone(viewZone);\r\n _this._zones.push(zoneId);\r\n _this._zonesMap[String(zoneId)] = true;\r\n if (newDecorations.zones[i].diff && viewZone.marginDomNode && _this._clipboardService) {\r\n viewZone.suppressMouseDown = false;\r\n _this.inlineDiffMargins.push(new inlineDiffMargin_InlineDiffMargin(zoneId, viewZone.marginDomNode, editor, newDecorations.zones[i].diff, _this._contextMenuService, _this._clipboardService));\r\n }\r\n }\r\n });\r\n if (scrollState) {\r\n scrollState.restore(editor);\r\n }\r\n // decorations\r\n this._decorations = editor.deltaDecorations(this._decorations, newDecorations.decorations);\r\n // overview ruler\r\n if (overviewRuler) {\r\n overviewRuler.setZones(newDecorations.overviewZones);\r\n }\r\n };\r\n return VisualEditorState;\r\n}());\r\nvar DIFF_EDITOR_ID = 0;\r\nvar diffEditorWidget_DiffEditorWidget = /** @class */ (function (_super) {\r\n diffEditorWidget_extends(DiffEditorWidget, _super);\r\n function DiffEditorWidget(domElement, options, clipboardService, editorWorkerService, contextKeyService, instantiationService, codeEditorService, themeService, notificationService, contextMenuService, _editorProgressService) {\r\n var _this = _super.call(this) || this;\r\n _this._editorProgressService = _editorProgressService;\r\n _this._onDidDispose = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onDidDispose = _this._onDidDispose.event;\r\n _this._onDidUpdateDiff = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onDidUpdateDiff = _this._onDidUpdateDiff.event;\r\n _this._lastOriginalWarning = null;\r\n _this._lastModifiedWarning = null;\r\n _this._editorWorkerService = editorWorkerService;\r\n _this._codeEditorService = codeEditorService;\r\n _this._contextKeyService = _this._register(contextKeyService.createScoped(domElement));\r\n _this._contextKeyService.createKey(\'isInDiffEditor\', true);\r\n _this._themeService = themeService;\r\n _this._notificationService = notificationService;\r\n _this.id = (++DIFF_EDITOR_ID);\r\n _this._state = 0 /* Idle */;\r\n _this._updatingDiffProgress = null;\r\n _this._domElement = domElement;\r\n options = options || {};\r\n // renderSideBySide\r\n _this._renderSideBySide = true;\r\n if (typeof options.renderSideBySide !== \'undefined\') {\r\n _this._renderSideBySide = options.renderSideBySide;\r\n }\r\n // maxComputationTime\r\n _this._maxComputationTime = 5000;\r\n if (typeof options.maxComputationTime !== \'undefined\') {\r\n _this._maxComputationTime = options.maxComputationTime;\r\n }\r\n // ignoreTrimWhitespace\r\n _this._ignoreTrimWhitespace = true;\r\n if (typeof options.ignoreTrimWhitespace !== \'undefined\') {\r\n _this._ignoreTrimWhitespace = options.ignoreTrimWhitespace;\r\n }\r\n // renderIndicators\r\n _this._renderIndicators = true;\r\n if (typeof options.renderIndicators !== \'undefined\') {\r\n _this._renderIndicators = options.renderIndicators;\r\n }\r\n _this._originalIsEditable = false;\r\n if (typeof options.originalEditable !== \'undefined\') {\r\n _this._originalIsEditable = Boolean(options.originalEditable);\r\n }\r\n _this._updateDecorationsRunner = _this._register(new common_async["d" /* RunOnceScheduler */](function () { return _this._updateDecorations(); }, 0));\r\n _this._containerDomElement = document.createElement(\'div\');\r\n _this._containerDomElement.className = DiffEditorWidget._getClassName(_this._themeService.getTheme(), _this._renderSideBySide);\r\n _this._containerDomElement.style.position = \'relative\';\r\n _this._containerDomElement.style.height = \'100%\';\r\n _this._domElement.appendChild(_this._containerDomElement);\r\n _this._overviewViewportDomElement = Object(fastDomNode["b" /* createFastDomNode */])(document.createElement(\'div\'));\r\n _this._overviewViewportDomElement.setClassName(\'diffViewport\');\r\n _this._overviewViewportDomElement.setPosition(\'absolute\');\r\n _this._overviewDomElement = document.createElement(\'div\');\r\n _this._overviewDomElement.className = \'diffOverview\';\r\n _this._overviewDomElement.style.position = \'absolute\';\r\n _this._overviewDomElement.appendChild(_this._overviewViewportDomElement.domNode);\r\n _this._register(dom["n" /* addStandardDisposableListener */](_this._overviewDomElement, \'mousedown\', function (e) {\r\n _this.modifiedEditor.delegateVerticalScrollbarMouseDown(e);\r\n }));\r\n _this._containerDomElement.appendChild(_this._overviewDomElement);\r\n // Create left side\r\n _this._originalDomNode = document.createElement(\'div\');\r\n _this._originalDomNode.className = \'editor original\';\r\n _this._originalDomNode.style.position = \'absolute\';\r\n _this._originalDomNode.style.height = \'100%\';\r\n _this._containerDomElement.appendChild(_this._originalDomNode);\r\n // Create right side\r\n _this._modifiedDomNode = document.createElement(\'div\');\r\n _this._modifiedDomNode.className = \'editor modified\';\r\n _this._modifiedDomNode.style.position = \'absolute\';\r\n _this._modifiedDomNode.style.height = \'100%\';\r\n _this._containerDomElement.appendChild(_this._modifiedDomNode);\r\n _this._beginUpdateDecorationsTimeout = -1;\r\n _this._currentlyChangingViewZones = false;\r\n _this._diffComputationToken = 0;\r\n _this._originalEditorState = new diffEditorWidget_VisualEditorState(contextMenuService, clipboardService);\r\n _this._modifiedEditorState = new diffEditorWidget_VisualEditorState(contextMenuService, clipboardService);\r\n _this._isVisible = true;\r\n _this._isHandlingScrollEvent = false;\r\n _this._elementSizeObserver = _this._register(new elementSizeObserver["a" /* ElementSizeObserver */](_this._containerDomElement, undefined, function () { return _this._onDidContainerSizeChanged(); }));\r\n if (options.automaticLayout) {\r\n _this._elementSizeObserver.startObserving();\r\n }\r\n _this._diffComputationResult = null;\r\n var leftContextKeyService = _this._contextKeyService.createScoped();\r\n leftContextKeyService.createKey(\'isInDiffLeftEditor\', true);\r\n var leftServices = new serviceCollection["a" /* ServiceCollection */]();\r\n leftServices.set(contextkey["c" /* IContextKeyService */], leftContextKeyService);\r\n var leftScopedInstantiationService = instantiationService.createChild(leftServices);\r\n var rightContextKeyService = _this._contextKeyService.createScoped();\r\n rightContextKeyService.createKey(\'isInDiffRightEditor\', true);\r\n var rightServices = new serviceCollection["a" /* ServiceCollection */]();\r\n rightServices.set(contextkey["c" /* IContextKeyService */], rightContextKeyService);\r\n var rightScopedInstantiationService = instantiationService.createChild(rightServices);\r\n _this.originalEditor = _this._createLeftHandSideEditor(options, leftScopedInstantiationService);\r\n _this.modifiedEditor = _this._createRightHandSideEditor(options, rightScopedInstantiationService);\r\n _this._originalOverviewRuler = null;\r\n _this._modifiedOverviewRuler = null;\r\n _this._reviewPane = new diffReview_DiffReview(_this);\r\n _this._containerDomElement.appendChild(_this._reviewPane.domNode.domNode);\r\n _this._containerDomElement.appendChild(_this._reviewPane.shadow.domNode);\r\n _this._containerDomElement.appendChild(_this._reviewPane.actionBarContainer.domNode);\r\n // enableSplitViewResizing\r\n _this._enableSplitViewResizing = true;\r\n if (typeof options.enableSplitViewResizing !== \'undefined\') {\r\n _this._enableSplitViewResizing = options.enableSplitViewResizing;\r\n }\r\n if (_this._renderSideBySide) {\r\n _this._setStrategy(new diffEditorWidget_DiffEditorWidgetSideBySide(_this._createDataSource(), _this._enableSplitViewResizing));\r\n }\r\n else {\r\n _this._setStrategy(new diffEditorWidget_DiffEditorWidgetInline(_this._createDataSource(), _this._enableSplitViewResizing));\r\n }\r\n _this._register(themeService.onThemeChange(function (t) {\r\n if (_this._strategy && _this._strategy.applyColors(t)) {\r\n _this._updateDecorationsRunner.schedule();\r\n }\r\n _this._containerDomElement.className = DiffEditorWidget._getClassName(_this._themeService.getTheme(), _this._renderSideBySide);\r\n }));\r\n var contributions = editorExtensions["d" /* EditorExtensionsRegistry */].getDiffEditorContributions();\r\n for (var _i = 0, contributions_1 = contributions; _i < contributions_1.length; _i++) {\r\n var desc = contributions_1[_i];\r\n try {\r\n _this._register(instantiationService.createInstance(desc.ctor, _this));\r\n }\r\n catch (err) {\r\n Object(errors["e" /* onUnexpectedError */])(err);\r\n }\r\n }\r\n _this._codeEditorService.addDiffEditor(_this);\r\n return _this;\r\n }\r\n DiffEditorWidget.prototype._setState = function (newState) {\r\n if (this._state === newState) {\r\n return;\r\n }\r\n this._state = newState;\r\n if (this._updatingDiffProgress) {\r\n this._updatingDiffProgress.done();\r\n this._updatingDiffProgress = null;\r\n }\r\n if (this._state === 1 /* ComputingDiff */) {\r\n this._updatingDiffProgress = this._editorProgressService.show(true, 1000);\r\n }\r\n };\r\n DiffEditorWidget.prototype.hasWidgetFocus = function () {\r\n return dom["J" /* isAncestor */](document.activeElement, this._domElement);\r\n };\r\n DiffEditorWidget.prototype.diffReviewNext = function () {\r\n this._reviewPane.next();\r\n };\r\n DiffEditorWidget.prototype.diffReviewPrev = function () {\r\n this._reviewPane.prev();\r\n };\r\n DiffEditorWidget._getClassName = function (theme, renderSideBySide) {\r\n var result = \'monaco-diff-editor monaco-editor-background \';\r\n if (renderSideBySide) {\r\n result += \'side-by-side \';\r\n }\r\n result += Object(common_themeService["d" /* getThemeTypeSelector */])(theme.type);\r\n return result;\r\n };\r\n DiffEditorWidget.prototype._recreateOverviewRulers = function () {\r\n if (this._originalOverviewRuler) {\r\n this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode());\r\n this._originalOverviewRuler.dispose();\r\n }\r\n if (this.originalEditor.hasModel()) {\r\n this._originalOverviewRuler = this.originalEditor.createOverviewRuler(\'original diffOverviewRuler\');\r\n this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode());\r\n }\r\n if (this._modifiedOverviewRuler) {\r\n this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode());\r\n this._modifiedOverviewRuler.dispose();\r\n }\r\n if (this.modifiedEditor.hasModel()) {\r\n this._modifiedOverviewRuler = this.modifiedEditor.createOverviewRuler(\'modified diffOverviewRuler\');\r\n this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode());\r\n }\r\n this._layoutOverviewRulers();\r\n };\r\n DiffEditorWidget.prototype._createLeftHandSideEditor = function (options, instantiationService) {\r\n var _this = this;\r\n var editor = this._createInnerEditor(instantiationService, this._originalDomNode, this._adjustOptionsForLeftHandSide(options, this._originalIsEditable));\r\n this._register(editor.onDidScrollChange(function (e) {\r\n if (_this._isHandlingScrollEvent) {\r\n return;\r\n }\r\n if (!e.scrollTopChanged && !e.scrollLeftChanged && !e.scrollHeightChanged) {\r\n return;\r\n }\r\n _this._isHandlingScrollEvent = true;\r\n _this.modifiedEditor.setScrollPosition({\r\n scrollLeft: e.scrollLeft,\r\n scrollTop: e.scrollTop\r\n });\r\n _this._isHandlingScrollEvent = false;\r\n _this._layoutOverviewViewport();\r\n }));\r\n this._register(editor.onDidChangeViewZones(function () {\r\n _this._onViewZonesChanged();\r\n }));\r\n this._register(editor.onDidChangeModelContent(function () {\r\n if (_this._isVisible) {\r\n _this._beginUpdateDecorationsSoon();\r\n }\r\n }));\r\n return editor;\r\n };\r\n DiffEditorWidget.prototype._createRightHandSideEditor = function (options, instantiationService) {\r\n var _this = this;\r\n var editor = this._createInnerEditor(instantiationService, this._modifiedDomNode, this._adjustOptionsForRightHandSide(options));\r\n this._register(editor.onDidScrollChange(function (e) {\r\n if (_this._isHandlingScrollEvent) {\r\n return;\r\n }\r\n if (!e.scrollTopChanged && !e.scrollLeftChanged && !e.scrollHeightChanged) {\r\n return;\r\n }\r\n _this._isHandlingScrollEvent = true;\r\n _this.originalEditor.setScrollPosition({\r\n scrollLeft: e.scrollLeft,\r\n scrollTop: e.scrollTop\r\n });\r\n _this._isHandlingScrollEvent = false;\r\n _this._layoutOverviewViewport();\r\n }));\r\n this._register(editor.onDidChangeViewZones(function () {\r\n _this._onViewZonesChanged();\r\n }));\r\n this._register(editor.onDidChangeConfiguration(function (e) {\r\n if (e.hasChanged(34 /* fontInfo */) && editor.getModel()) {\r\n _this._onViewZonesChanged();\r\n }\r\n }));\r\n this._register(editor.onDidChangeModelContent(function () {\r\n if (_this._isVisible) {\r\n _this._beginUpdateDecorationsSoon();\r\n }\r\n }));\r\n this._register(editor.onDidChangeModelOptions(function (e) {\r\n if (e.tabSize) {\r\n _this._updateDecorationsRunner.schedule();\r\n }\r\n }));\r\n return editor;\r\n };\r\n DiffEditorWidget.prototype._createInnerEditor = function (instantiationService, container, options) {\r\n return instantiationService.createInstance(codeEditorWidget["a" /* CodeEditorWidget */], container, options, {});\r\n };\r\n DiffEditorWidget.prototype.dispose = function () {\r\n this._codeEditorService.removeDiffEditor(this);\r\n if (this._beginUpdateDecorationsTimeout !== -1) {\r\n window.clearTimeout(this._beginUpdateDecorationsTimeout);\r\n this._beginUpdateDecorationsTimeout = -1;\r\n }\r\n this._cleanViewZonesAndDecorations();\r\n if (this._originalOverviewRuler) {\r\n this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode());\r\n this._originalOverviewRuler.dispose();\r\n }\r\n if (this._modifiedOverviewRuler) {\r\n this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode());\r\n this._modifiedOverviewRuler.dispose();\r\n }\r\n this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode);\r\n this._containerDomElement.removeChild(this._overviewDomElement);\r\n this._containerDomElement.removeChild(this._originalDomNode);\r\n this.originalEditor.dispose();\r\n this._containerDomElement.removeChild(this._modifiedDomNode);\r\n this.modifiedEditor.dispose();\r\n this._strategy.dispose();\r\n this._containerDomElement.removeChild(this._reviewPane.domNode.domNode);\r\n this._containerDomElement.removeChild(this._reviewPane.shadow.domNode);\r\n this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode);\r\n this._reviewPane.dispose();\r\n this._domElement.removeChild(this._containerDomElement);\r\n this._onDidDispose.fire();\r\n _super.prototype.dispose.call(this);\r\n };\r\n //------------ begin IDiffEditor methods\r\n DiffEditorWidget.prototype.getId = function () {\r\n return this.getEditorType() + \':\' + this.id;\r\n };\r\n DiffEditorWidget.prototype.getEditorType = function () {\r\n return editorCommon["a" /* EditorType */].IDiffEditor;\r\n };\r\n DiffEditorWidget.prototype.getLineChanges = function () {\r\n if (!this._diffComputationResult) {\r\n return null;\r\n }\r\n return this._diffComputationResult.changes;\r\n };\r\n DiffEditorWidget.prototype.getOriginalEditor = function () {\r\n return this.originalEditor;\r\n };\r\n DiffEditorWidget.prototype.getModifiedEditor = function () {\r\n return this.modifiedEditor;\r\n };\r\n DiffEditorWidget.prototype.updateOptions = function (newOptions) {\r\n // Handle side by side\r\n var renderSideBySideChanged = false;\r\n if (typeof newOptions.renderSideBySide !== \'undefined\') {\r\n if (this._renderSideBySide !== newOptions.renderSideBySide) {\r\n this._renderSideBySide = newOptions.renderSideBySide;\r\n renderSideBySideChanged = true;\r\n }\r\n }\r\n if (typeof newOptions.maxComputationTime !== \'undefined\') {\r\n this._maxComputationTime = newOptions.maxComputationTime;\r\n if (this._isVisible) {\r\n this._beginUpdateDecorationsSoon();\r\n }\r\n }\r\n var beginUpdateDecorations = false;\r\n if (typeof newOptions.ignoreTrimWhitespace !== \'undefined\') {\r\n if (this._ignoreTrimWhitespace !== newOptions.ignoreTrimWhitespace) {\r\n this._ignoreTrimWhitespace = newOptions.ignoreTrimWhitespace;\r\n // Begin comparing\r\n beginUpdateDecorations = true;\r\n }\r\n }\r\n if (typeof newOptions.renderIndicators !== \'undefined\') {\r\n if (this._renderIndicators !== newOptions.renderIndicators) {\r\n this._renderIndicators = newOptions.renderIndicators;\r\n beginUpdateDecorations = true;\r\n }\r\n }\r\n if (beginUpdateDecorations) {\r\n this._beginUpdateDecorations();\r\n }\r\n if (typeof newOptions.originalEditable !== \'undefined\') {\r\n this._originalIsEditable = Boolean(newOptions.originalEditable);\r\n }\r\n this.modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(newOptions));\r\n this.originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(newOptions, this._originalIsEditable));\r\n // enableSplitViewResizing\r\n if (typeof newOptions.enableSplitViewResizing !== \'undefined\') {\r\n this._enableSplitViewResizing = newOptions.enableSplitViewResizing;\r\n }\r\n this._strategy.setEnableSplitViewResizing(this._enableSplitViewResizing);\r\n // renderSideBySide\r\n if (renderSideBySideChanged) {\r\n if (this._renderSideBySide) {\r\n this._setStrategy(new diffEditorWidget_DiffEditorWidgetSideBySide(this._createDataSource(), this._enableSplitViewResizing));\r\n }\r\n else {\r\n this._setStrategy(new diffEditorWidget_DiffEditorWidgetInline(this._createDataSource(), this._enableSplitViewResizing));\r\n }\r\n // Update class name\r\n this._containerDomElement.className = DiffEditorWidget._getClassName(this._themeService.getTheme(), this._renderSideBySide);\r\n }\r\n };\r\n DiffEditorWidget.prototype.getModel = function () {\r\n return {\r\n original: this.originalEditor.getModel(),\r\n modified: this.modifiedEditor.getModel()\r\n };\r\n };\r\n DiffEditorWidget.prototype.setModel = function (model) {\r\n // Guard us against partial null model\r\n if (model && (!model.original || !model.modified)) {\r\n throw new Error(!model.original ? \'DiffEditorWidget.setModel: Original model is null\' : \'DiffEditorWidget.setModel: Modified model is null\');\r\n }\r\n // Remove all view zones & decorations\r\n this._cleanViewZonesAndDecorations();\r\n // Update code editor models\r\n this.originalEditor.setModel(model ? model.original : null);\r\n this.modifiedEditor.setModel(model ? model.modified : null);\r\n this._updateDecorationsRunner.cancel();\r\n // this.originalEditor.onDidChangeModelOptions\r\n if (model) {\r\n this.originalEditor.setScrollTop(0);\r\n this.modifiedEditor.setScrollTop(0);\r\n }\r\n // Disable any diff computations that will come in\r\n this._diffComputationResult = null;\r\n this._diffComputationToken++;\r\n this._setState(0 /* Idle */);\r\n if (model) {\r\n this._recreateOverviewRulers();\r\n // Begin comparing\r\n this._beginUpdateDecorations();\r\n }\r\n this._layoutOverviewViewport();\r\n };\r\n DiffEditorWidget.prototype.getDomNode = function () {\r\n return this._domElement;\r\n };\r\n DiffEditorWidget.prototype.getVisibleColumnFromPosition = function (position) {\r\n return this.modifiedEditor.getVisibleColumnFromPosition(position);\r\n };\r\n DiffEditorWidget.prototype.getPosition = function () {\r\n return this.modifiedEditor.getPosition();\r\n };\r\n DiffEditorWidget.prototype.setPosition = function (position) {\r\n this.modifiedEditor.setPosition(position);\r\n };\r\n DiffEditorWidget.prototype.revealLine = function (lineNumber, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealLine(lineNumber, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealLineInCenter = function (lineNumber, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealLineInCenter(lineNumber, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealLineInCenterIfOutsideViewport = function (lineNumber, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealLineInCenterIfOutsideViewport(lineNumber, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealPosition = function (position, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealPosition(position, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealPositionInCenter = function (position, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealPositionInCenter(position, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealPositionInCenterIfOutsideViewport = function (position, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealPositionInCenterIfOutsideViewport(position, scrollType);\r\n };\r\n DiffEditorWidget.prototype.getSelection = function () {\r\n return this.modifiedEditor.getSelection();\r\n };\r\n DiffEditorWidget.prototype.getSelections = function () {\r\n return this.modifiedEditor.getSelections();\r\n };\r\n DiffEditorWidget.prototype.setSelection = function (something) {\r\n this.modifiedEditor.setSelection(something);\r\n };\r\n DiffEditorWidget.prototype.setSelections = function (ranges) {\r\n this.modifiedEditor.setSelections(ranges);\r\n };\r\n DiffEditorWidget.prototype.revealLines = function (startLineNumber, endLineNumber, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealLines(startLineNumber, endLineNumber, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealLinesInCenter = function (startLineNumber, endLineNumber, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealLinesInCenter(startLineNumber, endLineNumber, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealLinesInCenterIfOutsideViewport = function (startLineNumber, endLineNumber, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealLinesInCenterIfOutsideViewport(startLineNumber, endLineNumber, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealRange = function (range, scrollType, revealVerticalInCenter, revealHorizontal) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n if (revealVerticalInCenter === void 0) { revealVerticalInCenter = false; }\r\n if (revealHorizontal === void 0) { revealHorizontal = true; }\r\n this.modifiedEditor.revealRange(range, scrollType, revealVerticalInCenter, revealHorizontal);\r\n };\r\n DiffEditorWidget.prototype.revealRangeInCenter = function (range, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealRangeInCenter(range, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealRangeInCenterIfOutsideViewport = function (range, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealRangeInCenterIfOutsideViewport(range, scrollType);\r\n };\r\n DiffEditorWidget.prototype.revealRangeAtTop = function (range, scrollType) {\r\n if (scrollType === void 0) { scrollType = 0 /* Smooth */; }\r\n this.modifiedEditor.revealRangeAtTop(range, scrollType);\r\n };\r\n DiffEditorWidget.prototype.getSupportedActions = function () {\r\n return this.modifiedEditor.getSupportedActions();\r\n };\r\n DiffEditorWidget.prototype.saveViewState = function () {\r\n var originalViewState = this.originalEditor.saveViewState();\r\n var modifiedViewState = this.modifiedEditor.saveViewState();\r\n return {\r\n original: originalViewState,\r\n modified: modifiedViewState\r\n };\r\n };\r\n DiffEditorWidget.prototype.restoreViewState = function (s) {\r\n if (s.original && s.modified) {\r\n var diffEditorState = s;\r\n this.originalEditor.restoreViewState(diffEditorState.original);\r\n this.modifiedEditor.restoreViewState(diffEditorState.modified);\r\n }\r\n };\r\n DiffEditorWidget.prototype.layout = function (dimension) {\r\n this._elementSizeObserver.observe(dimension);\r\n };\r\n DiffEditorWidget.prototype.focus = function () {\r\n this.modifiedEditor.focus();\r\n };\r\n DiffEditorWidget.prototype.hasTextFocus = function () {\r\n return this.originalEditor.hasTextFocus() || this.modifiedEditor.hasTextFocus();\r\n };\r\n DiffEditorWidget.prototype.trigger = function (source, handlerId, payload) {\r\n this.modifiedEditor.trigger(source, handlerId, payload);\r\n };\r\n DiffEditorWidget.prototype.changeDecorations = function (callback) {\r\n return this.modifiedEditor.changeDecorations(callback);\r\n };\r\n //------------ end IDiffEditor methods\r\n //------------ begin layouting methods\r\n DiffEditorWidget.prototype._onDidContainerSizeChanged = function () {\r\n this._doLayout();\r\n };\r\n DiffEditorWidget.prototype._getReviewHeight = function () {\r\n return this._reviewPane.isVisible() ? this._elementSizeObserver.getHeight() : 0;\r\n };\r\n DiffEditorWidget.prototype._layoutOverviewRulers = function () {\r\n if (!this._originalOverviewRuler || !this._modifiedOverviewRuler) {\r\n return;\r\n }\r\n var height = this._elementSizeObserver.getHeight();\r\n var reviewHeight = this._getReviewHeight();\r\n var freeSpace = DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * DiffEditorWidget.ONE_OVERVIEW_WIDTH;\r\n var layoutInfo = this.modifiedEditor.getLayoutInfo();\r\n if (layoutInfo) {\r\n this._originalOverviewRuler.setLayout({\r\n top: 0,\r\n width: DiffEditorWidget.ONE_OVERVIEW_WIDTH,\r\n right: freeSpace + DiffEditorWidget.ONE_OVERVIEW_WIDTH,\r\n height: (height - reviewHeight)\r\n });\r\n this._modifiedOverviewRuler.setLayout({\r\n top: 0,\r\n right: 0,\r\n width: DiffEditorWidget.ONE_OVERVIEW_WIDTH,\r\n height: (height - reviewHeight)\r\n });\r\n }\r\n };\r\n //------------ end layouting methods\r\n DiffEditorWidget.prototype._onViewZonesChanged = function () {\r\n if (this._currentlyChangingViewZones) {\r\n return;\r\n }\r\n this._updateDecorationsRunner.schedule();\r\n };\r\n DiffEditorWidget.prototype._beginUpdateDecorationsSoon = function () {\r\n var _this = this;\r\n // Clear previous timeout if necessary\r\n if (this._beginUpdateDecorationsTimeout !== -1) {\r\n window.clearTimeout(this._beginUpdateDecorationsTimeout);\r\n this._beginUpdateDecorationsTimeout = -1;\r\n }\r\n this._beginUpdateDecorationsTimeout = window.setTimeout(function () { return _this._beginUpdateDecorations(); }, DiffEditorWidget.UPDATE_DIFF_DECORATIONS_DELAY);\r\n };\r\n DiffEditorWidget._equals = function (a, b) {\r\n if (!a && !b) {\r\n return true;\r\n }\r\n if (!a || !b) {\r\n return false;\r\n }\r\n return (a.toString() === b.toString());\r\n };\r\n DiffEditorWidget.prototype._beginUpdateDecorations = function () {\r\n var _this = this;\r\n this._beginUpdateDecorationsTimeout = -1;\r\n var currentOriginalModel = this.originalEditor.getModel();\r\n var currentModifiedModel = this.modifiedEditor.getModel();\r\n if (!currentOriginalModel || !currentModifiedModel) {\r\n return;\r\n }\r\n // Prevent old diff requests to come if a new request has been initiated\r\n // The best method would be to call cancel on the Promise, but this is not\r\n // yet supported, so using tokens for now.\r\n this._diffComputationToken++;\r\n var currentToken = this._diffComputationToken;\r\n this._setState(1 /* ComputingDiff */);\r\n if (!this._editorWorkerService.canComputeDiff(currentOriginalModel.uri, currentModifiedModel.uri)) {\r\n if (!DiffEditorWidget._equals(currentOriginalModel.uri, this._lastOriginalWarning)\r\n || !DiffEditorWidget._equals(currentModifiedModel.uri, this._lastModifiedWarning)) {\r\n this._lastOriginalWarning = currentOriginalModel.uri;\r\n this._lastModifiedWarning = currentModifiedModel.uri;\r\n this._notificationService.warn(nls["a" /* localize */]("diff.tooLarge", "Cannot compare files because one file is too large."));\r\n }\r\n return;\r\n }\r\n this._editorWorkerService.computeDiff(currentOriginalModel.uri, currentModifiedModel.uri, this._ignoreTrimWhitespace, this._maxComputationTime).then(function (result) {\r\n if (currentToken === _this._diffComputationToken\r\n && currentOriginalModel === _this.originalEditor.getModel()\r\n && currentModifiedModel === _this.modifiedEditor.getModel()) {\r\n _this._setState(2 /* DiffComputed */);\r\n _this._diffComputationResult = result;\r\n _this._updateDecorationsRunner.schedule();\r\n _this._onDidUpdateDiff.fire();\r\n }\r\n }, function (error) {\r\n if (currentToken === _this._diffComputationToken\r\n && currentOriginalModel === _this.originalEditor.getModel()\r\n && currentModifiedModel === _this.modifiedEditor.getModel()) {\r\n _this._setState(2 /* DiffComputed */);\r\n _this._diffComputationResult = null;\r\n _this._updateDecorationsRunner.schedule();\r\n }\r\n });\r\n };\r\n DiffEditorWidget.prototype._cleanViewZonesAndDecorations = function () {\r\n this._originalEditorState.clean(this.originalEditor);\r\n this._modifiedEditorState.clean(this.modifiedEditor);\r\n };\r\n DiffEditorWidget.prototype._updateDecorations = function () {\r\n if (!this.originalEditor.getModel() || !this.modifiedEditor.getModel() || !this._originalOverviewRuler || !this._modifiedOverviewRuler) {\r\n return;\r\n }\r\n var lineChanges = (this._diffComputationResult ? this._diffComputationResult.changes : []);\r\n var foreignOriginal = this._originalEditorState.getForeignViewZones(this.originalEditor.getWhitespaces());\r\n var foreignModified = this._modifiedEditorState.getForeignViewZones(this.modifiedEditor.getWhitespaces());\r\n var diffDecorations = this._strategy.getEditorsDiffDecorations(lineChanges, this._ignoreTrimWhitespace, this._renderIndicators, foreignOriginal, foreignModified, this.originalEditor, this.modifiedEditor);\r\n try {\r\n this._currentlyChangingViewZones = true;\r\n this._originalEditorState.apply(this.originalEditor, this._originalOverviewRuler, diffDecorations.original, false);\r\n this._modifiedEditorState.apply(this.modifiedEditor, this._modifiedOverviewRuler, diffDecorations.modified, true);\r\n }\r\n finally {\r\n this._currentlyChangingViewZones = false;\r\n }\r\n };\r\n DiffEditorWidget.prototype._adjustOptionsForSubEditor = function (options) {\r\n var clonedOptions = objects["c" /* deepClone */](options || {});\r\n clonedOptions.inDiffEditor = true;\r\n clonedOptions.wordWrap = \'off\';\r\n clonedOptions.wordWrapMinified = false;\r\n clonedOptions.automaticLayout = false;\r\n clonedOptions.scrollbar = clonedOptions.scrollbar || {};\r\n clonedOptions.scrollbar.vertical = \'visible\';\r\n clonedOptions.folding = false;\r\n clonedOptions.codeLens = false;\r\n clonedOptions.fixedOverflowWidgets = true;\r\n // clonedOptions.lineDecorationsWidth = \'2ch\';\r\n if (!clonedOptions.minimap) {\r\n clonedOptions.minimap = {};\r\n }\r\n clonedOptions.minimap.enabled = false;\r\n return clonedOptions;\r\n };\r\n DiffEditorWidget.prototype._adjustOptionsForLeftHandSide = function (options, isEditable) {\r\n var result = this._adjustOptionsForSubEditor(options);\r\n result.readOnly = !isEditable;\r\n result.extraEditorClassName = \'original-in-monaco-diff-editor\';\r\n return result;\r\n };\r\n DiffEditorWidget.prototype._adjustOptionsForRightHandSide = function (options) {\r\n var result = this._adjustOptionsForSubEditor(options);\r\n result.revealHorizontalRightPadding = editorOptions["e" /* EditorOptions */].revealHorizontalRightPadding.defaultValue + DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;\r\n result.scrollbar.verticalHasArrows = false;\r\n result.extraEditorClassName = \'modified-in-monaco-diff-editor\';\r\n return result;\r\n };\r\n DiffEditorWidget.prototype.doLayout = function () {\r\n this._elementSizeObserver.observe();\r\n this._doLayout();\r\n };\r\n DiffEditorWidget.prototype._doLayout = function () {\r\n var width = this._elementSizeObserver.getWidth();\r\n var height = this._elementSizeObserver.getHeight();\r\n var reviewHeight = this._getReviewHeight();\r\n var splitPoint = this._strategy.layout();\r\n this._originalDomNode.style.width = splitPoint + \'px\';\r\n this._originalDomNode.style.left = \'0px\';\r\n this._modifiedDomNode.style.width = (width - splitPoint) + \'px\';\r\n this._modifiedDomNode.style.left = splitPoint + \'px\';\r\n this._overviewDomElement.style.top = \'0px\';\r\n this._overviewDomElement.style.height = (height - reviewHeight) + \'px\';\r\n this._overviewDomElement.style.width = DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH + \'px\';\r\n this._overviewDomElement.style.left = (width - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH) + \'px\';\r\n this._overviewViewportDomElement.setWidth(DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH);\r\n this._overviewViewportDomElement.setHeight(30);\r\n this.originalEditor.layout({ width: splitPoint, height: (height - reviewHeight) });\r\n this.modifiedEditor.layout({ width: width - splitPoint - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH, height: (height - reviewHeight) });\r\n if (this._originalOverviewRuler || this._modifiedOverviewRuler) {\r\n this._layoutOverviewRulers();\r\n }\r\n this._reviewPane.layout(height - reviewHeight, width, reviewHeight);\r\n this._layoutOverviewViewport();\r\n };\r\n DiffEditorWidget.prototype._layoutOverviewViewport = function () {\r\n var layout = this._computeOverviewViewport();\r\n if (!layout) {\r\n this._overviewViewportDomElement.setTop(0);\r\n this._overviewViewportDomElement.setHeight(0);\r\n }\r\n else {\r\n this._overviewViewportDomElement.setTop(layout.top);\r\n this._overviewViewportDomElement.setHeight(layout.height);\r\n }\r\n };\r\n DiffEditorWidget.prototype._computeOverviewViewport = function () {\r\n var layoutInfo = this.modifiedEditor.getLayoutInfo();\r\n if (!layoutInfo) {\r\n return null;\r\n }\r\n var scrollTop = this.modifiedEditor.getScrollTop();\r\n var scrollHeight = this.modifiedEditor.getScrollHeight();\r\n var computedAvailableSize = Math.max(0, layoutInfo.height);\r\n var computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * 0);\r\n var computedRatio = scrollHeight > 0 ? (computedRepresentableSize / scrollHeight) : 0;\r\n var computedSliderSize = Math.max(0, Math.floor(layoutInfo.height * computedRatio));\r\n var computedSliderPosition = Math.floor(scrollTop * computedRatio);\r\n return {\r\n height: computedSliderSize,\r\n top: computedSliderPosition\r\n };\r\n };\r\n DiffEditorWidget.prototype._createDataSource = function () {\r\n var _this = this;\r\n return {\r\n getWidth: function () {\r\n return _this._elementSizeObserver.getWidth();\r\n },\r\n getHeight: function () {\r\n return (_this._elementSizeObserver.getHeight() - _this._getReviewHeight());\r\n },\r\n getContainerDomNode: function () {\r\n return _this._containerDomElement;\r\n },\r\n relayoutEditors: function () {\r\n _this._doLayout();\r\n },\r\n getOriginalEditor: function () {\r\n return _this.originalEditor;\r\n },\r\n getModifiedEditor: function () {\r\n return _this.modifiedEditor;\r\n }\r\n };\r\n };\r\n DiffEditorWidget.prototype._setStrategy = function (newStrategy) {\r\n if (this._strategy) {\r\n this._strategy.dispose();\r\n }\r\n this._strategy = newStrategy;\r\n newStrategy.applyColors(this._themeService.getTheme());\r\n if (this._diffComputationResult) {\r\n this._updateDecorations();\r\n }\r\n // Just do a layout, the strategy might need it\r\n this._doLayout();\r\n };\r\n DiffEditorWidget.prototype._getLineChangeAtOrBeforeLineNumber = function (lineNumber, startLineNumberExtractor) {\r\n var lineChanges = (this._diffComputationResult ? this._diffComputationResult.changes : []);\r\n if (lineChanges.length === 0 || lineNumber < startLineNumberExtractor(lineChanges[0])) {\r\n // There are no changes or `lineNumber` is before the first change\r\n return null;\r\n }\r\n var min = 0, max = lineChanges.length - 1;\r\n while (min < max) {\r\n var mid = Math.floor((min + max) / 2);\r\n var midStart = startLineNumberExtractor(lineChanges[mid]);\r\n var midEnd = (mid + 1 <= max ? startLineNumberExtractor(lineChanges[mid + 1]) : 1073741824 /* MAX_SAFE_SMALL_INTEGER */);\r\n if (lineNumber < midStart) {\r\n max = mid - 1;\r\n }\r\n else if (lineNumber >= midEnd) {\r\n min = mid + 1;\r\n }\r\n else {\r\n // HIT!\r\n min = mid;\r\n max = mid;\r\n }\r\n }\r\n return lineChanges[min];\r\n };\r\n DiffEditorWidget.prototype._getEquivalentLineForOriginalLineNumber = function (lineNumber) {\r\n var lineChange = this._getLineChangeAtOrBeforeLineNumber(lineNumber, function (lineChange) { return lineChange.originalStartLineNumber; });\r\n if (!lineChange) {\r\n return lineNumber;\r\n }\r\n var originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);\r\n var modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);\r\n var lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);\r\n var lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);\r\n var delta = lineNumber - originalEquivalentLineNumber;\r\n if (delta <= lineChangeOriginalLength) {\r\n return modifiedEquivalentLineNumber + Math.min(delta, lineChangeModifiedLength);\r\n }\r\n return modifiedEquivalentLineNumber + lineChangeModifiedLength - lineChangeOriginalLength + delta;\r\n };\r\n DiffEditorWidget.prototype._getEquivalentLineForModifiedLineNumber = function (lineNumber) {\r\n var lineChange = this._getLineChangeAtOrBeforeLineNumber(lineNumber, function (lineChange) { return lineChange.modifiedStartLineNumber; });\r\n if (!lineChange) {\r\n return lineNumber;\r\n }\r\n var originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);\r\n var modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);\r\n var lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);\r\n var lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);\r\n var delta = lineNumber - modifiedEquivalentLineNumber;\r\n if (delta <= lineChangeModifiedLength) {\r\n return originalEquivalentLineNumber + Math.min(delta, lineChangeOriginalLength);\r\n }\r\n return originalEquivalentLineNumber + lineChangeOriginalLength - lineChangeModifiedLength + delta;\r\n };\r\n DiffEditorWidget.prototype.getDiffLineInformationForOriginal = function (lineNumber) {\r\n if (!this._diffComputationResult) {\r\n // Cannot answer that which I don\'t know\r\n return null;\r\n }\r\n return {\r\n equivalentLineNumber: this._getEquivalentLineForOriginalLineNumber(lineNumber)\r\n };\r\n };\r\n DiffEditorWidget.prototype.getDiffLineInformationForModified = function (lineNumber) {\r\n if (!this._diffComputationResult) {\r\n // Cannot answer that which I don\'t know\r\n return null;\r\n }\r\n return {\r\n equivalentLineNumber: this._getEquivalentLineForModifiedLineNumber(lineNumber)\r\n };\r\n };\r\n DiffEditorWidget.ONE_OVERVIEW_WIDTH = 15;\r\n DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH = 30;\r\n DiffEditorWidget.UPDATE_DIFF_DECORATIONS_DELAY = 200; // ms\r\n DiffEditorWidget = diffEditorWidget_decorate([\r\n diffEditorWidget_param(3, services_editorWorkerService["a" /* IEditorWorkerService */]),\r\n diffEditorWidget_param(4, contextkey["c" /* IContextKeyService */]),\r\n diffEditorWidget_param(5, instantiation["a" /* IInstantiationService */]),\r\n diffEditorWidget_param(6, services_codeEditorService["a" /* ICodeEditorService */]),\r\n diffEditorWidget_param(7, common_themeService["c" /* IThemeService */]),\r\n diffEditorWidget_param(8, common_notification["a" /* INotificationService */]),\r\n diffEditorWidget_param(9, contextView["a" /* IContextMenuService */]),\r\n diffEditorWidget_param(10, progress["a" /* IEditorProgressService */])\r\n ], DiffEditorWidget);\r\n return DiffEditorWidget;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\nvar diffEditorWidget_DiffEditorWidgetStyle = /** @class */ (function (_super) {\r\n diffEditorWidget_extends(DiffEditorWidgetStyle, _super);\r\n function DiffEditorWidgetStyle(dataSource) {\r\n var _this = _super.call(this) || this;\r\n _this._dataSource = dataSource;\r\n _this._insertColor = null;\r\n _this._removeColor = null;\r\n return _this;\r\n }\r\n DiffEditorWidgetStyle.prototype.applyColors = function (theme) {\r\n var newInsertColor = (theme.getColor(colorRegistry["j" /* diffInserted */]) || colorRegistry["g" /* defaultInsertColor */]).transparent(2);\r\n var newRemoveColor = (theme.getColor(colorRegistry["l" /* diffRemoved */]) || colorRegistry["h" /* defaultRemoveColor */]).transparent(2);\r\n var hasChanges = !newInsertColor.equals(this._insertColor) || !newRemoveColor.equals(this._removeColor);\r\n this._insertColor = newInsertColor;\r\n this._removeColor = newRemoveColor;\r\n return hasChanges;\r\n };\r\n DiffEditorWidgetStyle.prototype.getEditorsDiffDecorations = function (lineChanges, ignoreTrimWhitespace, renderIndicators, originalWhitespaces, modifiedWhitespaces, originalEditor, modifiedEditor) {\r\n // Get view zones\r\n modifiedWhitespaces = modifiedWhitespaces.sort(function (a, b) {\r\n return a.afterLineNumber - b.afterLineNumber;\r\n });\r\n originalWhitespaces = originalWhitespaces.sort(function (a, b) {\r\n return a.afterLineNumber - b.afterLineNumber;\r\n });\r\n var zones = this._getViewZones(lineChanges, originalWhitespaces, modifiedWhitespaces, originalEditor, modifiedEditor, renderIndicators);\r\n // Get decorations & overview ruler zones\r\n var originalDecorations = this._getOriginalEditorDecorations(lineChanges, ignoreTrimWhitespace, renderIndicators, originalEditor, modifiedEditor);\r\n var modifiedDecorations = this._getModifiedEditorDecorations(lineChanges, ignoreTrimWhitespace, renderIndicators, originalEditor, modifiedEditor);\r\n return {\r\n original: {\r\n decorations: originalDecorations.decorations,\r\n overviewZones: originalDecorations.overviewZones,\r\n zones: zones.original\r\n },\r\n modified: {\r\n decorations: modifiedDecorations.decorations,\r\n overviewZones: modifiedDecorations.overviewZones,\r\n zones: zones.modified\r\n }\r\n };\r\n };\r\n return DiffEditorWidgetStyle;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar ForeignViewZonesIterator = /** @class */ (function () {\r\n function ForeignViewZonesIterator(source) {\r\n this._source = source;\r\n this._index = -1;\r\n this.current = null;\r\n this.advance();\r\n }\r\n ForeignViewZonesIterator.prototype.advance = function () {\r\n this._index++;\r\n if (this._index < this._source.length) {\r\n this.current = this._source[this._index];\r\n }\r\n else {\r\n this.current = null;\r\n }\r\n };\r\n return ForeignViewZonesIterator;\r\n}());\r\nvar ViewZonesComputer = /** @class */ (function () {\r\n function ViewZonesComputer(lineChanges, originalForeignVZ, originalLineHeight, modifiedForeignVZ, modifiedLineHeight) {\r\n this.lineChanges = lineChanges;\r\n this.originalForeignVZ = originalForeignVZ;\r\n this.originalLineHeight = originalLineHeight;\r\n this.modifiedForeignVZ = modifiedForeignVZ;\r\n this.modifiedLineHeight = modifiedLineHeight;\r\n }\r\n ViewZonesComputer.prototype.getViewZones = function () {\r\n var result = {\r\n original: [],\r\n modified: []\r\n };\r\n var lineChangeModifiedLength = 0;\r\n var lineChangeOriginalLength = 0;\r\n var originalEquivalentLineNumber = 0;\r\n var modifiedEquivalentLineNumber = 0;\r\n var originalEndEquivalentLineNumber = 0;\r\n var modifiedEndEquivalentLineNumber = 0;\r\n var sortMyViewZones = function (a, b) {\r\n return a.afterLineNumber - b.afterLineNumber;\r\n };\r\n var addAndCombineIfPossible = function (destination, item) {\r\n if (item.domNode === null && destination.length > 0) {\r\n var lastItem = destination[destination.length - 1];\r\n if (lastItem.afterLineNumber === item.afterLineNumber && lastItem.domNode === null) {\r\n lastItem.heightInLines += item.heightInLines;\r\n return;\r\n }\r\n }\r\n destination.push(item);\r\n };\r\n var modifiedForeignVZ = new ForeignViewZonesIterator(this.modifiedForeignVZ);\r\n var originalForeignVZ = new ForeignViewZonesIterator(this.originalForeignVZ);\r\n // In order to include foreign view zones after the last line change, the for loop will iterate once more after the end of the `lineChanges` array\r\n for (var i = 0, length_5 = this.lineChanges.length; i <= length_5; i++) {\r\n var lineChange = (i < length_5 ? this.lineChanges[i] : null);\r\n if (lineChange !== null) {\r\n originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);\r\n modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);\r\n lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);\r\n lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);\r\n originalEndEquivalentLineNumber = Math.max(lineChange.originalStartLineNumber, lineChange.originalEndLineNumber);\r\n modifiedEndEquivalentLineNumber = Math.max(lineChange.modifiedStartLineNumber, lineChange.modifiedEndLineNumber);\r\n }\r\n else {\r\n // Increase to very large value to get the producing tests of foreign view zones running\r\n originalEquivalentLineNumber += 10000000 + lineChangeOriginalLength;\r\n modifiedEquivalentLineNumber += 10000000 + lineChangeModifiedLength;\r\n originalEndEquivalentLineNumber = originalEquivalentLineNumber;\r\n modifiedEndEquivalentLineNumber = modifiedEquivalentLineNumber;\r\n }\r\n // Each step produces view zones, and after producing them, we try to cancel them out, to avoid empty-empty view zone cases\r\n var stepOriginal = [];\r\n var stepModified = [];\r\n // ---------------------------- PRODUCE VIEW ZONES\r\n // [PRODUCE] View zone(s) in original-side due to foreign view zone(s) in modified-side\r\n while (modifiedForeignVZ.current && modifiedForeignVZ.current.afterLineNumber <= modifiedEndEquivalentLineNumber) {\r\n var viewZoneLineNumber = void 0;\r\n if (modifiedForeignVZ.current.afterLineNumber <= modifiedEquivalentLineNumber) {\r\n viewZoneLineNumber = originalEquivalentLineNumber - modifiedEquivalentLineNumber + modifiedForeignVZ.current.afterLineNumber;\r\n }\r\n else {\r\n viewZoneLineNumber = originalEndEquivalentLineNumber;\r\n }\r\n var marginDomNode = null;\r\n if (lineChange && lineChange.modifiedStartLineNumber <= modifiedForeignVZ.current.afterLineNumber && modifiedForeignVZ.current.afterLineNumber <= lineChange.modifiedEndLineNumber) {\r\n marginDomNode = this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion();\r\n }\r\n stepOriginal.push({\r\n afterLineNumber: viewZoneLineNumber,\r\n heightInLines: modifiedForeignVZ.current.height / this.modifiedLineHeight,\r\n domNode: null,\r\n marginDomNode: marginDomNode\r\n });\r\n modifiedForeignVZ.advance();\r\n }\r\n // [PRODUCE] View zone(s) in modified-side due to foreign view zone(s) in original-side\r\n while (originalForeignVZ.current && originalForeignVZ.current.afterLineNumber <= originalEndEquivalentLineNumber) {\r\n var viewZoneLineNumber = void 0;\r\n if (originalForeignVZ.current.afterLineNumber <= originalEquivalentLineNumber) {\r\n viewZoneLineNumber = modifiedEquivalentLineNumber - originalEquivalentLineNumber + originalForeignVZ.current.afterLineNumber;\r\n }\r\n else {\r\n viewZoneLineNumber = modifiedEndEquivalentLineNumber;\r\n }\r\n stepModified.push({\r\n afterLineNumber: viewZoneLineNumber,\r\n heightInLines: originalForeignVZ.current.height / this.originalLineHeight,\r\n domNode: null\r\n });\r\n originalForeignVZ.advance();\r\n }\r\n if (lineChange !== null && isChangeOrInsert(lineChange)) {\r\n var r = this._produceOriginalFromDiff(lineChange, lineChangeOriginalLength, lineChangeModifiedLength);\r\n if (r) {\r\n stepOriginal.push(r);\r\n }\r\n }\r\n if (lineChange !== null && isChangeOrDelete(lineChange)) {\r\n var r = this._produceModifiedFromDiff(lineChange, lineChangeOriginalLength, lineChangeModifiedLength);\r\n if (r) {\r\n stepModified.push(r);\r\n }\r\n }\r\n // ---------------------------- END PRODUCE VIEW ZONES\r\n // ---------------------------- EMIT MINIMAL VIEW ZONES\r\n // [CANCEL & EMIT] Try to cancel view zones out\r\n var stepOriginalIndex = 0;\r\n var stepModifiedIndex = 0;\r\n stepOriginal = stepOriginal.sort(sortMyViewZones);\r\n stepModified = stepModified.sort(sortMyViewZones);\r\n while (stepOriginalIndex < stepOriginal.length && stepModifiedIndex < stepModified.length) {\r\n var original = stepOriginal[stepOriginalIndex];\r\n var modified = stepModified[stepModifiedIndex];\r\n var originalDelta = original.afterLineNumber - originalEquivalentLineNumber;\r\n var modifiedDelta = modified.afterLineNumber - modifiedEquivalentLineNumber;\r\n if (originalDelta < modifiedDelta) {\r\n addAndCombineIfPossible(result.original, original);\r\n stepOriginalIndex++;\r\n }\r\n else if (modifiedDelta < originalDelta) {\r\n addAndCombineIfPossible(result.modified, modified);\r\n stepModifiedIndex++;\r\n }\r\n else if (original.shouldNotShrink) {\r\n addAndCombineIfPossible(result.original, original);\r\n stepOriginalIndex++;\r\n }\r\n else if (modified.shouldNotShrink) {\r\n addAndCombineIfPossible(result.modified, modified);\r\n stepModifiedIndex++;\r\n }\r\n else {\r\n if (original.heightInLines >= modified.heightInLines) {\r\n // modified view zone gets removed\r\n original.heightInLines -= modified.heightInLines;\r\n stepModifiedIndex++;\r\n }\r\n else {\r\n // original view zone gets removed\r\n modified.heightInLines -= original.heightInLines;\r\n stepOriginalIndex++;\r\n }\r\n }\r\n }\r\n // [EMIT] Remaining original view zones\r\n while (stepOriginalIndex < stepOriginal.length) {\r\n addAndCombineIfPossible(result.original, stepOriginal[stepOriginalIndex]);\r\n stepOriginalIndex++;\r\n }\r\n // [EMIT] Remaining modified view zones\r\n while (stepModifiedIndex < stepModified.length) {\r\n addAndCombineIfPossible(result.modified, stepModified[stepModifiedIndex]);\r\n stepModifiedIndex++;\r\n }\r\n // ---------------------------- END EMIT MINIMAL VIEW ZONES\r\n }\r\n return {\r\n original: ViewZonesComputer._ensureDomNodes(result.original),\r\n modified: ViewZonesComputer._ensureDomNodes(result.modified),\r\n };\r\n };\r\n ViewZonesComputer._ensureDomNodes = function (zones) {\r\n return zones.map(function (z) {\r\n if (!z.domNode) {\r\n z.domNode = createFakeLinesDiv();\r\n }\r\n return z;\r\n });\r\n };\r\n return ViewZonesComputer;\r\n}());\r\nfunction createDecoration(startLineNumber, startColumn, endLineNumber, endColumn, options) {\r\n return {\r\n range: new core_range["a" /* Range */](startLineNumber, startColumn, endLineNumber, endColumn),\r\n options: options\r\n };\r\n}\r\nvar DECORATIONS = {\r\n charDelete: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'char-delete\'\r\n }),\r\n charDeleteWholeLine: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'char-delete\',\r\n isWholeLine: true\r\n }),\r\n charInsert: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'char-insert\'\r\n }),\r\n charInsertWholeLine: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'char-insert\',\r\n isWholeLine: true\r\n }),\r\n lineInsert: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'line-insert\',\r\n marginClassName: \'line-insert\',\r\n isWholeLine: true\r\n }),\r\n lineInsertWithSign: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'line-insert\',\r\n linesDecorationsClassName: \'insert-sign codicon codicon-add\',\r\n marginClassName: \'line-insert\',\r\n isWholeLine: true\r\n }),\r\n lineDelete: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'line-delete\',\r\n marginClassName: \'line-delete\',\r\n isWholeLine: true\r\n }),\r\n lineDeleteWithSign: textModel["a" /* ModelDecorationOptions */].register({\r\n className: \'line-delete\',\r\n linesDecorationsClassName: \'delete-sign codicon codicon-remove\',\r\n marginClassName: \'line-delete\',\r\n isWholeLine: true\r\n }),\r\n lineDeleteMargin: textModel["a" /* ModelDecorationOptions */].register({\r\n marginClassName: \'line-delete\',\r\n })\r\n};\r\nvar diffEditorWidget_DiffEditorWidgetSideBySide = /** @class */ (function (_super) {\r\n diffEditorWidget_extends(DiffEditorWidgetSideBySide, _super);\r\n function DiffEditorWidgetSideBySide(dataSource, enableSplitViewResizing) {\r\n var _this = _super.call(this, dataSource) || this;\r\n _this._disableSash = (enableSplitViewResizing === false);\r\n _this._sashRatio = null;\r\n _this._sashPosition = null;\r\n _this._startSashPosition = null;\r\n _this._sash = _this._register(new sash["a" /* Sash */](_this._dataSource.getContainerDomNode(), _this));\r\n if (_this._disableSash) {\r\n _this._sash.state = 0 /* Disabled */;\r\n }\r\n _this._sash.onDidStart(function () { return _this.onSashDragStart(); });\r\n _this._sash.onDidChange(function (e) { return _this.onSashDrag(e); });\r\n _this._sash.onDidEnd(function () { return _this.onSashDragEnd(); });\r\n _this._sash.onDidReset(function () { return _this.onSashReset(); });\r\n return _this;\r\n }\r\n DiffEditorWidgetSideBySide.prototype.setEnableSplitViewResizing = function (enableSplitViewResizing) {\r\n var newDisableSash = (enableSplitViewResizing === false);\r\n if (this._disableSash !== newDisableSash) {\r\n this._disableSash = newDisableSash;\r\n this._sash.state = this._disableSash ? 0 /* Disabled */ : 3 /* Enabled */;\r\n }\r\n };\r\n DiffEditorWidgetSideBySide.prototype.layout = function (sashRatio) {\r\n if (sashRatio === void 0) { sashRatio = this._sashRatio; }\r\n var w = this._dataSource.getWidth();\r\n var contentWidth = w - diffEditorWidget_DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;\r\n var sashPosition = Math.floor((sashRatio || 0.5) * contentWidth);\r\n var midPoint = Math.floor(0.5 * contentWidth);\r\n sashPosition = this._disableSash ? midPoint : sashPosition || midPoint;\r\n if (contentWidth > DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH * 2) {\r\n if (sashPosition < DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH) {\r\n sashPosition = DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH;\r\n }\r\n if (sashPosition > contentWidth - DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH) {\r\n sashPosition = contentWidth - DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH;\r\n }\r\n }\r\n else {\r\n sashPosition = midPoint;\r\n }\r\n if (this._sashPosition !== sashPosition) {\r\n this._sashPosition = sashPosition;\r\n this._sash.layout();\r\n }\r\n return this._sashPosition;\r\n };\r\n DiffEditorWidgetSideBySide.prototype.onSashDragStart = function () {\r\n this._startSashPosition = this._sashPosition;\r\n };\r\n DiffEditorWidgetSideBySide.prototype.onSashDrag = function (e) {\r\n var w = this._dataSource.getWidth();\r\n var contentWidth = w - diffEditorWidget_DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;\r\n var sashPosition = this.layout((this._startSashPosition + (e.currentX - e.startX)) / contentWidth);\r\n this._sashRatio = sashPosition / contentWidth;\r\n this._dataSource.relayoutEditors();\r\n };\r\n DiffEditorWidgetSideBySide.prototype.onSashDragEnd = function () {\r\n this._sash.layout();\r\n };\r\n DiffEditorWidgetSideBySide.prototype.onSashReset = function () {\r\n this._sashRatio = 0.5;\r\n this._dataSource.relayoutEditors();\r\n this._sash.layout();\r\n };\r\n DiffEditorWidgetSideBySide.prototype.getVerticalSashTop = function (sash) {\r\n return 0;\r\n };\r\n DiffEditorWidgetSideBySide.prototype.getVerticalSashLeft = function (sash) {\r\n return this._sashPosition;\r\n };\r\n DiffEditorWidgetSideBySide.prototype.getVerticalSashHeight = function (sash) {\r\n return this._dataSource.getHeight();\r\n };\r\n DiffEditorWidgetSideBySide.prototype._getViewZones = function (lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor) {\r\n var c = new SideBySideViewZonesComputer(lineChanges, originalForeignVZ, originalEditor.getOption(49 /* lineHeight */), modifiedForeignVZ, modifiedEditor.getOption(49 /* lineHeight */));\r\n return c.getViewZones();\r\n };\r\n DiffEditorWidgetSideBySide.prototype._getOriginalEditorDecorations = function (lineChanges, ignoreTrimWhitespace, renderIndicators, originalEditor, modifiedEditor) {\r\n var overviewZoneColor = String(this._removeColor);\r\n var result = {\r\n decorations: [],\r\n overviewZones: []\r\n };\r\n var originalModel = originalEditor.getModel();\r\n for (var i = 0, length_6 = lineChanges.length; i < length_6; i++) {\r\n var lineChange = lineChanges[i];\r\n if (isChangeOrDelete(lineChange)) {\r\n result.decorations.push({\r\n range: new core_range["a" /* Range */](lineChange.originalStartLineNumber, 1, lineChange.originalEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */),\r\n options: (renderIndicators ? DECORATIONS.lineDeleteWithSign : DECORATIONS.lineDelete)\r\n });\r\n if (!isChangeOrInsert(lineChange) || !lineChange.charChanges) {\r\n result.decorations.push(createDecoration(lineChange.originalStartLineNumber, 1, lineChange.originalEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, DECORATIONS.charDeleteWholeLine));\r\n }\r\n result.overviewZones.push(new overviewZoneManager["a" /* OverviewRulerZone */](lineChange.originalStartLineNumber, lineChange.originalEndLineNumber, overviewZoneColor));\r\n if (lineChange.charChanges) {\r\n for (var j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {\r\n var charChange = lineChange.charChanges[j];\r\n if (isChangeOrDelete(charChange)) {\r\n if (ignoreTrimWhitespace) {\r\n for (var lineNumber = charChange.originalStartLineNumber; lineNumber <= charChange.originalEndLineNumber; lineNumber++) {\r\n var startColumn = void 0;\r\n var endColumn = void 0;\r\n if (lineNumber === charChange.originalStartLineNumber) {\r\n startColumn = charChange.originalStartColumn;\r\n }\r\n else {\r\n startColumn = originalModel.getLineFirstNonWhitespaceColumn(lineNumber);\r\n }\r\n if (lineNumber === charChange.originalEndLineNumber) {\r\n endColumn = charChange.originalEndColumn;\r\n }\r\n else {\r\n endColumn = originalModel.getLineLastNonWhitespaceColumn(lineNumber);\r\n }\r\n result.decorations.push(createDecoration(lineNumber, startColumn, lineNumber, endColumn, DECORATIONS.charDelete));\r\n }\r\n }\r\n else {\r\n result.decorations.push(createDecoration(charChange.originalStartLineNumber, charChange.originalStartColumn, charChange.originalEndLineNumber, charChange.originalEndColumn, DECORATIONS.charDelete));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n DiffEditorWidgetSideBySide.prototype._getModifiedEditorDecorations = function (lineChanges, ignoreTrimWhitespace, renderIndicators, originalEditor, modifiedEditor) {\r\n var overviewZoneColor = String(this._insertColor);\r\n var result = {\r\n decorations: [],\r\n overviewZones: []\r\n };\r\n var modifiedModel = modifiedEditor.getModel();\r\n for (var i = 0, length_7 = lineChanges.length; i < length_7; i++) {\r\n var lineChange = lineChanges[i];\r\n if (isChangeOrInsert(lineChange)) {\r\n result.decorations.push({\r\n range: new core_range["a" /* Range */](lineChange.modifiedStartLineNumber, 1, lineChange.modifiedEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */),\r\n options: (renderIndicators ? DECORATIONS.lineInsertWithSign : DECORATIONS.lineInsert)\r\n });\r\n if (!isChangeOrDelete(lineChange) || !lineChange.charChanges) {\r\n result.decorations.push(createDecoration(lineChange.modifiedStartLineNumber, 1, lineChange.modifiedEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, DECORATIONS.charInsertWholeLine));\r\n }\r\n result.overviewZones.push(new overviewZoneManager["a" /* OverviewRulerZone */](lineChange.modifiedStartLineNumber, lineChange.modifiedEndLineNumber, overviewZoneColor));\r\n if (lineChange.charChanges) {\r\n for (var j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {\r\n var charChange = lineChange.charChanges[j];\r\n if (isChangeOrInsert(charChange)) {\r\n if (ignoreTrimWhitespace) {\r\n for (var lineNumber = charChange.modifiedStartLineNumber; lineNumber <= charChange.modifiedEndLineNumber; lineNumber++) {\r\n var startColumn = void 0;\r\n var endColumn = void 0;\r\n if (lineNumber === charChange.modifiedStartLineNumber) {\r\n startColumn = charChange.modifiedStartColumn;\r\n }\r\n else {\r\n startColumn = modifiedModel.getLineFirstNonWhitespaceColumn(lineNumber);\r\n }\r\n if (lineNumber === charChange.modifiedEndLineNumber) {\r\n endColumn = charChange.modifiedEndColumn;\r\n }\r\n else {\r\n endColumn = modifiedModel.getLineLastNonWhitespaceColumn(lineNumber);\r\n }\r\n result.decorations.push(createDecoration(lineNumber, startColumn, lineNumber, endColumn, DECORATIONS.charInsert));\r\n }\r\n }\r\n else {\r\n result.decorations.push(createDecoration(charChange.modifiedStartLineNumber, charChange.modifiedStartColumn, charChange.modifiedEndLineNumber, charChange.modifiedEndColumn, DECORATIONS.charInsert));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH = 100;\r\n return DiffEditorWidgetSideBySide;\r\n}(diffEditorWidget_DiffEditorWidgetStyle));\r\nvar SideBySideViewZonesComputer = /** @class */ (function (_super) {\r\n diffEditorWidget_extends(SideBySideViewZonesComputer, _super);\r\n function SideBySideViewZonesComputer(lineChanges, originalForeignVZ, originalLineHeight, modifiedForeignVZ, modifiedLineHeight) {\r\n return _super.call(this, lineChanges, originalForeignVZ, originalLineHeight, modifiedForeignVZ, modifiedLineHeight) || this;\r\n }\r\n SideBySideViewZonesComputer.prototype._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion = function () {\r\n return null;\r\n };\r\n SideBySideViewZonesComputer.prototype._produceOriginalFromDiff = function (lineChange, lineChangeOriginalLength, lineChangeModifiedLength) {\r\n if (lineChangeModifiedLength > lineChangeOriginalLength) {\r\n return {\r\n afterLineNumber: Math.max(lineChange.originalStartLineNumber, lineChange.originalEndLineNumber),\r\n heightInLines: (lineChangeModifiedLength - lineChangeOriginalLength),\r\n domNode: null\r\n };\r\n }\r\n return null;\r\n };\r\n SideBySideViewZonesComputer.prototype._produceModifiedFromDiff = function (lineChange, lineChangeOriginalLength, lineChangeModifiedLength) {\r\n if (lineChangeOriginalLength > lineChangeModifiedLength) {\r\n return {\r\n afterLineNumber: Math.max(lineChange.modifiedStartLineNumber, lineChange.modifiedEndLineNumber),\r\n heightInLines: (lineChangeOriginalLength - lineChangeModifiedLength),\r\n domNode: null\r\n };\r\n }\r\n return null;\r\n };\r\n return SideBySideViewZonesComputer;\r\n}(ViewZonesComputer));\r\nvar diffEditorWidget_DiffEditorWidgetInline = /** @class */ (function (_super) {\r\n diffEditorWidget_extends(DiffEditorWidgetInline, _super);\r\n function DiffEditorWidgetInline(dataSource, enableSplitViewResizing) {\r\n var _this = _super.call(this, dataSource) || this;\r\n _this.decorationsLeft = dataSource.getOriginalEditor().getLayoutInfo().decorationsLeft;\r\n _this._register(dataSource.getOriginalEditor().onDidLayoutChange(function (layoutInfo) {\r\n if (_this.decorationsLeft !== layoutInfo.decorationsLeft) {\r\n _this.decorationsLeft = layoutInfo.decorationsLeft;\r\n dataSource.relayoutEditors();\r\n }\r\n }));\r\n return _this;\r\n }\r\n DiffEditorWidgetInline.prototype.setEnableSplitViewResizing = function (enableSplitViewResizing) {\r\n // Nothing to do..\r\n };\r\n DiffEditorWidgetInline.prototype._getViewZones = function (lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor, renderIndicators) {\r\n var computer = new diffEditorWidget_InlineViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor, renderIndicators);\r\n return computer.getViewZones();\r\n };\r\n DiffEditorWidgetInline.prototype._getOriginalEditorDecorations = function (lineChanges, ignoreTrimWhitespace, renderIndicators, originalEditor, modifiedEditor) {\r\n var overviewZoneColor = String(this._removeColor);\r\n var result = {\r\n decorations: [],\r\n overviewZones: []\r\n };\r\n for (var i = 0, length_8 = lineChanges.length; i < length_8; i++) {\r\n var lineChange = lineChanges[i];\r\n // Add overview zones in the overview ruler\r\n if (isChangeOrDelete(lineChange)) {\r\n result.decorations.push({\r\n range: new core_range["a" /* Range */](lineChange.originalStartLineNumber, 1, lineChange.originalEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */),\r\n options: DECORATIONS.lineDeleteMargin\r\n });\r\n result.overviewZones.push(new overviewZoneManager["a" /* OverviewRulerZone */](lineChange.originalStartLineNumber, lineChange.originalEndLineNumber, overviewZoneColor));\r\n }\r\n }\r\n return result;\r\n };\r\n DiffEditorWidgetInline.prototype._getModifiedEditorDecorations = function (lineChanges, ignoreTrimWhitespace, renderIndicators, originalEditor, modifiedEditor) {\r\n var overviewZoneColor = String(this._insertColor);\r\n var result = {\r\n decorations: [],\r\n overviewZones: []\r\n };\r\n var modifiedModel = modifiedEditor.getModel();\r\n for (var i = 0, length_9 = lineChanges.length; i < length_9; i++) {\r\n var lineChange = lineChanges[i];\r\n // Add decorations & overview zones\r\n if (isChangeOrInsert(lineChange)) {\r\n result.decorations.push({\r\n range: new core_range["a" /* Range */](lineChange.modifiedStartLineNumber, 1, lineChange.modifiedEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */),\r\n options: (renderIndicators ? DECORATIONS.lineInsertWithSign : DECORATIONS.lineInsert)\r\n });\r\n result.overviewZones.push(new overviewZoneManager["a" /* OverviewRulerZone */](lineChange.modifiedStartLineNumber, lineChange.modifiedEndLineNumber, overviewZoneColor));\r\n if (lineChange.charChanges) {\r\n for (var j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {\r\n var charChange = lineChange.charChanges[j];\r\n if (isChangeOrInsert(charChange)) {\r\n if (ignoreTrimWhitespace) {\r\n for (var lineNumber = charChange.modifiedStartLineNumber; lineNumber <= charChange.modifiedEndLineNumber; lineNumber++) {\r\n var startColumn = void 0;\r\n var endColumn = void 0;\r\n if (lineNumber === charChange.modifiedStartLineNumber) {\r\n startColumn = charChange.modifiedStartColumn;\r\n }\r\n else {\r\n startColumn = modifiedModel.getLineFirstNonWhitespaceColumn(lineNumber);\r\n }\r\n if (lineNumber === charChange.modifiedEndLineNumber) {\r\n endColumn = charChange.modifiedEndColumn;\r\n }\r\n else {\r\n endColumn = modifiedModel.getLineLastNonWhitespaceColumn(lineNumber);\r\n }\r\n result.decorations.push(createDecoration(lineNumber, startColumn, lineNumber, endColumn, DECORATIONS.charInsert));\r\n }\r\n }\r\n else {\r\n result.decorations.push(createDecoration(charChange.modifiedStartLineNumber, charChange.modifiedStartColumn, charChange.modifiedEndLineNumber, charChange.modifiedEndColumn, DECORATIONS.charInsert));\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n result.decorations.push(createDecoration(lineChange.modifiedStartLineNumber, 1, lineChange.modifiedEndLineNumber, 1073741824 /* MAX_SAFE_SMALL_INTEGER */, DECORATIONS.charInsertWholeLine));\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n DiffEditorWidgetInline.prototype.layout = function () {\r\n // An editor should not be smaller than 5px\r\n return Math.max(5, this.decorationsLeft);\r\n };\r\n return DiffEditorWidgetInline;\r\n}(diffEditorWidget_DiffEditorWidgetStyle));\r\nvar diffEditorWidget_InlineViewZonesComputer = /** @class */ (function (_super) {\r\n diffEditorWidget_extends(InlineViewZonesComputer, _super);\r\n function InlineViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor, renderIndicators) {\r\n var _this = _super.call(this, lineChanges, originalForeignVZ, originalEditor.getOption(49 /* lineHeight */), modifiedForeignVZ, modifiedEditor.getOption(49 /* lineHeight */)) || this;\r\n _this.originalModel = originalEditor.getModel();\r\n _this.modifiedEditorOptions = modifiedEditor.getOptions();\r\n _this.modifiedEditorTabSize = modifiedEditor.getModel().getOptions().tabSize;\r\n _this.renderIndicators = renderIndicators;\r\n return _this;\r\n }\r\n InlineViewZonesComputer.prototype._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion = function () {\r\n var result = document.createElement(\'div\');\r\n result.className = \'inline-added-margin-view-zone\';\r\n return result;\r\n };\r\n InlineViewZonesComputer.prototype._produceOriginalFromDiff = function (lineChange, lineChangeOriginalLength, lineChangeModifiedLength) {\r\n var marginDomNode = document.createElement(\'div\');\r\n marginDomNode.className = \'inline-added-margin-view-zone\';\r\n return {\r\n afterLineNumber: Math.max(lineChange.originalStartLineNumber, lineChange.originalEndLineNumber),\r\n heightInLines: lineChangeModifiedLength,\r\n domNode: document.createElement(\'div\'),\r\n marginDomNode: marginDomNode\r\n };\r\n };\r\n InlineViewZonesComputer.prototype._produceModifiedFromDiff = function (lineChange, lineChangeOriginalLength, lineChangeModifiedLength) {\r\n var decorations = [];\r\n if (lineChange.charChanges) {\r\n for (var j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {\r\n var charChange = lineChange.charChanges[j];\r\n if (isChangeOrDelete(charChange)) {\r\n decorations.push(new viewModel["a" /* InlineDecoration */](new core_range["a" /* Range */](charChange.originalStartLineNumber, charChange.originalStartColumn, charChange.originalEndLineNumber, charChange.originalEndColumn), \'char-delete\', 0 /* Regular */));\r\n }\r\n }\r\n }\r\n var sb = Object(stringBuilder["a" /* createStringBuilder */])(10000);\r\n var marginHTML = [];\r\n var layoutInfo = this.modifiedEditorOptions.get(107 /* layoutInfo */);\r\n var fontInfo = this.modifiedEditorOptions.get(34 /* fontInfo */);\r\n var lineDecorationsWidth = layoutInfo.decorationsWidth;\r\n var lineHeight = this.modifiedEditorOptions.get(49 /* lineHeight */);\r\n var typicalHalfwidthCharacterWidth = fontInfo.typicalHalfwidthCharacterWidth;\r\n var maxCharsPerLine = 0;\r\n var originalContent = [];\r\n for (var lineNumber = lineChange.originalStartLineNumber; lineNumber <= lineChange.originalEndLineNumber; lineNumber++) {\r\n maxCharsPerLine = Math.max(maxCharsPerLine, this._renderOriginalLine(lineNumber - lineChange.originalStartLineNumber, this.originalModel, this.modifiedEditorOptions, this.modifiedEditorTabSize, lineNumber, decorations, sb));\r\n originalContent.push(this.originalModel.getLineContent(lineNumber));\r\n if (this.renderIndicators) {\r\n var index = lineNumber - lineChange.originalStartLineNumber;\r\n marginHTML = marginHTML.concat([\r\n "
    "\r\n ]);\r\n }\r\n }\r\n maxCharsPerLine += this.modifiedEditorOptions.get(79 /* scrollBeyondLastColumn */);\r\n var domNode = document.createElement(\'div\');\r\n domNode.className = \'view-lines line-delete\';\r\n domNode.innerHTML = sb.build();\r\n config_configuration["a" /* Configuration */].applyFontInfoSlow(domNode, fontInfo);\r\n var marginDomNode = document.createElement(\'div\');\r\n marginDomNode.className = \'inline-deleted-margin-view-zone\';\r\n marginDomNode.innerHTML = marginHTML.join(\'\');\r\n config_configuration["a" /* Configuration */].applyFontInfoSlow(marginDomNode, fontInfo);\r\n return {\r\n shouldNotShrink: true,\r\n afterLineNumber: (lineChange.modifiedEndLineNumber === 0 ? lineChange.modifiedStartLineNumber : lineChange.modifiedStartLineNumber - 1),\r\n heightInLines: lineChangeOriginalLength,\r\n minWidthInPx: (maxCharsPerLine * typicalHalfwidthCharacterWidth),\r\n domNode: domNode,\r\n marginDomNode: marginDomNode,\r\n diff: {\r\n originalStartLineNumber: lineChange.originalStartLineNumber,\r\n originalEndLineNumber: lineChange.originalEndLineNumber,\r\n modifiedStartLineNumber: lineChange.modifiedStartLineNumber,\r\n modifiedEndLineNumber: lineChange.modifiedEndLineNumber,\r\n originalContent: originalContent\r\n }\r\n };\r\n };\r\n InlineViewZonesComputer.prototype._renderOriginalLine = function (count, originalModel, options, tabSize, lineNumber, decorations, sb) {\r\n var lineTokens = originalModel.getLineTokens(lineNumber);\r\n var lineContent = lineTokens.getLineContent();\r\n var fontInfo = options.get(34 /* fontInfo */);\r\n var actualDecorations = lineDecorations["a" /* LineDecoration */].filter(decorations, lineNumber, 1, lineContent.length + 1);\r\n sb.appendASCIIString(\'
    \');\r\n var isBasicASCII = viewModel["d" /* ViewLineRenderingData */].isBasicASCII(lineContent, originalModel.mightContainNonBasicASCII());\r\n var containsRTL = viewModel["d" /* ViewLineRenderingData */].containsRTL(lineContent, isBasicASCII, originalModel.mightContainRTL());\r\n var output = Object(viewLineRenderer["d" /* renderViewLine */])(new viewLineRenderer["c" /* RenderLineInput */]((fontInfo.isMonospace && !options.get(23 /* disableMonospaceOptimizations */)), fontInfo.canUseHalfwidthRightwardsArrow, lineContent, false, isBasicASCII, containsRTL, 0, lineTokens, actualDecorations, tabSize, 0, fontInfo.spaceWidth, fontInfo.middotWidth, options.get(88 /* stopRenderingLineAfter */), options.get(74 /* renderWhitespace */), options.get(69 /* renderControlCharacters */), options.get(35 /* fontLigatures */) !== editorOptions["d" /* EditorFontLigatures */].OFF, null // Send no selections, original line cannot be selected\r\n ), sb);\r\n sb.appendASCIIString(\'
    \');\r\n var absoluteOffsets = output.characterMapping.getAbsoluteOffsets();\r\n return absoluteOffsets.length > 0 ? absoluteOffsets[absoluteOffsets.length - 1] : 0;\r\n };\r\n return InlineViewZonesComputer;\r\n}(ViewZonesComputer));\r\nfunction isChangeOrInsert(lineChange) {\r\n return lineChange.modifiedEndLineNumber > 0;\r\n}\r\nfunction isChangeOrDelete(lineChange) {\r\n return lineChange.originalEndLineNumber > 0;\r\n}\r\nfunction createFakeLinesDiv() {\r\n var r = document.createElement(\'div\');\r\n r.className = \'diagonal-fill\';\r\n return r;\r\n}\r\nObject(common_themeService["e" /* registerThemingParticipant */])(function (theme, collector) {\r\n var added = theme.getColor(colorRegistry["j" /* diffInserted */]);\r\n if (added) {\r\n collector.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: " + added + "; }");\r\n collector.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: " + added + "; }");\r\n collector.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: " + added + "; }");\r\n }\r\n var removed = theme.getColor(colorRegistry["l" /* diffRemoved */]);\r\n if (removed) {\r\n collector.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: " + removed + "; }");\r\n collector.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: " + removed + "; }");\r\n collector.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: " + removed + "; }");\r\n }\r\n var addedOutline = theme.getColor(colorRegistry["k" /* diffInsertedOutline */]);\r\n if (addedOutline) {\r\n collector.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px " + (theme.type === \'hc\' ? \'dashed\' : \'solid\') + " " + addedOutline + "; }");\r\n }\r\n var removedOutline = theme.getColor(colorRegistry["m" /* diffRemovedOutline */]);\r\n if (removedOutline) {\r\n collector.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px " + (theme.type === \'hc\' ? \'dashed\' : \'solid\') + " " + removedOutline + "; }");\r\n }\r\n var shadow = theme.getColor(colorRegistry["Tb" /* scrollbarShadow */]);\r\n if (shadow) {\r\n collector.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px " + shadow + "; }");\r\n }\r\n var border = theme.getColor(colorRegistry["i" /* diffBorder */]);\r\n if (border) {\r\n collector.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid " + border + "; }");\r\n }\r\n});\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/editorAction.js\nvar editorAction = __webpack_require__("9Y+e");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/common/standaloneThemeService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar IStandaloneThemeService = Object(instantiation["c" /* createDecorator */])(\'themeService\');\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/actions/common/actions.js\nvar actions_common_actions = __webpack_require__("fjLI");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybinding.js\nvar common_keybinding = __webpack_require__("bexQ");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/accessibility/common/accessibility.js\nvar accessibility = __webpack_require__("R3nR");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js\nvar common_clipboardService = __webpack_require__("9XeP");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditor.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar standaloneCodeEditor_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 standaloneCodeEditor_decorate = (undefined && undefined.__decorate) || function (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\nvar standaloneCodeEditor_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\nvar standaloneCodeEditor_spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar LAST_GENERATED_COMMAND_ID = 0;\r\nvar ariaDomNodeCreated = false;\r\nfunction createAriaDomNode() {\r\n if (ariaDomNodeCreated) {\r\n return;\r\n }\r\n ariaDomNodeCreated = true;\r\n aria["b" /* setARIAContainer */](document.body);\r\n}\r\n/**\r\n * A code editor to be used both by the standalone editor and the standalone diff editor.\r\n */\r\nvar standaloneCodeEditor_StandaloneCodeEditor = /** @class */ (function (_super) {\r\n standaloneCodeEditor_extends(StandaloneCodeEditor, _super);\r\n function StandaloneCodeEditor(domElement, options, instantiationService, codeEditorService, commandService, contextKeyService, keybindingService, themeService, notificationService, accessibilityService) {\r\n var _this = this;\r\n options = options || {};\r\n options.ariaLabel = options.ariaLabel || standaloneStrings_StandaloneCodeEditorNLS.editorViewAccessibleLabel;\r\n options.ariaLabel = options.ariaLabel + \';\' + (browser["i" /* isIE */]\r\n ? standaloneStrings_StandaloneCodeEditorNLS.accessibilityHelpMessageIE\r\n : standaloneStrings_StandaloneCodeEditorNLS.accessibilityHelpMessage);\r\n _this = _super.call(this, domElement, options, {}, instantiationService, codeEditorService, commandService, contextKeyService, themeService, notificationService, accessibilityService) || this;\r\n if (keybindingService instanceof simpleServices_StandaloneKeybindingService) {\r\n _this._standaloneKeybindingService = keybindingService;\r\n }\r\n else {\r\n _this._standaloneKeybindingService = null;\r\n }\r\n // Create the ARIA dom node as soon as the first editor is instantiated\r\n createAriaDomNode();\r\n return _this;\r\n }\r\n StandaloneCodeEditor.prototype.addCommand = function (keybinding, handler, context) {\r\n if (!this._standaloneKeybindingService) {\r\n console.warn(\'Cannot add command because the editor is configured with an unrecognized KeybindingService\');\r\n return null;\r\n }\r\n var commandId = \'DYNAMIC_\' + (++LAST_GENERATED_COMMAND_ID);\r\n var whenExpression = contextkey["a" /* ContextKeyExpr */].deserialize(context);\r\n this._standaloneKeybindingService.addDynamicKeybinding(commandId, keybinding, handler, whenExpression);\r\n return commandId;\r\n };\r\n StandaloneCodeEditor.prototype.createContextKey = function (key, defaultValue) {\r\n return this._contextKeyService.createKey(key, defaultValue);\r\n };\r\n StandaloneCodeEditor.prototype.addAction = function (_descriptor) {\r\n var _this = this;\r\n if ((typeof _descriptor.id !== \'string\') || (typeof _descriptor.label !== \'string\') || (typeof _descriptor.run !== \'function\')) {\r\n throw new Error(\'Invalid action descriptor, `id`, `label` and `run` are required properties!\');\r\n }\r\n if (!this._standaloneKeybindingService) {\r\n console.warn(\'Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\');\r\n return lifecycle["a" /* Disposable */].None;\r\n }\r\n // Read descriptor options\r\n var id = _descriptor.id;\r\n var label = _descriptor.label;\r\n var precondition = contextkey["a" /* ContextKeyExpr */].and(contextkey["a" /* ContextKeyExpr */].equals(\'editorId\', this.getId()), contextkey["a" /* ContextKeyExpr */].deserialize(_descriptor.precondition));\r\n var keybindings = _descriptor.keybindings;\r\n var keybindingsWhen = contextkey["a" /* ContextKeyExpr */].and(precondition, contextkey["a" /* ContextKeyExpr */].deserialize(_descriptor.keybindingContext));\r\n var contextMenuGroupId = _descriptor.contextMenuGroupId || null;\r\n var contextMenuOrder = _descriptor.contextMenuOrder || 0;\r\n var run = function (accessor) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n return Promise.resolve(_descriptor.run.apply(_descriptor, standaloneCodeEditor_spreadArrays([_this], args)));\r\n };\r\n var toDispose = new lifecycle["b" /* DisposableStore */]();\r\n // Generate a unique id to allow the same descriptor.id across multiple editor instances\r\n var uniqueId = this.getId() + \':\' + id;\r\n // Register the command\r\n toDispose.add(commands["a" /* CommandsRegistry */].registerCommand(uniqueId, run));\r\n // Register the context menu item\r\n if (contextMenuGroupId) {\r\n var menuItem = {\r\n command: {\r\n id: uniqueId,\r\n title: label\r\n },\r\n when: precondition,\r\n group: contextMenuGroupId,\r\n order: contextMenuOrder\r\n };\r\n toDispose.add(actions_common_actions["c" /* MenuRegistry */].appendMenuItem(7 /* EditorContext */, menuItem));\r\n }\r\n // Register the keybindings\r\n if (Array.isArray(keybindings)) {\r\n for (var _i = 0, keybindings_1 = keybindings; _i < keybindings_1.length; _i++) {\r\n var kb = keybindings_1[_i];\r\n toDispose.add(this._standaloneKeybindingService.addDynamicKeybinding(uniqueId, kb, run, keybindingsWhen));\r\n }\r\n }\r\n // Finally, register an internal editor action\r\n var internalAction = new editorAction["a" /* InternalEditorAction */](uniqueId, label, label, precondition, run, this._contextKeyService);\r\n // Store it under the original id, such that trigger with the original id will work\r\n this._actions[id] = internalAction;\r\n toDispose.add(Object(lifecycle["h" /* toDisposable */])(function () {\r\n delete _this._actions[id];\r\n }));\r\n return toDispose;\r\n };\r\n StandaloneCodeEditor = standaloneCodeEditor_decorate([\r\n standaloneCodeEditor_param(2, instantiation["a" /* IInstantiationService */]),\r\n standaloneCodeEditor_param(3, services_codeEditorService["a" /* ICodeEditorService */]),\r\n standaloneCodeEditor_param(4, commands["b" /* ICommandService */]),\r\n standaloneCodeEditor_param(5, contextkey["c" /* IContextKeyService */]),\r\n standaloneCodeEditor_param(6, common_keybinding["a" /* IKeybindingService */]),\r\n standaloneCodeEditor_param(7, common_themeService["c" /* IThemeService */]),\r\n standaloneCodeEditor_param(8, common_notification["a" /* INotificationService */]),\r\n standaloneCodeEditor_param(9, accessibility["b" /* IAccessibilityService */])\r\n ], StandaloneCodeEditor);\r\n return StandaloneCodeEditor;\r\n}(codeEditorWidget["a" /* CodeEditorWidget */]));\r\n\r\nvar standaloneCodeEditor_StandaloneEditor = /** @class */ (function (_super) {\r\n standaloneCodeEditor_extends(StandaloneEditor, _super);\r\n function StandaloneEditor(domElement, options, toDispose, instantiationService, codeEditorService, commandService, contextKeyService, keybindingService, contextViewService, themeService, notificationService, configurationService, accessibilityService) {\r\n var _this = this;\r\n applyConfigurationValues(configurationService, options, false);\r\n var themeDomRegistration = themeService.registerEditorContainer(domElement);\r\n options = options || {};\r\n if (typeof options.theme === \'string\') {\r\n themeService.setTheme(options.theme);\r\n }\r\n var _model = options.model;\r\n delete options.model;\r\n _this = _super.call(this, domElement, options, instantiationService, codeEditorService, commandService, contextKeyService, keybindingService, themeService, notificationService, accessibilityService) || this;\r\n _this._contextViewService = contextViewService;\r\n _this._configurationService = configurationService;\r\n _this._register(toDispose);\r\n _this._register(themeDomRegistration);\r\n var model;\r\n if (typeof _model === \'undefined\') {\r\n model = self.monaco.editor.createModel(options.value || \'\', options.language || \'text/plain\');\r\n _this._ownsModel = true;\r\n }\r\n else {\r\n model = _model;\r\n _this._ownsModel = false;\r\n }\r\n _this._attachModel(model);\r\n if (model) {\r\n var e = {\r\n oldModelUrl: null,\r\n newModelUrl: model.uri\r\n };\r\n _this._onDidChangeModel.fire(e);\r\n }\r\n return _this;\r\n }\r\n StandaloneEditor.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n };\r\n StandaloneEditor.prototype.updateOptions = function (newOptions) {\r\n applyConfigurationValues(this._configurationService, newOptions, false);\r\n _super.prototype.updateOptions.call(this, newOptions);\r\n };\r\n StandaloneEditor.prototype._attachModel = function (model) {\r\n _super.prototype._attachModel.call(this, model);\r\n if (this._modelData) {\r\n this._contextViewService.setContainer(this._modelData.view.domNode.domNode);\r\n }\r\n };\r\n StandaloneEditor.prototype._postDetachModelCleanup = function (detachedModel) {\r\n _super.prototype._postDetachModelCleanup.call(this, detachedModel);\r\n if (detachedModel && this._ownsModel) {\r\n detachedModel.dispose();\r\n this._ownsModel = false;\r\n }\r\n };\r\n StandaloneEditor = standaloneCodeEditor_decorate([\r\n standaloneCodeEditor_param(3, instantiation["a" /* IInstantiationService */]),\r\n standaloneCodeEditor_param(4, services_codeEditorService["a" /* ICodeEditorService */]),\r\n standaloneCodeEditor_param(5, commands["b" /* ICommandService */]),\r\n standaloneCodeEditor_param(6, contextkey["c" /* IContextKeyService */]),\r\n standaloneCodeEditor_param(7, common_keybinding["a" /* IKeybindingService */]),\r\n standaloneCodeEditor_param(8, contextView["b" /* IContextViewService */]),\r\n standaloneCodeEditor_param(9, IStandaloneThemeService),\r\n standaloneCodeEditor_param(10, common_notification["a" /* INotificationService */]),\r\n standaloneCodeEditor_param(11, common_configuration["a" /* IConfigurationService */]),\r\n standaloneCodeEditor_param(12, accessibility["b" /* IAccessibilityService */])\r\n ], StandaloneEditor);\r\n return StandaloneEditor;\r\n}(standaloneCodeEditor_StandaloneCodeEditor));\r\n\r\nvar standaloneCodeEditor_StandaloneDiffEditor = /** @class */ (function (_super) {\r\n standaloneCodeEditor_extends(StandaloneDiffEditor, _super);\r\n function StandaloneDiffEditor(domElement, options, toDispose, instantiationService, contextKeyService, keybindingService, contextViewService, editorWorkerService, codeEditorService, themeService, notificationService, configurationService, contextMenuService, editorProgressService, clipboardService) {\r\n var _this = this;\r\n applyConfigurationValues(configurationService, options, true);\r\n var themeDomRegistration = themeService.registerEditorContainer(domElement);\r\n options = options || {};\r\n if (typeof options.theme === \'string\') {\r\n options.theme = themeService.setTheme(options.theme);\r\n }\r\n _this = _super.call(this, domElement, options, clipboardService, editorWorkerService, contextKeyService, instantiationService, codeEditorService, themeService, notificationService, contextMenuService, editorProgressService) || this;\r\n _this._contextViewService = contextViewService;\r\n _this._configurationService = configurationService;\r\n _this._register(toDispose);\r\n _this._register(themeDomRegistration);\r\n _this._contextViewService.setContainer(_this._containerDomElement);\r\n return _this;\r\n }\r\n StandaloneDiffEditor.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n };\r\n StandaloneDiffEditor.prototype.updateOptions = function (newOptions) {\r\n applyConfigurationValues(this._configurationService, newOptions, true);\r\n _super.prototype.updateOptions.call(this, newOptions);\r\n };\r\n StandaloneDiffEditor.prototype._createInnerEditor = function (instantiationService, container, options) {\r\n return instantiationService.createInstance(standaloneCodeEditor_StandaloneCodeEditor, container, options);\r\n };\r\n StandaloneDiffEditor.prototype.getOriginalEditor = function () {\r\n return _super.prototype.getOriginalEditor.call(this);\r\n };\r\n StandaloneDiffEditor.prototype.getModifiedEditor = function () {\r\n return _super.prototype.getModifiedEditor.call(this);\r\n };\r\n StandaloneDiffEditor.prototype.addCommand = function (keybinding, handler, context) {\r\n return this.getModifiedEditor().addCommand(keybinding, handler, context);\r\n };\r\n StandaloneDiffEditor.prototype.createContextKey = function (key, defaultValue) {\r\n return this.getModifiedEditor().createContextKey(key, defaultValue);\r\n };\r\n StandaloneDiffEditor.prototype.addAction = function (descriptor) {\r\n return this.getModifiedEditor().addAction(descriptor);\r\n };\r\n StandaloneDiffEditor = standaloneCodeEditor_decorate([\r\n standaloneCodeEditor_param(3, instantiation["a" /* IInstantiationService */]),\r\n standaloneCodeEditor_param(4, contextkey["c" /* IContextKeyService */]),\r\n standaloneCodeEditor_param(5, common_keybinding["a" /* IKeybindingService */]),\r\n standaloneCodeEditor_param(6, contextView["b" /* IContextViewService */]),\r\n standaloneCodeEditor_param(7, services_editorWorkerService["a" /* IEditorWorkerService */]),\r\n standaloneCodeEditor_param(8, services_codeEditorService["a" /* ICodeEditorService */]),\r\n standaloneCodeEditor_param(9, IStandaloneThemeService),\r\n standaloneCodeEditor_param(10, common_notification["a" /* INotificationService */]),\r\n standaloneCodeEditor_param(11, common_configuration["a" /* IConfigurationService */]),\r\n standaloneCodeEditor_param(12, contextView["a" /* IContextMenuService */]),\r\n standaloneCodeEditor_param(13, progress["a" /* IEditorProgressService */]),\r\n standaloneCodeEditor_param(14, Object(instantiation["d" /* optional */])(common_clipboardService["a" /* IClipboardService */]))\r\n ], StandaloneDiffEditor);\r\n return StandaloneDiffEditor;\r\n}(diffEditorWidget_DiffEditorWidget));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/services/bulkEditService.js\nvar bulkEditService = __webpack_require__("x/UI");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/modeService.js\nvar services_modeService = __webpack_require__("WBhO");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/abstractMode.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar FrankensteinMode = /** @class */ (function () {\r\n function FrankensteinMode(languageIdentifier) {\r\n this._languageIdentifier = languageIdentifier;\r\n }\r\n FrankensteinMode.prototype.getId = function () {\r\n return this._languageIdentifier.language;\r\n };\r\n return FrankensteinMode;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/path.js\nvar common_path = __webpack_require__("MrjW");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/glob.js\nvar glob = __webpack_require__("l2gE");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/common/mime.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\nvar MIME_TEXT = \'text/plain\';\r\nvar MIME_UNKNOWN = \'application/unknown\';\r\nvar registeredAssociations = [];\r\nvar nonUserRegisteredAssociations = [];\r\nvar userRegisteredAssociations = [];\r\n/**\r\n * Associate a text mime to the registry.\r\n */\r\nfunction registerTextMime(association, warnOnOverwrite) {\r\n if (warnOnOverwrite === void 0) { warnOnOverwrite = false; }\r\n // Register\r\n var associationItem = toTextMimeAssociationItem(association);\r\n registeredAssociations.push(associationItem);\r\n if (!associationItem.userConfigured) {\r\n nonUserRegisteredAssociations.push(associationItem);\r\n }\r\n else {\r\n userRegisteredAssociations.push(associationItem);\r\n }\r\n // Check for conflicts unless this is a user configured association\r\n if (warnOnOverwrite && !associationItem.userConfigured) {\r\n registeredAssociations.forEach(function (a) {\r\n if (a.mime === associationItem.mime || a.userConfigured) {\r\n return; // same mime or userConfigured is ok\r\n }\r\n if (associationItem.extension && a.extension === associationItem.extension) {\r\n console.warn("Overwriting extension <<" + associationItem.extension + ">> to now point to mime <<" + associationItem.mime + ">>");\r\n }\r\n if (associationItem.filename && a.filename === associationItem.filename) {\r\n console.warn("Overwriting filename <<" + associationItem.filename + ">> to now point to mime <<" + associationItem.mime + ">>");\r\n }\r\n if (associationItem.filepattern && a.filepattern === associationItem.filepattern) {\r\n console.warn("Overwriting filepattern <<" + associationItem.filepattern + ">> to now point to mime <<" + associationItem.mime + ">>");\r\n }\r\n if (associationItem.firstline && a.firstline === associationItem.firstline) {\r\n console.warn("Overwriting firstline <<" + associationItem.firstline + ">> to now point to mime <<" + associationItem.mime + ">>");\r\n }\r\n });\r\n }\r\n}\r\nfunction toTextMimeAssociationItem(association) {\r\n return {\r\n id: association.id,\r\n mime: association.mime,\r\n filename: association.filename,\r\n extension: association.extension,\r\n filepattern: association.filepattern,\r\n firstline: association.firstline,\r\n userConfigured: association.userConfigured,\r\n filenameLowercase: association.filename ? association.filename.toLowerCase() : undefined,\r\n extensionLowercase: association.extension ? association.extension.toLowerCase() : undefined,\r\n filepatternLowercase: association.filepattern ? association.filepattern.toLowerCase() : undefined,\r\n filepatternOnPath: association.filepattern ? association.filepattern.indexOf(common_path["posix"].sep) >= 0 : false\r\n };\r\n}\r\n/**\r\n * Given a file, return the best matching mime type for it\r\n */\r\nfunction guessMimeTypes(resource, firstLine) {\r\n var path;\r\n if (resource) {\r\n switch (resource.scheme) {\r\n case network["b" /* Schemas */].file:\r\n path = resource.fsPath;\r\n break;\r\n case network["b" /* Schemas */].data:\r\n var metadata = resources["a" /* DataUri */].parseMetaData(resource);\r\n path = metadata.get(resources["a" /* DataUri */].META_DATA_LABEL);\r\n break;\r\n default:\r\n path = resource.path;\r\n }\r\n }\r\n if (!path) {\r\n return [MIME_UNKNOWN];\r\n }\r\n path = path.toLowerCase();\r\n var filename = Object(common_path["basename"])(path);\r\n // 1.) User configured mappings have highest priority\r\n var configuredMime = guessMimeTypeByPath(path, filename, userRegisteredAssociations);\r\n if (configuredMime) {\r\n return [configuredMime, MIME_TEXT];\r\n }\r\n // 2.) Registered mappings have middle priority\r\n var registeredMime = guessMimeTypeByPath(path, filename, nonUserRegisteredAssociations);\r\n if (registeredMime) {\r\n return [registeredMime, MIME_TEXT];\r\n }\r\n // 3.) Firstline has lowest priority\r\n if (firstLine) {\r\n var firstlineMime = guessMimeTypeByFirstline(firstLine);\r\n if (firstlineMime) {\r\n return [firstlineMime, MIME_TEXT];\r\n }\r\n }\r\n return [MIME_UNKNOWN];\r\n}\r\nfunction guessMimeTypeByPath(path, filename, associations) {\r\n var filenameMatch = null;\r\n var patternMatch = null;\r\n var extensionMatch = null;\r\n // We want to prioritize associations based on the order they are registered so that the last registered\r\n // association wins over all other. This is for https://github.com/Microsoft/vscode/issues/20074\r\n for (var i = associations.length - 1; i >= 0; i--) {\r\n var association = associations[i];\r\n // First exact name match\r\n if (filename === association.filenameLowercase) {\r\n filenameMatch = association;\r\n break; // take it!\r\n }\r\n // Longest pattern match\r\n if (association.filepattern) {\r\n if (!patternMatch || association.filepattern.length > patternMatch.filepattern.length) {\r\n var target = association.filepatternOnPath ? path : filename; // match on full path if pattern contains path separator\r\n if (Object(glob["a" /* match */])(association.filepatternLowercase, target)) {\r\n patternMatch = association;\r\n }\r\n }\r\n }\r\n // Longest extension match\r\n if (association.extension) {\r\n if (!extensionMatch || association.extension.length > extensionMatch.extension.length) {\r\n if (Object(strings["m" /* endsWith */])(filename, association.extensionLowercase)) {\r\n extensionMatch = association;\r\n }\r\n }\r\n }\r\n }\r\n // 1.) Exact name match has second highest prio\r\n if (filenameMatch) {\r\n return filenameMatch.mime;\r\n }\r\n // 2.) Match on pattern\r\n if (patternMatch) {\r\n return patternMatch.mime;\r\n }\r\n // 3.) Match on extension comes next\r\n if (extensionMatch) {\r\n return extensionMatch.mime;\r\n }\r\n return null;\r\n}\r\nfunction guessMimeTypeByFirstline(firstLine) {\r\n if (Object(strings["O" /* startsWithUTF8BOM */])(firstLine)) {\r\n firstLine = firstLine.substr(1);\r\n }\r\n if (firstLine.length > 0) {\r\n // We want to prioritize associations based on the order they are registered so that the last registered\r\n // association wins over all other. This is for https://github.com/Microsoft/vscode/issues/20074\r\n for (var i = registeredAssociations.length - 1; i >= 0; i--) {\r\n var association = registeredAssociations[i];\r\n if (!association.firstline) {\r\n continue;\r\n }\r\n var matches = firstLine.match(association.firstline);\r\n if (matches && matches.length > 0) {\r\n return association.mime;\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/modesRegistry.js\nvar modesRegistry = __webpack_require__("MqQJ");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/registry/common/platform.js\nvar common_platform = __webpack_require__("ic2d");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/languagesRegistry.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar languagesRegistry_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar languagesRegistry_hasOwnProperty = Object.prototype.hasOwnProperty;\r\nvar languagesRegistry_LanguagesRegistry = /** @class */ (function (_super) {\r\n languagesRegistry_extends(LanguagesRegistry, _super);\r\n function LanguagesRegistry(useModesRegistry, warnOnOverwrite) {\r\n if (useModesRegistry === void 0) { useModesRegistry = true; }\r\n if (warnOnOverwrite === void 0) { warnOnOverwrite = false; }\r\n var _this = _super.call(this) || this;\r\n _this._onDidChange = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onDidChange = _this._onDidChange.event;\r\n _this._warnOnOverwrite = warnOnOverwrite;\r\n _this._nextLanguageId2 = 1;\r\n _this._languageIdToLanguage = [];\r\n _this._languageToLanguageId = Object.create(null);\r\n _this._languages = {};\r\n _this._mimeTypesMap = {};\r\n _this._nameMap = {};\r\n _this._lowercaseNameMap = {};\r\n if (useModesRegistry) {\r\n _this._initializeFromRegistry();\r\n _this._register(modesRegistry["a" /* ModesRegistry */].onDidChangeLanguages(function (m) { return _this._initializeFromRegistry(); }));\r\n }\r\n return _this;\r\n }\r\n LanguagesRegistry.prototype._initializeFromRegistry = function () {\r\n this._languages = {};\r\n this._mimeTypesMap = {};\r\n this._nameMap = {};\r\n this._lowercaseNameMap = {};\r\n var desc = modesRegistry["a" /* ModesRegistry */].getLanguages();\r\n this._registerLanguages(desc);\r\n };\r\n LanguagesRegistry.prototype._registerLanguages = function (desc) {\r\n var _this = this;\r\n for (var _i = 0, desc_1 = desc; _i < desc_1.length; _i++) {\r\n var d = desc_1[_i];\r\n this._registerLanguage(d);\r\n }\r\n // Rebuild fast path maps\r\n this._mimeTypesMap = {};\r\n this._nameMap = {};\r\n this._lowercaseNameMap = {};\r\n Object.keys(this._languages).forEach(function (langId) {\r\n var language = _this._languages[langId];\r\n if (language.name) {\r\n _this._nameMap[language.name] = language.identifier;\r\n }\r\n language.aliases.forEach(function (alias) {\r\n _this._lowercaseNameMap[alias.toLowerCase()] = language.identifier;\r\n });\r\n language.mimetypes.forEach(function (mimetype) {\r\n _this._mimeTypesMap[mimetype] = language.identifier;\r\n });\r\n });\r\n common_platform["a" /* Registry */].as(configurationRegistry["a" /* Extensions */].Configuration).registerOverrideIdentifiers(modesRegistry["a" /* ModesRegistry */].getLanguages().map(function (language) { return language.id; }));\r\n this._onDidChange.fire();\r\n };\r\n LanguagesRegistry.prototype._getLanguageId = function (language) {\r\n if (this._languageToLanguageId[language]) {\r\n return this._languageToLanguageId[language];\r\n }\r\n var languageId = this._nextLanguageId2++;\r\n this._languageIdToLanguage[languageId] = language;\r\n this._languageToLanguageId[language] = languageId;\r\n return languageId;\r\n };\r\n LanguagesRegistry.prototype._registerLanguage = function (lang) {\r\n var langId = lang.id;\r\n var resolvedLanguage;\r\n if (languagesRegistry_hasOwnProperty.call(this._languages, langId)) {\r\n resolvedLanguage = this._languages[langId];\r\n }\r\n else {\r\n var languageId = this._getLanguageId(langId);\r\n resolvedLanguage = {\r\n identifier: new modes["q" /* LanguageIdentifier */](langId, languageId),\r\n name: null,\r\n mimetypes: [],\r\n aliases: [],\r\n extensions: [],\r\n filenames: [],\r\n configurationFiles: []\r\n };\r\n this._languages[langId] = resolvedLanguage;\r\n }\r\n this._mergeLanguage(resolvedLanguage, lang);\r\n };\r\n LanguagesRegistry.prototype._mergeLanguage = function (resolvedLanguage, lang) {\r\n var _a;\r\n var langId = lang.id;\r\n var primaryMime = null;\r\n if (Array.isArray(lang.mimetypes) && lang.mimetypes.length > 0) {\r\n (_a = resolvedLanguage.mimetypes).push.apply(_a, lang.mimetypes);\r\n primaryMime = lang.mimetypes[0];\r\n }\r\n if (!primaryMime) {\r\n primaryMime = "text/x-" + langId;\r\n resolvedLanguage.mimetypes.push(primaryMime);\r\n }\r\n if (Array.isArray(lang.extensions)) {\r\n for (var _i = 0, _b = lang.extensions; _i < _b.length; _i++) {\r\n var extension = _b[_i];\r\n registerTextMime({ id: langId, mime: primaryMime, extension: extension }, this._warnOnOverwrite);\r\n resolvedLanguage.extensions.push(extension);\r\n }\r\n }\r\n if (Array.isArray(lang.filenames)) {\r\n for (var _c = 0, _d = lang.filenames; _c < _d.length; _c++) {\r\n var filename = _d[_c];\r\n registerTextMime({ id: langId, mime: primaryMime, filename: filename }, this._warnOnOverwrite);\r\n resolvedLanguage.filenames.push(filename);\r\n }\r\n }\r\n if (Array.isArray(lang.filenamePatterns)) {\r\n for (var _e = 0, _f = lang.filenamePatterns; _e < _f.length; _e++) {\r\n var filenamePattern = _f[_e];\r\n registerTextMime({ id: langId, mime: primaryMime, filepattern: filenamePattern }, this._warnOnOverwrite);\r\n }\r\n }\r\n if (typeof lang.firstLine === \'string\' && lang.firstLine.length > 0) {\r\n var firstLineRegexStr = lang.firstLine;\r\n if (firstLineRegexStr.charAt(0) !== \'^\') {\r\n firstLineRegexStr = \'^\' + firstLineRegexStr;\r\n }\r\n try {\r\n var firstLineRegex = new RegExp(firstLineRegexStr);\r\n if (!strings["I" /* regExpLeadsToEndlessLoop */](firstLineRegex)) {\r\n registerTextMime({ id: langId, mime: primaryMime, firstline: firstLineRegex }, this._warnOnOverwrite);\r\n }\r\n }\r\n catch (err) {\r\n // Most likely, the regex was bad\r\n Object(errors["e" /* onUnexpectedError */])(err);\r\n }\r\n }\r\n resolvedLanguage.aliases.push(langId);\r\n var langAliases = null;\r\n if (typeof lang.aliases !== \'undefined\' && Array.isArray(lang.aliases)) {\r\n if (lang.aliases.length === 0) {\r\n // signal that this language should not get a name\r\n langAliases = [null];\r\n }\r\n else {\r\n langAliases = lang.aliases;\r\n }\r\n }\r\n if (langAliases !== null) {\r\n for (var _g = 0, langAliases_1 = langAliases; _g < langAliases_1.length; _g++) {\r\n var langAlias = langAliases_1[_g];\r\n if (!langAlias || langAlias.length === 0) {\r\n continue;\r\n }\r\n resolvedLanguage.aliases.push(langAlias);\r\n }\r\n }\r\n var containsAliases = (langAliases !== null && langAliases.length > 0);\r\n if (containsAliases && langAliases[0] === null) {\r\n // signal that this language should not get a name\r\n }\r\n else {\r\n var bestName = (containsAliases ? langAliases[0] : null) || langId;\r\n if (containsAliases || !resolvedLanguage.name) {\r\n resolvedLanguage.name = bestName;\r\n }\r\n }\r\n if (lang.configuration) {\r\n resolvedLanguage.configurationFiles.push(lang.configuration);\r\n }\r\n };\r\n LanguagesRegistry.prototype.isRegisteredMode = function (mimetypeOrModeId) {\r\n // Is this a known mime type ?\r\n if (languagesRegistry_hasOwnProperty.call(this._mimeTypesMap, mimetypeOrModeId)) {\r\n return true;\r\n }\r\n // Is this a known mode id ?\r\n return languagesRegistry_hasOwnProperty.call(this._languages, mimetypeOrModeId);\r\n };\r\n LanguagesRegistry.prototype.getModeIdForLanguageNameLowercase = function (languageNameLower) {\r\n if (!languagesRegistry_hasOwnProperty.call(this._lowercaseNameMap, languageNameLower)) {\r\n return null;\r\n }\r\n return this._lowercaseNameMap[languageNameLower].language;\r\n };\r\n LanguagesRegistry.prototype.extractModeIds = function (commaSeparatedMimetypesOrCommaSeparatedIds) {\r\n var _this = this;\r\n if (!commaSeparatedMimetypesOrCommaSeparatedIds) {\r\n return [];\r\n }\r\n return (commaSeparatedMimetypesOrCommaSeparatedIds.\r\n split(\',\').\r\n map(function (mimeTypeOrId) { return mimeTypeOrId.trim(); }).\r\n map(function (mimeTypeOrId) {\r\n if (languagesRegistry_hasOwnProperty.call(_this._mimeTypesMap, mimeTypeOrId)) {\r\n return _this._mimeTypesMap[mimeTypeOrId].language;\r\n }\r\n return mimeTypeOrId;\r\n }).\r\n filter(function (modeId) {\r\n return languagesRegistry_hasOwnProperty.call(_this._languages, modeId);\r\n }));\r\n };\r\n LanguagesRegistry.prototype.getLanguageIdentifier = function (_modeId) {\r\n if (_modeId === nullMode["b" /* NULL_MODE_ID */] || _modeId === 0 /* Null */) {\r\n return nullMode["a" /* NULL_LANGUAGE_IDENTIFIER */];\r\n }\r\n var modeId;\r\n if (typeof _modeId === \'string\') {\r\n modeId = _modeId;\r\n }\r\n else {\r\n modeId = this._languageIdToLanguage[_modeId];\r\n if (!modeId) {\r\n return null;\r\n }\r\n }\r\n if (!languagesRegistry_hasOwnProperty.call(this._languages, modeId)) {\r\n return null;\r\n }\r\n return this._languages[modeId].identifier;\r\n };\r\n LanguagesRegistry.prototype.getModeIdsFromFilepathOrFirstLine = function (resource, firstLine) {\r\n if (!resource && !firstLine) {\r\n return [];\r\n }\r\n var mimeTypes = guessMimeTypes(resource, firstLine);\r\n return this.extractModeIds(mimeTypes.join(\',\'));\r\n };\r\n return LanguagesRegistry;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/modeServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar modeServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\nvar modeServiceImpl_LanguageSelection = /** @class */ (function (_super) {\r\n modeServiceImpl_extends(LanguageSelection, _super);\r\n function LanguageSelection(onLanguagesMaybeChanged, selector) {\r\n var _this = _super.call(this) || this;\r\n _this._onDidChange = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onDidChange = _this._onDidChange.event;\r\n _this._selector = selector;\r\n _this.languageIdentifier = _this._selector();\r\n _this._register(onLanguagesMaybeChanged(function () { return _this._evaluate(); }));\r\n return _this;\r\n }\r\n LanguageSelection.prototype._evaluate = function () {\r\n var languageIdentifier = this._selector();\r\n if (languageIdentifier.id === this.languageIdentifier.id) {\r\n // no change\r\n return;\r\n }\r\n this.languageIdentifier = languageIdentifier;\r\n this._onDidChange.fire(this.languageIdentifier);\r\n };\r\n return LanguageSelection;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar modeServiceImpl_ModeServiceImpl = /** @class */ (function () {\r\n function ModeServiceImpl(warnOnOverwrite) {\r\n var _this = this;\r\n if (warnOnOverwrite === void 0) { warnOnOverwrite = false; }\r\n this._onDidCreateMode = new common_event["a" /* Emitter */]();\r\n this.onDidCreateMode = this._onDidCreateMode.event;\r\n this._onLanguagesMaybeChanged = new common_event["a" /* Emitter */]();\r\n this.onLanguagesMaybeChanged = this._onLanguagesMaybeChanged.event;\r\n this._instantiatedModes = {};\r\n this._registry = new languagesRegistry_LanguagesRegistry(true, warnOnOverwrite);\r\n this._registry.onDidChange(function () { return _this._onLanguagesMaybeChanged.fire(); });\r\n }\r\n ModeServiceImpl.prototype.isRegisteredMode = function (mimetypeOrModeId) {\r\n return this._registry.isRegisteredMode(mimetypeOrModeId);\r\n };\r\n ModeServiceImpl.prototype.getModeIdForLanguageName = function (alias) {\r\n return this._registry.getModeIdForLanguageNameLowercase(alias);\r\n };\r\n ModeServiceImpl.prototype.getModeIdByFilepathOrFirstLine = function (resource, firstLine) {\r\n var modeIds = this._registry.getModeIdsFromFilepathOrFirstLine(resource, firstLine);\r\n return Object(arrays["l" /* firstOrDefault */])(modeIds, null);\r\n };\r\n ModeServiceImpl.prototype.getModeId = function (commaSeparatedMimetypesOrCommaSeparatedIds) {\r\n var modeIds = this._registry.extractModeIds(commaSeparatedMimetypesOrCommaSeparatedIds);\r\n return Object(arrays["l" /* firstOrDefault */])(modeIds, null);\r\n };\r\n ModeServiceImpl.prototype.getLanguageIdentifier = function (modeId) {\r\n return this._registry.getLanguageIdentifier(modeId);\r\n };\r\n // --- instantiation\r\n ModeServiceImpl.prototype.create = function (commaSeparatedMimetypesOrCommaSeparatedIds) {\r\n var _this = this;\r\n return new modeServiceImpl_LanguageSelection(this.onLanguagesMaybeChanged, function () {\r\n var modeId = _this.getModeId(commaSeparatedMimetypesOrCommaSeparatedIds);\r\n return _this._createModeAndGetLanguageIdentifier(modeId);\r\n });\r\n };\r\n ModeServiceImpl.prototype.createByFilepathOrFirstLine = function (resource, firstLine) {\r\n var _this = this;\r\n return new modeServiceImpl_LanguageSelection(this.onLanguagesMaybeChanged, function () {\r\n var modeId = _this.getModeIdByFilepathOrFirstLine(resource, firstLine);\r\n return _this._createModeAndGetLanguageIdentifier(modeId);\r\n });\r\n };\r\n ModeServiceImpl.prototype._createModeAndGetLanguageIdentifier = function (modeId) {\r\n // Fall back to plain text if no mode was found\r\n var languageIdentifier = this.getLanguageIdentifier(modeId || \'plaintext\') || nullMode["a" /* NULL_LANGUAGE_IDENTIFIER */];\r\n this._getOrCreateMode(languageIdentifier.language);\r\n return languageIdentifier;\r\n };\r\n ModeServiceImpl.prototype.triggerMode = function (commaSeparatedMimetypesOrCommaSeparatedIds) {\r\n var modeId = this.getModeId(commaSeparatedMimetypesOrCommaSeparatedIds);\r\n // Fall back to plain text if no mode was found\r\n this._getOrCreateMode(modeId || \'plaintext\');\r\n };\r\n ModeServiceImpl.prototype._getOrCreateMode = function (modeId) {\r\n if (!this._instantiatedModes.hasOwnProperty(modeId)) {\r\n var languageIdentifier = this.getLanguageIdentifier(modeId) || nullMode["a" /* NULL_LANGUAGE_IDENTIFIER */];\r\n this._instantiatedModes[modeId] = new FrankensteinMode(languageIdentifier);\r\n this._onDidCreateMode.fire(this._instantiatedModes[modeId]);\r\n }\r\n return this._instantiatedModes[modeId];\r\n };\r\n return ModeServiceImpl;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/model/tokensStore.js\nvar tokensStore = __webpack_require__("QRHv");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/modelServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar modelServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 modelServiceImpl_decorate = (undefined && undefined.__decorate) || function (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\nvar modelServiceImpl_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction MODEL_ID(resource) {\r\n return resource.toString();\r\n}\r\nvar modelServiceImpl_ModelData = /** @class */ (function () {\r\n function ModelData(model, onWillDispose, onDidChangeLanguage) {\r\n this._modelEventListeners = new lifecycle["b" /* DisposableStore */]();\r\n this.model = model;\r\n this._languageSelection = null;\r\n this._languageSelectionListener = null;\r\n this._modelEventListeners.add(model.onWillDispose(function () { return onWillDispose(model); }));\r\n this._modelEventListeners.add(model.onDidChangeLanguage(function (e) { return onDidChangeLanguage(model, e); }));\r\n }\r\n ModelData.prototype._disposeLanguageSelection = function () {\r\n if (this._languageSelectionListener) {\r\n this._languageSelectionListener.dispose();\r\n this._languageSelectionListener = null;\r\n }\r\n if (this._languageSelection) {\r\n this._languageSelection.dispose();\r\n this._languageSelection = null;\r\n }\r\n };\r\n ModelData.prototype.dispose = function () {\r\n this._modelEventListeners.dispose();\r\n this._disposeLanguageSelection();\r\n };\r\n ModelData.prototype.setLanguage = function (languageSelection) {\r\n var _this = this;\r\n this._disposeLanguageSelection();\r\n this._languageSelection = languageSelection;\r\n this._languageSelectionListener = this._languageSelection.onDidChange(function () { return _this.model.setMode(languageSelection.languageIdentifier); });\r\n this.model.setMode(languageSelection.languageIdentifier);\r\n };\r\n return ModelData;\r\n}());\r\nvar DEFAULT_EOL = (platform["d" /* isLinux */] || platform["e" /* isMacintosh */]) ? 1 /* LF */ : 2 /* CRLF */;\r\nvar modelServiceImpl_ModelServiceImpl = /** @class */ (function (_super) {\r\n modelServiceImpl_extends(ModelServiceImpl, _super);\r\n function ModelServiceImpl(configurationService, resourcePropertiesService, themeService, logService) {\r\n var _this = _super.call(this) || this;\r\n _this._onModelAdded = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onModelAdded = _this._onModelAdded.event;\r\n _this._onModelRemoved = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onModelRemoved = _this._onModelRemoved.event;\r\n _this._onModelModeChanged = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onModelModeChanged = _this._onModelModeChanged.event;\r\n _this._configurationService = configurationService;\r\n _this._resourcePropertiesService = resourcePropertiesService;\r\n _this._models = {};\r\n _this._modelCreationOptionsByLanguageAndResource = Object.create(null);\r\n _this._configurationServiceSubscription = _this._configurationService.onDidChangeConfiguration(function (e) { return _this._updateModelOptions(); });\r\n _this._updateModelOptions();\r\n _this._register(new SemanticColoringFeature(_this, themeService, configurationService, logService));\r\n return _this;\r\n }\r\n ModelServiceImpl._readModelOptions = function (config, isForSimpleWidget) {\r\n var tabSize = editorOptions["c" /* EDITOR_MODEL_DEFAULTS */].tabSize;\r\n if (config.editor && typeof config.editor.tabSize !== \'undefined\') {\r\n var parsedTabSize = parseInt(config.editor.tabSize, 10);\r\n if (!isNaN(parsedTabSize)) {\r\n tabSize = parsedTabSize;\r\n }\r\n if (tabSize < 1) {\r\n tabSize = 1;\r\n }\r\n }\r\n var indentSize = tabSize;\r\n if (config.editor && typeof config.editor.indentSize !== \'undefined\' && config.editor.indentSize !== \'tabSize\') {\r\n var parsedIndentSize = parseInt(config.editor.indentSize, 10);\r\n if (!isNaN(parsedIndentSize)) {\r\n indentSize = parsedIndentSize;\r\n }\r\n if (indentSize < 1) {\r\n indentSize = 1;\r\n }\r\n }\r\n var insertSpaces = editorOptions["c" /* EDITOR_MODEL_DEFAULTS */].insertSpaces;\r\n if (config.editor && typeof config.editor.insertSpaces !== \'undefined\') {\r\n insertSpaces = (config.editor.insertSpaces === \'false\' ? false : Boolean(config.editor.insertSpaces));\r\n }\r\n var newDefaultEOL = DEFAULT_EOL;\r\n var eol = config.eol;\r\n if (eol === \'\\r\\n\') {\r\n newDefaultEOL = 2 /* CRLF */;\r\n }\r\n else if (eol === \'\\n\') {\r\n newDefaultEOL = 1 /* LF */;\r\n }\r\n var trimAutoWhitespace = editorOptions["c" /* EDITOR_MODEL_DEFAULTS */].trimAutoWhitespace;\r\n if (config.editor && typeof config.editor.trimAutoWhitespace !== \'undefined\') {\r\n trimAutoWhitespace = (config.editor.trimAutoWhitespace === \'false\' ? false : Boolean(config.editor.trimAutoWhitespace));\r\n }\r\n var detectIndentation = editorOptions["c" /* EDITOR_MODEL_DEFAULTS */].detectIndentation;\r\n if (config.editor && typeof config.editor.detectIndentation !== \'undefined\') {\r\n detectIndentation = (config.editor.detectIndentation === \'false\' ? false : Boolean(config.editor.detectIndentation));\r\n }\r\n var largeFileOptimizations = editorOptions["c" /* EDITOR_MODEL_DEFAULTS */].largeFileOptimizations;\r\n if (config.editor && typeof config.editor.largeFileOptimizations !== \'undefined\') {\r\n largeFileOptimizations = (config.editor.largeFileOptimizations === \'false\' ? false : Boolean(config.editor.largeFileOptimizations));\r\n }\r\n return {\r\n isForSimpleWidget: isForSimpleWidget,\r\n tabSize: tabSize,\r\n indentSize: indentSize,\r\n insertSpaces: insertSpaces,\r\n detectIndentation: detectIndentation,\r\n defaultEOL: newDefaultEOL,\r\n trimAutoWhitespace: trimAutoWhitespace,\r\n largeFileOptimizations: largeFileOptimizations\r\n };\r\n };\r\n ModelServiceImpl.prototype.getCreationOptions = function (language, resource, isForSimpleWidget) {\r\n var creationOptions = this._modelCreationOptionsByLanguageAndResource[language + resource];\r\n if (!creationOptions) {\r\n var editor = this._configurationService.getValue(\'editor\', { overrideIdentifier: language, resource: resource });\r\n var eol = this._resourcePropertiesService.getEOL(resource, language);\r\n creationOptions = ModelServiceImpl._readModelOptions({ editor: editor, eol: eol }, isForSimpleWidget);\r\n this._modelCreationOptionsByLanguageAndResource[language + resource] = creationOptions;\r\n }\r\n return creationOptions;\r\n };\r\n ModelServiceImpl.prototype._updateModelOptions = function () {\r\n var oldOptionsByLanguageAndResource = this._modelCreationOptionsByLanguageAndResource;\r\n this._modelCreationOptionsByLanguageAndResource = Object.create(null);\r\n // Update options on all models\r\n var keys = Object.keys(this._models);\r\n for (var i = 0, len = keys.length; i < len; i++) {\r\n var modelId = keys[i];\r\n var modelData = this._models[modelId];\r\n var language = modelData.model.getLanguageIdentifier().language;\r\n var uri = modelData.model.uri;\r\n var oldOptions = oldOptionsByLanguageAndResource[language + uri];\r\n var newOptions = this.getCreationOptions(language, uri, modelData.model.isForSimpleWidget);\r\n ModelServiceImpl._setModelOptionsForModel(modelData.model, newOptions, oldOptions);\r\n }\r\n };\r\n ModelServiceImpl._setModelOptionsForModel = function (model, newOptions, currentOptions) {\r\n if (currentOptions && currentOptions.defaultEOL !== newOptions.defaultEOL && model.getLineCount() === 1) {\r\n model.setEOL(newOptions.defaultEOL === 1 /* LF */ ? 0 /* LF */ : 1 /* CRLF */);\r\n }\r\n if (currentOptions\r\n && (currentOptions.detectIndentation === newOptions.detectIndentation)\r\n && (currentOptions.insertSpaces === newOptions.insertSpaces)\r\n && (currentOptions.tabSize === newOptions.tabSize)\r\n && (currentOptions.indentSize === newOptions.indentSize)\r\n && (currentOptions.trimAutoWhitespace === newOptions.trimAutoWhitespace)) {\r\n // Same indent opts, no need to touch the model\r\n return;\r\n }\r\n if (newOptions.detectIndentation) {\r\n model.detectIndentation(newOptions.insertSpaces, newOptions.tabSize);\r\n model.updateOptions({\r\n trimAutoWhitespace: newOptions.trimAutoWhitespace\r\n });\r\n }\r\n else {\r\n model.updateOptions({\r\n insertSpaces: newOptions.insertSpaces,\r\n tabSize: newOptions.tabSize,\r\n indentSize: newOptions.indentSize,\r\n trimAutoWhitespace: newOptions.trimAutoWhitespace\r\n });\r\n }\r\n };\r\n ModelServiceImpl.prototype.dispose = function () {\r\n this._configurationServiceSubscription.dispose();\r\n _super.prototype.dispose.call(this);\r\n };\r\n // --- begin IModelService\r\n ModelServiceImpl.prototype._createModelData = function (value, languageIdentifier, resource, isForSimpleWidget) {\r\n var _this = this;\r\n // create & save the model\r\n var options = this.getCreationOptions(languageIdentifier.language, resource, isForSimpleWidget);\r\n var model = new textModel["b" /* TextModel */](value, options, languageIdentifier, resource);\r\n var modelId = MODEL_ID(model.uri);\r\n if (this._models[modelId]) {\r\n // There already exists a model with this id => this is a programmer error\r\n throw new Error(\'ModelService: Cannot add model because it already exists!\');\r\n }\r\n var modelData = new modelServiceImpl_ModelData(model, function (model) { return _this._onWillDispose(model); }, function (model, e) { return _this._onDidChangeLanguage(model, e); });\r\n this._models[modelId] = modelData;\r\n return modelData;\r\n };\r\n ModelServiceImpl.prototype.createModel = function (value, languageSelection, resource, isForSimpleWidget) {\r\n if (isForSimpleWidget === void 0) { isForSimpleWidget = false; }\r\n var modelData;\r\n if (languageSelection) {\r\n modelData = this._createModelData(value, languageSelection.languageIdentifier, resource, isForSimpleWidget);\r\n this.setMode(modelData.model, languageSelection);\r\n }\r\n else {\r\n modelData = this._createModelData(value, modesRegistry["b" /* PLAINTEXT_LANGUAGE_IDENTIFIER */], resource, isForSimpleWidget);\r\n }\r\n this._onModelAdded.fire(modelData.model);\r\n return modelData.model;\r\n };\r\n ModelServiceImpl.prototype.setMode = function (model, languageSelection) {\r\n if (!languageSelection) {\r\n return;\r\n }\r\n var modelData = this._models[MODEL_ID(model.uri)];\r\n if (!modelData) {\r\n return;\r\n }\r\n modelData.setLanguage(languageSelection);\r\n };\r\n ModelServiceImpl.prototype.getModels = function () {\r\n var ret = [];\r\n var keys = Object.keys(this._models);\r\n for (var i = 0, len = keys.length; i < len; i++) {\r\n var modelId = keys[i];\r\n ret.push(this._models[modelId].model);\r\n }\r\n return ret;\r\n };\r\n ModelServiceImpl.prototype.getModel = function (resource) {\r\n var modelId = MODEL_ID(resource);\r\n var modelData = this._models[modelId];\r\n if (!modelData) {\r\n return null;\r\n }\r\n return modelData.model;\r\n };\r\n // --- end IModelService\r\n ModelServiceImpl.prototype._onWillDispose = function (model) {\r\n var modelId = MODEL_ID(model.uri);\r\n var modelData = this._models[modelId];\r\n delete this._models[modelId];\r\n modelData.dispose();\r\n // clean up cache\r\n delete this._modelCreationOptionsByLanguageAndResource[model.getLanguageIdentifier().language + model.uri];\r\n this._onModelRemoved.fire(model);\r\n };\r\n ModelServiceImpl.prototype._onDidChangeLanguage = function (model, e) {\r\n var oldModeId = e.oldLanguage;\r\n var newModeId = model.getLanguageIdentifier().language;\r\n var oldOptions = this.getCreationOptions(oldModeId, model.uri, model.isForSimpleWidget);\r\n var newOptions = this.getCreationOptions(newModeId, model.uri, model.isForSimpleWidget);\r\n ModelServiceImpl._setModelOptionsForModel(model, newOptions, oldOptions);\r\n this._onModelModeChanged.fire({ model: model, oldModeId: oldModeId });\r\n };\r\n ModelServiceImpl = modelServiceImpl_decorate([\r\n modelServiceImpl_param(0, common_configuration["a" /* IConfigurationService */]),\r\n modelServiceImpl_param(1, ITextResourcePropertiesService),\r\n modelServiceImpl_param(2, common_themeService["c" /* IThemeService */]),\r\n modelServiceImpl_param(3, log["a" /* ILogService */])\r\n ], ModelServiceImpl);\r\n return ModelServiceImpl;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\nvar SemanticColoringFeature = /** @class */ (function (_super) {\r\n modelServiceImpl_extends(SemanticColoringFeature, _super);\r\n function SemanticColoringFeature(modelService, themeService, configurationService, logService) {\r\n var _this = _super.call(this) || this;\r\n _this._configurationService = configurationService;\r\n _this._watchers = Object.create(null);\r\n _this._semanticStyling = _this._register(new SemanticStyling(themeService, logService));\r\n var isSemanticColoringEnabled = function (model) {\r\n var options = configurationService.getValue(SemanticColoringFeature.SETTING_ID, { overrideIdentifier: model.getLanguageIdentifier().language, resource: model.uri });\r\n return options && options.enabled;\r\n };\r\n var register = function (model) {\r\n _this._watchers[model.uri.toString()] = new modelServiceImpl_ModelSemanticColoring(model, themeService, _this._semanticStyling);\r\n };\r\n var deregister = function (model, modelSemanticColoring) {\r\n modelSemanticColoring.dispose();\r\n delete _this._watchers[model.uri.toString()];\r\n };\r\n _this._register(modelService.onModelAdded(function (model) {\r\n if (isSemanticColoringEnabled(model)) {\r\n register(model);\r\n }\r\n }));\r\n _this._register(modelService.onModelRemoved(function (model) {\r\n var curr = _this._watchers[model.uri.toString()];\r\n if (curr) {\r\n deregister(model, curr);\r\n }\r\n }));\r\n _this._configurationService.onDidChangeConfiguration(function (e) {\r\n if (e.affectsConfiguration(SemanticColoringFeature.SETTING_ID)) {\r\n for (var _i = 0, _a = modelService.getModels(); _i < _a.length; _i++) {\r\n var model = _a[_i];\r\n var curr = _this._watchers[model.uri.toString()];\r\n if (isSemanticColoringEnabled(model)) {\r\n if (!curr) {\r\n register(model);\r\n }\r\n }\r\n else {\r\n if (curr) {\r\n deregister(model, curr);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n SemanticColoringFeature.SETTING_ID = \'editor.semanticHighlighting\';\r\n return SemanticColoringFeature;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar SemanticStyling = /** @class */ (function (_super) {\r\n modelServiceImpl_extends(SemanticStyling, _super);\r\n function SemanticStyling(_themeService, _logService) {\r\n var _this = _super.call(this) || this;\r\n _this._themeService = _themeService;\r\n _this._logService = _logService;\r\n _this._caches = new WeakMap();\r\n if (_this._themeService) {\r\n // workaround for tests which use undefined... :/\r\n _this._register(_this._themeService.onThemeChange(function () {\r\n _this._caches = new WeakMap();\r\n }));\r\n }\r\n return _this;\r\n }\r\n SemanticStyling.prototype.get = function (provider) {\r\n if (!this._caches.has(provider)) {\r\n this._caches.set(provider, new modelServiceImpl_SemanticColoringProviderStyling(provider.getLegend(), this._themeService, this._logService));\r\n }\r\n return this._caches.get(provider);\r\n };\r\n return SemanticStyling;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar HashTableEntry = /** @class */ (function () {\r\n function HashTableEntry(tokenTypeIndex, tokenModifierSet, metadata) {\r\n this.tokenTypeIndex = tokenTypeIndex;\r\n this.tokenModifierSet = tokenModifierSet;\r\n this.metadata = metadata;\r\n this.next = null;\r\n }\r\n return HashTableEntry;\r\n}());\r\nvar HashTable = /** @class */ (function () {\r\n function HashTable() {\r\n this._elementsCount = 0;\r\n this._currentLengthIndex = 0;\r\n this._currentLength = HashTable._SIZES[this._currentLengthIndex];\r\n this._growCount = Math.round(this._currentLengthIndex + 1 < HashTable._SIZES.length ? 2 / 3 * this._currentLength : 0);\r\n this._elements = [];\r\n HashTable._nullOutEntries(this._elements, this._currentLength);\r\n }\r\n HashTable._nullOutEntries = function (entries, length) {\r\n for (var i = 0; i < length; i++) {\r\n entries[i] = null;\r\n }\r\n };\r\n HashTable.prototype._hashFunc = function (tokenTypeIndex, tokenModifierSet) {\r\n return ((((tokenTypeIndex << 5) - tokenTypeIndex) + tokenModifierSet) | 0) % this._currentLength; // tokenTypeIndex * 31 + tokenModifierSet, keep as int32\r\n };\r\n HashTable.prototype.get = function (tokenTypeIndex, tokenModifierSet) {\r\n var hash = this._hashFunc(tokenTypeIndex, tokenModifierSet);\r\n var p = this._elements[hash];\r\n while (p) {\r\n if (p.tokenTypeIndex === tokenTypeIndex && p.tokenModifierSet === tokenModifierSet) {\r\n return p;\r\n }\r\n p = p.next;\r\n }\r\n return null;\r\n };\r\n HashTable.prototype.add = function (tokenTypeIndex, tokenModifierSet, metadata) {\r\n this._elementsCount++;\r\n if (this._growCount !== 0 && this._elementsCount >= this._growCount) {\r\n // expand!\r\n var oldElements = this._elements;\r\n this._currentLengthIndex++;\r\n this._currentLength = HashTable._SIZES[this._currentLengthIndex];\r\n this._growCount = Math.round(this._currentLengthIndex + 1 < HashTable._SIZES.length ? 2 / 3 * this._currentLength : 0);\r\n this._elements = [];\r\n HashTable._nullOutEntries(this._elements, this._currentLength);\r\n for (var _i = 0, oldElements_1 = oldElements; _i < oldElements_1.length; _i++) {\r\n var first = oldElements_1[_i];\r\n var p = first;\r\n while (p) {\r\n var oldNext = p.next;\r\n p.next = null;\r\n this._add(p);\r\n p = oldNext;\r\n }\r\n }\r\n }\r\n this._add(new HashTableEntry(tokenTypeIndex, tokenModifierSet, metadata));\r\n };\r\n HashTable.prototype._add = function (element) {\r\n var hash = this._hashFunc(element.tokenTypeIndex, element.tokenModifierSet);\r\n element.next = this._elements[hash];\r\n this._elements[hash] = element;\r\n };\r\n HashTable._SIZES = [3, 7, 13, 31, 61, 127, 251, 509, 1021, 2039, 4093, 8191, 16381, 32749, 65521, 131071, 262139, 524287, 1048573, 2097143];\r\n return HashTable;\r\n}());\r\nvar modelServiceImpl_SemanticColoringProviderStyling = /** @class */ (function () {\r\n function SemanticColoringProviderStyling(_legend, _themeService, _logService) {\r\n this._legend = _legend;\r\n this._themeService = _themeService;\r\n this._logService = _logService;\r\n this._hashTable = new HashTable();\r\n }\r\n SemanticColoringProviderStyling.prototype.getMetadata = function (tokenTypeIndex, tokenModifierSet) {\r\n var entry = this._hashTable.get(tokenTypeIndex, tokenModifierSet);\r\n var metadata;\r\n if (entry) {\r\n metadata = entry.metadata;\r\n }\r\n else {\r\n var tokenType = this._legend.tokenTypes[tokenTypeIndex];\r\n var tokenModifiers = [];\r\n var modifierSet = tokenModifierSet;\r\n for (var modifierIndex = 0; modifierSet > 0 && modifierIndex < this._legend.tokenModifiers.length; modifierIndex++) {\r\n if (modifierSet & 1) {\r\n tokenModifiers.push(this._legend.tokenModifiers[modifierIndex]);\r\n }\r\n modifierSet = modifierSet >> 1;\r\n }\r\n var tokenStyle = this._themeService.getTheme().getTokenStyleMetadata(tokenType, tokenModifiers);\r\n if (typeof tokenStyle === \'undefined\') {\r\n metadata = 2147483647 /* NO_STYLING */;\r\n }\r\n else {\r\n metadata = 0;\r\n if (typeof tokenStyle.italic !== \'undefined\') {\r\n var italicBit = (tokenStyle.italic ? 1 /* Italic */ : 0) << 11 /* FONT_STYLE_OFFSET */;\r\n metadata |= italicBit | 1 /* SEMANTIC_USE_ITALIC */;\r\n }\r\n if (typeof tokenStyle.bold !== \'undefined\') {\r\n var boldBit = (tokenStyle.bold ? 2 /* Bold */ : 0) << 11 /* FONT_STYLE_OFFSET */;\r\n metadata |= boldBit | 2 /* SEMANTIC_USE_BOLD */;\r\n }\r\n if (typeof tokenStyle.underline !== \'undefined\') {\r\n var underlineBit = (tokenStyle.underline ? 4 /* Underline */ : 0) << 11 /* FONT_STYLE_OFFSET */;\r\n metadata |= underlineBit | 4 /* SEMANTIC_USE_UNDERLINE */;\r\n }\r\n if (tokenStyle.foreground) {\r\n var foregroundBits = (tokenStyle.foreground) << 14 /* FOREGROUND_OFFSET */;\r\n metadata |= foregroundBits | 8 /* SEMANTIC_USE_FOREGROUND */;\r\n }\r\n if (metadata === 0) {\r\n // Nothing!\r\n metadata = 2147483647 /* NO_STYLING */;\r\n }\r\n }\r\n this._hashTable.add(tokenTypeIndex, tokenModifierSet, metadata);\r\n }\r\n if (this._logService.getLevel() === log["b" /* LogLevel */].Trace) {\r\n var type = this._legend.tokenTypes[tokenTypeIndex];\r\n var modifiers = tokenModifierSet ? \' \' + this._legend.tokenModifiers.filter(function (_, i) { return tokenModifierSet & (1 << i); }).join(\' \') : \'\';\r\n this._logService.trace("tokenStyleMetadata " + (entry ? \'[CACHED] \' : \'\') + type + modifiers + ": foreground " + modes["x" /* TokenMetadata */].getForeground(metadata) + ", fontStyle " + modes["x" /* TokenMetadata */].getFontStyle(metadata).toString(2));\r\n }\r\n return metadata;\r\n };\r\n return SemanticColoringProviderStyling;\r\n}());\r\nvar SemanticTokensResponse = /** @class */ (function () {\r\n function SemanticTokensResponse(_provider, resultId, data) {\r\n this._provider = _provider;\r\n this.resultId = resultId;\r\n this.data = data;\r\n }\r\n SemanticTokensResponse.prototype.dispose = function () {\r\n this._provider.releaseDocumentSemanticTokens(this.resultId);\r\n };\r\n return SemanticTokensResponse;\r\n}());\r\nvar modelServiceImpl_ModelSemanticColoring = /** @class */ (function (_super) {\r\n modelServiceImpl_extends(ModelSemanticColoring, _super);\r\n function ModelSemanticColoring(model, themeService, stylingProvider) {\r\n var _this = _super.call(this) || this;\r\n _this._isDisposed = false;\r\n _this._model = model;\r\n _this._semanticStyling = stylingProvider;\r\n _this._fetchSemanticTokens = _this._register(new common_async["d" /* RunOnceScheduler */](function () { return _this._fetchSemanticTokensNow(); }, 300));\r\n _this._currentResponse = null;\r\n _this._currentRequestCancellationTokenSource = null;\r\n _this._register(_this._model.onDidChangeContent(function (e) {\r\n if (!_this._fetchSemanticTokens.isScheduled()) {\r\n _this._fetchSemanticTokens.schedule();\r\n }\r\n }));\r\n _this._register(modes["k" /* DocumentSemanticTokensProviderRegistry */].onDidChange(function (e) { return _this._fetchSemanticTokens.schedule(); }));\r\n if (themeService) {\r\n // workaround for tests which use undefined... :/\r\n _this._register(themeService.onThemeChange(function (_) {\r\n // clear out existing tokens\r\n _this._setSemanticTokens(null, null, null, []);\r\n _this._fetchSemanticTokens.schedule();\r\n }));\r\n }\r\n _this._fetchSemanticTokens.schedule(0);\r\n return _this;\r\n }\r\n ModelSemanticColoring.prototype.dispose = function () {\r\n if (this._currentResponse) {\r\n this._currentResponse.dispose();\r\n this._currentResponse = null;\r\n }\r\n if (this._currentRequestCancellationTokenSource) {\r\n this._currentRequestCancellationTokenSource.cancel();\r\n this._currentRequestCancellationTokenSource = null;\r\n }\r\n this._setSemanticTokens(null, null, null, []);\r\n this._isDisposed = true;\r\n _super.prototype.dispose.call(this);\r\n };\r\n ModelSemanticColoring.prototype._fetchSemanticTokensNow = function () {\r\n var _this = this;\r\n if (this._currentRequestCancellationTokenSource) {\r\n // there is already a request running, let it finish...\r\n return;\r\n }\r\n var provider = this._getSemanticColoringProvider();\r\n if (!provider) {\r\n return;\r\n }\r\n this._currentRequestCancellationTokenSource = new cancellation["b" /* CancellationTokenSource */]();\r\n var pendingChanges = [];\r\n var contentChangeListener = this._model.onDidChangeContent(function (e) {\r\n pendingChanges.push(e);\r\n });\r\n var styling = this._semanticStyling.get(provider);\r\n var lastResultId = this._currentResponse ? this._currentResponse.resultId || null : null;\r\n var request = Promise.resolve(provider.provideDocumentSemanticTokens(this._model, lastResultId, this._currentRequestCancellationTokenSource.token));\r\n request.then(function (res) {\r\n _this._currentRequestCancellationTokenSource = null;\r\n contentChangeListener.dispose();\r\n _this._setSemanticTokens(provider, res || null, styling, pendingChanges);\r\n }, function (err) {\r\n if (!err || typeof err.message !== \'string\' || err.message.indexOf(\'busy\') === -1) {\r\n errors["e" /* onUnexpectedError */](err);\r\n }\r\n // Semantic tokens eats up all errors and considers errors to mean that the result is temporarily not available\r\n // The API does not have a special error kind to express this...\r\n _this._currentRequestCancellationTokenSource = null;\r\n contentChangeListener.dispose();\r\n if (pendingChanges.length > 0) {\r\n // More changes occurred while the request was running\r\n if (!_this._fetchSemanticTokens.isScheduled()) {\r\n _this._fetchSemanticTokens.schedule();\r\n }\r\n }\r\n });\r\n };\r\n ModelSemanticColoring._isSemanticTokens = function (v) {\r\n return v && !!(v.data);\r\n };\r\n ModelSemanticColoring._isSemanticTokensEdits = function (v) {\r\n return v && Array.isArray(v.edits);\r\n };\r\n ModelSemanticColoring._copy = function (src, srcOffset, dest, destOffset, length) {\r\n for (var i = 0; i < length; i++) {\r\n dest[destOffset + i] = src[srcOffset + i];\r\n }\r\n };\r\n ModelSemanticColoring.prototype._setSemanticTokens = function (provider, tokens, styling, pendingChanges) {\r\n var currentResponse = this._currentResponse;\r\n if (this._currentResponse) {\r\n this._currentResponse.dispose();\r\n this._currentResponse = null;\r\n }\r\n if (this._isDisposed) {\r\n // disposed!\r\n if (provider && tokens) {\r\n provider.releaseDocumentSemanticTokens(tokens.resultId);\r\n }\r\n return;\r\n }\r\n if (!provider || !tokens || !styling) {\r\n this._model.setSemanticTokens(null);\r\n return;\r\n }\r\n if (ModelSemanticColoring._isSemanticTokensEdits(tokens)) {\r\n if (!currentResponse) {\r\n // not possible!\r\n this._model.setSemanticTokens(null);\r\n return;\r\n }\r\n if (tokens.edits.length === 0) {\r\n // nothing to do!\r\n tokens = {\r\n resultId: tokens.resultId,\r\n data: currentResponse.data\r\n };\r\n }\r\n else {\r\n var deltaLength = 0;\r\n for (var _i = 0, _a = tokens.edits; _i < _a.length; _i++) {\r\n var edit = _a[_i];\r\n deltaLength += (edit.data ? edit.data.length : 0) - edit.deleteCount;\r\n }\r\n var srcData = currentResponse.data;\r\n var destData = new Uint32Array(srcData.length + deltaLength);\r\n var srcLastStart = srcData.length;\r\n var destLastStart = destData.length;\r\n for (var i = tokens.edits.length - 1; i >= 0; i--) {\r\n var edit = tokens.edits[i];\r\n var copyCount = srcLastStart - (edit.start + edit.deleteCount);\r\n if (copyCount > 0) {\r\n ModelSemanticColoring._copy(srcData, srcLastStart - copyCount, destData, destLastStart - copyCount, copyCount);\r\n destLastStart -= copyCount;\r\n }\r\n if (edit.data) {\r\n ModelSemanticColoring._copy(edit.data, 0, destData, destLastStart - edit.data.length, edit.data.length);\r\n destLastStart -= edit.data.length;\r\n }\r\n srcLastStart = edit.start;\r\n }\r\n if (srcLastStart > 0) {\r\n ModelSemanticColoring._copy(srcData, 0, destData, 0, srcLastStart);\r\n }\r\n tokens = {\r\n resultId: tokens.resultId,\r\n data: destData\r\n };\r\n }\r\n }\r\n if (ModelSemanticColoring._isSemanticTokens(tokens)) {\r\n this._currentResponse = new SemanticTokensResponse(provider, tokens.resultId, tokens.data);\r\n var srcData = tokens.data;\r\n var tokenCount = (tokens.data.length / 5) | 0;\r\n var tokensPerArea = Math.max(Math.ceil(tokenCount / 1024 /* DesiredMaxAreas */), 400 /* DesiredTokensPerArea */);\r\n var result = [];\r\n var tokenIndex = 0;\r\n var lastLineNumber = 1;\r\n var lastStartCharacter = 0;\r\n while (tokenIndex < tokenCount) {\r\n var tokenStartIndex = tokenIndex;\r\n var tokenEndIndex = Math.min(tokenStartIndex + tokensPerArea, tokenCount);\r\n // Keep tokens on the same line in the same area...\r\n if (tokenEndIndex < tokenCount) {\r\n var smallTokenEndIndex = tokenEndIndex;\r\n while (smallTokenEndIndex - 1 > tokenStartIndex && srcData[5 * smallTokenEndIndex] === 0) {\r\n smallTokenEndIndex--;\r\n }\r\n if (smallTokenEndIndex - 1 === tokenStartIndex) {\r\n // there are so many tokens on this line that our area would be empty, we must now go right\r\n var bigTokenEndIndex = tokenEndIndex;\r\n while (bigTokenEndIndex + 1 < tokenCount && srcData[5 * bigTokenEndIndex] === 0) {\r\n bigTokenEndIndex++;\r\n }\r\n tokenEndIndex = bigTokenEndIndex;\r\n }\r\n else {\r\n tokenEndIndex = smallTokenEndIndex;\r\n }\r\n }\r\n var destData = new Uint32Array((tokenEndIndex - tokenStartIndex) * 4);\r\n var destOffset = 0;\r\n var areaLine = 0;\r\n while (tokenIndex < tokenEndIndex) {\r\n var srcOffset = 5 * tokenIndex;\r\n var deltaLine = srcData[srcOffset];\r\n var deltaCharacter = srcData[srcOffset + 1];\r\n var lineNumber = lastLineNumber + deltaLine;\r\n var startCharacter = (deltaLine === 0 ? lastStartCharacter + deltaCharacter : deltaCharacter);\r\n var length_1 = srcData[srcOffset + 2];\r\n var tokenTypeIndex = srcData[srcOffset + 3];\r\n var tokenModifierSet = srcData[srcOffset + 4];\r\n var metadata = styling.getMetadata(tokenTypeIndex, tokenModifierSet);\r\n if (metadata !== 2147483647 /* NO_STYLING */) {\r\n if (areaLine === 0) {\r\n areaLine = lineNumber;\r\n }\r\n destData[destOffset] = lineNumber - areaLine;\r\n destData[destOffset + 1] = startCharacter;\r\n destData[destOffset + 2] = startCharacter + length_1;\r\n destData[destOffset + 3] = metadata;\r\n destOffset += 4;\r\n }\r\n lastLineNumber = lineNumber;\r\n lastStartCharacter = startCharacter;\r\n tokenIndex++;\r\n }\r\n if (destOffset !== destData.length) {\r\n destData = destData.subarray(0, destOffset);\r\n }\r\n var tokens_1 = new tokensStore["a" /* MultilineTokens2 */](areaLine, new tokensStore["c" /* SparseEncodedTokens */](destData));\r\n result.push(tokens_1);\r\n }\r\n // Adjust incoming semantic tokens\r\n if (pendingChanges.length > 0) {\r\n // More changes occurred while the request was running\r\n // We need to:\r\n // 1. Adjust incoming semantic tokens\r\n // 2. Request them again\r\n for (var _b = 0, pendingChanges_1 = pendingChanges; _b < pendingChanges_1.length; _b++) {\r\n var change = pendingChanges_1[_b];\r\n for (var _c = 0, result_1 = result; _c < result_1.length; _c++) {\r\n var area = result_1[_c];\r\n for (var _d = 0, _e = change.changes; _d < _e.length; _d++) {\r\n var singleChange = _e[_d];\r\n area.applyEdit(singleChange.range, singleChange.text);\r\n }\r\n }\r\n }\r\n if (!this._fetchSemanticTokens.isScheduled()) {\r\n this._fetchSemanticTokens.schedule();\r\n }\r\n }\r\n this._model.setSemanticTokens(result);\r\n return;\r\n }\r\n this._model.setSemanticTokens(null);\r\n };\r\n ModelSemanticColoring.prototype._getSemanticColoringProvider = function () {\r\n var result = modes["k" /* DocumentSemanticTokensProviderRegistry */].ordered(this._model);\r\n return (result.length > 0 ? result[0] : null);\r\n };\r\n return ModelSemanticColoring;\r\n}(lifecycle["a" /* Disposable */]));\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/services/abstractCodeEditorService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar abstractCodeEditorService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\nvar abstractCodeEditorService_AbstractCodeEditorService = /** @class */ (function (_super) {\r\n abstractCodeEditorService_extends(AbstractCodeEditorService, _super);\r\n function AbstractCodeEditorService() {\r\n var _this = _super.call(this) || this;\r\n _this._onCodeEditorAdd = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onCodeEditorAdd = _this._onCodeEditorAdd.event;\r\n _this._onCodeEditorRemove = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onCodeEditorRemove = _this._onCodeEditorRemove.event;\r\n _this._onDiffEditorAdd = _this._register(new common_event["a" /* Emitter */]());\r\n _this._onDiffEditorRemove = _this._register(new common_event["a" /* Emitter */]());\r\n _this._codeEditors = Object.create(null);\r\n _this._diffEditors = Object.create(null);\r\n return _this;\r\n }\r\n AbstractCodeEditorService.prototype.addCodeEditor = function (editor) {\r\n this._codeEditors[editor.getId()] = editor;\r\n this._onCodeEditorAdd.fire(editor);\r\n };\r\n AbstractCodeEditorService.prototype.removeCodeEditor = function (editor) {\r\n if (delete this._codeEditors[editor.getId()]) {\r\n this._onCodeEditorRemove.fire(editor);\r\n }\r\n };\r\n AbstractCodeEditorService.prototype.listCodeEditors = function () {\r\n var _this = this;\r\n return Object.keys(this._codeEditors).map(function (id) { return _this._codeEditors[id]; });\r\n };\r\n AbstractCodeEditorService.prototype.addDiffEditor = function (editor) {\r\n this._diffEditors[editor.getId()] = editor;\r\n this._onDiffEditorAdd.fire(editor);\r\n };\r\n AbstractCodeEditorService.prototype.removeDiffEditor = function (editor) {\r\n if (delete this._diffEditors[editor.getId()]) {\r\n this._onDiffEditorRemove.fire(editor);\r\n }\r\n };\r\n AbstractCodeEditorService.prototype.listDiffEditors = function () {\r\n var _this = this;\r\n return Object.keys(this._diffEditors).map(function (id) { return _this._diffEditors[id]; });\r\n };\r\n AbstractCodeEditorService.prototype.getFocusedCodeEditor = function () {\r\n var editorWithWidgetFocus = null;\r\n var editors = this.listCodeEditors();\r\n for (var _i = 0, editors_1 = editors; _i < editors_1.length; _i++) {\r\n var editor = editors_1[_i];\r\n if (editor.hasTextFocus()) {\r\n // bingo!\r\n return editor;\r\n }\r\n if (editor.hasWidgetFocus()) {\r\n editorWithWidgetFocus = editor;\r\n }\r\n }\r\n return editorWithWidgetFocus;\r\n };\r\n return AbstractCodeEditorService;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/services/codeEditorServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar codeEditorServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 codeEditorServiceImpl_decorate = (undefined && undefined.__decorate) || function (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\nvar codeEditorServiceImpl_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar RefCountedStyleSheet = /** @class */ (function () {\r\n function RefCountedStyleSheet(parent, editorId, styleSheet) {\r\n this._parent = parent;\r\n this._editorId = editorId;\r\n this.styleSheet = styleSheet;\r\n this._refCount = 0;\r\n }\r\n RefCountedStyleSheet.prototype.ref = function () {\r\n this._refCount++;\r\n };\r\n RefCountedStyleSheet.prototype.unref = function () {\r\n var _a;\r\n this._refCount--;\r\n if (this._refCount === 0) {\r\n (_a = this.styleSheet.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.styleSheet);\r\n this._parent._removeEditorStyleSheets(this._editorId);\r\n }\r\n };\r\n return RefCountedStyleSheet;\r\n}());\r\nvar GlobalStyleSheet = /** @class */ (function () {\r\n function GlobalStyleSheet(styleSheet) {\r\n this.styleSheet = styleSheet;\r\n }\r\n GlobalStyleSheet.prototype.ref = function () {\r\n };\r\n GlobalStyleSheet.prototype.unref = function () {\r\n };\r\n return GlobalStyleSheet;\r\n}());\r\nvar codeEditorServiceImpl_CodeEditorServiceImpl = /** @class */ (function (_super) {\r\n codeEditorServiceImpl_extends(CodeEditorServiceImpl, _super);\r\n function CodeEditorServiceImpl(themeService, styleSheet) {\r\n if (styleSheet === void 0) { styleSheet = null; }\r\n var _this = _super.call(this) || this;\r\n _this._decorationOptionProviders = new Map();\r\n _this._editorStyleSheets = new Map();\r\n _this._globalStyleSheet = styleSheet ? new GlobalStyleSheet(styleSheet) : null;\r\n _this._themeService = themeService;\r\n return _this;\r\n }\r\n CodeEditorServiceImpl.prototype._getOrCreateGlobalStyleSheet = function () {\r\n if (!this._globalStyleSheet) {\r\n this._globalStyleSheet = new GlobalStyleSheet(dom["v" /* createStyleSheet */]());\r\n }\r\n return this._globalStyleSheet;\r\n };\r\n CodeEditorServiceImpl.prototype._getOrCreateStyleSheet = function (editor) {\r\n if (!editor) {\r\n return this._getOrCreateGlobalStyleSheet();\r\n }\r\n var domNode = editor.getContainerDomNode();\r\n if (!dom["M" /* isInShadowDOM */](domNode)) {\r\n return this._getOrCreateGlobalStyleSheet();\r\n }\r\n var editorId = editor.getId();\r\n if (!this._editorStyleSheets.has(editorId)) {\r\n var refCountedStyleSheet = new RefCountedStyleSheet(this, editorId, dom["v" /* createStyleSheet */](domNode));\r\n this._editorStyleSheets.set(editorId, refCountedStyleSheet);\r\n }\r\n return this._editorStyleSheets.get(editorId);\r\n };\r\n CodeEditorServiceImpl.prototype._removeEditorStyleSheets = function (editorId) {\r\n this._editorStyleSheets.delete(editorId);\r\n };\r\n CodeEditorServiceImpl.prototype.registerDecorationType = function (key, options, parentTypeKey, editor) {\r\n var provider = this._decorationOptionProviders.get(key);\r\n if (!provider) {\r\n var styleSheet = this._getOrCreateStyleSheet(editor);\r\n var providerArgs = {\r\n styleSheet: styleSheet.styleSheet,\r\n key: key,\r\n parentTypeKey: parentTypeKey,\r\n options: options || Object.create(null)\r\n };\r\n if (!parentTypeKey) {\r\n provider = new codeEditorServiceImpl_DecorationTypeOptionsProvider(this._themeService, styleSheet, providerArgs);\r\n }\r\n else {\r\n provider = new DecorationSubTypeOptionsProvider(this._themeService, styleSheet, providerArgs);\r\n }\r\n this._decorationOptionProviders.set(key, provider);\r\n }\r\n provider.refCount++;\r\n };\r\n CodeEditorServiceImpl.prototype.removeDecorationType = function (key) {\r\n var provider = this._decorationOptionProviders.get(key);\r\n if (provider) {\r\n provider.refCount--;\r\n if (provider.refCount <= 0) {\r\n this._decorationOptionProviders.delete(key);\r\n provider.dispose();\r\n this.listCodeEditors().forEach(function (ed) { return ed.removeDecorations(key); });\r\n }\r\n }\r\n };\r\n CodeEditorServiceImpl.prototype.resolveDecorationOptions = function (decorationTypeKey, writable) {\r\n var provider = this._decorationOptionProviders.get(decorationTypeKey);\r\n if (!provider) {\r\n throw new Error(\'Unknown decoration type key: \' + decorationTypeKey);\r\n }\r\n return provider.getOptions(this, writable);\r\n };\r\n CodeEditorServiceImpl = codeEditorServiceImpl_decorate([\r\n codeEditorServiceImpl_param(0, common_themeService["c" /* IThemeService */])\r\n ], CodeEditorServiceImpl);\r\n return CodeEditorServiceImpl;\r\n}(abstractCodeEditorService_AbstractCodeEditorService));\r\n\r\nvar DecorationSubTypeOptionsProvider = /** @class */ (function () {\r\n function DecorationSubTypeOptionsProvider(themeService, styleSheet, providerArgs) {\r\n this._styleSheet = styleSheet;\r\n this._styleSheet.ref();\r\n this._parentTypeKey = providerArgs.parentTypeKey;\r\n this.refCount = 0;\r\n this._beforeContentRules = new codeEditorServiceImpl_DecorationCSSRules(3 /* BeforeContentClassName */, providerArgs, themeService);\r\n this._afterContentRules = new codeEditorServiceImpl_DecorationCSSRules(4 /* AfterContentClassName */, providerArgs, themeService);\r\n }\r\n DecorationSubTypeOptionsProvider.prototype.getOptions = function (codeEditorService, writable) {\r\n var options = codeEditorService.resolveDecorationOptions(this._parentTypeKey, true);\r\n if (this._beforeContentRules) {\r\n options.beforeContentClassName = this._beforeContentRules.className;\r\n }\r\n if (this._afterContentRules) {\r\n options.afterContentClassName = this._afterContentRules.className;\r\n }\r\n return options;\r\n };\r\n DecorationSubTypeOptionsProvider.prototype.dispose = function () {\r\n if (this._beforeContentRules) {\r\n this._beforeContentRules.dispose();\r\n this._beforeContentRules = null;\r\n }\r\n if (this._afterContentRules) {\r\n this._afterContentRules.dispose();\r\n this._afterContentRules = null;\r\n }\r\n this._styleSheet.unref();\r\n };\r\n return DecorationSubTypeOptionsProvider;\r\n}());\r\nvar codeEditorServiceImpl_DecorationTypeOptionsProvider = /** @class */ (function () {\r\n function DecorationTypeOptionsProvider(themeService, styleSheet, providerArgs) {\r\n var _this = this;\r\n this._disposables = new lifecycle["b" /* DisposableStore */]();\r\n this._styleSheet = styleSheet;\r\n this._styleSheet.ref();\r\n this.refCount = 0;\r\n var createCSSRules = function (type) {\r\n var rules = new codeEditorServiceImpl_DecorationCSSRules(type, providerArgs, themeService);\r\n _this._disposables.add(rules);\r\n if (rules.hasContent) {\r\n return rules.className;\r\n }\r\n return undefined;\r\n };\r\n var createInlineCSSRules = function (type) {\r\n var rules = new codeEditorServiceImpl_DecorationCSSRules(type, providerArgs, themeService);\r\n _this._disposables.add(rules);\r\n if (rules.hasContent) {\r\n return { className: rules.className, hasLetterSpacing: rules.hasLetterSpacing };\r\n }\r\n return null;\r\n };\r\n this.className = createCSSRules(0 /* ClassName */);\r\n var inlineData = createInlineCSSRules(1 /* InlineClassName */);\r\n if (inlineData) {\r\n this.inlineClassName = inlineData.className;\r\n this.inlineClassNameAffectsLetterSpacing = inlineData.hasLetterSpacing;\r\n }\r\n this.beforeContentClassName = createCSSRules(3 /* BeforeContentClassName */);\r\n this.afterContentClassName = createCSSRules(4 /* AfterContentClassName */);\r\n this.glyphMarginClassName = createCSSRules(2 /* GlyphMarginClassName */);\r\n var options = providerArgs.options;\r\n this.isWholeLine = Boolean(options.isWholeLine);\r\n this.stickiness = options.rangeBehavior;\r\n var lightOverviewRulerColor = options.light && options.light.overviewRulerColor || options.overviewRulerColor;\r\n var darkOverviewRulerColor = options.dark && options.dark.overviewRulerColor || options.overviewRulerColor;\r\n if (typeof lightOverviewRulerColor !== \'undefined\'\r\n || typeof darkOverviewRulerColor !== \'undefined\') {\r\n this.overviewRuler = {\r\n color: lightOverviewRulerColor || darkOverviewRulerColor,\r\n darkColor: darkOverviewRulerColor || lightOverviewRulerColor,\r\n position: options.overviewRulerLane || common_model["d" /* OverviewRulerLane */].Center\r\n };\r\n }\r\n }\r\n DecorationTypeOptionsProvider.prototype.getOptions = function (codeEditorService, writable) {\r\n if (!writable) {\r\n return this;\r\n }\r\n return {\r\n inlineClassName: this.inlineClassName,\r\n beforeContentClassName: this.beforeContentClassName,\r\n afterContentClassName: this.afterContentClassName,\r\n className: this.className,\r\n glyphMarginClassName: this.glyphMarginClassName,\r\n isWholeLine: this.isWholeLine,\r\n overviewRuler: this.overviewRuler,\r\n stickiness: this.stickiness\r\n };\r\n };\r\n DecorationTypeOptionsProvider.prototype.dispose = function () {\r\n this._disposables.dispose();\r\n this._styleSheet.unref();\r\n };\r\n return DecorationTypeOptionsProvider;\r\n}());\r\nvar _CSS_MAP = {\r\n color: \'color:{0} !important;\',\r\n opacity: \'opacity:{0};\',\r\n backgroundColor: \'background-color:{0};\',\r\n outline: \'outline:{0};\',\r\n outlineColor: \'outline-color:{0};\',\r\n outlineStyle: \'outline-style:{0};\',\r\n outlineWidth: \'outline-width:{0};\',\r\n border: \'border:{0};\',\r\n borderColor: \'border-color:{0};\',\r\n borderRadius: \'border-radius:{0};\',\r\n borderSpacing: \'border-spacing:{0};\',\r\n borderStyle: \'border-style:{0};\',\r\n borderWidth: \'border-width:{0};\',\r\n fontStyle: \'font-style:{0};\',\r\n fontWeight: \'font-weight:{0};\',\r\n textDecoration: \'text-decoration:{0};\',\r\n cursor: \'cursor:{0};\',\r\n letterSpacing: \'letter-spacing:{0};\',\r\n gutterIconPath: \'background:{0} center center no-repeat;\',\r\n gutterIconSize: \'background-size:{0};\',\r\n contentText: \'content:\\\'{0}\\\';\',\r\n contentIconPath: \'content:{0};\',\r\n margin: \'margin:{0};\',\r\n width: \'width:{0};\',\r\n height: \'height:{0};\'\r\n};\r\nvar codeEditorServiceImpl_DecorationCSSRules = /** @class */ (function () {\r\n function DecorationCSSRules(ruleType, providerArgs, themeService) {\r\n var _this = this;\r\n this._theme = themeService.getTheme();\r\n this._ruleType = ruleType;\r\n this._providerArgs = providerArgs;\r\n this._usesThemeColors = false;\r\n this._hasContent = false;\r\n this._hasLetterSpacing = false;\r\n var className = CSSNameHelper.getClassName(this._providerArgs.key, ruleType);\r\n if (this._providerArgs.parentTypeKey) {\r\n className = className + \' \' + CSSNameHelper.getClassName(this._providerArgs.parentTypeKey, ruleType);\r\n }\r\n this._className = className;\r\n this._unThemedSelector = CSSNameHelper.getSelector(this._providerArgs.key, this._providerArgs.parentTypeKey, ruleType);\r\n this._buildCSS();\r\n if (this._usesThemeColors) {\r\n this._themeListener = themeService.onThemeChange(function (theme) {\r\n _this._theme = themeService.getTheme();\r\n _this._removeCSS();\r\n _this._buildCSS();\r\n });\r\n }\r\n else {\r\n this._themeListener = null;\r\n }\r\n }\r\n DecorationCSSRules.prototype.dispose = function () {\r\n if (this._hasContent) {\r\n this._removeCSS();\r\n this._hasContent = false;\r\n }\r\n if (this._themeListener) {\r\n this._themeListener.dispose();\r\n this._themeListener = null;\r\n }\r\n };\r\n Object.defineProperty(DecorationCSSRules.prototype, "hasContent", {\r\n get: function () {\r\n return this._hasContent;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(DecorationCSSRules.prototype, "hasLetterSpacing", {\r\n get: function () {\r\n return this._hasLetterSpacing;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(DecorationCSSRules.prototype, "className", {\r\n get: function () {\r\n return this._className;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n DecorationCSSRules.prototype._buildCSS = function () {\r\n var options = this._providerArgs.options;\r\n var unthemedCSS, lightCSS, darkCSS;\r\n switch (this._ruleType) {\r\n case 0 /* ClassName */:\r\n unthemedCSS = this.getCSSTextForModelDecorationClassName(options);\r\n lightCSS = this.getCSSTextForModelDecorationClassName(options.light);\r\n darkCSS = this.getCSSTextForModelDecorationClassName(options.dark);\r\n break;\r\n case 1 /* InlineClassName */:\r\n unthemedCSS = this.getCSSTextForModelDecorationInlineClassName(options);\r\n lightCSS = this.getCSSTextForModelDecorationInlineClassName(options.light);\r\n darkCSS = this.getCSSTextForModelDecorationInlineClassName(options.dark);\r\n break;\r\n case 2 /* GlyphMarginClassName */:\r\n unthemedCSS = this.getCSSTextForModelDecorationGlyphMarginClassName(options);\r\n lightCSS = this.getCSSTextForModelDecorationGlyphMarginClassName(options.light);\r\n darkCSS = this.getCSSTextForModelDecorationGlyphMarginClassName(options.dark);\r\n break;\r\n case 3 /* BeforeContentClassName */:\r\n unthemedCSS = this.getCSSTextForModelDecorationContentClassName(options.before);\r\n lightCSS = this.getCSSTextForModelDecorationContentClassName(options.light && options.light.before);\r\n darkCSS = this.getCSSTextForModelDecorationContentClassName(options.dark && options.dark.before);\r\n break;\r\n case 4 /* AfterContentClassName */:\r\n unthemedCSS = this.getCSSTextForModelDecorationContentClassName(options.after);\r\n lightCSS = this.getCSSTextForModelDecorationContentClassName(options.light && options.light.after);\r\n darkCSS = this.getCSSTextForModelDecorationContentClassName(options.dark && options.dark.after);\r\n break;\r\n default:\r\n throw new Error(\'Unknown rule type: \' + this._ruleType);\r\n }\r\n var sheet = this._providerArgs.styleSheet.sheet;\r\n var hasContent = false;\r\n if (unthemedCSS.length > 0) {\r\n sheet.insertRule(this._unThemedSelector + " {" + unthemedCSS + "}", 0);\r\n hasContent = true;\r\n }\r\n if (lightCSS.length > 0) {\r\n sheet.insertRule(".vs" + this._unThemedSelector + " {" + lightCSS + "}", 0);\r\n hasContent = true;\r\n }\r\n if (darkCSS.length > 0) {\r\n sheet.insertRule(".vs-dark" + this._unThemedSelector + ", .hc-black" + this._unThemedSelector + " {" + darkCSS + "}", 0);\r\n hasContent = true;\r\n }\r\n this._hasContent = hasContent;\r\n };\r\n DecorationCSSRules.prototype._removeCSS = function () {\r\n dom["N" /* removeCSSRulesContainingSelector */](this._unThemedSelector, this._providerArgs.styleSheet);\r\n };\r\n /**\r\n * Build the CSS for decorations styled via `className`.\r\n */\r\n DecorationCSSRules.prototype.getCSSTextForModelDecorationClassName = function (opts) {\r\n if (!opts) {\r\n return \'\';\r\n }\r\n var cssTextArr = [];\r\n this.collectCSSText(opts, [\'backgroundColor\'], cssTextArr);\r\n this.collectCSSText(opts, [\'outline\', \'outlineColor\', \'outlineStyle\', \'outlineWidth\'], cssTextArr);\r\n this.collectBorderSettingsCSSText(opts, cssTextArr);\r\n return cssTextArr.join(\'\');\r\n };\r\n /**\r\n * Build the CSS for decorations styled via `inlineClassName`.\r\n */\r\n DecorationCSSRules.prototype.getCSSTextForModelDecorationInlineClassName = function (opts) {\r\n if (!opts) {\r\n return \'\';\r\n }\r\n var cssTextArr = [];\r\n this.collectCSSText(opts, [\'fontStyle\', \'fontWeight\', \'textDecoration\', \'cursor\', \'color\', \'opacity\', \'letterSpacing\'], cssTextArr);\r\n if (opts.letterSpacing) {\r\n this._hasLetterSpacing = true;\r\n }\r\n return cssTextArr.join(\'\');\r\n };\r\n /**\r\n * Build the CSS for decorations styled before or after content.\r\n */\r\n DecorationCSSRules.prototype.getCSSTextForModelDecorationContentClassName = function (opts) {\r\n if (!opts) {\r\n return \'\';\r\n }\r\n var cssTextArr = [];\r\n if (typeof opts !== \'undefined\') {\r\n this.collectBorderSettingsCSSText(opts, cssTextArr);\r\n if (typeof opts.contentIconPath !== \'undefined\') {\r\n cssTextArr.push(strings["r" /* format */](_CSS_MAP.contentIconPath, dom["q" /* asCSSUrl */](common_uri["a" /* URI */].revive(opts.contentIconPath))));\r\n }\r\n if (typeof opts.contentText === \'string\') {\r\n var truncated = opts.contentText.match(/^.*$/m)[0]; // only take first line\r\n var escaped = truncated.replace(/[\'\\\\]/g, \'\\\\$&\');\r\n cssTextArr.push(strings["r" /* format */](_CSS_MAP.contentText, escaped));\r\n }\r\n this.collectCSSText(opts, [\'fontStyle\', \'fontWeight\', \'textDecoration\', \'color\', \'opacity\', \'backgroundColor\', \'margin\'], cssTextArr);\r\n if (this.collectCSSText(opts, [\'width\', \'height\'], cssTextArr)) {\r\n cssTextArr.push(\'display:inline-block;\');\r\n }\r\n }\r\n return cssTextArr.join(\'\');\r\n };\r\n /**\r\n * Build the CSS for decorations styled via `glpyhMarginClassName`.\r\n */\r\n DecorationCSSRules.prototype.getCSSTextForModelDecorationGlyphMarginClassName = function (opts) {\r\n if (!opts) {\r\n return \'\';\r\n }\r\n var cssTextArr = [];\r\n if (typeof opts.gutterIconPath !== \'undefined\') {\r\n cssTextArr.push(strings["r" /* format */](_CSS_MAP.gutterIconPath, dom["q" /* asCSSUrl */](common_uri["a" /* URI */].revive(opts.gutterIconPath))));\r\n if (typeof opts.gutterIconSize !== \'undefined\') {\r\n cssTextArr.push(strings["r" /* format */](_CSS_MAP.gutterIconSize, opts.gutterIconSize));\r\n }\r\n }\r\n return cssTextArr.join(\'\');\r\n };\r\n DecorationCSSRules.prototype.collectBorderSettingsCSSText = function (opts, cssTextArr) {\r\n if (this.collectCSSText(opts, [\'border\', \'borderColor\', \'borderRadius\', \'borderSpacing\', \'borderStyle\', \'borderWidth\'], cssTextArr)) {\r\n cssTextArr.push(strings["r" /* format */](\'box-sizing: border-box;\'));\r\n return true;\r\n }\r\n return false;\r\n };\r\n DecorationCSSRules.prototype.collectCSSText = function (opts, properties, cssTextArr) {\r\n var lenBefore = cssTextArr.length;\r\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\r\n var property = properties_1[_i];\r\n var value = this.resolveValue(opts[property]);\r\n if (typeof value === \'string\') {\r\n cssTextArr.push(strings["r" /* format */](_CSS_MAP[property], value));\r\n }\r\n }\r\n return cssTextArr.length !== lenBefore;\r\n };\r\n DecorationCSSRules.prototype.resolveValue = function (value) {\r\n if (Object(editorCommon["c" /* isThemeColor */])(value)) {\r\n this._usesThemeColors = true;\r\n var color = this._theme.getColor(value.id);\r\n if (color) {\r\n return color.toString();\r\n }\r\n return \'transparent\';\r\n }\r\n return value;\r\n };\r\n return DecorationCSSRules;\r\n}());\r\nvar CSSNameHelper = /** @class */ (function () {\r\n function CSSNameHelper() {\r\n }\r\n CSSNameHelper.getClassName = function (key, type) {\r\n return \'ced-\' + key + \'-\' + type;\r\n };\r\n CSSNameHelper.getSelector = function (key, parentKey, ruleType) {\r\n var selector = \'.monaco-editor .\' + this.getClassName(key, ruleType);\r\n if (parentKey) {\r\n selector = selector + \'.\' + this.getClassName(parentKey, ruleType);\r\n }\r\n if (ruleType === 3 /* BeforeContentClassName */) {\r\n selector += \'::before\';\r\n }\r\n else if (ruleType === 4 /* AfterContentClassName */) {\r\n selector += \'::after\';\r\n }\r\n return selector;\r\n };\r\n return CSSNameHelper;\r\n}());\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar standaloneCodeServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\nvar standaloneCodeServiceImpl_StandaloneCodeEditorServiceImpl = /** @class */ (function (_super) {\r\n standaloneCodeServiceImpl_extends(StandaloneCodeEditorServiceImpl, _super);\r\n function StandaloneCodeEditorServiceImpl() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n StandaloneCodeEditorServiceImpl.prototype.getActiveCodeEditor = function () {\r\n return null; // not supported in the standalone case\r\n };\r\n StandaloneCodeEditorServiceImpl.prototype.openCodeEditor = function (input, source, sideBySide) {\r\n if (!source) {\r\n return Promise.resolve(null);\r\n }\r\n return Promise.resolve(this.doOpenEditor(source, input));\r\n };\r\n StandaloneCodeEditorServiceImpl.prototype.doOpenEditor = function (editor, input) {\r\n var model = this.findModel(editor, input.resource);\r\n if (!model) {\r\n if (input.resource) {\r\n var schema = input.resource.scheme;\r\n if (schema === network["b" /* Schemas */].http || schema === network["b" /* Schemas */].https) {\r\n // This is a fully qualified http or https URL\r\n Object(dom["Z" /* windowOpenNoOpener */])(input.resource.toString());\r\n return editor;\r\n }\r\n }\r\n return null;\r\n }\r\n var selection = (input.options ? input.options.selection : null);\r\n if (selection) {\r\n if (typeof selection.endLineNumber === \'number\' && typeof selection.endColumn === \'number\') {\r\n editor.setSelection(selection);\r\n editor.revealRangeInCenter(selection, 1 /* Immediate */);\r\n }\r\n else {\r\n var pos = {\r\n lineNumber: selection.startLineNumber,\r\n column: selection.startColumn\r\n };\r\n editor.setPosition(pos);\r\n editor.revealPositionInCenter(pos, 1 /* Immediate */);\r\n }\r\n }\r\n return editor;\r\n };\r\n StandaloneCodeEditorServiceImpl.prototype.findModel = function (editor, resource) {\r\n var model = editor.getModel();\r\n if (model && model.uri.toString() !== resource.toString()) {\r\n return null;\r\n }\r\n return model;\r\n };\r\n return StandaloneCodeEditorServiceImpl;\r\n}(codeEditorServiceImpl_CodeEditorServiceImpl));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/color.js\nvar common_color = __webpack_require__("zrhQ");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/supports/tokenization.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar ParsedTokenThemeRule = /** @class */ (function () {\r\n function ParsedTokenThemeRule(token, index, fontStyle, foreground, background) {\r\n this.token = token;\r\n this.index = index;\r\n this.fontStyle = fontStyle;\r\n this.foreground = foreground;\r\n this.background = background;\r\n }\r\n return ParsedTokenThemeRule;\r\n}());\r\n\r\n/**\r\n * Parse a raw theme into rules.\r\n */\r\nfunction parseTokenTheme(source) {\r\n if (!source || !Array.isArray(source)) {\r\n return [];\r\n }\r\n var result = [], resultLen = 0;\r\n for (var i = 0, len = source.length; i < len; i++) {\r\n var entry = source[i];\r\n var fontStyle = -1 /* NotSet */;\r\n if (typeof entry.fontStyle === \'string\') {\r\n fontStyle = 0 /* None */;\r\n var segments = entry.fontStyle.split(\' \');\r\n for (var j = 0, lenJ = segments.length; j < lenJ; j++) {\r\n var segment = segments[j];\r\n switch (segment) {\r\n case \'italic\':\r\n fontStyle = fontStyle | 1 /* Italic */;\r\n break;\r\n case \'bold\':\r\n fontStyle = fontStyle | 2 /* Bold */;\r\n break;\r\n case \'underline\':\r\n fontStyle = fontStyle | 4 /* Underline */;\r\n break;\r\n }\r\n }\r\n }\r\n var foreground = null;\r\n if (typeof entry.foreground === \'string\') {\r\n foreground = entry.foreground;\r\n }\r\n var background = null;\r\n if (typeof entry.background === \'string\') {\r\n background = entry.background;\r\n }\r\n result[resultLen++] = new ParsedTokenThemeRule(entry.token || \'\', i, fontStyle, foreground, background);\r\n }\r\n return result;\r\n}\r\n/**\r\n * Resolve rules (i.e. inheritance).\r\n */\r\nfunction resolveParsedTokenThemeRules(parsedThemeRules, customTokenColors) {\r\n // Sort rules lexicographically, and then by index if necessary\r\n parsedThemeRules.sort(function (a, b) {\r\n var r = strcmp(a.token, b.token);\r\n if (r !== 0) {\r\n return r;\r\n }\r\n return a.index - b.index;\r\n });\r\n // Determine defaults\r\n var defaultFontStyle = 0 /* None */;\r\n var defaultForeground = \'000000\';\r\n var defaultBackground = \'ffffff\';\r\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].token === \'\') {\r\n var incomingDefaults = parsedThemeRules.shift();\r\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\r\n defaultFontStyle = incomingDefaults.fontStyle;\r\n }\r\n if (incomingDefaults.foreground !== null) {\r\n defaultForeground = incomingDefaults.foreground;\r\n }\r\n if (incomingDefaults.background !== null) {\r\n defaultBackground = incomingDefaults.background;\r\n }\r\n }\r\n var colorMap = new tokenization_ColorMap();\r\n // start with token colors from custom token themes\r\n for (var _i = 0, customTokenColors_1 = customTokenColors; _i < customTokenColors_1.length; _i++) {\r\n var color = customTokenColors_1[_i];\r\n colorMap.getId(color);\r\n }\r\n var foregroundColorId = colorMap.getId(defaultForeground);\r\n var backgroundColorId = colorMap.getId(defaultBackground);\r\n var defaults = new ThemeTrieElementRule(defaultFontStyle, foregroundColorId, backgroundColorId);\r\n var root = new ThemeTrieElement(defaults);\r\n for (var i = 0, len = parsedThemeRules.length; i < len; i++) {\r\n var rule = parsedThemeRules[i];\r\n root.insert(rule.token, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\r\n }\r\n return new TokenTheme(colorMap, root);\r\n}\r\nvar colorRegExp = /^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;\r\nvar tokenization_ColorMap = /** @class */ (function () {\r\n function ColorMap() {\r\n this._lastColorId = 0;\r\n this._id2color = [];\r\n this._color2id = new Map();\r\n }\r\n ColorMap.prototype.getId = function (color) {\r\n if (color === null) {\r\n return 0;\r\n }\r\n var match = color.match(colorRegExp);\r\n if (!match) {\r\n throw new Error(\'Illegal value for token color: \' + color);\r\n }\r\n color = match[1].toUpperCase();\r\n var value = this._color2id.get(color);\r\n if (value) {\r\n return value;\r\n }\r\n value = ++this._lastColorId;\r\n this._color2id.set(color, value);\r\n this._id2color[value] = common_color["a" /* Color */].fromHex(\'#\' + color);\r\n return value;\r\n };\r\n ColorMap.prototype.getColorMap = function () {\r\n return this._id2color.slice(0);\r\n };\r\n return ColorMap;\r\n}());\r\n\r\nvar TokenTheme = /** @class */ (function () {\r\n function TokenTheme(colorMap, root) {\r\n this._colorMap = colorMap;\r\n this._root = root;\r\n this._cache = new Map();\r\n }\r\n TokenTheme.createFromRawTokenTheme = function (source, customTokenColors) {\r\n return this.createFromParsedTokenTheme(parseTokenTheme(source), customTokenColors);\r\n };\r\n TokenTheme.createFromParsedTokenTheme = function (source, customTokenColors) {\r\n return resolveParsedTokenThemeRules(source, customTokenColors);\r\n };\r\n TokenTheme.prototype.getColorMap = function () {\r\n return this._colorMap.getColorMap();\r\n };\r\n TokenTheme.prototype._match = function (token) {\r\n return this._root.match(token);\r\n };\r\n TokenTheme.prototype.match = function (languageId, token) {\r\n // The cache contains the metadata without the language bits set.\r\n var result = this._cache.get(token);\r\n if (typeof result === \'undefined\') {\r\n var rule = this._match(token);\r\n var standardToken = toStandardTokenType(token);\r\n result = (rule.metadata\r\n | (standardToken << 8 /* TOKEN_TYPE_OFFSET */)) >>> 0;\r\n this._cache.set(token, result);\r\n }\r\n return (result\r\n | (languageId << 0 /* LANGUAGEID_OFFSET */)) >>> 0;\r\n };\r\n return TokenTheme;\r\n}());\r\n\r\nvar STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|regexp)\\b/;\r\nfunction toStandardTokenType(tokenType) {\r\n var m = tokenType.match(STANDARD_TOKEN_TYPE_REGEXP);\r\n if (!m) {\r\n return 0 /* Other */;\r\n }\r\n switch (m[1]) {\r\n case \'comment\':\r\n return 1 /* Comment */;\r\n case \'string\':\r\n return 2 /* String */;\r\n case \'regex\':\r\n return 4 /* RegEx */;\r\n case \'regexp\':\r\n return 4 /* RegEx */;\r\n }\r\n throw new Error(\'Unexpected match for standard token type!\');\r\n}\r\nfunction strcmp(a, b) {\r\n if (a < b) {\r\n return -1;\r\n }\r\n if (a > b) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\nvar ThemeTrieElementRule = /** @class */ (function () {\r\n function ThemeTrieElementRule(fontStyle, foreground, background) {\r\n this._fontStyle = fontStyle;\r\n this._foreground = foreground;\r\n this._background = background;\r\n this.metadata = ((this._fontStyle << 11 /* FONT_STYLE_OFFSET */)\r\n | (this._foreground << 14 /* FOREGROUND_OFFSET */)\r\n | (this._background << 23 /* BACKGROUND_OFFSET */)) >>> 0;\r\n }\r\n ThemeTrieElementRule.prototype.clone = function () {\r\n return new ThemeTrieElementRule(this._fontStyle, this._foreground, this._background);\r\n };\r\n ThemeTrieElementRule.prototype.acceptOverwrite = function (fontStyle, foreground, background) {\r\n if (fontStyle !== -1 /* NotSet */) {\r\n this._fontStyle = fontStyle;\r\n }\r\n if (foreground !== 0 /* None */) {\r\n this._foreground = foreground;\r\n }\r\n if (background !== 0 /* None */) {\r\n this._background = background;\r\n }\r\n this.metadata = ((this._fontStyle << 11 /* FONT_STYLE_OFFSET */)\r\n | (this._foreground << 14 /* FOREGROUND_OFFSET */)\r\n | (this._background << 23 /* BACKGROUND_OFFSET */)) >>> 0;\r\n };\r\n return ThemeTrieElementRule;\r\n}());\r\n\r\nvar ThemeTrieElement = /** @class */ (function () {\r\n function ThemeTrieElement(mainRule) {\r\n this._mainRule = mainRule;\r\n this._children = new Map();\r\n }\r\n ThemeTrieElement.prototype.match = function (token) {\r\n if (token === \'\') {\r\n return this._mainRule;\r\n }\r\n var dotIndex = token.indexOf(\'.\');\r\n var head;\r\n var tail;\r\n if (dotIndex === -1) {\r\n head = token;\r\n tail = \'\';\r\n }\r\n else {\r\n head = token.substring(0, dotIndex);\r\n tail = token.substring(dotIndex + 1);\r\n }\r\n var child = this._children.get(head);\r\n if (typeof child !== \'undefined\') {\r\n return child.match(tail);\r\n }\r\n return this._mainRule;\r\n };\r\n ThemeTrieElement.prototype.insert = function (token, fontStyle, foreground, background) {\r\n if (token === \'\') {\r\n // Merge into the main rule\r\n this._mainRule.acceptOverwrite(fontStyle, foreground, background);\r\n return;\r\n }\r\n var dotIndex = token.indexOf(\'.\');\r\n var head;\r\n var tail;\r\n if (dotIndex === -1) {\r\n head = token;\r\n tail = \'\';\r\n }\r\n else {\r\n head = token.substring(0, dotIndex);\r\n tail = token.substring(dotIndex + 1);\r\n }\r\n var child = this._children.get(head);\r\n if (typeof child === \'undefined\') {\r\n child = new ThemeTrieElement(this._mainRule.clone());\r\n this._children.set(head, child);\r\n }\r\n child.insert(tail, fontStyle, foreground, background);\r\n };\r\n return ThemeTrieElement;\r\n}());\r\n\r\nfunction generateTokensCSSForColorMap(colorMap) {\r\n var rules = [];\r\n for (var i = 1, len = colorMap.length; i < len; i++) {\r\n var color = colorMap[i];\r\n rules[i] = ".mtk" + i + " { color: " + color + "; }";\r\n }\r\n rules.push(\'.mtki { font-style: italic; }\');\r\n rules.push(\'.mtkb { font-weight: bold; }\');\r\n rules.push(\'.mtku { text-decoration: underline; text-underline-position: under; }\');\r\n return rules.join(\'\\n\');\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/common/themes.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar themes_a, themes_b, themes_c;\r\n\r\n\r\n/* -------------------------------- Begin vs theme -------------------------------- */\r\nvar vs = {\r\n base: \'vs\',\r\n inherit: false,\r\n rules: [\r\n { token: \'\', foreground: \'000000\', background: \'fffffe\' },\r\n { token: \'invalid\', foreground: \'cd3131\' },\r\n { token: \'emphasis\', fontStyle: \'italic\' },\r\n { token: \'strong\', fontStyle: \'bold\' },\r\n { token: \'variable\', foreground: \'001188\' },\r\n { token: \'variable.predefined\', foreground: \'4864AA\' },\r\n { token: \'constant\', foreground: \'dd0000\' },\r\n { token: \'comment\', foreground: \'008000\' },\r\n { token: \'number\', foreground: \'098658\' },\r\n { token: \'number.hex\', foreground: \'3030c0\' },\r\n { token: \'regexp\', foreground: \'800000\' },\r\n { token: \'annotation\', foreground: \'808080\' },\r\n { token: \'type\', foreground: \'008080\' },\r\n { token: \'delimiter\', foreground: \'000000\' },\r\n { token: \'delimiter.html\', foreground: \'383838\' },\r\n { token: \'delimiter.xml\', foreground: \'0000FF\' },\r\n { token: \'tag\', foreground: \'800000\' },\r\n { token: \'tag.id.pug\', foreground: \'4F76AC\' },\r\n { token: \'tag.class.pug\', foreground: \'4F76AC\' },\r\n { token: \'meta.scss\', foreground: \'800000\' },\r\n { token: \'metatag\', foreground: \'e00000\' },\r\n { token: \'metatag.content.html\', foreground: \'FF0000\' },\r\n { token: \'metatag.html\', foreground: \'808080\' },\r\n { token: \'metatag.xml\', foreground: \'808080\' },\r\n { token: \'metatag.php\', fontStyle: \'bold\' },\r\n { token: \'key\', foreground: \'863B00\' },\r\n { token: \'string.key.json\', foreground: \'A31515\' },\r\n { token: \'string.value.json\', foreground: \'0451A5\' },\r\n { token: \'attribute.name\', foreground: \'FF0000\' },\r\n { token: \'attribute.value\', foreground: \'0451A5\' },\r\n { token: \'attribute.value.number\', foreground: \'098658\' },\r\n { token: \'attribute.value.unit\', foreground: \'098658\' },\r\n { token: \'attribute.value.html\', foreground: \'0000FF\' },\r\n { token: \'attribute.value.xml\', foreground: \'0000FF\' },\r\n { token: \'string\', foreground: \'A31515\' },\r\n { token: \'string.html\', foreground: \'0000FF\' },\r\n { token: \'string.sql\', foreground: \'FF0000\' },\r\n { token: \'string.yaml\', foreground: \'0451A5\' },\r\n { token: \'keyword\', foreground: \'0000FF\' },\r\n { token: \'keyword.json\', foreground: \'0451A5\' },\r\n { token: \'keyword.flow\', foreground: \'AF00DB\' },\r\n { token: \'keyword.flow.scss\', foreground: \'0000FF\' },\r\n { token: \'operator.scss\', foreground: \'666666\' },\r\n { token: \'operator.sql\', foreground: \'778899\' },\r\n { token: \'operator.swift\', foreground: \'666666\' },\r\n { token: \'predefined.sql\', foreground: \'FF00FF\' },\r\n ],\r\n colors: (themes_a = {},\r\n themes_a[colorRegistry["o" /* editorBackground */]] = \'#FFFFFE\',\r\n themes_a[colorRegistry["x" /* editorForeground */]] = \'#000000\',\r\n themes_a[colorRegistry["F" /* editorInactiveSelection */]] = \'#E5EBF1\',\r\n themes_a[editorColorRegistry["g" /* editorIndentGuides */]] = \'#D3D3D3\',\r\n themes_a[editorColorRegistry["a" /* editorActiveIndentGuides */]] = \'#939393\',\r\n themes_a[colorRegistry["M" /* editorSelectionHighlight */]] = \'#ADD6FF4D\',\r\n themes_a)\r\n};\r\n/* -------------------------------- End vs theme -------------------------------- */\r\n/* -------------------------------- Begin vs-dark theme -------------------------------- */\r\nvar vs_dark = {\r\n base: \'vs-dark\',\r\n inherit: false,\r\n rules: [\r\n { token: \'\', foreground: \'D4D4D4\', background: \'1E1E1E\' },\r\n { token: \'invalid\', foreground: \'f44747\' },\r\n { token: \'emphasis\', fontStyle: \'italic\' },\r\n { token: \'strong\', fontStyle: \'bold\' },\r\n { token: \'variable\', foreground: \'74B0DF\' },\r\n { token: \'variable.predefined\', foreground: \'4864AA\' },\r\n { token: \'variable.parameter\', foreground: \'9CDCFE\' },\r\n { token: \'constant\', foreground: \'569CD6\' },\r\n { token: \'comment\', foreground: \'608B4E\' },\r\n { token: \'number\', foreground: \'B5CEA8\' },\r\n { token: \'number.hex\', foreground: \'5BB498\' },\r\n { token: \'regexp\', foreground: \'B46695\' },\r\n { token: \'annotation\', foreground: \'cc6666\' },\r\n { token: \'type\', foreground: \'3DC9B0\' },\r\n { token: \'delimiter\', foreground: \'DCDCDC\' },\r\n { token: \'delimiter.html\', foreground: \'808080\' },\r\n { token: \'delimiter.xml\', foreground: \'808080\' },\r\n { token: \'tag\', foreground: \'569CD6\' },\r\n { token: \'tag.id.pug\', foreground: \'4F76AC\' },\r\n { token: \'tag.class.pug\', foreground: \'4F76AC\' },\r\n { token: \'meta.scss\', foreground: \'A79873\' },\r\n { token: \'meta.tag\', foreground: \'CE9178\' },\r\n { token: \'metatag\', foreground: \'DD6A6F\' },\r\n { token: \'metatag.content.html\', foreground: \'9CDCFE\' },\r\n { token: \'metatag.html\', foreground: \'569CD6\' },\r\n { token: \'metatag.xml\', foreground: \'569CD6\' },\r\n { token: \'metatag.php\', fontStyle: \'bold\' },\r\n { token: \'key\', foreground: \'9CDCFE\' },\r\n { token: \'string.key.json\', foreground: \'9CDCFE\' },\r\n { token: \'string.value.json\', foreground: \'CE9178\' },\r\n { token: \'attribute.name\', foreground: \'9CDCFE\' },\r\n { token: \'attribute.value\', foreground: \'CE9178\' },\r\n { token: \'attribute.value.number.css\', foreground: \'B5CEA8\' },\r\n { token: \'attribute.value.unit.css\', foreground: \'B5CEA8\' },\r\n { token: \'attribute.value.hex.css\', foreground: \'D4D4D4\' },\r\n { token: \'string\', foreground: \'CE9178\' },\r\n { token: \'string.sql\', foreground: \'FF0000\' },\r\n { token: \'keyword\', foreground: \'569CD6\' },\r\n { token: \'keyword.flow\', foreground: \'C586C0\' },\r\n { token: \'keyword.json\', foreground: \'CE9178\' },\r\n { token: \'keyword.flow.scss\', foreground: \'569CD6\' },\r\n { token: \'operator.scss\', foreground: \'909090\' },\r\n { token: \'operator.sql\', foreground: \'778899\' },\r\n { token: \'operator.swift\', foreground: \'909090\' },\r\n { token: \'predefined.sql\', foreground: \'FF00FF\' },\r\n ],\r\n colors: (themes_b = {},\r\n themes_b[colorRegistry["o" /* editorBackground */]] = \'#1E1E1E\',\r\n themes_b[colorRegistry["x" /* editorForeground */]] = \'#D4D4D4\',\r\n themes_b[colorRegistry["F" /* editorInactiveSelection */]] = \'#3A3D41\',\r\n themes_b[editorColorRegistry["g" /* editorIndentGuides */]] = \'#404040\',\r\n themes_b[editorColorRegistry["a" /* editorActiveIndentGuides */]] = \'#707070\',\r\n themes_b[colorRegistry["M" /* editorSelectionHighlight */]] = \'#ADD6FF26\',\r\n themes_b)\r\n};\r\n/* -------------------------------- End vs-dark theme -------------------------------- */\r\n/* -------------------------------- Begin hc-black theme -------------------------------- */\r\nvar hc_black = {\r\n base: \'hc-black\',\r\n inherit: false,\r\n rules: [\r\n { token: \'\', foreground: \'FFFFFF\', background: \'000000\' },\r\n { token: \'invalid\', foreground: \'f44747\' },\r\n { token: \'emphasis\', fontStyle: \'italic\' },\r\n { token: \'strong\', fontStyle: \'bold\' },\r\n { token: \'variable\', foreground: \'1AEBFF\' },\r\n { token: \'variable.parameter\', foreground: \'9CDCFE\' },\r\n { token: \'constant\', foreground: \'569CD6\' },\r\n { token: \'comment\', foreground: \'608B4E\' },\r\n { token: \'number\', foreground: \'FFFFFF\' },\r\n { token: \'regexp\', foreground: \'C0C0C0\' },\r\n { token: \'annotation\', foreground: \'569CD6\' },\r\n { token: \'type\', foreground: \'3DC9B0\' },\r\n { token: \'delimiter\', foreground: \'FFFF00\' },\r\n { token: \'delimiter.html\', foreground: \'FFFF00\' },\r\n { token: \'tag\', foreground: \'569CD6\' },\r\n { token: \'tag.id.pug\', foreground: \'4F76AC\' },\r\n { token: \'tag.class.pug\', foreground: \'4F76AC\' },\r\n { token: \'meta\', foreground: \'D4D4D4\' },\r\n { token: \'meta.tag\', foreground: \'CE9178\' },\r\n { token: \'metatag\', foreground: \'569CD6\' },\r\n { token: \'metatag.content.html\', foreground: \'1AEBFF\' },\r\n { token: \'metatag.html\', foreground: \'569CD6\' },\r\n { token: \'metatag.xml\', foreground: \'569CD6\' },\r\n { token: \'metatag.php\', fontStyle: \'bold\' },\r\n { token: \'key\', foreground: \'9CDCFE\' },\r\n { token: \'string.key\', foreground: \'9CDCFE\' },\r\n { token: \'string.value\', foreground: \'CE9178\' },\r\n { token: \'attribute.name\', foreground: \'569CD6\' },\r\n { token: \'attribute.value\', foreground: \'3FF23F\' },\r\n { token: \'string\', foreground: \'CE9178\' },\r\n { token: \'string.sql\', foreground: \'FF0000\' },\r\n { token: \'keyword\', foreground: \'569CD6\' },\r\n { token: \'keyword.flow\', foreground: \'C586C0\' },\r\n { token: \'operator.sql\', foreground: \'778899\' },\r\n { token: \'operator.swift\', foreground: \'909090\' },\r\n { token: \'predefined.sql\', foreground: \'FF00FF\' },\r\n ],\r\n colors: (themes_c = {},\r\n themes_c[colorRegistry["o" /* editorBackground */]] = \'#000000\',\r\n themes_c[colorRegistry["x" /* editorForeground */]] = \'#FFFFFF\',\r\n themes_c[editorColorRegistry["g" /* editorIndentGuides */]] = \'#FFFFFF\',\r\n themes_c[editorColorRegistry["a" /* editorActiveIndentGuides */]] = \'#FFFFFF\',\r\n themes_c)\r\n};\r\n/* -------------------------------- End hc-black theme -------------------------------- */\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneThemeServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar standaloneThemeServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar VS_THEME_NAME = \'vs\';\r\nvar VS_DARK_THEME_NAME = \'vs-dark\';\r\nvar HC_BLACK_THEME_NAME = \'hc-black\';\r\nvar standaloneThemeServiceImpl_colorRegistry = common_platform["a" /* Registry */].as(colorRegistry["a" /* Extensions */].ColorContribution);\r\nvar themingRegistry = common_platform["a" /* Registry */].as(common_themeService["a" /* Extensions */].ThemingContribution);\r\nvar standaloneThemeServiceImpl_StandaloneTheme = /** @class */ (function () {\r\n function StandaloneTheme(name, standaloneThemeData) {\r\n this.themeData = standaloneThemeData;\r\n var base = standaloneThemeData.base;\r\n if (name.length > 0) {\r\n this.id = base + \' \' + name;\r\n this.themeName = name;\r\n }\r\n else {\r\n this.id = base;\r\n this.themeName = base;\r\n }\r\n this.colors = null;\r\n this.defaultColors = Object.create(null);\r\n this._tokenTheme = null;\r\n }\r\n Object.defineProperty(StandaloneTheme.prototype, "base", {\r\n get: function () {\r\n return this.themeData.base;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n StandaloneTheme.prototype.notifyBaseUpdated = function () {\r\n if (this.themeData.inherit) {\r\n this.colors = null;\r\n this._tokenTheme = null;\r\n }\r\n };\r\n StandaloneTheme.prototype.getColors = function () {\r\n if (!this.colors) {\r\n var colors = new Map();\r\n for (var id in this.themeData.colors) {\r\n colors.set(id, common_color["a" /* Color */].fromHex(this.themeData.colors[id]));\r\n }\r\n if (this.themeData.inherit) {\r\n var baseData = getBuiltinRules(this.themeData.base);\r\n for (var id in baseData.colors) {\r\n if (!colors.has(id)) {\r\n colors.set(id, common_color["a" /* Color */].fromHex(baseData.colors[id]));\r\n }\r\n }\r\n }\r\n this.colors = colors;\r\n }\r\n return this.colors;\r\n };\r\n StandaloneTheme.prototype.getColor = function (colorId, useDefault) {\r\n var color = this.getColors().get(colorId);\r\n if (color) {\r\n return color;\r\n }\r\n if (useDefault !== false) {\r\n return this.getDefault(colorId);\r\n }\r\n return undefined;\r\n };\r\n StandaloneTheme.prototype.getDefault = function (colorId) {\r\n var color = this.defaultColors[colorId];\r\n if (color) {\r\n return color;\r\n }\r\n color = standaloneThemeServiceImpl_colorRegistry.resolveDefaultColor(colorId, this);\r\n this.defaultColors[colorId] = color;\r\n return color;\r\n };\r\n StandaloneTheme.prototype.defines = function (colorId) {\r\n return Object.prototype.hasOwnProperty.call(this.getColors(), colorId);\r\n };\r\n Object.defineProperty(StandaloneTheme.prototype, "type", {\r\n get: function () {\r\n switch (this.base) {\r\n case VS_THEME_NAME: return \'light\';\r\n case HC_BLACK_THEME_NAME: return \'hc\';\r\n default: return \'dark\';\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(StandaloneTheme.prototype, "tokenTheme", {\r\n get: function () {\r\n if (!this._tokenTheme) {\r\n var rules = [];\r\n var encodedTokensColors = [];\r\n if (this.themeData.inherit) {\r\n var baseData = getBuiltinRules(this.themeData.base);\r\n rules = baseData.rules;\r\n if (baseData.encodedTokensColors) {\r\n encodedTokensColors = baseData.encodedTokensColors;\r\n }\r\n }\r\n rules = rules.concat(this.themeData.rules);\r\n if (this.themeData.encodedTokensColors) {\r\n encodedTokensColors = this.themeData.encodedTokensColors;\r\n }\r\n this._tokenTheme = TokenTheme.createFromRawTokenTheme(rules, encodedTokensColors);\r\n }\r\n return this._tokenTheme;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n StandaloneTheme.prototype.getTokenStyleMetadata = function (type, modifiers) {\r\n return undefined;\r\n };\r\n return StandaloneTheme;\r\n}());\r\nfunction isBuiltinTheme(themeName) {\r\n return (themeName === VS_THEME_NAME\r\n || themeName === VS_DARK_THEME_NAME\r\n || themeName === HC_BLACK_THEME_NAME);\r\n}\r\nfunction getBuiltinRules(builtinTheme) {\r\n switch (builtinTheme) {\r\n case VS_THEME_NAME:\r\n return vs;\r\n case VS_DARK_THEME_NAME:\r\n return vs_dark;\r\n case HC_BLACK_THEME_NAME:\r\n return hc_black;\r\n }\r\n}\r\nfunction newBuiltInTheme(builtinTheme) {\r\n var themeData = getBuiltinRules(builtinTheme);\r\n return new standaloneThemeServiceImpl_StandaloneTheme(builtinTheme, themeData);\r\n}\r\nvar standaloneThemeServiceImpl_StandaloneThemeServiceImpl = /** @class */ (function (_super) {\r\n standaloneThemeServiceImpl_extends(StandaloneThemeServiceImpl, _super);\r\n function StandaloneThemeServiceImpl() {\r\n var _this = _super.call(this) || this;\r\n _this._onThemeChange = _this._register(new common_event["a" /* Emitter */]());\r\n _this.onThemeChange = _this._onThemeChange.event;\r\n _this._environment = Object.create(null);\r\n _this._knownThemes = new Map();\r\n _this._knownThemes.set(VS_THEME_NAME, newBuiltInTheme(VS_THEME_NAME));\r\n _this._knownThemes.set(VS_DARK_THEME_NAME, newBuiltInTheme(VS_DARK_THEME_NAME));\r\n _this._knownThemes.set(HC_BLACK_THEME_NAME, newBuiltInTheme(HC_BLACK_THEME_NAME));\r\n _this._css = \'\';\r\n _this._globalStyleElement = null;\r\n _this._styleElements = [];\r\n _this.setTheme(VS_THEME_NAME);\r\n return _this;\r\n }\r\n StandaloneThemeServiceImpl.prototype.registerEditorContainer = function (domNode) {\r\n if (dom["M" /* isInShadowDOM */](domNode)) {\r\n return this._registerShadowDomContainer(domNode);\r\n }\r\n return this._registerRegularEditorContainer();\r\n };\r\n StandaloneThemeServiceImpl.prototype._registerRegularEditorContainer = function () {\r\n if (!this._globalStyleElement) {\r\n this._globalStyleElement = dom["v" /* createStyleSheet */]();\r\n this._globalStyleElement.className = \'monaco-colors\';\r\n this._globalStyleElement.innerHTML = this._css;\r\n this._styleElements.push(this._globalStyleElement);\r\n }\r\n return lifecycle["a" /* Disposable */].None;\r\n };\r\n StandaloneThemeServiceImpl.prototype._registerShadowDomContainer = function (domNode) {\r\n var _this = this;\r\n var styleElement = dom["v" /* createStyleSheet */](domNode);\r\n styleElement.className = \'monaco-colors\';\r\n styleElement.innerHTML = this._css;\r\n this._styleElements.push(styleElement);\r\n return {\r\n dispose: function () {\r\n for (var i = 0; i < _this._styleElements.length; i++) {\r\n if (_this._styleElements[i] === styleElement) {\r\n _this._styleElements.splice(i, 1);\r\n return;\r\n }\r\n }\r\n }\r\n };\r\n };\r\n StandaloneThemeServiceImpl.prototype.defineTheme = function (themeName, themeData) {\r\n if (!/^[a-z0-9\\-]+$/i.test(themeName)) {\r\n throw new Error(\'Illegal theme name!\');\r\n }\r\n if (!isBuiltinTheme(themeData.base) && !isBuiltinTheme(themeName)) {\r\n throw new Error(\'Illegal theme base!\');\r\n }\r\n // set or replace theme\r\n this._knownThemes.set(themeName, new standaloneThemeServiceImpl_StandaloneTheme(themeName, themeData));\r\n if (isBuiltinTheme(themeName)) {\r\n this._knownThemes.forEach(function (theme) {\r\n if (theme.base === themeName) {\r\n theme.notifyBaseUpdated();\r\n }\r\n });\r\n }\r\n if (this._theme && this._theme.themeName === themeName) {\r\n this.setTheme(themeName); // refresh theme\r\n }\r\n };\r\n StandaloneThemeServiceImpl.prototype.getTheme = function () {\r\n return this._theme;\r\n };\r\n StandaloneThemeServiceImpl.prototype.setTheme = function (themeName) {\r\n var _this = this;\r\n var theme;\r\n if (this._knownThemes.has(themeName)) {\r\n theme = this._knownThemes.get(themeName);\r\n }\r\n else {\r\n theme = this._knownThemes.get(VS_THEME_NAME);\r\n }\r\n if (this._theme === theme) {\r\n // Nothing to do\r\n return theme.id;\r\n }\r\n this._theme = theme;\r\n var cssRules = [];\r\n var hasRule = {};\r\n var ruleCollector = {\r\n addRule: function (rule) {\r\n if (!hasRule[rule]) {\r\n cssRules.push(rule);\r\n hasRule[rule] = true;\r\n }\r\n }\r\n };\r\n themingRegistry.getThemingParticipants().forEach(function (p) { return p(theme, ruleCollector, _this._environment); });\r\n var tokenTheme = theme.tokenTheme;\r\n var colorMap = tokenTheme.getColorMap();\r\n ruleCollector.addRule(generateTokensCSSForColorMap(colorMap));\r\n this._css = cssRules.join(\'\\n\');\r\n this._styleElements.forEach(function (styleElement) { return styleElement.innerHTML = _this._css; });\r\n modes["y" /* TokenizationRegistry */].setColorMap(colorMap);\r\n this._onThemeChange.fire(theme);\r\n return theme.id;\r\n };\r\n StandaloneThemeServiceImpl.prototype.getIconTheme = function () {\r\n return {\r\n hasFileIcons: false,\r\n hasFolderIcons: false,\r\n hidesExplorerArrows: false\r\n };\r\n };\r\n return StandaloneThemeServiceImpl;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextkey/browser/contextKeyService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar contextKeyService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 contextKeyService_decorate = (undefined && undefined.__decorate) || function (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\nvar contextKeyService_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar KEYBINDING_CONTEXT_ATTR = \'data-keybinding-context\';\r\nvar Context = /** @class */ (function () {\r\n function Context(id, parent) {\r\n this._id = id;\r\n this._parent = parent;\r\n this._value = Object.create(null);\r\n this._value[\'_contextId\'] = id;\r\n }\r\n Context.prototype.setValue = function (key, value) {\r\n // console.log(\'SET \' + key + \' = \' + value + \' ON \' + this._id);\r\n if (this._value[key] !== value) {\r\n this._value[key] = value;\r\n return true;\r\n }\r\n return false;\r\n };\r\n Context.prototype.removeValue = function (key) {\r\n // console.log(\'REMOVE \' + key + \' FROM \' + this._id);\r\n if (key in this._value) {\r\n delete this._value[key];\r\n return true;\r\n }\r\n return false;\r\n };\r\n Context.prototype.getValue = function (key) {\r\n var ret = this._value[key];\r\n if (typeof ret === \'undefined\' && this._parent) {\r\n return this._parent.getValue(key);\r\n }\r\n return ret;\r\n };\r\n return Context;\r\n}());\r\n\r\nvar NullContext = /** @class */ (function (_super) {\r\n contextKeyService_extends(NullContext, _super);\r\n function NullContext() {\r\n return _super.call(this, -1, null) || this;\r\n }\r\n NullContext.prototype.setValue = function (key, value) {\r\n return false;\r\n };\r\n NullContext.prototype.removeValue = function (key) {\r\n return false;\r\n };\r\n NullContext.prototype.getValue = function (key) {\r\n return undefined;\r\n };\r\n NullContext.INSTANCE = new NullContext();\r\n return NullContext;\r\n}(Context));\r\nvar contextKeyService_ConfigAwareContextValuesContainer = /** @class */ (function (_super) {\r\n contextKeyService_extends(ConfigAwareContextValuesContainer, _super);\r\n function ConfigAwareContextValuesContainer(id, _configurationService, emitter) {\r\n var _this = _super.call(this, id, null) || this;\r\n _this._configurationService = _configurationService;\r\n _this._values = new Map();\r\n _this._listener = _this._configurationService.onDidChangeConfiguration(function (event) {\r\n if (event.source === 6 /* DEFAULT */) {\r\n // new setting, reset everything\r\n var allKeys = Object(common_map["d" /* keys */])(_this._values);\r\n _this._values.clear();\r\n emitter.fire(new ArrayContextKeyChangeEvent(allKeys));\r\n }\r\n else {\r\n var changedKeys = [];\r\n for (var _i = 0, _a = event.affectedKeys; _i < _a.length; _i++) {\r\n var configKey = _a[_i];\r\n var contextKey = "config." + configKey;\r\n if (_this._values.has(contextKey)) {\r\n _this._values.delete(contextKey);\r\n changedKeys.push(contextKey);\r\n }\r\n }\r\n emitter.fire(new ArrayContextKeyChangeEvent(changedKeys));\r\n }\r\n });\r\n return _this;\r\n }\r\n ConfigAwareContextValuesContainer.prototype.dispose = function () {\r\n this._listener.dispose();\r\n };\r\n ConfigAwareContextValuesContainer.prototype.getValue = function (key) {\r\n if (key.indexOf(ConfigAwareContextValuesContainer._keyPrefix) !== 0) {\r\n return _super.prototype.getValue.call(this, key);\r\n }\r\n if (this._values.has(key)) {\r\n return this._values.get(key);\r\n }\r\n var configKey = key.substr(ConfigAwareContextValuesContainer._keyPrefix.length);\r\n var configValue = this._configurationService.getValue(configKey);\r\n var value = undefined;\r\n switch (typeof configValue) {\r\n case \'number\':\r\n case \'boolean\':\r\n case \'string\':\r\n value = configValue;\r\n break;\r\n }\r\n this._values.set(key, value);\r\n return value;\r\n };\r\n ConfigAwareContextValuesContainer.prototype.setValue = function (key, value) {\r\n return _super.prototype.setValue.call(this, key, value);\r\n };\r\n ConfigAwareContextValuesContainer.prototype.removeValue = function (key) {\r\n return _super.prototype.removeValue.call(this, key);\r\n };\r\n ConfigAwareContextValuesContainer._keyPrefix = \'config.\';\r\n return ConfigAwareContextValuesContainer;\r\n}(Context));\r\nvar ContextKey = /** @class */ (function () {\r\n function ContextKey(service, key, defaultValue) {\r\n this._service = service;\r\n this._key = key;\r\n this._defaultValue = defaultValue;\r\n this.reset();\r\n }\r\n ContextKey.prototype.set = function (value) {\r\n this._service.setContext(this._key, value);\r\n };\r\n ContextKey.prototype.reset = function () {\r\n if (typeof this._defaultValue === \'undefined\') {\r\n this._service.removeContext(this._key);\r\n }\r\n else {\r\n this._service.setContext(this._key, this._defaultValue);\r\n }\r\n };\r\n ContextKey.prototype.get = function () {\r\n return this._service.getContextKeyValue(this._key);\r\n };\r\n return ContextKey;\r\n}());\r\nvar SimpleContextKeyChangeEvent = /** @class */ (function () {\r\n function SimpleContextKeyChangeEvent(key) {\r\n this.key = key;\r\n }\r\n SimpleContextKeyChangeEvent.prototype.affectsSome = function (keys) {\r\n return keys.has(this.key);\r\n };\r\n return SimpleContextKeyChangeEvent;\r\n}());\r\nvar ArrayContextKeyChangeEvent = /** @class */ (function () {\r\n function ArrayContextKeyChangeEvent(keys) {\r\n this.keys = keys;\r\n }\r\n ArrayContextKeyChangeEvent.prototype.affectsSome = function (keys) {\r\n for (var _i = 0, _a = this.keys; _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (keys.has(key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n return ArrayContextKeyChangeEvent;\r\n}());\r\nvar CompositeContextKeyChangeEvent = /** @class */ (function () {\r\n function CompositeContextKeyChangeEvent(events) {\r\n this.events = events;\r\n }\r\n CompositeContextKeyChangeEvent.prototype.affectsSome = function (keys) {\r\n for (var _i = 0, _a = this.events; _i < _a.length; _i++) {\r\n var e = _a[_i];\r\n if (e.affectsSome(keys)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n return CompositeContextKeyChangeEvent;\r\n}());\r\nvar contextKeyService_AbstractContextKeyService = /** @class */ (function () {\r\n function AbstractContextKeyService(myContextId) {\r\n this._onDidChangeContext = new common_event["d" /* PauseableEmitter */]({ merge: function (input) { return new CompositeContextKeyChangeEvent(input); } });\r\n this._isDisposed = false;\r\n this._myContextId = myContextId;\r\n }\r\n AbstractContextKeyService.prototype.createKey = function (key, defaultValue) {\r\n if (this._isDisposed) {\r\n throw new Error("AbstractContextKeyService has been disposed");\r\n }\r\n return new ContextKey(this, key, defaultValue);\r\n };\r\n Object.defineProperty(AbstractContextKeyService.prototype, "onDidChangeContext", {\r\n get: function () {\r\n return this._onDidChangeContext.event;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n AbstractContextKeyService.prototype.bufferChangeEvents = function (callback) {\r\n this._onDidChangeContext.pause();\r\n try {\r\n callback();\r\n }\r\n finally {\r\n this._onDidChangeContext.resume();\r\n }\r\n };\r\n AbstractContextKeyService.prototype.createScoped = function (domNode) {\r\n if (this._isDisposed) {\r\n throw new Error("AbstractContextKeyService has been disposed");\r\n }\r\n return new contextKeyService_ScopedContextKeyService(this, domNode);\r\n };\r\n AbstractContextKeyService.prototype.contextMatchesRules = function (rules) {\r\n if (this._isDisposed) {\r\n throw new Error("AbstractContextKeyService has been disposed");\r\n }\r\n var context = this.getContextValuesContainer(this._myContextId);\r\n var result = keybindingResolver_KeybindingResolver.contextMatchesRules(context, rules);\r\n // console.group(rules.serialize() + \' -> \' + result);\r\n // rules.keys().forEach(key => { console.log(key, ctx[key]); });\r\n // console.groupEnd();\r\n return result;\r\n };\r\n AbstractContextKeyService.prototype.getContextKeyValue = function (key) {\r\n if (this._isDisposed) {\r\n return undefined;\r\n }\r\n return this.getContextValuesContainer(this._myContextId).getValue(key);\r\n };\r\n AbstractContextKeyService.prototype.setContext = function (key, value) {\r\n if (this._isDisposed) {\r\n return;\r\n }\r\n var myContext = this.getContextValuesContainer(this._myContextId);\r\n if (!myContext) {\r\n return;\r\n }\r\n if (myContext.setValue(key, value)) {\r\n this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(key));\r\n }\r\n };\r\n AbstractContextKeyService.prototype.removeContext = function (key) {\r\n if (this._isDisposed) {\r\n return;\r\n }\r\n if (this.getContextValuesContainer(this._myContextId).removeValue(key)) {\r\n this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(key));\r\n }\r\n };\r\n AbstractContextKeyService.prototype.getContext = function (target) {\r\n if (this._isDisposed) {\r\n return NullContext.INSTANCE;\r\n }\r\n return this.getContextValuesContainer(findContextAttr(target));\r\n };\r\n return AbstractContextKeyService;\r\n}());\r\n\r\nvar contextKeyService_ContextKeyService = /** @class */ (function (_super) {\r\n contextKeyService_extends(ContextKeyService, _super);\r\n function ContextKeyService(configurationService) {\r\n var _this = _super.call(this, 0) || this;\r\n _this._contexts = new Map();\r\n _this._toDispose = new lifecycle["b" /* DisposableStore */]();\r\n _this._lastContextId = 0;\r\n var myContext = new contextKeyService_ConfigAwareContextValuesContainer(_this._myContextId, configurationService, _this._onDidChangeContext);\r\n _this._contexts.set(_this._myContextId, myContext);\r\n _this._toDispose.add(myContext);\r\n return _this;\r\n // Uncomment this to see the contexts continuously logged\r\n // let lastLoggedValue: string | null = null;\r\n // setInterval(() => {\r\n // \tlet values = Object.keys(this._contexts).map((key) => this._contexts[key]);\r\n // \tlet logValue = values.map(v => JSON.stringify(v._value, null, \'\\t\')).join(\'\\n\');\r\n // \tif (lastLoggedValue !== logValue) {\r\n // \t\tlastLoggedValue = logValue;\r\n // \t\tconsole.log(lastLoggedValue);\r\n // \t}\r\n // }, 2000);\r\n }\r\n ContextKeyService.prototype.dispose = function () {\r\n this._isDisposed = true;\r\n this._toDispose.dispose();\r\n };\r\n ContextKeyService.prototype.getContextValuesContainer = function (contextId) {\r\n if (this._isDisposed) {\r\n return NullContext.INSTANCE;\r\n }\r\n return this._contexts.get(contextId) || NullContext.INSTANCE;\r\n };\r\n ContextKeyService.prototype.createChildContext = function (parentContextId) {\r\n if (parentContextId === void 0) { parentContextId = this._myContextId; }\r\n if (this._isDisposed) {\r\n throw new Error("ContextKeyService has been disposed");\r\n }\r\n var id = (++this._lastContextId);\r\n this._contexts.set(id, new Context(id, this.getContextValuesContainer(parentContextId)));\r\n return id;\r\n };\r\n ContextKeyService.prototype.disposeContext = function (contextId) {\r\n if (!this._isDisposed) {\r\n this._contexts.delete(contextId);\r\n }\r\n };\r\n ContextKeyService = contextKeyService_decorate([\r\n contextKeyService_param(0, common_configuration["a" /* IConfigurationService */])\r\n ], ContextKeyService);\r\n return ContextKeyService;\r\n}(contextKeyService_AbstractContextKeyService));\r\n\r\nvar contextKeyService_ScopedContextKeyService = /** @class */ (function (_super) {\r\n contextKeyService_extends(ScopedContextKeyService, _super);\r\n function ScopedContextKeyService(parent, domNode) {\r\n var _this = _super.call(this, parent.createChildContext()) || this;\r\n _this._parent = parent;\r\n if (domNode) {\r\n _this._domNode = domNode;\r\n _this._domNode.setAttribute(KEYBINDING_CONTEXT_ATTR, String(_this._myContextId));\r\n }\r\n return _this;\r\n }\r\n ScopedContextKeyService.prototype.dispose = function () {\r\n this._isDisposed = true;\r\n this._parent.disposeContext(this._myContextId);\r\n if (this._domNode) {\r\n this._domNode.removeAttribute(KEYBINDING_CONTEXT_ATTR);\r\n this._domNode = undefined;\r\n }\r\n };\r\n Object.defineProperty(ScopedContextKeyService.prototype, "onDidChangeContext", {\r\n get: function () {\r\n return common_event["b" /* Event */].any(this._parent.onDidChangeContext, this._onDidChangeContext.event);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ScopedContextKeyService.prototype.getContextValuesContainer = function (contextId) {\r\n if (this._isDisposed) {\r\n return NullContext.INSTANCE;\r\n }\r\n return this._parent.getContextValuesContainer(contextId);\r\n };\r\n ScopedContextKeyService.prototype.createChildContext = function (parentContextId) {\r\n if (parentContextId === void 0) { parentContextId = this._myContextId; }\r\n if (this._isDisposed) {\r\n throw new Error("ScopedContextKeyService has been disposed");\r\n }\r\n return this._parent.createChildContext(parentContextId);\r\n };\r\n ScopedContextKeyService.prototype.disposeContext = function (contextId) {\r\n if (this._isDisposed) {\r\n return;\r\n }\r\n this._parent.disposeContext(contextId);\r\n };\r\n return ScopedContextKeyService;\r\n}(contextKeyService_AbstractContextKeyService));\r\nfunction findContextAttr(domNode) {\r\n while (domNode) {\r\n if (domNode.hasAttribute(KEYBINDING_CONTEXT_ATTR)) {\r\n var attr = domNode.getAttribute(KEYBINDING_CONTEXT_ATTR);\r\n if (attr) {\r\n return parseInt(attr, 10);\r\n }\r\n return NaN;\r\n }\r\n domNode = domNode.parentElement;\r\n }\r\n return 0;\r\n}\r\ncommands["a" /* CommandsRegistry */].registerCommand(contextkey["e" /* SET_CONTEXT_COMMAND_ID */], function (accessor, contextKey, contextValue) {\r\n accessor.get(contextkey["c" /* IContextKeyService */]).createKey(String(contextKey), contextValue);\r\n});\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.css\nvar contextMenuHandler = __webpack_require__("eizg");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.css\nvar menu_menu = __webpack_require__("CHaL");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar menu_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 menu_spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar MENU_MNEMONIC_REGEX = /\\(&([^\\s&])\\)|(^|[^&])&([^\\s&])/;\r\nvar MENU_ESCAPED_MNEMONIC_REGEX = /(&)?(&)([^\\s&])/g;\r\nvar Direction;\r\n(function (Direction) {\r\n Direction[Direction["Right"] = 0] = "Right";\r\n Direction[Direction["Left"] = 1] = "Left";\r\n})(Direction || (Direction = {}));\r\nvar SubmenuAction = /** @class */ (function (_super) {\r\n menu_extends(SubmenuAction, _super);\r\n function SubmenuAction(label, entries, cssClass) {\r\n var _this = _super.call(this, !!cssClass ? cssClass : \'submenu\', label, \'\', true) || this;\r\n _this.entries = entries;\r\n return _this;\r\n }\r\n return SubmenuAction;\r\n}(common_actions["a" /* Action */]));\r\n\r\nvar menu_Menu = /** @class */ (function (_super) {\r\n menu_extends(Menu, _super);\r\n function Menu(container, actions, options) {\r\n if (options === void 0) { options = {}; }\r\n var _this = this;\r\n Object(dom["e" /* addClass */])(container, \'monaco-menu-container\');\r\n container.setAttribute(\'role\', \'presentation\');\r\n var menuElement = document.createElement(\'div\');\r\n Object(dom["e" /* addClass */])(menuElement, \'monaco-menu\');\r\n menuElement.setAttribute(\'role\', \'presentation\');\r\n _this = _super.call(this, menuElement, {\r\n orientation: 2 /* VERTICAL */,\r\n actionViewItemProvider: function (action) { return _this.doGetActionViewItem(action, options, parentData); },\r\n context: options.context,\r\n actionRunner: options.actionRunner,\r\n ariaLabel: options.ariaLabel,\r\n triggerKeys: { keys: menu_spreadArrays([3 /* Enter */], (platform["e" /* isMacintosh */] ? [10 /* Space */] : [])), keyDown: true }\r\n }) || this;\r\n _this.menuElement = menuElement;\r\n _this.actionsList.setAttribute(\'role\', \'menu\');\r\n _this.actionsList.tabIndex = 0;\r\n _this.menuDisposables = _this._register(new lifecycle["b" /* DisposableStore */]());\r\n Object(dom["i" /* addDisposableListener */])(menuElement, dom["c" /* EventType */].KEY_DOWN, function (e) {\r\n var event = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n // Stop tab navigation of menus\r\n if (event.equals(2 /* Tab */)) {\r\n e.preventDefault();\r\n }\r\n });\r\n if (options.enableMnemonics) {\r\n _this.menuDisposables.add(Object(dom["i" /* addDisposableListener */])(menuElement, dom["c" /* EventType */].KEY_DOWN, function (e) {\r\n var key = e.key.toLocaleLowerCase();\r\n if (_this.mnemonics.has(key)) {\r\n dom["b" /* EventHelper */].stop(e, true);\r\n var actions_1 = _this.mnemonics.get(key);\r\n if (actions_1.length === 1) {\r\n if (actions_1[0] instanceof menu_SubmenuMenuActionViewItem && actions_1[0].container) {\r\n _this.focusItemByElement(actions_1[0].container);\r\n }\r\n actions_1[0].onClick(e);\r\n }\r\n if (actions_1.length > 1) {\r\n var action = actions_1.shift();\r\n if (action && action.container) {\r\n _this.focusItemByElement(action.container);\r\n actions_1.push(action);\r\n }\r\n _this.mnemonics.set(key, actions_1);\r\n }\r\n }\r\n }));\r\n }\r\n if (platform["d" /* isLinux */]) {\r\n _this._register(Object(dom["i" /* addDisposableListener */])(menuElement, dom["c" /* EventType */].KEY_DOWN, function (e) {\r\n var event = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n if (event.equals(14 /* Home */) || event.equals(11 /* PageUp */)) {\r\n _this.focusedItem = _this.viewItems.length - 1;\r\n _this.focusNext();\r\n dom["b" /* EventHelper */].stop(e, true);\r\n }\r\n else if (event.equals(13 /* End */) || event.equals(12 /* PageDown */)) {\r\n _this.focusedItem = 0;\r\n _this.focusPrevious();\r\n dom["b" /* EventHelper */].stop(e, true);\r\n }\r\n }));\r\n }\r\n _this._register(Object(dom["i" /* addDisposableListener */])(_this.domNode, dom["c" /* EventType */].MOUSE_OUT, function (e) {\r\n var relatedTarget = e.relatedTarget;\r\n if (!Object(dom["J" /* isAncestor */])(relatedTarget, _this.domNode)) {\r\n _this.focusedItem = undefined;\r\n _this.updateFocus();\r\n e.stopPropagation();\r\n }\r\n }));\r\n _this._register(Object(dom["i" /* addDisposableListener */])(_this.actionsList, dom["c" /* EventType */].MOUSE_OVER, function (e) {\r\n var target = e.target;\r\n if (!target || !Object(dom["J" /* isAncestor */])(target, _this.actionsList) || target === _this.actionsList) {\r\n return;\r\n }\r\n while (target.parentElement !== _this.actionsList && target.parentElement !== null) {\r\n target = target.parentElement;\r\n }\r\n if (Object(dom["H" /* hasClass */])(target, \'action-item\')) {\r\n var lastFocusedItem = _this.focusedItem;\r\n _this.setFocusedItem(target);\r\n if (lastFocusedItem !== _this.focusedItem) {\r\n _this.updateFocus();\r\n }\r\n }\r\n }));\r\n var parentData = {\r\n parent: _this\r\n };\r\n _this.mnemonics = new Map();\r\n // Scroll Logic\r\n _this.scrollableElement = _this._register(new scrollableElement["a" /* DomScrollableElement */](menuElement, {\r\n alwaysConsumeMouseWheel: true,\r\n horizontal: 2 /* Hidden */,\r\n vertical: 3 /* Visible */,\r\n verticalScrollbarSize: 7,\r\n handleMouseWheel: true,\r\n useShadows: true\r\n }));\r\n var scrollElement = _this.scrollableElement.getDomNode();\r\n scrollElement.style.position = \'\';\r\n _this._register(Object(dom["i" /* addDisposableListener */])(scrollElement, dom["c" /* EventType */].MOUSE_UP, function (e) {\r\n // Absorb clicks in menu dead space https://github.com/Microsoft/vscode/issues/63575\r\n // We do this on the scroll element so the scroll bar doesn\'t dismiss the menu either\r\n e.preventDefault();\r\n }));\r\n menuElement.style.maxHeight = Math.max(10, window.innerHeight - container.getBoundingClientRect().top - 30) + "px";\r\n _this.push(actions, { icon: true, label: true, isMenu: true });\r\n container.appendChild(_this.scrollableElement.getDomNode());\r\n _this.scrollableElement.scanDomNode();\r\n _this.viewItems.filter(function (item) { return !(item instanceof MenuSeparatorActionViewItem); }).forEach(function (item, index, array) {\r\n item.updatePositionInSet(index + 1, array.length);\r\n });\r\n return _this;\r\n }\r\n Menu.prototype.style = function (style) {\r\n var container = this.getContainer();\r\n var fgColor = style.foregroundColor ? "" + style.foregroundColor : \'\';\r\n var bgColor = style.backgroundColor ? "" + style.backgroundColor : \'\';\r\n var border = style.borderColor ? "1px solid " + style.borderColor : \'\';\r\n var shadow = style.shadowColor ? "0 2px 4px " + style.shadowColor : \'\';\r\n container.style.border = border;\r\n this.domNode.style.color = fgColor;\r\n this.domNode.style.backgroundColor = bgColor;\r\n container.style.boxShadow = shadow;\r\n if (this.viewItems) {\r\n this.viewItems.forEach(function (item) {\r\n if (item instanceof menu_BaseMenuActionViewItem || item instanceof MenuSeparatorActionViewItem) {\r\n item.style(style);\r\n }\r\n });\r\n }\r\n };\r\n Menu.prototype.getContainer = function () {\r\n return this.scrollableElement.getDomNode();\r\n };\r\n Object.defineProperty(Menu.prototype, "onScroll", {\r\n get: function () {\r\n return this.scrollableElement.onScroll;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, "scrollOffset", {\r\n get: function () {\r\n return this.menuElement.scrollTop;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Menu.prototype.focusItemByElement = function (element) {\r\n var lastFocusedItem = this.focusedItem;\r\n this.setFocusedItem(element);\r\n if (lastFocusedItem !== this.focusedItem) {\r\n this.updateFocus();\r\n }\r\n };\r\n Menu.prototype.setFocusedItem = function (element) {\r\n for (var i = 0; i < this.actionsList.children.length; i++) {\r\n var elem = this.actionsList.children[i];\r\n if (element === elem) {\r\n this.focusedItem = i;\r\n break;\r\n }\r\n }\r\n };\r\n Menu.prototype.updateFocus = function (fromRight) {\r\n _super.prototype.updateFocus.call(this, fromRight, true);\r\n if (typeof this.focusedItem !== \'undefined\') {\r\n // Workaround for #80047 caused by an issue in chromium\r\n // https://bugs.chromium.org/p/chromium/issues/detail?id=414283\r\n // When that\'s fixed, just call this.scrollableElement.scanDomNode()\r\n this.scrollableElement.setScrollPosition({\r\n scrollTop: Math.round(this.menuElement.scrollTop)\r\n });\r\n }\r\n };\r\n Menu.prototype.doGetActionViewItem = function (action, options, parentData) {\r\n if (action instanceof actionbar["d" /* Separator */]) {\r\n return new MenuSeparatorActionViewItem(options.context, action, { icon: true });\r\n }\r\n else if (action instanceof SubmenuAction) {\r\n var menuActionViewItem = new menu_SubmenuMenuActionViewItem(action, action.entries, parentData, options);\r\n if (options.enableMnemonics) {\r\n var mnemonic = menuActionViewItem.getMnemonic();\r\n if (mnemonic && menuActionViewItem.isEnabled()) {\r\n var actionViewItems = [];\r\n if (this.mnemonics.has(mnemonic)) {\r\n actionViewItems = this.mnemonics.get(mnemonic);\r\n }\r\n actionViewItems.push(menuActionViewItem);\r\n this.mnemonics.set(mnemonic, actionViewItems);\r\n }\r\n }\r\n return menuActionViewItem;\r\n }\r\n else {\r\n var menuItemOptions = { enableMnemonics: options.enableMnemonics };\r\n if (options.getKeyBinding) {\r\n var keybinding = options.getKeyBinding(action);\r\n if (keybinding) {\r\n var keybindingLabel = keybinding.getLabel();\r\n if (keybindingLabel) {\r\n menuItemOptions.keybinding = keybindingLabel;\r\n }\r\n }\r\n }\r\n var menuActionViewItem = new menu_BaseMenuActionViewItem(options.context, action, menuItemOptions);\r\n if (options.enableMnemonics) {\r\n var mnemonic = menuActionViewItem.getMnemonic();\r\n if (mnemonic && menuActionViewItem.isEnabled()) {\r\n var actionViewItems = [];\r\n if (this.mnemonics.has(mnemonic)) {\r\n actionViewItems = this.mnemonics.get(mnemonic);\r\n }\r\n actionViewItems.push(menuActionViewItem);\r\n this.mnemonics.set(mnemonic, actionViewItems);\r\n }\r\n }\r\n return menuActionViewItem;\r\n }\r\n };\r\n return Menu;\r\n}(actionbar["a" /* ActionBar */]));\r\n\r\nvar menu_BaseMenuActionViewItem = /** @class */ (function (_super) {\r\n menu_extends(BaseMenuActionViewItem, _super);\r\n function BaseMenuActionViewItem(ctx, action, options) {\r\n if (options === void 0) { options = {}; }\r\n var _this = this;\r\n options.isMenu = true;\r\n _this = _super.call(this, action, action, options) || this;\r\n _this.options = options;\r\n _this.options.icon = options.icon !== undefined ? options.icon : false;\r\n _this.options.label = options.label !== undefined ? options.label : true;\r\n _this.cssClass = \'\';\r\n // Set mnemonic\r\n if (_this.options.label && options.enableMnemonics) {\r\n var label = _this.getAction().label;\r\n if (label) {\r\n var matches = MENU_MNEMONIC_REGEX.exec(label);\r\n if (matches) {\r\n _this.mnemonic = (!!matches[1] ? matches[1] : matches[3]).toLocaleLowerCase();\r\n }\r\n }\r\n }\r\n // Add mouse up listener later to avoid accidental clicks\r\n _this.runOnceToEnableMouseUp = new common_async["d" /* RunOnceScheduler */](function () {\r\n if (!_this.element) {\r\n return;\r\n }\r\n _this._register(Object(dom["i" /* addDisposableListener */])(_this.element, dom["c" /* EventType */].MOUSE_UP, function (e) {\r\n if (e.defaultPrevented) {\r\n return;\r\n }\r\n dom["b" /* EventHelper */].stop(e, true);\r\n _this.onClick(e);\r\n }));\r\n }, 100);\r\n _this._register(_this.runOnceToEnableMouseUp);\r\n return _this;\r\n }\r\n BaseMenuActionViewItem.prototype.render = function (container) {\r\n _super.prototype.render.call(this, container);\r\n if (!this.element) {\r\n return;\r\n }\r\n this.container = container;\r\n this.item = Object(dom["p" /* append */])(this.element, Object(dom["a" /* $ */])(\'a.action-menu-item\'));\r\n if (this._action.id === actionbar["d" /* Separator */].ID) {\r\n // A separator is a presentation item\r\n this.item.setAttribute(\'role\', \'presentation\');\r\n }\r\n else {\r\n this.item.setAttribute(\'role\', \'menuitem\');\r\n if (this.mnemonic) {\r\n this.item.setAttribute(\'aria-keyshortcuts\', "" + this.mnemonic);\r\n }\r\n }\r\n this.check = Object(dom["p" /* append */])(this.item, Object(dom["a" /* $ */])(\'span.menu-item-check.codicon.codicon-check\'));\r\n this.check.setAttribute(\'role\', \'none\');\r\n this.label = Object(dom["p" /* append */])(this.item, Object(dom["a" /* $ */])(\'span.action-label\'));\r\n if (this.options.label && this.options.keybinding) {\r\n Object(dom["p" /* append */])(this.item, Object(dom["a" /* $ */])(\'span.keybinding\')).textContent = this.options.keybinding;\r\n }\r\n // Adds mouse up listener to actually run the action\r\n this.runOnceToEnableMouseUp.schedule();\r\n this.updateClass();\r\n this.updateLabel();\r\n this.updateTooltip();\r\n this.updateEnabled();\r\n this.updateChecked();\r\n };\r\n BaseMenuActionViewItem.prototype.blur = function () {\r\n _super.prototype.blur.call(this);\r\n this.applyStyle();\r\n };\r\n BaseMenuActionViewItem.prototype.focus = function () {\r\n _super.prototype.focus.call(this);\r\n if (this.item) {\r\n this.item.focus();\r\n }\r\n this.applyStyle();\r\n };\r\n BaseMenuActionViewItem.prototype.updatePositionInSet = function (pos, setSize) {\r\n if (this.item) {\r\n this.item.setAttribute(\'aria-posinset\', "" + pos);\r\n this.item.setAttribute(\'aria-setsize\', "" + setSize);\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.updateLabel = function () {\r\n if (this.options.label) {\r\n var label = this.getAction().label;\r\n if (label) {\r\n var cleanLabel = cleanMnemonic(label);\r\n if (!this.options.enableMnemonics) {\r\n label = cleanLabel;\r\n }\r\n if (this.label) {\r\n this.label.setAttribute(\'aria-label\', cleanLabel.replace(/&&/g, \'&\'));\r\n }\r\n var matches = MENU_MNEMONIC_REGEX.exec(label);\r\n if (matches) {\r\n label = strings["o" /* escape */](label);\r\n // This is global, reset it\r\n MENU_ESCAPED_MNEMONIC_REGEX.lastIndex = 0;\r\n var escMatch = MENU_ESCAPED_MNEMONIC_REGEX.exec(label);\r\n // We can\'t use negative lookbehind so if we match our negative and skip\r\n while (escMatch && escMatch[1]) {\r\n escMatch = MENU_ESCAPED_MNEMONIC_REGEX.exec(label);\r\n }\r\n if (escMatch) {\r\n label = label.substr(0, escMatch.index) + "" + escMatch[3] + "" + label.substr(escMatch.index + escMatch[0].length);\r\n }\r\n label = label.replace(/&&/g, \'&\');\r\n if (this.item) {\r\n this.item.setAttribute(\'aria-keyshortcuts\', (!!matches[1] ? matches[1] : matches[3]).toLocaleLowerCase());\r\n }\r\n }\r\n else {\r\n label = label.replace(/&&/g, \'&\');\r\n }\r\n }\r\n if (this.label) {\r\n this.label.innerHTML = label.trim();\r\n }\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.updateTooltip = function () {\r\n var title = null;\r\n if (this.getAction().tooltip) {\r\n title = this.getAction().tooltip;\r\n }\r\n else if (!this.options.label && this.getAction().label && this.options.icon) {\r\n title = this.getAction().label;\r\n if (this.options.keybinding) {\r\n title = nls["a" /* localize */]({ key: \'titleLabel\', comment: [\'action title\', \'action keybinding\'] }, "{0} ({1})", title, this.options.keybinding);\r\n }\r\n }\r\n if (title && this.item) {\r\n this.item.title = title;\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.updateClass = function () {\r\n if (this.cssClass && this.item) {\r\n Object(dom["P" /* removeClasses */])(this.item, this.cssClass);\r\n }\r\n if (this.options.icon && this.label) {\r\n this.cssClass = this.getAction().class || \'\';\r\n Object(dom["e" /* addClass */])(this.label, \'icon\');\r\n if (this.cssClass) {\r\n Object(dom["f" /* addClasses */])(this.label, this.cssClass);\r\n }\r\n this.updateEnabled();\r\n }\r\n else if (this.label) {\r\n Object(dom["O" /* removeClass */])(this.label, \'icon\');\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.updateEnabled = function () {\r\n if (this.getAction().enabled) {\r\n if (this.element) {\r\n Object(dom["O" /* removeClass */])(this.element, \'disabled\');\r\n }\r\n if (this.item) {\r\n Object(dom["O" /* removeClass */])(this.item, \'disabled\');\r\n this.item.tabIndex = 0;\r\n }\r\n }\r\n else {\r\n if (this.element) {\r\n Object(dom["e" /* addClass */])(this.element, \'disabled\');\r\n }\r\n if (this.item) {\r\n Object(dom["e" /* addClass */])(this.item, \'disabled\');\r\n Object(dom["R" /* removeTabIndexAndUpdateFocus */])(this.item);\r\n }\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.updateChecked = function () {\r\n if (!this.item) {\r\n return;\r\n }\r\n if (this.getAction().checked) {\r\n Object(dom["e" /* addClass */])(this.item, \'checked\');\r\n this.item.setAttribute(\'role\', \'menuitemcheckbox\');\r\n this.item.setAttribute(\'aria-checked\', \'true\');\r\n }\r\n else {\r\n Object(dom["O" /* removeClass */])(this.item, \'checked\');\r\n this.item.setAttribute(\'role\', \'menuitem\');\r\n this.item.setAttribute(\'aria-checked\', \'false\');\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.getMnemonic = function () {\r\n return this.mnemonic;\r\n };\r\n BaseMenuActionViewItem.prototype.applyStyle = function () {\r\n if (!this.menuStyle) {\r\n return;\r\n }\r\n var isSelected = this.element && Object(dom["H" /* hasClass */])(this.element, \'focused\');\r\n var fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\r\n var bgColor = isSelected && this.menuStyle.selectionBackgroundColor ? this.menuStyle.selectionBackgroundColor : undefined;\r\n var border = isSelected && this.menuStyle.selectionBorderColor ? "thin solid " + this.menuStyle.selectionBorderColor : \'\';\r\n if (this.item) {\r\n this.item.style.color = fgColor ? fgColor.toString() : \'\';\r\n this.item.style.backgroundColor = bgColor ? bgColor.toString() : \'\';\r\n }\r\n if (this.check) {\r\n this.check.style.color = fgColor ? fgColor.toString() : \'\';\r\n }\r\n if (this.container) {\r\n this.container.style.border = border;\r\n }\r\n };\r\n BaseMenuActionViewItem.prototype.style = function (style) {\r\n this.menuStyle = style;\r\n this.applyStyle();\r\n };\r\n return BaseMenuActionViewItem;\r\n}(actionbar["c" /* BaseActionViewItem */]));\r\nvar menu_SubmenuMenuActionViewItem = /** @class */ (function (_super) {\r\n menu_extends(SubmenuMenuActionViewItem, _super);\r\n function SubmenuMenuActionViewItem(action, submenuActions, parentData, submenuOptions) {\r\n var _this = _super.call(this, action, action, submenuOptions) || this;\r\n _this.submenuActions = submenuActions;\r\n _this.parentData = parentData;\r\n _this.submenuOptions = submenuOptions;\r\n _this.mysubmenu = null;\r\n _this.submenuDisposables = _this._register(new lifecycle["b" /* DisposableStore */]());\r\n _this.mouseOver = false;\r\n _this.expandDirection = submenuOptions && submenuOptions.expandDirection !== undefined ? submenuOptions.expandDirection : Direction.Right;\r\n _this.showScheduler = new common_async["d" /* RunOnceScheduler */](function () {\r\n if (_this.mouseOver) {\r\n _this.cleanupExistingSubmenu(false);\r\n _this.createSubmenu(false);\r\n }\r\n }, 250);\r\n _this.hideScheduler = new common_async["d" /* RunOnceScheduler */](function () {\r\n if (_this.element && (!Object(dom["J" /* isAncestor */])(document.activeElement, _this.element) && _this.parentData.submenu === _this.mysubmenu)) {\r\n _this.parentData.parent.focus(false);\r\n _this.cleanupExistingSubmenu(true);\r\n }\r\n }, 750);\r\n return _this;\r\n }\r\n SubmenuMenuActionViewItem.prototype.render = function (container) {\r\n var _this = this;\r\n _super.prototype.render.call(this, container);\r\n if (!this.element) {\r\n return;\r\n }\r\n if (this.item) {\r\n Object(dom["e" /* addClass */])(this.item, \'monaco-submenu-item\');\r\n this.item.setAttribute(\'aria-haspopup\', \'true\');\r\n this.updateAriaExpanded(\'false\');\r\n this.submenuIndicator = Object(dom["p" /* append */])(this.item, Object(dom["a" /* $ */])(\'span.submenu-indicator.codicon.codicon-chevron-right\'));\r\n this.submenuIndicator.setAttribute(\'aria-hidden\', \'true\');\r\n }\r\n this._register(Object(dom["i" /* addDisposableListener */])(this.element, dom["c" /* EventType */].KEY_UP, function (e) {\r\n var event = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n if (event.equals(17 /* RightArrow */) || event.equals(3 /* Enter */)) {\r\n dom["b" /* EventHelper */].stop(e, true);\r\n _this.createSubmenu(true);\r\n }\r\n }));\r\n this._register(Object(dom["i" /* addDisposableListener */])(this.element, dom["c" /* EventType */].KEY_DOWN, function (e) {\r\n var event = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n if (document.activeElement === _this.item) {\r\n if (event.equals(17 /* RightArrow */) || event.equals(3 /* Enter */)) {\r\n dom["b" /* EventHelper */].stop(e, true);\r\n }\r\n }\r\n }));\r\n this._register(Object(dom["i" /* addDisposableListener */])(this.element, dom["c" /* EventType */].MOUSE_OVER, function (e) {\r\n if (!_this.mouseOver) {\r\n _this.mouseOver = true;\r\n _this.showScheduler.schedule();\r\n }\r\n }));\r\n this._register(Object(dom["i" /* addDisposableListener */])(this.element, dom["c" /* EventType */].MOUSE_LEAVE, function (e) {\r\n _this.mouseOver = false;\r\n }));\r\n this._register(Object(dom["i" /* addDisposableListener */])(this.element, dom["c" /* EventType */].FOCUS_OUT, function (e) {\r\n if (_this.element && !Object(dom["J" /* isAncestor */])(document.activeElement, _this.element)) {\r\n _this.hideScheduler.schedule();\r\n }\r\n }));\r\n this._register(this.parentData.parent.onScroll(function () {\r\n _this.parentData.parent.focus(false);\r\n _this.cleanupExistingSubmenu(false);\r\n }));\r\n };\r\n SubmenuMenuActionViewItem.prototype.onClick = function (e) {\r\n // stop clicking from trying to run an action\r\n dom["b" /* EventHelper */].stop(e, true);\r\n this.cleanupExistingSubmenu(false);\r\n this.createSubmenu(true);\r\n };\r\n SubmenuMenuActionViewItem.prototype.cleanupExistingSubmenu = function (force) {\r\n if (this.parentData.submenu && (force || (this.parentData.submenu !== this.mysubmenu))) {\r\n this.parentData.submenu.dispose();\r\n this.parentData.submenu = undefined;\r\n this.updateAriaExpanded(\'false\');\r\n if (this.submenuContainer) {\r\n this.submenuDisposables.clear();\r\n this.submenuContainer = undefined;\r\n }\r\n }\r\n };\r\n SubmenuMenuActionViewItem.prototype.createSubmenu = function (selectFirstItem) {\r\n var _this = this;\r\n if (selectFirstItem === void 0) { selectFirstItem = true; }\r\n if (!this.element) {\r\n return;\r\n }\r\n if (!this.parentData.submenu) {\r\n this.updateAriaExpanded(\'true\');\r\n this.submenuContainer = Object(dom["p" /* append */])(this.element, Object(dom["a" /* $ */])(\'div.monaco-submenu\'));\r\n Object(dom["f" /* addClasses */])(this.submenuContainer, \'menubar-menu-items-holder\', \'context-view\');\r\n // Set the top value of the menu container before construction\r\n // This allows the menu constructor to calculate the proper max height\r\n var computedStyles = getComputedStyle(this.parentData.parent.domNode);\r\n var paddingTop = parseFloat(computedStyles.paddingTop || \'0\') || 0;\r\n this.submenuContainer.style.top = this.element.offsetTop - this.parentData.parent.scrollOffset - paddingTop + "px";\r\n this.parentData.submenu = new menu_Menu(this.submenuContainer, this.submenuActions, this.submenuOptions);\r\n if (this.menuStyle) {\r\n this.parentData.submenu.style(this.menuStyle);\r\n }\r\n var boundingRect = this.element.getBoundingClientRect();\r\n var childBoundingRect = this.submenuContainer.getBoundingClientRect();\r\n if (this.expandDirection === Direction.Right) {\r\n if (window.innerWidth <= boundingRect.right + childBoundingRect.width) {\r\n this.submenuContainer.style.left = \'10px\';\r\n this.submenuContainer.style.top = this.element.offsetTop - this.parentData.parent.scrollOffset + boundingRect.height + "px";\r\n }\r\n else {\r\n this.submenuContainer.style.left = this.element.offsetWidth + "px";\r\n this.submenuContainer.style.top = this.element.offsetTop - this.parentData.parent.scrollOffset - paddingTop + "px";\r\n }\r\n }\r\n else if (this.expandDirection === Direction.Left) {\r\n this.submenuContainer.style.right = this.element.offsetWidth + "px";\r\n this.submenuContainer.style.left = \'auto\';\r\n this.submenuContainer.style.top = this.element.offsetTop - this.parentData.parent.scrollOffset - paddingTop + "px";\r\n }\r\n this.submenuDisposables.add(Object(dom["i" /* addDisposableListener */])(this.submenuContainer, dom["c" /* EventType */].KEY_UP, function (e) {\r\n var event = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n if (event.equals(15 /* LeftArrow */)) {\r\n dom["b" /* EventHelper */].stop(e, true);\r\n _this.parentData.parent.focus();\r\n _this.cleanupExistingSubmenu(true);\r\n }\r\n }));\r\n this.submenuDisposables.add(Object(dom["i" /* addDisposableListener */])(this.submenuContainer, dom["c" /* EventType */].KEY_DOWN, function (e) {\r\n var event = new browser_keyboardEvent["a" /* StandardKeyboardEvent */](e);\r\n if (event.equals(15 /* LeftArrow */)) {\r\n dom["b" /* EventHelper */].stop(e, true);\r\n }\r\n }));\r\n this.submenuDisposables.add(this.parentData.submenu.onDidCancel(function () {\r\n _this.parentData.parent.focus();\r\n _this.cleanupExistingSubmenu(true);\r\n }));\r\n this.parentData.submenu.focus(selectFirstItem);\r\n this.mysubmenu = this.parentData.submenu;\r\n }\r\n else {\r\n this.parentData.submenu.focus(false);\r\n }\r\n };\r\n SubmenuMenuActionViewItem.prototype.updateAriaExpanded = function (value) {\r\n var _a;\r\n if (this.item) {\r\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.setAttribute(\'aria-expanded\', value);\r\n }\r\n };\r\n SubmenuMenuActionViewItem.prototype.applyStyle = function () {\r\n _super.prototype.applyStyle.call(this);\r\n if (!this.menuStyle) {\r\n return;\r\n }\r\n var isSelected = this.element && Object(dom["H" /* hasClass */])(this.element, \'focused\');\r\n var fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\r\n if (this.submenuIndicator) {\r\n this.submenuIndicator.style.color = fgColor ? "" + fgColor : \'\';\r\n }\r\n if (this.parentData.submenu) {\r\n this.parentData.submenu.style(this.menuStyle);\r\n }\r\n };\r\n SubmenuMenuActionViewItem.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n this.hideScheduler.dispose();\r\n if (this.mysubmenu) {\r\n this.mysubmenu.dispose();\r\n this.mysubmenu = null;\r\n }\r\n if (this.submenuContainer) {\r\n this.submenuContainer = undefined;\r\n }\r\n };\r\n return SubmenuMenuActionViewItem;\r\n}(menu_BaseMenuActionViewItem));\r\nvar MenuSeparatorActionViewItem = /** @class */ (function (_super) {\r\n menu_extends(MenuSeparatorActionViewItem, _super);\r\n function MenuSeparatorActionViewItem() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MenuSeparatorActionViewItem.prototype.style = function (style) {\r\n if (this.label) {\r\n this.label.style.borderBottomColor = style.separatorColor ? "" + style.separatorColor : \'\';\r\n }\r\n };\r\n return MenuSeparatorActionViewItem;\r\n}(actionbar["b" /* ActionViewItem */]));\r\nfunction cleanMnemonic(label) {\r\n var regex = MENU_MNEMONIC_REGEX;\r\n var matches = regex.exec(label);\r\n if (!matches) {\r\n return label;\r\n }\r\n var mnemonicInText = !matches[1];\r\n return label.replace(regex, mnemonicInText ? \'$2$3\' : \'\').trim();\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/theme/common/styler.js\nvar styler = __webpack_require__("ptcw");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/event.js\nvar browser_event = __webpack_require__("4y0V");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\nvar mouseEvent = __webpack_require__("XSiN");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar contextMenuHandler_ContextMenuHandler = /** @class */ (function () {\r\n function ContextMenuHandler(contextViewService, telemetryService, notificationService, keybindingService, themeService) {\r\n this.contextViewService = contextViewService;\r\n this.telemetryService = telemetryService;\r\n this.notificationService = notificationService;\r\n this.keybindingService = keybindingService;\r\n this.themeService = themeService;\r\n this.focusToReturn = null;\r\n this.block = null;\r\n this.options = { blockMouse: true };\r\n }\r\n ContextMenuHandler.prototype.configure = function (options) {\r\n this.options = options;\r\n };\r\n ContextMenuHandler.prototype.showContextMenu = function (delegate) {\r\n var _this = this;\r\n var actions = delegate.getActions();\r\n if (!actions.length) {\r\n return; // Don\'t render an empty context menu\r\n }\r\n this.focusToReturn = document.activeElement;\r\n var menu;\r\n this.contextViewService.showContextView({\r\n getAnchor: function () { return delegate.getAnchor(); },\r\n canRelayout: false,\r\n anchorAlignment: delegate.anchorAlignment,\r\n render: function (container) {\r\n var className = delegate.getMenuClassName ? delegate.getMenuClassName() : \'\';\r\n if (className) {\r\n container.className += \' \' + className;\r\n }\r\n // Render invisible div to block mouse interaction in the rest of the UI\r\n if (_this.options.blockMouse) {\r\n _this.block = container.appendChild(Object(dom["a" /* $ */])(\'.context-view-block\'));\r\n }\r\n var menuDisposables = new lifecycle["b" /* DisposableStore */]();\r\n var actionRunner = delegate.actionRunner || new common_actions["b" /* ActionRunner */]();\r\n actionRunner.onDidBeforeRun(_this.onActionRun, _this, menuDisposables);\r\n actionRunner.onDidRun(_this.onDidActionRun, _this, menuDisposables);\r\n menu = new menu_Menu(container, actions, {\r\n actionViewItemProvider: delegate.getActionViewItem,\r\n context: delegate.getActionsContext ? delegate.getActionsContext() : null,\r\n actionRunner: actionRunner,\r\n getKeyBinding: delegate.getKeyBinding ? delegate.getKeyBinding : function (action) { return _this.keybindingService.lookupKeybinding(action.id); }\r\n });\r\n menuDisposables.add(Object(styler["c" /* attachMenuStyler */])(menu, _this.themeService));\r\n menu.onDidCancel(function () { return _this.contextViewService.hideContextView(true); }, null, menuDisposables);\r\n menu.onDidBlur(function () { return _this.contextViewService.hideContextView(true); }, null, menuDisposables);\r\n Object(browser_event["a" /* domEvent */])(window, dom["c" /* EventType */].BLUR)(function () { _this.contextViewService.hideContextView(true); }, null, menuDisposables);\r\n Object(browser_event["a" /* domEvent */])(window, dom["c" /* EventType */].MOUSE_DOWN)(function (e) {\r\n if (e.defaultPrevented) {\r\n return;\r\n }\r\n var event = new mouseEvent["a" /* StandardMouseEvent */](e);\r\n var element = event.target;\r\n // Don\'t do anything as we are likely creating a context menu\r\n if (event.rightButton) {\r\n return;\r\n }\r\n while (element) {\r\n if (element === container) {\r\n return;\r\n }\r\n element = element.parentElement;\r\n }\r\n _this.contextViewService.hideContextView(true);\r\n }, null, menuDisposables);\r\n return Object(lifecycle["e" /* combinedDisposable */])(menuDisposables, menu);\r\n },\r\n focus: function () {\r\n if (menu) {\r\n menu.focus(!!delegate.autoSelectFirstItem);\r\n }\r\n },\r\n onHide: function (didCancel) {\r\n if (delegate.onHide) {\r\n delegate.onHide(!!didCancel);\r\n }\r\n if (_this.block) {\r\n Object(dom["Q" /* removeNode */])(_this.block);\r\n _this.block = null;\r\n }\r\n if (_this.focusToReturn) {\r\n _this.focusToReturn.focus();\r\n }\r\n }\r\n });\r\n };\r\n ContextMenuHandler.prototype.onActionRun = function (e) {\r\n if (this.telemetryService) {\r\n this.telemetryService.publicLog2(\'workbenchActionExecuted\', { id: e.action.id, from: \'contextMenu\' });\r\n }\r\n this.contextViewService.hideContextView(false);\r\n // Restore focus here\r\n if (this.focusToReturn) {\r\n this.focusToReturn.focus();\r\n }\r\n };\r\n ContextMenuHandler.prototype.onDidActionRun = function (e) {\r\n if (e.error && this.notificationService) {\r\n this.notificationService.error(e.error);\r\n }\r\n };\r\n return ContextMenuHandler;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/telemetry/common/telemetry.js\nvar telemetry = __webpack_require__("XXUj");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar contextMenuService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 contextMenuService_decorate = (undefined && undefined.__decorate) || function (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\nvar contextMenuService_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar contextMenuService_ContextMenuService = /** @class */ (function (_super) {\r\n contextMenuService_extends(ContextMenuService, _super);\r\n function ContextMenuService(telemetryService, notificationService, contextViewService, keybindingService, themeService) {\r\n var _this = _super.call(this) || this;\r\n _this._onDidContextMenu = _this._register(new common_event["a" /* Emitter */]());\r\n _this.contextMenuHandler = new contextMenuHandler_ContextMenuHandler(contextViewService, telemetryService, notificationService, keybindingService, themeService);\r\n return _this;\r\n }\r\n ContextMenuService.prototype.configure = function (options) {\r\n this.contextMenuHandler.configure(options);\r\n };\r\n // ContextMenu\r\n ContextMenuService.prototype.showContextMenu = function (delegate) {\r\n this.contextMenuHandler.showContextMenu(delegate);\r\n this._onDidContextMenu.fire();\r\n };\r\n ContextMenuService = contextMenuService_decorate([\r\n contextMenuService_param(0, telemetry["a" /* ITelemetryService */]),\r\n contextMenuService_param(1, common_notification["a" /* INotificationService */]),\r\n contextMenuService_param(2, contextView["b" /* IContextViewService */]),\r\n contextMenuService_param(3, common_keybinding["a" /* IKeybindingService */]),\r\n contextMenuService_param(4, common_themeService["c" /* IThemeService */])\r\n ], ContextMenuService);\r\n return ContextMenuService;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css\nvar contextview = __webpack_require__("TT2d");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/range.js\nvar common_range = __webpack_require__("nuFA");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js\nvar canIUse = __webpack_require__("CjF5");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar contextview_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * Lays out a one dimensional view next to an anchor in a viewport.\r\n *\r\n * @returns The view offset within the viewport.\r\n */\r\nfunction layout(viewportSize, viewSize, anchor) {\r\n var anchorEnd = anchor.offset + anchor.size;\r\n if (anchor.position === 0 /* Before */) {\r\n if (viewSize <= viewportSize - anchorEnd) {\r\n return anchorEnd; // happy case, lay it out after the anchor\r\n }\r\n if (viewSize <= anchor.offset) {\r\n return anchor.offset - viewSize; // ok case, lay it out before the anchor\r\n }\r\n return Math.max(viewportSize - viewSize, 0); // sad case, lay it over the anchor\r\n }\r\n else {\r\n if (viewSize <= anchor.offset) {\r\n return anchor.offset - viewSize; // happy case, lay it out before the anchor\r\n }\r\n if (viewSize <= viewportSize - anchorEnd) {\r\n return anchorEnd; // ok case, lay it out after the anchor\r\n }\r\n return 0; // sad case, lay it over the anchor\r\n }\r\n}\r\nvar contextview_ContextView = /** @class */ (function (_super) {\r\n contextview_extends(ContextView, _super);\r\n function ContextView(container) {\r\n var _this = _super.call(this) || this;\r\n _this.container = null;\r\n _this.delegate = null;\r\n _this.toDisposeOnClean = lifecycle["a" /* Disposable */].None;\r\n _this.toDisposeOnSetContainer = lifecycle["a" /* Disposable */].None;\r\n _this.view = dom["a" /* $ */](\'.context-view\');\r\n dom["I" /* hide */](_this.view);\r\n _this.setContainer(container);\r\n _this._register(Object(lifecycle["h" /* toDisposable */])(function () { return _this.setContainer(null); }));\r\n return _this;\r\n }\r\n ContextView.prototype.setContainer = function (container) {\r\n var _this = this;\r\n if (this.container) {\r\n this.toDisposeOnSetContainer.dispose();\r\n this.container.removeChild(this.view);\r\n this.container = null;\r\n }\r\n if (container) {\r\n this.container = container;\r\n this.container.appendChild(this.view);\r\n var toDisposeOnSetContainer_1 = new lifecycle["b" /* DisposableStore */]();\r\n ContextView.BUBBLE_UP_EVENTS.forEach(function (event) {\r\n toDisposeOnSetContainer_1.add(dom["n" /* addStandardDisposableListener */](_this.container, event, function (e) {\r\n _this.onDOMEvent(e, false);\r\n }));\r\n });\r\n ContextView.BUBBLE_DOWN_EVENTS.forEach(function (event) {\r\n toDisposeOnSetContainer_1.add(dom["n" /* addStandardDisposableListener */](_this.container, event, function (e) {\r\n _this.onDOMEvent(e, true);\r\n }, true));\r\n });\r\n this.toDisposeOnSetContainer = toDisposeOnSetContainer_1;\r\n }\r\n };\r\n ContextView.prototype.show = function (delegate) {\r\n if (this.isVisible()) {\r\n this.hide();\r\n }\r\n // Show static box\r\n dom["s" /* clearNode */](this.view);\r\n this.view.className = \'context-view\';\r\n this.view.style.top = \'0px\';\r\n this.view.style.left = \'0px\';\r\n dom["W" /* show */](this.view);\r\n // Render content\r\n this.toDisposeOnClean = delegate.render(this.view) || lifecycle["a" /* Disposable */].None;\r\n // Set active delegate\r\n this.delegate = delegate;\r\n // Layout\r\n this.doLayout();\r\n // Focus\r\n if (this.delegate.focus) {\r\n this.delegate.focus();\r\n }\r\n };\r\n ContextView.prototype.layout = function () {\r\n if (!this.isVisible()) {\r\n return;\r\n }\r\n if (this.delegate.canRelayout === false && !(platform["c" /* isIOS */] && canIUse["a" /* BrowserFeatures */].pointerEvents)) {\r\n this.hide();\r\n return;\r\n }\r\n if (this.delegate.layout) {\r\n this.delegate.layout();\r\n }\r\n this.doLayout();\r\n };\r\n ContextView.prototype.doLayout = function () {\r\n // Check that we still have a delegate - this.delegate.layout may have hidden\r\n if (!this.isVisible()) {\r\n return;\r\n }\r\n // Get anchor\r\n var anchor = this.delegate.getAnchor();\r\n // Compute around\r\n var around;\r\n // Get the element\'s position and size (to anchor the view)\r\n if (dom["K" /* isHTMLElement */](anchor)) {\r\n var elementPosition = dom["B" /* getDomNodePagePosition */](anchor);\r\n around = {\r\n top: elementPosition.top,\r\n left: elementPosition.left,\r\n width: elementPosition.width,\r\n height: elementPosition.height\r\n };\r\n }\r\n else {\r\n around = {\r\n top: anchor.y,\r\n left: anchor.x,\r\n width: anchor.width || 1,\r\n height: anchor.height || 2\r\n };\r\n }\r\n var viewSizeWidth = dom["G" /* getTotalWidth */](this.view);\r\n var viewSizeHeight = dom["F" /* getTotalHeight */](this.view);\r\n var anchorPosition = this.delegate.anchorPosition || 0 /* BELOW */;\r\n var anchorAlignment = this.delegate.anchorAlignment || 0 /* LEFT */;\r\n var verticalAnchor = { offset: around.top - window.pageYOffset, size: around.height, position: anchorPosition === 0 /* BELOW */ ? 0 /* Before */ : 1 /* After */ };\r\n var horizontalAnchor;\r\n if (anchorAlignment === 0 /* LEFT */) {\r\n horizontalAnchor = { offset: around.left, size: 0, position: 0 /* Before */ };\r\n }\r\n else {\r\n horizontalAnchor = { offset: around.left + around.width, size: 0, position: 1 /* After */ };\r\n }\r\n var top = layout(window.innerHeight, viewSizeHeight, verticalAnchor) + window.pageYOffset;\r\n // if view intersects vertically with anchor, shift it horizontally\r\n if (common_range["a" /* Range */].intersects({ start: top, end: top + viewSizeHeight }, { start: verticalAnchor.offset, end: verticalAnchor.offset + verticalAnchor.size })) {\r\n horizontalAnchor.size = around.width;\r\n if (anchorAlignment === 1 /* RIGHT */) {\r\n horizontalAnchor.offset = around.left;\r\n }\r\n }\r\n var left = layout(window.innerWidth, viewSizeWidth, horizontalAnchor);\r\n dom["P" /* removeClasses */](this.view, \'top\', \'bottom\', \'left\', \'right\');\r\n dom["e" /* addClass */](this.view, anchorPosition === 0 /* BELOW */ ? \'bottom\' : \'top\');\r\n dom["e" /* addClass */](this.view, anchorAlignment === 0 /* LEFT */ ? \'left\' : \'right\');\r\n var containerPosition = dom["B" /* getDomNodePagePosition */](this.container);\r\n this.view.style.top = top - containerPosition.top + "px";\r\n this.view.style.left = left - containerPosition.left + "px";\r\n this.view.style.width = \'initial\';\r\n };\r\n ContextView.prototype.hide = function (data) {\r\n var delegate = this.delegate;\r\n this.delegate = null;\r\n if (delegate === null || delegate === void 0 ? void 0 : delegate.onHide) {\r\n delegate.onHide(data);\r\n }\r\n this.toDisposeOnClean.dispose();\r\n dom["I" /* hide */](this.view);\r\n };\r\n ContextView.prototype.isVisible = function () {\r\n return !!this.delegate;\r\n };\r\n ContextView.prototype.onDOMEvent = function (e, onCapture) {\r\n if (this.delegate) {\r\n if (this.delegate.onDOMEvent) {\r\n this.delegate.onDOMEvent(e, document.activeElement);\r\n }\r\n else if (onCapture && !dom["J" /* isAncestor */](e.target, this.container)) {\r\n this.hide();\r\n }\r\n }\r\n };\r\n ContextView.prototype.dispose = function () {\r\n this.hide();\r\n _super.prototype.dispose.call(this);\r\n };\r\n ContextView.BUBBLE_UP_EVENTS = [\'click\', \'keydown\', \'focus\', \'blur\'];\r\n ContextView.BUBBLE_DOWN_EVENTS = [\'click\'];\r\n return ContextView;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/layout/browser/layoutService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar ILayoutService = Object(instantiation["c" /* createDecorator */])(\'layoutService\');\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextViewService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar contextViewService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 contextViewService_decorate = (undefined && undefined.__decorate) || function (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\nvar contextViewService_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\nvar contextViewService_ContextViewService = /** @class */ (function (_super) {\r\n contextViewService_extends(ContextViewService, _super);\r\n function ContextViewService(layoutService) {\r\n var _this = _super.call(this) || this;\r\n _this.layoutService = layoutService;\r\n _this.contextView = _this._register(new contextview_ContextView(layoutService.container));\r\n _this.layout();\r\n _this._register(layoutService.onLayout(function () { return _this.layout(); }));\r\n return _this;\r\n }\r\n // ContextView\r\n ContextViewService.prototype.setContainer = function (container) {\r\n this.contextView.setContainer(container);\r\n };\r\n ContextViewService.prototype.showContextView = function (delegate) {\r\n this.contextView.show(delegate);\r\n };\r\n ContextViewService.prototype.layout = function () {\r\n this.contextView.layout();\r\n };\r\n ContextViewService.prototype.hideContextView = function (data) {\r\n this.contextView.hide(data);\r\n };\r\n ContextViewService = contextViewService_decorate([\r\n contextViewService_param(0, ILayoutService)\r\n ], ContextViewService);\r\n return ContextViewService;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/dialogs/common/dialogs.js\n\r\nvar IDialogService = Object(instantiation["c" /* createDecorator */])(\'dialogService\');\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/collections.js\nvar collections = __webpack_require__("vl9R");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/graph.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nfunction newNode(data) {\r\n return {\r\n data: data,\r\n incoming: Object.create(null),\r\n outgoing: Object.create(null)\r\n };\r\n}\r\nvar graph_Graph = /** @class */ (function () {\r\n function Graph(_hashFn) {\r\n this._hashFn = _hashFn;\r\n this._nodes = Object.create(null);\r\n // empty\r\n }\r\n Graph.prototype.roots = function () {\r\n var ret = [];\r\n Object(collections["b" /* forEach */])(this._nodes, function (entry) {\r\n if (Object(types["f" /* isEmptyObject */])(entry.value.outgoing)) {\r\n ret.push(entry.value);\r\n }\r\n });\r\n return ret;\r\n };\r\n Graph.prototype.insertEdge = function (from, to) {\r\n var fromNode = this.lookupOrInsertNode(from), toNode = this.lookupOrInsertNode(to);\r\n fromNode.outgoing[this._hashFn(to)] = toNode;\r\n toNode.incoming[this._hashFn(from)] = fromNode;\r\n };\r\n Graph.prototype.removeNode = function (data) {\r\n var key = this._hashFn(data);\r\n delete this._nodes[key];\r\n Object(collections["b" /* forEach */])(this._nodes, function (entry) {\r\n delete entry.value.outgoing[key];\r\n delete entry.value.incoming[key];\r\n });\r\n };\r\n Graph.prototype.lookupOrInsertNode = function (data) {\r\n var key = this._hashFn(data);\r\n var node = this._nodes[key];\r\n if (!node) {\r\n node = newNode(data);\r\n this._nodes[key] = node;\r\n }\r\n return node;\r\n };\r\n Graph.prototype.isEmpty = function () {\r\n for (var _key in this._nodes) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n Graph.prototype.toString = function () {\r\n var data = [];\r\n Object(collections["b" /* forEach */])(this._nodes, function (entry) {\r\n data.push(entry.key + ", (incoming)[" + Object.keys(entry.value.incoming).join(\', \') + "], (outgoing)[" + Object.keys(entry.value.outgoing).join(\',\') + "]");\r\n });\r\n return data.join(\'\\n\');\r\n };\r\n return Graph;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/descriptors.js\nvar descriptors = __webpack_require__("r0BQ");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiationService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar instantiationService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 instantiationService_spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\n// TRACING\r\nvar _enableTracing = false;\r\nvar _canUseProxy = typeof Proxy === \'function\';\r\nvar CyclicDependencyError = /** @class */ (function (_super) {\r\n instantiationService_extends(CyclicDependencyError, _super);\r\n function CyclicDependencyError(graph) {\r\n var _this = _super.call(this, \'cyclic dependency between services\') || this;\r\n _this.message = graph.toString();\r\n return _this;\r\n }\r\n return CyclicDependencyError;\r\n}(Error));\r\nvar instantiationService_InstantiationService = /** @class */ (function () {\r\n function InstantiationService(services, strict, parent) {\r\n if (services === void 0) { services = new serviceCollection["a" /* ServiceCollection */](); }\r\n if (strict === void 0) { strict = false; }\r\n this._services = services;\r\n this._strict = strict;\r\n this._parent = parent;\r\n this._services.set(instantiation["a" /* IInstantiationService */], this);\r\n }\r\n InstantiationService.prototype.createChild = function (services) {\r\n return new InstantiationService(services, this._strict, this);\r\n };\r\n InstantiationService.prototype.invokeFunction = function (fn) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var _trace = Trace.traceInvocation(fn);\r\n var _done = false;\r\n try {\r\n var accessor = {\r\n get: function (id, isOptional) {\r\n if (_done) {\r\n throw Object(errors["c" /* illegalState */])(\'service accessor is only valid during the invocation of its target method\');\r\n }\r\n var result = _this._getOrCreateServiceInstance(id, _trace);\r\n if (!result && isOptional !== instantiation["d" /* optional */]) {\r\n throw new Error("[invokeFunction] unknown service \'" + id + "\'");\r\n }\r\n return result;\r\n }\r\n };\r\n return fn.apply(undefined, instantiationService_spreadArrays([accessor], args));\r\n }\r\n finally {\r\n _done = true;\r\n _trace.stop();\r\n }\r\n };\r\n InstantiationService.prototype.createInstance = function (ctorOrDescriptor) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n var _trace;\r\n var result;\r\n if (ctorOrDescriptor instanceof descriptors["a" /* SyncDescriptor */]) {\r\n _trace = Trace.traceCreation(ctorOrDescriptor.ctor);\r\n result = this._createInstance(ctorOrDescriptor.ctor, ctorOrDescriptor.staticArguments.concat(rest), _trace);\r\n }\r\n else {\r\n _trace = Trace.traceCreation(ctorOrDescriptor);\r\n result = this._createInstance(ctorOrDescriptor, rest, _trace);\r\n }\r\n _trace.stop();\r\n return result;\r\n };\r\n InstantiationService.prototype._createInstance = function (ctor, args, _trace) {\r\n if (args === void 0) { args = []; }\r\n // arguments defined by service decorators\r\n var serviceDependencies = instantiation["b" /* _util */].getServiceDependencies(ctor).sort(function (a, b) { return a.index - b.index; });\r\n var serviceArgs = [];\r\n for (var _i = 0, serviceDependencies_1 = serviceDependencies; _i < serviceDependencies_1.length; _i++) {\r\n var dependency = serviceDependencies_1[_i];\r\n var service = this._getOrCreateServiceInstance(dependency.id, _trace);\r\n if (!service && this._strict && !dependency.optional) {\r\n throw new Error("[createInstance] " + ctor.name + " depends on UNKNOWN service " + dependency.id + ".");\r\n }\r\n serviceArgs.push(service);\r\n }\r\n var firstServiceArgPos = serviceDependencies.length > 0 ? serviceDependencies[0].index : args.length;\r\n // check for argument mismatches, adjust static args if needed\r\n if (args.length !== firstServiceArgPos) {\r\n console.warn("[createInstance] First service dependency of " + ctor.name + " at position " + (firstServiceArgPos + 1) + " conflicts with " + args.length + " static arguments");\r\n var delta = firstServiceArgPos - args.length;\r\n if (delta > 0) {\r\n args = args.concat(new Array(delta));\r\n }\r\n else {\r\n args = args.slice(0, firstServiceArgPos);\r\n }\r\n }\r\n // now create the instance\r\n return new (ctor.bind.apply(ctor, instantiationService_spreadArrays([void 0], instantiationService_spreadArrays(args, serviceArgs))))();\r\n };\r\n InstantiationService.prototype._setServiceInstance = function (id, instance) {\r\n if (this._services.get(id) instanceof descriptors["a" /* SyncDescriptor */]) {\r\n this._services.set(id, instance);\r\n }\r\n else if (this._parent) {\r\n this._parent._setServiceInstance(id, instance);\r\n }\r\n else {\r\n throw new Error(\'illegalState - setting UNKNOWN service instance\');\r\n }\r\n };\r\n InstantiationService.prototype._getServiceInstanceOrDescriptor = function (id) {\r\n var instanceOrDesc = this._services.get(id);\r\n if (!instanceOrDesc && this._parent) {\r\n return this._parent._getServiceInstanceOrDescriptor(id);\r\n }\r\n else {\r\n return instanceOrDesc;\r\n }\r\n };\r\n InstantiationService.prototype._getOrCreateServiceInstance = function (id, _trace) {\r\n var thing = this._getServiceInstanceOrDescriptor(id);\r\n if (thing instanceof descriptors["a" /* SyncDescriptor */]) {\r\n return this._createAndCacheServiceInstance(id, thing, _trace.branch(id, true));\r\n }\r\n else {\r\n _trace.branch(id, false);\r\n return thing;\r\n }\r\n };\r\n InstantiationService.prototype._createAndCacheServiceInstance = function (id, desc, _trace) {\r\n var graph = new graph_Graph(function (data) { return data.id.toString(); });\r\n var cycleCount = 0;\r\n var stack = [{ id: id, desc: desc, _trace: _trace }];\r\n while (stack.length) {\r\n var item = stack.pop();\r\n graph.lookupOrInsertNode(item);\r\n // a weak but working heuristic for cycle checks\r\n if (cycleCount++ > 150) {\r\n throw new CyclicDependencyError(graph);\r\n }\r\n // check all dependencies for existence and if they need to be created first\r\n for (var _i = 0, _a = instantiation["b" /* _util */].getServiceDependencies(item.desc.ctor); _i < _a.length; _i++) {\r\n var dependency = _a[_i];\r\n var instanceOrDesc = this._getServiceInstanceOrDescriptor(dependency.id);\r\n if (!instanceOrDesc && !dependency.optional) {\r\n console.warn("[createInstance] " + id + " depends on " + dependency.id + " which is NOT registered.");\r\n }\r\n if (instanceOrDesc instanceof descriptors["a" /* SyncDescriptor */]) {\r\n var d = { id: dependency.id, desc: instanceOrDesc, _trace: item._trace.branch(dependency.id, true) };\r\n graph.insertEdge(item, d);\r\n stack.push(d);\r\n }\r\n }\r\n }\r\n while (true) {\r\n var roots = graph.roots();\r\n // if there is no more roots but still\r\n // nodes in the graph we have a cycle\r\n if (roots.length === 0) {\r\n if (!graph.isEmpty()) {\r\n throw new CyclicDependencyError(graph);\r\n }\r\n break;\r\n }\r\n for (var _b = 0, roots_1 = roots; _b < roots_1.length; _b++) {\r\n var data = roots_1[_b].data;\r\n // create instance and overwrite the service collections\r\n var instance = this._createServiceInstanceWithOwner(data.id, data.desc.ctor, data.desc.staticArguments, data.desc.supportsDelayedInstantiation, data._trace);\r\n this._setServiceInstance(data.id, instance);\r\n graph.removeNode(data);\r\n }\r\n }\r\n return this._getServiceInstanceOrDescriptor(id);\r\n };\r\n InstantiationService.prototype._createServiceInstanceWithOwner = function (id, ctor, args, supportsDelayedInstantiation, _trace) {\r\n if (args === void 0) { args = []; }\r\n if (this._services.get(id) instanceof descriptors["a" /* SyncDescriptor */]) {\r\n return this._createServiceInstance(ctor, args, supportsDelayedInstantiation, _trace);\r\n }\r\n else if (this._parent) {\r\n return this._parent._createServiceInstanceWithOwner(id, ctor, args, supportsDelayedInstantiation, _trace);\r\n }\r\n else {\r\n throw new Error("illegalState - creating UNKNOWN service instance " + ctor.name);\r\n }\r\n };\r\n InstantiationService.prototype._createServiceInstance = function (ctor, args, _supportsDelayedInstantiation, _trace) {\r\n var _this = this;\r\n if (args === void 0) { args = []; }\r\n if (!_supportsDelayedInstantiation || !_canUseProxy) {\r\n // eager instantiation or no support JS proxies (e.g. IE11)\r\n return this._createInstance(ctor, args, _trace);\r\n }\r\n else {\r\n // Return a proxy object that\'s backed by an idle value. That\r\n // strategy is to instantiate services in our idle time or when actually\r\n // needed but not when injected into a consumer\r\n var idle_1 = new common_async["b" /* IdleValue */](function () { return _this._createInstance(ctor, args, _trace); });\r\n return new Proxy(Object.create(null), {\r\n get: function (target, key) {\r\n if (key in target) {\r\n return target[key];\r\n }\r\n var obj = idle_1.getValue();\r\n var prop = obj[key];\r\n if (typeof prop !== \'function\') {\r\n return prop;\r\n }\r\n prop = prop.bind(obj);\r\n target[key] = prop;\r\n return prop;\r\n },\r\n set: function (_target, p, value) {\r\n idle_1.getValue()[p] = value;\r\n return true;\r\n }\r\n });\r\n }\r\n };\r\n return InstantiationService;\r\n}());\r\n\r\nvar Trace = /** @class */ (function () {\r\n function Trace(type, name) {\r\n this.type = type;\r\n this.name = name;\r\n this._start = Date.now();\r\n this._dep = [];\r\n }\r\n Trace.traceInvocation = function (ctor) {\r\n return !_enableTracing ? Trace._None : new Trace(1 /* Invocation */, ctor.name || ctor.toString().substring(0, 42).replace(/\\n/g, \'\'));\r\n };\r\n Trace.traceCreation = function (ctor) {\r\n return !_enableTracing ? Trace._None : new Trace(0 /* Creation */, ctor.name);\r\n };\r\n Trace.prototype.branch = function (id, first) {\r\n var child = new Trace(2 /* Branch */, id.toString());\r\n this._dep.push([id, first, child]);\r\n return child;\r\n };\r\n Trace.prototype.stop = function () {\r\n var dur = Date.now() - this._start;\r\n Trace._totals += dur;\r\n var causedCreation = false;\r\n function printChild(n, trace) {\r\n var res = [];\r\n var prefix = new Array(n + 1).join(\'\\t\');\r\n for (var _i = 0, _a = trace._dep; _i < _a.length; _i++) {\r\n var _b = _a[_i], id = _b[0], first = _b[1], child = _b[2];\r\n if (first && child) {\r\n causedCreation = true;\r\n res.push(prefix + "CREATES -> " + id);\r\n var nested = printChild(n + 1, child);\r\n if (nested) {\r\n res.push(nested);\r\n }\r\n }\r\n else {\r\n res.push(prefix + "uses -> " + id);\r\n }\r\n }\r\n return res.join(\'\\n\');\r\n }\r\n var lines = [\r\n (this.type === 0 /* Creation */ ? \'CREATE\' : \'CALL\') + " " + this.name,\r\n "" + printChild(1, this),\r\n "DONE, took " + dur.toFixed(2) + "ms (grand total " + Trace._totals.toFixed(2) + "ms)"\r\n ];\r\n if (dur > 2 || causedCreation) {\r\n console.log(lines.join(\'\\n\'));\r\n }\r\n };\r\n Trace._None = new /** @class */ (function (_super) {\r\n instantiationService_extends(class_1, _super);\r\n function class_1() {\r\n return _super.call(this, -1, null) || this;\r\n }\r\n class_1.prototype.stop = function () { };\r\n class_1.prototype.branch = function () { return this; };\r\n return class_1;\r\n }(Trace));\r\n Trace._totals = 0;\r\n return Trace;\r\n}());\r\n//#endregion\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/label/common/label.js\nvar common_label = __webpack_require__("R8sh");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/list/browser/listService.js + 9 modules\nvar listService = __webpack_require__("k9mg");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/markers/common/markers.js\nvar common_markers = __webpack_require__("tADe");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/markers/common/markerService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\nvar markerService_MapMap;\r\n(function (MapMap) {\r\n function get(map, key1, key2) {\r\n if (map[key1]) {\r\n return map[key1][key2];\r\n }\r\n return undefined;\r\n }\r\n MapMap.get = get;\r\n function set(map, key1, key2, value) {\r\n if (!map[key1]) {\r\n map[key1] = Object.create(null);\r\n }\r\n map[key1][key2] = value;\r\n }\r\n MapMap.set = set;\r\n function remove(map, key1, key2) {\r\n if (map[key1] && map[key1][key2]) {\r\n delete map[key1][key2];\r\n if (Object(types["f" /* isEmptyObject */])(map[key1])) {\r\n delete map[key1];\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n MapMap.remove = remove;\r\n})(markerService_MapMap || (markerService_MapMap = {}));\r\nvar markerService_MarkerStats = /** @class */ (function () {\r\n function MarkerStats(service) {\r\n this.errors = 0;\r\n this.infos = 0;\r\n this.warnings = 0;\r\n this.unknowns = 0;\r\n this._data = Object.create(null);\r\n this._service = service;\r\n this._subscription = service.onMarkerChanged(this._update, this);\r\n }\r\n MarkerStats.prototype.dispose = function () {\r\n this._subscription.dispose();\r\n this._data = undefined;\r\n };\r\n MarkerStats.prototype._update = function (resources) {\r\n if (!this._data) {\r\n return;\r\n }\r\n for (var _i = 0, resources_1 = resources; _i < resources_1.length; _i++) {\r\n var resource = resources_1[_i];\r\n var key = resource.toString();\r\n var oldStats = this._data[key];\r\n if (oldStats) {\r\n this._substract(oldStats);\r\n }\r\n var newStats = this._resourceStats(resource);\r\n this._add(newStats);\r\n this._data[key] = newStats;\r\n }\r\n };\r\n MarkerStats.prototype._resourceStats = function (resource) {\r\n var result = { errors: 0, warnings: 0, infos: 0, unknowns: 0 };\r\n // TODO this is a hack\r\n if (resource.scheme === network["b" /* Schemas */].inMemory || resource.scheme === network["b" /* Schemas */].walkThrough || resource.scheme === network["b" /* Schemas */].walkThroughSnippet) {\r\n return result;\r\n }\r\n for (var _i = 0, _a = this._service.read({ resource: resource }); _i < _a.length; _i++) {\r\n var severity = _a[_i].severity;\r\n if (severity === common_markers["c" /* MarkerSeverity */].Error) {\r\n result.errors += 1;\r\n }\r\n else if (severity === common_markers["c" /* MarkerSeverity */].Warning) {\r\n result.warnings += 1;\r\n }\r\n else if (severity === common_markers["c" /* MarkerSeverity */].Info) {\r\n result.infos += 1;\r\n }\r\n else {\r\n result.unknowns += 1;\r\n }\r\n }\r\n return result;\r\n };\r\n MarkerStats.prototype._substract = function (op) {\r\n this.errors -= op.errors;\r\n this.warnings -= op.warnings;\r\n this.infos -= op.infos;\r\n this.unknowns -= op.unknowns;\r\n };\r\n MarkerStats.prototype._add = function (op) {\r\n this.errors += op.errors;\r\n this.warnings += op.warnings;\r\n this.infos += op.infos;\r\n this.unknowns += op.unknowns;\r\n };\r\n return MarkerStats;\r\n}());\r\nvar markerService_MarkerService = /** @class */ (function () {\r\n function MarkerService() {\r\n this._onMarkerChanged = new common_event["a" /* Emitter */]();\r\n this._onMarkerChangedEvent = common_event["b" /* Event */].debounce(this._onMarkerChanged.event, MarkerService._debouncer, 0);\r\n this._byResource = Object.create(null);\r\n this._byOwner = Object.create(null);\r\n this._stats = new markerService_MarkerStats(this);\r\n }\r\n MarkerService.prototype.dispose = function () {\r\n this._stats.dispose();\r\n };\r\n Object.defineProperty(MarkerService.prototype, "onMarkerChanged", {\r\n get: function () {\r\n return this._onMarkerChangedEvent;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n MarkerService.prototype.remove = function (owner, resources) {\r\n for (var _i = 0, _a = resources || []; _i < _a.length; _i++) {\r\n var resource = _a[_i];\r\n this.changeOne(owner, resource, []);\r\n }\r\n };\r\n MarkerService.prototype.changeOne = function (owner, resource, markerData) {\r\n if (Object(arrays["p" /* isFalsyOrEmpty */])(markerData)) {\r\n // remove marker for this (owner,resource)-tuple\r\n var a = markerService_MapMap.remove(this._byResource, resource.toString(), owner);\r\n var b = markerService_MapMap.remove(this._byOwner, owner, resource.toString());\r\n if (a !== b) {\r\n throw new Error(\'invalid marker service state\');\r\n }\r\n if (a && b) {\r\n this._onMarkerChanged.fire([resource]);\r\n }\r\n }\r\n else {\r\n // insert marker for this (owner,resource)-tuple\r\n var markers = [];\r\n for (var _i = 0, markerData_1 = markerData; _i < markerData_1.length; _i++) {\r\n var data = markerData_1[_i];\r\n var marker = MarkerService._toMarker(owner, resource, data);\r\n if (marker) {\r\n markers.push(marker);\r\n }\r\n }\r\n markerService_MapMap.set(this._byResource, resource.toString(), owner, markers);\r\n markerService_MapMap.set(this._byOwner, owner, resource.toString(), markers);\r\n this._onMarkerChanged.fire([resource]);\r\n }\r\n };\r\n MarkerService._toMarker = function (owner, resource, data) {\r\n var code = data.code, severity = data.severity, message = data.message, source = data.source, startLineNumber = data.startLineNumber, startColumn = data.startColumn, endLineNumber = data.endLineNumber, endColumn = data.endColumn, relatedInformation = data.relatedInformation, tags = data.tags;\r\n if (!message) {\r\n return undefined;\r\n }\r\n // santize data\r\n startLineNumber = startLineNumber > 0 ? startLineNumber : 1;\r\n startColumn = startColumn > 0 ? startColumn : 1;\r\n endLineNumber = endLineNumber >= startLineNumber ? endLineNumber : startLineNumber;\r\n endColumn = endColumn > 0 ? endColumn : startColumn;\r\n return {\r\n resource: resource,\r\n owner: owner,\r\n code: code,\r\n severity: severity,\r\n message: message,\r\n source: source,\r\n startLineNumber: startLineNumber,\r\n startColumn: startColumn,\r\n endLineNumber: endLineNumber,\r\n endColumn: endColumn,\r\n relatedInformation: relatedInformation,\r\n tags: tags,\r\n };\r\n };\r\n MarkerService.prototype.read = function (filter) {\r\n if (filter === void 0) { filter = Object.create(null); }\r\n var owner = filter.owner, resource = filter.resource, severities = filter.severities, take = filter.take;\r\n if (!take || take < 0) {\r\n take = -1;\r\n }\r\n if (owner && resource) {\r\n // exactly one owner AND resource\r\n var data = markerService_MapMap.get(this._byResource, resource.toString(), owner);\r\n if (!data) {\r\n return [];\r\n }\r\n else {\r\n var result = [];\r\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\r\n var marker = data_1[_i];\r\n if (MarkerService._accept(marker, severities)) {\r\n var newLen = result.push(marker);\r\n if (take > 0 && newLen === take) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n else if (!owner && !resource) {\r\n // all\r\n var result = [];\r\n for (var key1 in this._byResource) {\r\n for (var key2 in this._byResource[key1]) {\r\n for (var _a = 0, _b = this._byResource[key1][key2]; _a < _b.length; _a++) {\r\n var data = _b[_a];\r\n if (MarkerService._accept(data, severities)) {\r\n var newLen = result.push(data);\r\n if (take > 0 && newLen === take) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n else {\r\n // of one resource OR owner\r\n var map = owner\r\n ? this._byOwner[owner]\r\n : resource ? this._byResource[resource.toString()] : undefined;\r\n if (!map) {\r\n return [];\r\n }\r\n var result = [];\r\n for (var key in map) {\r\n for (var _c = 0, _d = map[key]; _c < _d.length; _c++) {\r\n var data = _d[_c];\r\n if (MarkerService._accept(data, severities)) {\r\n var newLen = result.push(data);\r\n if (take > 0 && newLen === take) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n };\r\n MarkerService._accept = function (marker, severities) {\r\n return severities === undefined || (severities & marker.severity) === marker.severity;\r\n };\r\n MarkerService._debouncer = function (last, event) {\r\n if (!last) {\r\n MarkerService._dedupeMap = Object.create(null);\r\n last = [];\r\n }\r\n for (var _i = 0, event_1 = event; _i < event_1.length; _i++) {\r\n var uri = event_1[_i];\r\n if (MarkerService._dedupeMap[uri.toString()] === undefined) {\r\n MarkerService._dedupeMap[uri.toString()] = true;\r\n last.push(uri);\r\n }\r\n }\r\n return last;\r\n };\r\n return MarkerService;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/storage/common/storage.js\nvar storage = __webpack_require__("A+jI");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/actions/common/menuService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar menuService_decorate = (undefined && undefined.__decorate) || function (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\nvar menuService_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar menuService_MenuService = /** @class */ (function () {\r\n function MenuService(_commandService) {\r\n this._commandService = _commandService;\r\n //\r\n }\r\n MenuService.prototype.createMenu = function (id, contextKeyService) {\r\n return new menuService_Menu(id, this._commandService, contextKeyService);\r\n };\r\n MenuService = menuService_decorate([\r\n menuService_param(0, commands["b" /* ICommandService */])\r\n ], MenuService);\r\n return MenuService;\r\n}());\r\n\r\nvar menuService_Menu = /** @class */ (function () {\r\n function Menu(_id, _commandService, _contextKeyService) {\r\n var _this = this;\r\n this._id = _id;\r\n this._commandService = _commandService;\r\n this._contextKeyService = _contextKeyService;\r\n this._onDidChange = new common_event["a" /* Emitter */]();\r\n this._dispoables = new lifecycle["b" /* DisposableStore */]();\r\n this._menuGroups = [];\r\n this._contextKeys = new Set();\r\n this._build();\r\n // rebuild this menu whenever the menu registry reports an\r\n // event for this MenuId\r\n this._dispoables.add(common_event["b" /* Event */].debounce(common_event["b" /* Event */].filter(actions_common_actions["c" /* MenuRegistry */].onDidChangeMenu, function (menuId) { return menuId === _this._id; }), function () { }, 50)(this._build, this));\r\n // when context keys change we need to check if the menu also\r\n // has changed\r\n this._dispoables.add(common_event["b" /* Event */].debounce(this._contextKeyService.onDidChangeContext, function (last, event) { return last || event.affectsSome(_this._contextKeys); }, 50)(function (e) { return e && _this._onDidChange.fire(undefined); }, this));\r\n }\r\n Menu.prototype.dispose = function () {\r\n this._dispoables.dispose();\r\n this._onDidChange.dispose();\r\n };\r\n Menu.prototype._build = function () {\r\n // reset\r\n this._menuGroups.length = 0;\r\n this._contextKeys.clear();\r\n var menuItems = actions_common_actions["c" /* MenuRegistry */].getMenuItems(this._id);\r\n var group;\r\n menuItems.sort(Menu._compareMenuItems);\r\n for (var _i = 0, menuItems_1 = menuItems; _i < menuItems_1.length; _i++) {\r\n var item = menuItems_1[_i];\r\n // group by groupId\r\n var groupName = item.group || \'\';\r\n if (!group || group[0] !== groupName) {\r\n group = [groupName, []];\r\n this._menuGroups.push(group);\r\n }\r\n group[1].push(item);\r\n // keep keys for eventing\r\n Menu._fillInKbExprKeys(item.when, this._contextKeys);\r\n // keep precondition keys for event if applicable\r\n if (Object(actions_common_actions["e" /* isIMenuItem */])(item) && item.command.precondition) {\r\n Menu._fillInKbExprKeys(item.command.precondition, this._contextKeys);\r\n }\r\n // keep toggled keys for event if applicable\r\n if (Object(actions_common_actions["e" /* isIMenuItem */])(item) && item.command.toggled) {\r\n Menu._fillInKbExprKeys(item.command.toggled, this._contextKeys);\r\n }\r\n }\r\n this._onDidChange.fire(this);\r\n };\r\n Menu.prototype.getActions = function (options) {\r\n var result = [];\r\n for (var _i = 0, _a = this._menuGroups; _i < _a.length; _i++) {\r\n var group = _a[_i];\r\n var id = group[0], items = group[1];\r\n var activeActions = [];\r\n for (var _b = 0, items_1 = items; _b < items_1.length; _b++) {\r\n var item = items_1[_b];\r\n if (this._contextKeyService.contextMatchesRules(item.when)) {\r\n var action = Object(actions_common_actions["e" /* isIMenuItem */])(item)\r\n ? new actions_common_actions["b" /* MenuItemAction */](item.command, item.alt, options, this._contextKeyService, this._commandService)\r\n : new actions_common_actions["d" /* SubmenuItemAction */](item);\r\n activeActions.push(action);\r\n }\r\n }\r\n if (activeActions.length > 0) {\r\n result.push([id, activeActions]);\r\n }\r\n }\r\n return result;\r\n };\r\n Menu._fillInKbExprKeys = function (exp, set) {\r\n if (exp) {\r\n for (var _i = 0, _a = exp.keys(); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n set.add(key);\r\n }\r\n }\r\n };\r\n Menu._compareMenuItems = function (a, b) {\r\n var aGroup = a.group;\r\n var bGroup = b.group;\r\n if (aGroup !== bGroup) {\r\n // Falsy groups come last\r\n if (!aGroup) {\r\n return 1;\r\n }\r\n else if (!bGroup) {\r\n return -1;\r\n }\r\n // \'navigation\' group comes first\r\n if (aGroup === \'navigation\') {\r\n return -1;\r\n }\r\n else if (bGroup === \'navigation\') {\r\n return 1;\r\n }\r\n // lexical sort for groups\r\n var value = aGroup.localeCompare(bGroup);\r\n if (value !== 0) {\r\n return value;\r\n }\r\n }\r\n // sort on priority - default is 0\r\n var aPrio = a.order || 0;\r\n var bPrio = b.order || 0;\r\n if (aPrio < bPrio) {\r\n return -1;\r\n }\r\n else if (aPrio > bPrio) {\r\n return 1;\r\n }\r\n // sort on titles\r\n return Menu._compareTitles(Object(actions_common_actions["e" /* isIMenuItem */])(a) ? a.command.title : a.title, Object(actions_common_actions["e" /* isIMenuItem */])(b) ? b.command.title : b.title);\r\n };\r\n Menu._compareTitles = function (a, b) {\r\n var aStr = typeof a === \'string\' ? a : a.value;\r\n var bStr = typeof b === \'string\' ? b : b.value;\r\n return aStr.localeCompare(bStr);\r\n };\r\n Menu = menuService_decorate([\r\n menuService_param(1, commands["b" /* ICommandService */]),\r\n menuService_param(2, contextkey["c" /* IContextKeyService */])\r\n ], Menu);\r\n return Menu;\r\n}());\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/markersDecorationService.js\nvar markersDecorationService = __webpack_require__("79sc");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/markerDecorationsServiceImpl.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar markerDecorationsServiceImpl_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 markerDecorationsServiceImpl_decorate = (undefined && undefined.__decorate) || function (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\nvar markerDecorationsServiceImpl_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction markerDecorationsServiceImpl_MODEL_ID(resource) {\r\n return resource.toString();\r\n}\r\nvar markerDecorationsServiceImpl_MarkerDecorations = /** @class */ (function (_super) {\r\n markerDecorationsServiceImpl_extends(MarkerDecorations, _super);\r\n function MarkerDecorations(model) {\r\n var _this = _super.call(this) || this;\r\n _this.model = model;\r\n _this._markersData = new Map();\r\n _this._register(Object(lifecycle["h" /* toDisposable */])(function () {\r\n _this.model.deltaDecorations(Object(common_map["d" /* keys */])(_this._markersData), []);\r\n _this._markersData.clear();\r\n }));\r\n return _this;\r\n }\r\n MarkerDecorations.prototype.update = function (markers, newDecorations) {\r\n var oldIds = Object(common_map["d" /* keys */])(this._markersData);\r\n this._markersData.clear();\r\n var ids = this.model.deltaDecorations(oldIds, newDecorations);\r\n for (var index = 0; index < ids.length; index++) {\r\n this._markersData.set(ids[index], markers[index]);\r\n }\r\n };\r\n MarkerDecorations.prototype.getMarker = function (decoration) {\r\n return this._markersData.get(decoration.id);\r\n };\r\n return MarkerDecorations;\r\n}(lifecycle["a" /* Disposable */]));\r\nvar markerDecorationsServiceImpl_MarkerDecorationsService = /** @class */ (function (_super) {\r\n markerDecorationsServiceImpl_extends(MarkerDecorationsService, _super);\r\n function MarkerDecorationsService(modelService, _markerService) {\r\n var _this = _super.call(this) || this;\r\n _this._markerService = _markerService;\r\n _this._onDidChangeMarker = _this._register(new common_event["a" /* Emitter */]());\r\n _this._markerDecorations = new Map();\r\n modelService.getModels().forEach(function (model) { return _this._onModelAdded(model); });\r\n _this._register(modelService.onModelAdded(_this._onModelAdded, _this));\r\n _this._register(modelService.onModelRemoved(_this._onModelRemoved, _this));\r\n _this._register(_this._markerService.onMarkerChanged(_this._handleMarkerChange, _this));\r\n return _this;\r\n }\r\n MarkerDecorationsService.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n this._markerDecorations.forEach(function (value) { return value.dispose(); });\r\n this._markerDecorations.clear();\r\n };\r\n MarkerDecorationsService.prototype.getMarker = function (model, decoration) {\r\n var markerDecorations = this._markerDecorations.get(markerDecorationsServiceImpl_MODEL_ID(model.uri));\r\n return markerDecorations ? Object(types["o" /* withUndefinedAsNull */])(markerDecorations.getMarker(decoration)) : null;\r\n };\r\n MarkerDecorationsService.prototype._handleMarkerChange = function (changedResources) {\r\n var _this = this;\r\n changedResources.forEach(function (resource) {\r\n var markerDecorations = _this._markerDecorations.get(markerDecorationsServiceImpl_MODEL_ID(resource));\r\n if (markerDecorations) {\r\n _this._updateDecorations(markerDecorations);\r\n }\r\n });\r\n };\r\n MarkerDecorationsService.prototype._onModelAdded = function (model) {\r\n var markerDecorations = new markerDecorationsServiceImpl_MarkerDecorations(model);\r\n this._markerDecorations.set(markerDecorationsServiceImpl_MODEL_ID(model.uri), markerDecorations);\r\n this._updateDecorations(markerDecorations);\r\n };\r\n MarkerDecorationsService.prototype._onModelRemoved = function (model) {\r\n var _this = this;\r\n var markerDecorations = this._markerDecorations.get(markerDecorationsServiceImpl_MODEL_ID(model.uri));\r\n if (markerDecorations) {\r\n markerDecorations.dispose();\r\n this._markerDecorations.delete(markerDecorationsServiceImpl_MODEL_ID(model.uri));\r\n }\r\n // clean up markers for internal, transient models\r\n if (model.uri.scheme === network["b" /* Schemas */].inMemory\r\n || model.uri.scheme === network["b" /* Schemas */].internal\r\n || model.uri.scheme === network["b" /* Schemas */].vscode) {\r\n if (this._markerService) {\r\n this._markerService.read({ resource: model.uri }).map(function (marker) { return marker.owner; }).forEach(function (owner) { return _this._markerService.remove(owner, [model.uri]); });\r\n }\r\n }\r\n };\r\n MarkerDecorationsService.prototype._updateDecorations = function (markerDecorations) {\r\n var _this = this;\r\n // Limit to the first 500 errors/warnings\r\n var markers = this._markerService.read({ resource: markerDecorations.model.uri, take: 500 });\r\n var newModelDecorations = markers.map(function (marker) {\r\n return {\r\n range: _this._createDecorationRange(markerDecorations.model, marker),\r\n options: _this._createDecorationOption(marker)\r\n };\r\n });\r\n markerDecorations.update(markers, newModelDecorations);\r\n this._onDidChangeMarker.fire(markerDecorations.model);\r\n };\r\n MarkerDecorationsService.prototype._createDecorationRange = function (model, rawMarker) {\r\n var ret = core_range["a" /* Range */].lift(rawMarker);\r\n if (rawMarker.severity === common_markers["c" /* MarkerSeverity */].Hint && !this._hasMarkerTag(rawMarker, 1 /* Unnecessary */) && !this._hasMarkerTag(rawMarker, 2 /* Deprecated */)) {\r\n // * never render hints on multiple lines\r\n // * make enough space for three dots\r\n ret = ret.setEndPosition(ret.startLineNumber, ret.startColumn + 2);\r\n }\r\n ret = model.validateRange(ret);\r\n if (ret.isEmpty()) {\r\n var word = model.getWordAtPosition(ret.getStartPosition());\r\n if (word) {\r\n ret = new core_range["a" /* Range */](ret.startLineNumber, word.startColumn, ret.endLineNumber, word.endColumn);\r\n }\r\n else {\r\n var maxColumn = model.getLineLastNonWhitespaceColumn(ret.startLineNumber) ||\r\n model.getLineMaxColumn(ret.startLineNumber);\r\n if (maxColumn === 1) {\r\n // empty line\r\n // console.warn(\'marker on empty line:\', marker);\r\n }\r\n else if (ret.endColumn >= maxColumn) {\r\n // behind eol\r\n ret = new core_range["a" /* Range */](ret.startLineNumber, maxColumn - 1, ret.endLineNumber, maxColumn);\r\n }\r\n else {\r\n // extend marker to width = 1\r\n ret = new core_range["a" /* Range */](ret.startLineNumber, ret.startColumn, ret.endLineNumber, ret.endColumn + 1);\r\n }\r\n }\r\n }\r\n else if (rawMarker.endColumn === Number.MAX_VALUE && rawMarker.startColumn === 1 && ret.startLineNumber === ret.endLineNumber) {\r\n var minColumn = model.getLineFirstNonWhitespaceColumn(rawMarker.startLineNumber);\r\n if (minColumn < ret.endColumn) {\r\n ret = new core_range["a" /* Range */](ret.startLineNumber, minColumn, ret.endLineNumber, ret.endColumn);\r\n rawMarker.startColumn = minColumn;\r\n }\r\n }\r\n return ret;\r\n };\r\n MarkerDecorationsService.prototype._createDecorationOption = function (marker) {\r\n var className;\r\n var color = undefined;\r\n var zIndex;\r\n var inlineClassName = undefined;\r\n var minimap;\r\n switch (marker.severity) {\r\n case common_markers["c" /* MarkerSeverity */].Hint:\r\n if (this._hasMarkerTag(marker, 2 /* Deprecated */)) {\r\n className = undefined;\r\n }\r\n else if (this._hasMarkerTag(marker, 1 /* Unnecessary */)) {\r\n className = "squiggly-unnecessary" /* EditorUnnecessaryDecoration */;\r\n }\r\n else {\r\n className = "squiggly-hint" /* EditorHintDecoration */;\r\n }\r\n zIndex = 0;\r\n break;\r\n case common_markers["c" /* MarkerSeverity */].Warning:\r\n className = "squiggly-warning" /* EditorWarningDecoration */;\r\n color = Object(common_themeService["f" /* themeColorFromId */])(editorColorRegistry["q" /* overviewRulerWarning */]);\r\n zIndex = 20;\r\n minimap = {\r\n color: Object(common_themeService["f" /* themeColorFromId */])(colorRegistry["Ib" /* minimapWarning */]),\r\n position: common_model["c" /* MinimapPosition */].Inline\r\n };\r\n break;\r\n case common_markers["c" /* MarkerSeverity */].Info:\r\n className = "squiggly-info" /* EditorInfoDecoration */;\r\n color = Object(common_themeService["f" /* themeColorFromId */])(editorColorRegistry["p" /* overviewRulerInfo */]);\r\n zIndex = 10;\r\n break;\r\n case common_markers["c" /* MarkerSeverity */].Error:\r\n default:\r\n className = "squiggly-error" /* EditorErrorDecoration */;\r\n color = Object(common_themeService["f" /* themeColorFromId */])(editorColorRegistry["o" /* overviewRulerError */]);\r\n zIndex = 30;\r\n minimap = {\r\n color: Object(common_themeService["f" /* themeColorFromId */])(colorRegistry["Fb" /* minimapError */]),\r\n position: common_model["c" /* MinimapPosition */].Inline\r\n };\r\n break;\r\n }\r\n if (marker.tags) {\r\n if (marker.tags.indexOf(1 /* Unnecessary */) !== -1) {\r\n inlineClassName = "squiggly-inline-unnecessary" /* EditorUnnecessaryInlineDecoration */;\r\n }\r\n if (marker.tags.indexOf(2 /* Deprecated */) !== -1) {\r\n inlineClassName = "squiggly-inline-deprecated" /* EditorDeprecatedInlineDecoration */;\r\n }\r\n }\r\n return {\r\n stickiness: 1 /* NeverGrowsWhenTypingAtEdges */,\r\n className: className,\r\n showIfCollapsed: true,\r\n overviewRuler: {\r\n color: color,\r\n position: common_model["d" /* OverviewRulerLane */].Right\r\n },\r\n minimap: minimap,\r\n zIndex: zIndex,\r\n inlineClassName: inlineClassName,\r\n };\r\n };\r\n MarkerDecorationsService.prototype._hasMarkerTag = function (marker, tag) {\r\n if (marker.tags) {\r\n return marker.tags.indexOf(tag) >= 0;\r\n }\r\n return false;\r\n };\r\n MarkerDecorationsService = markerDecorationsServiceImpl_decorate([\r\n markerDecorationsServiceImpl_param(0, services_modelService["a" /* IModelService */]),\r\n markerDecorationsServiceImpl_param(1, common_markers["b" /* IMarkerService */])\r\n ], MarkerDecorationsService);\r\n return MarkerDecorationsService;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/extensions.js\nvar extensions = __webpack_require__("9fML");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/platform/accessibility/common/accessibilityService.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar accessibilityService_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 accessibilityService_decorate = (undefined && undefined.__decorate) || function (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\nvar accessibilityService_param = (undefined && undefined.__param) || function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar accessibilityService_AccessibilityService = /** @class */ (function (_super) {\r\n accessibilityService_extends(AccessibilityService, _super);\r\n function AccessibilityService(_contextKeyService, _configurationService) {\r\n var _this = _super.call(this) || this;\r\n _this._contextKeyService = _contextKeyService;\r\n _this._configurationService = _configurationService;\r\n _this._accessibilitySupport = 0 /* Unknown */;\r\n _this._onDidChangeScreenReaderOptimized = new common_event["a" /* Emitter */]();\r\n _this._accessibilityModeEnabledContext = accessibility["a" /* CONTEXT_ACCESSIBILITY_MODE_ENABLED */].bindTo(_this._contextKeyService);\r\n var updateContextKey = function () { return _this._accessibilityModeEnabledContext.set(_this.isScreenReaderOptimized()); };\r\n _this._register(_this._configurationService.onDidChangeConfiguration(function (e) {\r\n if (e.affectsConfiguration(\'editor.accessibilitySupport\')) {\r\n updateContextKey();\r\n _this._onDidChangeScreenReaderOptimized.fire();\r\n }\r\n }));\r\n updateContextKey();\r\n _this.onDidChangeScreenReaderOptimized(function () { return updateContextKey(); });\r\n return _this;\r\n }\r\n Object.defineProperty(AccessibilityService.prototype, "onDidChangeScreenReaderOptimized", {\r\n get: function () {\r\n return this._onDidChangeScreenReaderOptimized.event;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n AccessibilityService.prototype.isScreenReaderOptimized = function () {\r\n var config = this._configurationService.getValue(\'editor.accessibilitySupport\');\r\n return config === \'on\' || (config === \'auto\' && this._accessibilitySupport === 2 /* Enabled */);\r\n };\r\n AccessibilityService.prototype.getAccessibilitySupport = function () {\r\n return this._accessibilitySupport;\r\n };\r\n AccessibilityService = accessibilityService_decorate([\r\n accessibilityService_param(0, contextkey["c" /* IContextKeyService */]),\r\n accessibilityService_param(1, common_configuration["a" /* IConfigurationService */])\r\n ], AccessibilityService);\r\n return AccessibilityService;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar standaloneServices_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar standaloneServices_StaticServices;\r\n(function (StaticServices) {\r\n var _serviceCollection = new serviceCollection["a" /* ServiceCollection */]();\r\n var LazyStaticService = /** @class */ (function () {\r\n function LazyStaticService(serviceId, factory) {\r\n this._serviceId = serviceId;\r\n this._factory = factory;\r\n this._value = null;\r\n }\r\n Object.defineProperty(LazyStaticService.prototype, "id", {\r\n get: function () { return this._serviceId; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n LazyStaticService.prototype.get = function (overrides) {\r\n if (!this._value) {\r\n if (overrides) {\r\n this._value = overrides[this._serviceId.toString()];\r\n }\r\n if (!this._value) {\r\n this._value = this._factory(overrides);\r\n }\r\n if (!this._value) {\r\n throw new Error(\'Service \' + this._serviceId + \' is missing!\');\r\n }\r\n _serviceCollection.set(this._serviceId, this._value);\r\n }\r\n return this._value;\r\n };\r\n return LazyStaticService;\r\n }());\r\n StaticServices.LazyStaticService = LazyStaticService;\r\n var _all = [];\r\n function define(serviceId, factory) {\r\n var r = new LazyStaticService(serviceId, factory);\r\n _all.push(r);\r\n return r;\r\n }\r\n function init(overrides) {\r\n // Create a fresh service collection\r\n var result = new serviceCollection["a" /* ServiceCollection */]();\r\n // make sure to add all services that use `registerSingleton`\r\n for (var _i = 0, _a = Object(extensions["a" /* getSingletonServiceDescriptors */])(); _i < _a.length; _i++) {\r\n var _b = _a[_i], id = _b[0], descriptor = _b[1];\r\n result.set(id, descriptor);\r\n }\r\n // Initialize the service collection with the overrides\r\n for (var serviceId in overrides) {\r\n if (overrides.hasOwnProperty(serviceId)) {\r\n result.set(Object(instantiation["c" /* createDecorator */])(serviceId), overrides[serviceId]);\r\n }\r\n }\r\n // Make sure the same static services are present in all service collections\r\n _all.forEach(function (service) { return result.set(service.id, service.get(overrides)); });\r\n // Ensure the collection gets the correct instantiation service\r\n var instantiationService = new instantiationService_InstantiationService(result, true);\r\n result.set(instantiation["a" /* IInstantiationService */], instantiationService);\r\n return [result, instantiationService];\r\n }\r\n StaticServices.init = init;\r\n StaticServices.instantiationService = define(instantiation["a" /* IInstantiationService */], function () { return new instantiationService_InstantiationService(_serviceCollection, true); });\r\n var configurationServiceImpl = new simpleServices_SimpleConfigurationService();\r\n StaticServices.configurationService = define(common_configuration["a" /* IConfigurationService */], function () { return configurationServiceImpl; });\r\n StaticServices.resourceConfigurationService = define(ITextResourceConfigurationService, function () { return new simpleServices_SimpleResourceConfigurationService(configurationServiceImpl); });\r\n StaticServices.resourcePropertiesService = define(ITextResourcePropertiesService, function () { return new simpleServices_SimpleResourcePropertiesService(configurationServiceImpl); });\r\n StaticServices.contextService = define(common_workspace["a" /* IWorkspaceContextService */], function () { return new simpleServices_SimpleWorkspaceContextService(); });\r\n StaticServices.labelService = define(common_label["a" /* ILabelService */], function () { return new SimpleUriLabelService(); });\r\n StaticServices.telemetryService = define(telemetry["a" /* ITelemetryService */], function () { return new StandaloneTelemetryService(); });\r\n StaticServices.dialogService = define(IDialogService, function () { return new SimpleDialogService(); });\r\n StaticServices.notificationService = define(common_notification["a" /* INotificationService */], function () { return new simpleServices_SimpleNotificationService(); });\r\n StaticServices.markerService = define(common_markers["b" /* IMarkerService */], function () { return new markerService_MarkerService(); });\r\n StaticServices.modeService = define(services_modeService["a" /* IModeService */], function (o) { return new modeServiceImpl_ModeServiceImpl(); });\r\n StaticServices.standaloneThemeService = define(IStandaloneThemeService, function () { return new standaloneThemeServiceImpl_StandaloneThemeServiceImpl(); });\r\n StaticServices.logService = define(log["a" /* ILogService */], function () { return new log["c" /* NullLogService */](); });\r\n StaticServices.modelService = define(services_modelService["a" /* IModelService */], function (o) { return new modelServiceImpl_ModelServiceImpl(StaticServices.configurationService.get(o), StaticServices.resourcePropertiesService.get(o), StaticServices.standaloneThemeService.get(o), StaticServices.logService.get(o)); });\r\n StaticServices.markerDecorationsService = define(markersDecorationService["a" /* IMarkerDecorationsService */], function (o) { return new markerDecorationsServiceImpl_MarkerDecorationsService(StaticServices.modelService.get(o), StaticServices.markerService.get(o)); });\r\n StaticServices.codeEditorService = define(services_codeEditorService["a" /* ICodeEditorService */], function (o) { return new standaloneCodeServiceImpl_StandaloneCodeEditorServiceImpl(StaticServices.standaloneThemeService.get(o)); });\r\n StaticServices.editorProgressService = define(progress["a" /* IEditorProgressService */], function () { return new SimpleEditorProgressService(); });\r\n StaticServices.storageService = define(storage["a" /* IStorageService */], function () { return new storage["b" /* InMemoryStorageService */](); });\r\n StaticServices.editorWorkerService = define(services_editorWorkerService["a" /* IEditorWorkerService */], function (o) { return new editorWorkerServiceImpl_EditorWorkerServiceImpl(StaticServices.modelService.get(o), StaticServices.resourceConfigurationService.get(o), StaticServices.logService.get(o)); });\r\n})(standaloneServices_StaticServices || (standaloneServices_StaticServices = {}));\r\nvar standaloneServices_DynamicStandaloneServices = /** @class */ (function (_super) {\r\n standaloneServices_extends(DynamicStandaloneServices, _super);\r\n function DynamicStandaloneServices(domElement, overrides) {\r\n var _this = _super.call(this) || this;\r\n var _a = standaloneServices_StaticServices.init(overrides), _serviceCollection = _a[0], _instantiationService = _a[1];\r\n _this._serviceCollection = _serviceCollection;\r\n _this._instantiationService = _instantiationService;\r\n var configurationService = _this.get(common_configuration["a" /* IConfigurationService */]);\r\n var notificationService = _this.get(common_notification["a" /* INotificationService */]);\r\n var telemetryService = _this.get(telemetry["a" /* ITelemetryService */]);\r\n var themeService = _this.get(common_themeService["c" /* IThemeService */]);\r\n var ensure = function (serviceId, factory) {\r\n var value = null;\r\n if (overrides) {\r\n value = overrides[serviceId.toString()];\r\n }\r\n if (!value) {\r\n value = factory();\r\n }\r\n _this._serviceCollection.set(serviceId, value);\r\n return value;\r\n };\r\n var contextKeyService = ensure(contextkey["c" /* IContextKeyService */], function () { return _this._register(new contextKeyService_ContextKeyService(configurationService)); });\r\n ensure(accessibility["b" /* IAccessibilityService */], function () { return new accessibilityService_AccessibilityService(contextKeyService, configurationService); });\r\n ensure(listService["a" /* IListService */], function () { return new listService["b" /* ListService */](themeService); });\r\n var commandService = ensure(commands["b" /* ICommandService */], function () { return new simpleServices_StandaloneCommandService(_this._instantiationService); });\r\n var keybindingService = ensure(common_keybinding["a" /* IKeybindingService */], function () { return _this._register(new simpleServices_StandaloneKeybindingService(contextKeyService, commandService, telemetryService, notificationService, domElement)); });\r\n var layoutService = ensure(ILayoutService, function () { return new simpleServices_SimpleLayoutService(domElement); });\r\n var contextViewService = ensure(contextView["b" /* IContextViewService */], function () { return _this._register(new contextViewService_ContextViewService(layoutService)); });\r\n ensure(contextView["a" /* IContextMenuService */], function () {\r\n var contextMenuService = new contextMenuService_ContextMenuService(telemetryService, notificationService, contextViewService, keybindingService, themeService);\r\n contextMenuService.configure({ blockMouse: false }); // we do not want that in the standalone editor\r\n return _this._register(contextMenuService);\r\n });\r\n ensure(actions_common_actions["a" /* IMenuService */], function () { return new menuService_MenuService(commandService); });\r\n ensure(bulkEditService["a" /* IBulkEditService */], function () { return new simpleServices_SimpleBulkEditService(standaloneServices_StaticServices.modelService.get(services_modelService["a" /* IModelService */])); });\r\n return _this;\r\n }\r\n DynamicStandaloneServices.prototype.get = function (serviceId) {\r\n var r = this._serviceCollection.get(serviceId);\r\n if (!r) {\r\n throw new Error(\'Missing service \' + serviceId);\r\n }\r\n return r;\r\n };\r\n DynamicStandaloneServices.prototype.set = function (serviceId, instance) {\r\n this._serviceCollection.set(serviceId, instance);\r\n };\r\n DynamicStandaloneServices.prototype.has = function (serviceId) {\r\n return this._serviceCollection.has(serviceId);\r\n };\r\n return DynamicStandaloneServices;\r\n}(lifecycle["a" /* Disposable */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneEditor.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction withAllStandaloneServices(domElement, override, callback) {\r\n var services = new standaloneServices_DynamicStandaloneServices(domElement, override);\r\n var simpleEditorModelResolverService = null;\r\n if (!services.has(resolverService["a" /* ITextModelService */])) {\r\n simpleEditorModelResolverService = new simpleServices_SimpleEditorModelResolverService(standaloneServices_StaticServices.modelService.get());\r\n services.set(resolverService["a" /* ITextModelService */], simpleEditorModelResolverService);\r\n }\r\n if (!services.has(common_opener["a" /* IOpenerService */])) {\r\n services.set(common_opener["a" /* IOpenerService */], new openerService_OpenerService(services.get(services_codeEditorService["a" /* ICodeEditorService */]), services.get(commands["b" /* ICommandService */])));\r\n }\r\n var result = callback(services);\r\n if (simpleEditorModelResolverService) {\r\n simpleEditorModelResolverService.setEditor(result);\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new editor under `domElement`.\r\n * `domElement` should be empty (not contain other dom nodes).\r\n * The editor will read the size of `domElement`.\r\n */\r\nfunction standaloneEditor_create(domElement, options, override) {\r\n return withAllStandaloneServices(domElement, override || {}, function (services) {\r\n return new standaloneCodeEditor_StandaloneEditor(domElement, options, services, services.get(instantiation["a" /* IInstantiationService */]), services.get(services_codeEditorService["a" /* ICodeEditorService */]), services.get(commands["b" /* ICommandService */]), services.get(contextkey["c" /* IContextKeyService */]), services.get(common_keybinding["a" /* IKeybindingService */]), services.get(contextView["b" /* IContextViewService */]), services.get(IStandaloneThemeService), services.get(common_notification["a" /* INotificationService */]), services.get(common_configuration["a" /* IConfigurationService */]), services.get(accessibility["b" /* IAccessibilityService */]));\r\n });\r\n}\r\n/**\r\n * Emitted when an editor is created.\r\n * Creating a diff editor might cause this listener to be invoked with the two editors.\r\n * @event\r\n */\r\nfunction onDidCreateEditor(listener) {\r\n return standaloneServices_StaticServices.codeEditorService.get().onCodeEditorAdd(function (editor) {\r\n listener(editor);\r\n });\r\n}\r\n/**\r\n * Create a new diff editor under `domElement`.\r\n * `domElement` should be empty (not contain other dom nodes).\r\n * The editor will read the size of `domElement`.\r\n */\r\nfunction createDiffEditor(domElement, options, override) {\r\n return withAllStandaloneServices(domElement, override || {}, function (services) {\r\n return new standaloneCodeEditor_StandaloneDiffEditor(domElement, options, services, services.get(instantiation["a" /* IInstantiationService */]), services.get(contextkey["c" /* IContextKeyService */]), services.get(common_keybinding["a" /* IKeybindingService */]), services.get(contextView["b" /* IContextViewService */]), services.get(services_editorWorkerService["a" /* IEditorWorkerService */]), services.get(services_codeEditorService["a" /* ICodeEditorService */]), services.get(IStandaloneThemeService), services.get(common_notification["a" /* INotificationService */]), services.get(common_configuration["a" /* IConfigurationService */]), services.get(contextView["a" /* IContextMenuService */]), services.get(progress["a" /* IEditorProgressService */]), null);\r\n });\r\n}\r\nfunction createDiffNavigator(diffEditor, opts) {\r\n return new diffNavigator_DiffNavigator(diffEditor, opts);\r\n}\r\nfunction doCreateModel(value, languageSelection, uri) {\r\n return standaloneServices_StaticServices.modelService.get().createModel(value, languageSelection, uri);\r\n}\r\n/**\r\n * Create a new editor model.\r\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\r\n */\r\nfunction createModel(value, language, uri) {\r\n value = value || \'\';\r\n if (!language) {\r\n var firstLF = value.indexOf(\'\\n\');\r\n var firstLine = value;\r\n if (firstLF !== -1) {\r\n firstLine = value.substring(0, firstLF);\r\n }\r\n return doCreateModel(value, standaloneServices_StaticServices.modeService.get().createByFilepathOrFirstLine(uri || null, firstLine), uri);\r\n }\r\n return doCreateModel(value, standaloneServices_StaticServices.modeService.get().create(language), uri);\r\n}\r\n/**\r\n * Change the language for a model.\r\n */\r\nfunction setModelLanguage(model, languageId) {\r\n standaloneServices_StaticServices.modelService.get().setMode(model, standaloneServices_StaticServices.modeService.get().create(languageId));\r\n}\r\n/**\r\n * Set the markers for a model.\r\n */\r\nfunction setModelMarkers(model, owner, markers) {\r\n if (model) {\r\n standaloneServices_StaticServices.markerService.get().changeOne(owner, model.uri, markers);\r\n }\r\n}\r\n/**\r\n * Get markers for owner and/or resource\r\n *\r\n * @returns list of markers\r\n */\r\nfunction getModelMarkers(filter) {\r\n return standaloneServices_StaticServices.markerService.get().read(filter);\r\n}\r\n/**\r\n * Get the model that has `uri` if it exists.\r\n */\r\nfunction getModel(uri) {\r\n return standaloneServices_StaticServices.modelService.get().getModel(uri);\r\n}\r\n/**\r\n * Get all the created models.\r\n */\r\nfunction getModels() {\r\n return standaloneServices_StaticServices.modelService.get().getModels();\r\n}\r\n/**\r\n * Emitted when a model is created.\r\n * @event\r\n */\r\nfunction onDidCreateModel(listener) {\r\n return standaloneServices_StaticServices.modelService.get().onModelAdded(listener);\r\n}\r\n/**\r\n * Emitted right before a model is disposed.\r\n * @event\r\n */\r\nfunction onWillDisposeModel(listener) {\r\n return standaloneServices_StaticServices.modelService.get().onModelRemoved(listener);\r\n}\r\n/**\r\n * Emitted when a different language is set to a model.\r\n * @event\r\n */\r\nfunction onDidChangeModelLanguage(listener) {\r\n return standaloneServices_StaticServices.modelService.get().onModelModeChanged(function (e) {\r\n listener({\r\n model: e.model,\r\n oldLanguage: e.oldModeId\r\n });\r\n });\r\n}\r\n/**\r\n * Create a new web worker that has model syncing capabilities built in.\r\n * Specify an AMD module to load that will `create` an object that will be proxied.\r\n */\r\nfunction standaloneEditor_createWebWorker(opts) {\r\n return createWebWorker(standaloneServices_StaticServices.modelService.get(), opts);\r\n}\r\n/**\r\n * Colorize the contents of `domNode` using attribute `data-lang`.\r\n */\r\nfunction colorizeElement(domNode, options) {\r\n return colorizer_Colorizer.colorizeElement(standaloneServices_StaticServices.standaloneThemeService.get(), standaloneServices_StaticServices.modeService.get(), domNode, options);\r\n}\r\n/**\r\n * Colorize `text` using language `languageId`.\r\n */\r\nfunction colorize(text, languageId, options) {\r\n return colorizer_Colorizer.colorize(standaloneServices_StaticServices.modeService.get(), text, languageId, options);\r\n}\r\n/**\r\n * Colorize a line in a model.\r\n */\r\nfunction colorizeModelLine(model, lineNumber, tabSize) {\r\n if (tabSize === void 0) { tabSize = 4; }\r\n return colorizer_Colorizer.colorizeModelLine(model, lineNumber, tabSize);\r\n}\r\n/**\r\n * @internal\r\n */\r\nfunction getSafeTokenizationSupport(language) {\r\n var tokenizationSupport = modes["y" /* TokenizationRegistry */].get(language);\r\n if (tokenizationSupport) {\r\n return tokenizationSupport;\r\n }\r\n return {\r\n getInitialState: function () { return nullMode["c" /* NULL_STATE */]; },\r\n tokenize: function (line, state, deltaOffset) { return Object(nullMode["d" /* nullTokenize */])(language, line, state, deltaOffset); }\r\n };\r\n}\r\n/**\r\n * Tokenize `text` using language `languageId`\r\n */\r\nfunction tokenize(text, languageId) {\r\n var modeService = standaloneServices_StaticServices.modeService.get();\r\n // Needed in order to get the mode registered for subsequent look-ups\r\n modeService.triggerMode(languageId);\r\n var tokenizationSupport = getSafeTokenizationSupport(languageId);\r\n var lines = text.split(/\\r\\n|\\r|\\n/);\r\n var result = [];\r\n var state = tokenizationSupport.getInitialState();\r\n for (var i = 0, len = lines.length; i < len; i++) {\r\n var line = lines[i];\r\n var tokenizationResult = tokenizationSupport.tokenize(line, state, 0);\r\n result[i] = tokenizationResult.tokens;\r\n state = tokenizationResult.endState;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Define a new theme or update an existing theme.\r\n */\r\nfunction defineTheme(themeName, themeData) {\r\n standaloneServices_StaticServices.standaloneThemeService.get().defineTheme(themeName, themeData);\r\n}\r\n/**\r\n * Switches to a theme.\r\n */\r\nfunction setTheme(themeName) {\r\n standaloneServices_StaticServices.standaloneThemeService.get().setTheme(themeName);\r\n}\r\n/**\r\n * Clears all cached font measurements and triggers re-measurement.\r\n */\r\nfunction remeasureFonts() {\r\n Object(config_configuration["b" /* clearAllFontInfos */])();\r\n}\r\n/**\r\n * @internal\r\n */\r\nfunction createMonacoEditorAPI() {\r\n return {\r\n // methods\r\n create: standaloneEditor_create,\r\n onDidCreateEditor: onDidCreateEditor,\r\n createDiffEditor: createDiffEditor,\r\n createDiffNavigator: createDiffNavigator,\r\n createModel: createModel,\r\n setModelLanguage: setModelLanguage,\r\n setModelMarkers: setModelMarkers,\r\n getModelMarkers: getModelMarkers,\r\n getModels: getModels,\r\n getModel: getModel,\r\n onDidCreateModel: onDidCreateModel,\r\n onWillDisposeModel: onWillDisposeModel,\r\n onDidChangeModelLanguage: onDidChangeModelLanguage,\r\n createWebWorker: standaloneEditor_createWebWorker,\r\n colorizeElement: colorizeElement,\r\n colorize: colorize,\r\n colorizeModelLine: colorizeModelLine,\r\n tokenize: tokenize,\r\n defineTheme: defineTheme,\r\n setTheme: setTheme,\r\n remeasureFonts: remeasureFonts,\r\n // enums\r\n AccessibilitySupport: AccessibilitySupport,\r\n ContentWidgetPositionPreference: ContentWidgetPositionPreference,\r\n CursorChangeReason: CursorChangeReason,\r\n DefaultEndOfLine: DefaultEndOfLine,\r\n EditorAutoIndentStrategy: EditorAutoIndentStrategy,\r\n EditorOption: EditorOption,\r\n EndOfLinePreference: EndOfLinePreference,\r\n EndOfLineSequence: EndOfLineSequence,\r\n MinimapPosition: MinimapPosition,\r\n MouseTargetType: MouseTargetType,\r\n OverlayWidgetPositionPreference: OverlayWidgetPositionPreference,\r\n OverviewRulerLane: OverviewRulerLane,\r\n RenderLineNumbersType: RenderLineNumbersType,\r\n RenderMinimap: RenderMinimap,\r\n ScrollbarVisibility: ScrollbarVisibility,\r\n ScrollType: ScrollType,\r\n TextEditorCursorBlinkingStyle: TextEditorCursorBlinkingStyle,\r\n TextEditorCursorStyle: TextEditorCursorStyle,\r\n TrackedRangeStickiness: TrackedRangeStickiness,\r\n WrappingIndent: WrappingIndent,\r\n // classes\r\n ConfigurationChangedEvent: editorOptions["a" /* ConfigurationChangedEvent */],\r\n BareFontInfo: config_fontInfo["a" /* BareFontInfo */],\r\n FontInfo: config_fontInfo["b" /* FontInfo */],\r\n TextModelResolvedOptions: common_model["e" /* TextModelResolvedOptions */],\r\n FindMatch: common_model["b" /* FindMatch */],\r\n // vars\r\n EditorType: editorCommon["a" /* EditorType */],\r\n EditorOptions: editorOptions["e" /* EditorOptions */]\r\n };\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchCompile.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/*\r\n * This module only exports \'compile\' which compiles a JSON language definition\r\n * into a typed and checked ILexer definition.\r\n */\r\n\r\n/*\r\n * Type helpers\r\n *\r\n * Note: this is just for sanity checks on the JSON description which is\r\n * helpful for the programmer. No checks are done anymore once the lexer is\r\n * already \'compiled and checked\'.\r\n *\r\n */\r\nfunction isArrayOf(elemType, obj) {\r\n if (!obj) {\r\n return false;\r\n }\r\n if (!(Array.isArray(obj))) {\r\n return false;\r\n }\r\n for (var _i = 0, obj_1 = obj; _i < obj_1.length; _i++) {\r\n var el = obj_1[_i];\r\n if (!(elemType(el))) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction bool(prop, defValue) {\r\n if (typeof prop === \'boolean\') {\r\n return prop;\r\n }\r\n return defValue;\r\n}\r\nfunction string(prop, defValue) {\r\n if (typeof (prop) === \'string\') {\r\n return prop;\r\n }\r\n return defValue;\r\n}\r\nfunction arrayToHash(array) {\r\n var result = {};\r\n for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\r\n var e = array_1[_i];\r\n result[e] = true;\r\n }\r\n return result;\r\n}\r\nfunction createKeywordMatcher(arr, caseInsensitive) {\r\n if (caseInsensitive === void 0) { caseInsensitive = false; }\r\n if (caseInsensitive) {\r\n arr = arr.map(function (x) { return x.toLowerCase(); });\r\n }\r\n var hash = arrayToHash(arr);\r\n if (caseInsensitive) {\r\n return function (word) {\r\n return hash[word.toLowerCase()] !== undefined && hash.hasOwnProperty(word.toLowerCase());\r\n };\r\n }\r\n else {\r\n return function (word) {\r\n return hash[word] !== undefined && hash.hasOwnProperty(word);\r\n };\r\n }\r\n}\r\n// Lexer helpers\r\n/**\r\n * Compiles a regular expression string, adding the \'i\' flag if \'ignoreCase\' is set.\r\n * Also replaces @\\w+ or sequences with the content of the specified attribute\r\n */\r\nfunction compileRegExp(lexer, str) {\r\n var n = 0;\r\n while (str.indexOf(\'@\') >= 0 && n < 5) { // at most 5 expansions\r\n n++;\r\n str = str.replace(/@(\\w+)/g, function (s, attr) {\r\n var sub = \'\';\r\n if (typeof (lexer[attr]) === \'string\') {\r\n sub = lexer[attr];\r\n }\r\n else if (lexer[attr] && lexer[attr] instanceof RegExp) {\r\n sub = lexer[attr].source;\r\n }\r\n else {\r\n if (lexer[attr] === undefined) {\r\n throw createError(lexer, \'language definition does not contain attribute \\\'\' + attr + \'\\\', used at: \' + str);\r\n }\r\n else {\r\n throw createError(lexer, \'attribute reference \\\'\' + attr + \'\\\' must be a string, used at: \' + str);\r\n }\r\n }\r\n return (empty(sub) ? \'\' : \'(?:\' + sub + \')\');\r\n });\r\n }\r\n return new RegExp(str, (lexer.ignoreCase ? \'i\' : \'\'));\r\n}\r\n/**\r\n * Compiles guard functions for case matches.\r\n * This compiles \'cases\' attributes into efficient match functions.\r\n *\r\n */\r\nfunction selectScrutinee(id, matches, state, num) {\r\n if (num < 0) {\r\n return id;\r\n }\r\n if (num < matches.length) {\r\n return matches[num];\r\n }\r\n if (num >= 100) {\r\n num = num - 100;\r\n var parts = state.split(\'.\');\r\n parts.unshift(state);\r\n if (num < parts.length) {\r\n return parts[num];\r\n }\r\n }\r\n return null;\r\n}\r\nfunction createGuard(lexer, ruleName, tkey, val) {\r\n // get the scrutinee and pattern\r\n var scrut = -1; // -1: $!, 0-99: $n, 100+n: $Sn\r\n var oppat = tkey;\r\n var matches = tkey.match(/^\\$(([sS]?)(\\d\\d?)|#)(.*)$/);\r\n if (matches) {\r\n if (matches[3]) { // if digits\r\n scrut = parseInt(matches[3]);\r\n if (matches[2]) {\r\n scrut = scrut + 100; // if [sS] present\r\n }\r\n }\r\n oppat = matches[4];\r\n }\r\n // get operator\r\n var op = \'~\';\r\n var pat = oppat;\r\n if (!oppat || oppat.length === 0) {\r\n op = \'!=\';\r\n pat = \'\';\r\n }\r\n else if (/^\\w*$/.test(pat)) { // just a word\r\n op = \'==\';\r\n }\r\n else {\r\n matches = oppat.match(/^(@|!@|~|!~|==|!=)(.*)$/);\r\n if (matches) {\r\n op = matches[1];\r\n pat = matches[2];\r\n }\r\n }\r\n // set the tester function\r\n var tester;\r\n // special case a regexp that matches just words\r\n if ((op === \'~\' || op === \'!~\') && /^(\\w|\\|)*$/.test(pat)) {\r\n var inWords_1 = createKeywordMatcher(pat.split(\'|\'), lexer.ignoreCase);\r\n tester = function (s) { return (op === \'~\' ? inWords_1(s) : !inWords_1(s)); };\r\n }\r\n else if (op === \'@\' || op === \'!@\') {\r\n var words = lexer[pat];\r\n if (!words) {\r\n throw createError(lexer, \'the @ match target \\\'\' + pat + \'\\\' is not defined, in rule: \' + ruleName);\r\n }\r\n if (!(isArrayOf(function (elem) { return (typeof (elem) === \'string\'); }, words))) {\r\n throw createError(lexer, \'the @ match target \\\'\' + pat + \'\\\' must be an array of strings, in rule: \' + ruleName);\r\n }\r\n var inWords_2 = createKeywordMatcher(words, lexer.ignoreCase);\r\n tester = function (s) { return (op === \'@\' ? inWords_2(s) : !inWords_2(s)); };\r\n }\r\n else if (op === \'~\' || op === \'!~\') {\r\n if (pat.indexOf(\'$\') < 0) {\r\n // precompile regular expression\r\n var re_1 = compileRegExp(lexer, \'^\' + pat + \'$\');\r\n tester = function (s) { return (op === \'~\' ? re_1.test(s) : !re_1.test(s)); };\r\n }\r\n else {\r\n tester = function (s, id, matches, state) {\r\n var re = compileRegExp(lexer, \'^\' + substituteMatches(lexer, pat, id, matches, state) + \'$\');\r\n return re.test(s);\r\n };\r\n }\r\n }\r\n else { // if (op===\'==\' || op===\'!=\') {\r\n if (pat.indexOf(\'$\') < 0) {\r\n var patx_1 = fixCase(lexer, pat);\r\n tester = function (s) { return (op === \'==\' ? s === patx_1 : s !== patx_1); };\r\n }\r\n else {\r\n var patx_2 = fixCase(lexer, pat);\r\n tester = function (s, id, matches, state, eos) {\r\n var patexp = substituteMatches(lexer, patx_2, id, matches, state);\r\n return (op === \'==\' ? s === patexp : s !== patexp);\r\n };\r\n }\r\n }\r\n // return the branch object\r\n if (scrut === -1) {\r\n return {\r\n name: tkey, value: val, test: function (id, matches, state, eos) {\r\n return tester(id, id, matches, state, eos);\r\n }\r\n };\r\n }\r\n else {\r\n return {\r\n name: tkey, value: val, test: function (id, matches, state, eos) {\r\n var scrutinee = selectScrutinee(id, matches, state, scrut);\r\n return tester(!scrutinee ? \'\' : scrutinee, id, matches, state, eos);\r\n }\r\n };\r\n }\r\n}\r\n/**\r\n * Compiles an action: i.e. optimize regular expressions and case matches\r\n * and do many sanity checks.\r\n *\r\n * This is called only during compilation but if the lexer definition\r\n * contains user functions as actions (which is usually not allowed), then this\r\n * may be called during lexing. It is important therefore to compile common cases efficiently\r\n */\r\nfunction compileAction(lexer, ruleName, action) {\r\n if (!action) {\r\n return { token: \'\' };\r\n }\r\n else if (typeof (action) === \'string\') {\r\n return action; // { token: action };\r\n }\r\n else if (action.token || action.token === \'\') {\r\n if (typeof (action.token) !== \'string\') {\r\n throw createError(lexer, \'a \\\'token\\\' attribute must be of type string, in rule: \' + ruleName);\r\n }\r\n else {\r\n // only copy specific typed fields (only happens once during compile Lexer)\r\n var newAction = { token: action.token };\r\n if (action.token.indexOf(\'$\') >= 0) {\r\n newAction.tokenSubst = true;\r\n }\r\n if (typeof (action.bracket) === \'string\') {\r\n if (action.bracket === \'@open\') {\r\n newAction.bracket = 1 /* Open */;\r\n }\r\n else if (action.bracket === \'@close\') {\r\n newAction.bracket = -1 /* Close */;\r\n }\r\n else {\r\n throw createError(lexer, \'a \\\'bracket\\\' attribute must be either \\\'@open\\\' or \\\'@close\\\', in rule: \' + ruleName);\r\n }\r\n }\r\n if (action.next) {\r\n if (typeof (action.next) !== \'string\') {\r\n throw createError(lexer, \'the next state must be a string value in rule: \' + ruleName);\r\n }\r\n else {\r\n var next = action.next;\r\n if (!/^(@pop|@push|@popall)$/.test(next)) {\r\n if (next[0] === \'@\') {\r\n next = next.substr(1); // peel off starting @ sign\r\n }\r\n if (next.indexOf(\'$\') < 0) { // no dollar substitution, we can check if the state exists\r\n if (!stateExists(lexer, substituteMatches(lexer, next, \'\', [], \'\'))) {\r\n throw createError(lexer, \'the next state \\\'\' + action.next + \'\\\' is not defined in rule: \' + ruleName);\r\n }\r\n }\r\n }\r\n newAction.next = next;\r\n }\r\n }\r\n if (typeof (action.goBack) === \'number\') {\r\n newAction.goBack = action.goBack;\r\n }\r\n if (typeof (action.switchTo) === \'string\') {\r\n newAction.switchTo = action.switchTo;\r\n }\r\n if (typeof (action.log) === \'string\') {\r\n newAction.log = action.log;\r\n }\r\n if (typeof (action.nextEmbedded) === \'string\') {\r\n newAction.nextEmbedded = action.nextEmbedded;\r\n lexer.usesEmbedded = true;\r\n }\r\n return newAction;\r\n }\r\n }\r\n else if (Array.isArray(action)) {\r\n var results = [];\r\n for (var i = 0, len = action.length; i < len; i++) {\r\n results[i] = compileAction(lexer, ruleName, action[i]);\r\n }\r\n return { group: results };\r\n }\r\n else if (action.cases) {\r\n // build an array of test cases\r\n var cases_1 = [];\r\n // for each case, push a test function and result value\r\n for (var tkey in action.cases) {\r\n if (action.cases.hasOwnProperty(tkey)) {\r\n var val = compileAction(lexer, ruleName, action.cases[tkey]);\r\n // what kind of case\r\n if (tkey === \'@default\' || tkey === \'@\' || tkey === \'\') {\r\n cases_1.push({ test: undefined, value: val, name: tkey });\r\n }\r\n else if (tkey === \'@eos\') {\r\n cases_1.push({ test: function (id, matches, state, eos) { return eos; }, value: val, name: tkey });\r\n }\r\n else {\r\n cases_1.push(createGuard(lexer, ruleName, tkey, val)); // call separate function to avoid local variable capture\r\n }\r\n }\r\n }\r\n // create a matching function\r\n var def_1 = lexer.defaultToken;\r\n return {\r\n test: function (id, matches, state, eos) {\r\n for (var _i = 0, cases_2 = cases_1; _i < cases_2.length; _i++) {\r\n var _case = cases_2[_i];\r\n var didmatch = (!_case.test || _case.test(id, matches, state, eos));\r\n if (didmatch) {\r\n return _case.value;\r\n }\r\n }\r\n return def_1;\r\n }\r\n };\r\n }\r\n else {\r\n throw createError(lexer, \'an action must be a string, an object with a \\\'token\\\' or \\\'cases\\\' attribute, or an array of actions; in rule: \' + ruleName);\r\n }\r\n}\r\n/**\r\n * Helper class for creating matching rules\r\n */\r\nvar monarchCompile_Rule = /** @class */ (function () {\r\n function Rule(name) {\r\n this.regex = new RegExp(\'\');\r\n this.action = { token: \'\' };\r\n this.matchOnlyAtLineStart = false;\r\n this.name = \'\';\r\n this.name = name;\r\n }\r\n Rule.prototype.setRegex = function (lexer, re) {\r\n var sregex;\r\n if (typeof (re) === \'string\') {\r\n sregex = re;\r\n }\r\n else if (re instanceof RegExp) {\r\n sregex = re.source;\r\n }\r\n else {\r\n throw createError(lexer, \'rules must start with a match string or regular expression: \' + this.name);\r\n }\r\n this.matchOnlyAtLineStart = (sregex.length > 0 && sregex[0] === \'^\');\r\n this.name = this.name + \': \' + sregex;\r\n this.regex = compileRegExp(lexer, \'^(?:\' + (this.matchOnlyAtLineStart ? sregex.substr(1) : sregex) + \')\');\r\n };\r\n Rule.prototype.setAction = function (lexer, act) {\r\n this.action = compileAction(lexer, this.name, act);\r\n };\r\n return Rule;\r\n}());\r\n/**\r\n * Compiles a json description function into json where all regular expressions,\r\n * case matches etc, are compiled and all include rules are expanded.\r\n * We also compile the bracket definitions, supply defaults, and do many sanity checks.\r\n * If the \'jsonStrict\' parameter is \'false\', we allow at certain locations\r\n * regular expression objects and functions that get called during lexing.\r\n * (Currently we have no samples that need this so perhaps we should always have\r\n * jsonStrict to true).\r\n */\r\nfunction compile(languageId, json) {\r\n if (!json || typeof (json) !== \'object\') {\r\n throw new Error(\'Monarch: expecting a language definition object\');\r\n }\r\n // Create our lexer\r\n var lexer = {};\r\n lexer.languageId = languageId;\r\n lexer.noThrow = false; // raise exceptions during compilation\r\n lexer.maxStack = 100;\r\n // Set standard fields: be defensive about types\r\n lexer.start = (typeof json.start === \'string\' ? json.start : null);\r\n lexer.ignoreCase = bool(json.ignoreCase, false);\r\n lexer.tokenPostfix = string(json.tokenPostfix, \'.\' + lexer.languageId);\r\n lexer.defaultToken = string(json.defaultToken, \'source\');\r\n lexer.usesEmbedded = false; // becomes true if we find a nextEmbedded action\r\n // For calling compileAction later on\r\n var lexerMin = json;\r\n lexerMin.languageId = languageId;\r\n lexerMin.ignoreCase = lexer.ignoreCase;\r\n lexerMin.noThrow = lexer.noThrow;\r\n lexerMin.usesEmbedded = lexer.usesEmbedded;\r\n lexerMin.stateNames = json.tokenizer;\r\n lexerMin.defaultToken = lexer.defaultToken;\r\n // Compile an array of rules into newrules where RegExp objects are created.\r\n function addRules(state, newrules, rules) {\r\n for (var _i = 0, rules_1 = rules; _i < rules_1.length; _i++) {\r\n var rule = rules_1[_i];\r\n var include = rule.include;\r\n if (include) {\r\n if (typeof (include) !== \'string\') {\r\n throw createError(lexer, \'an \\\'include\\\' attribute must be a string at: \' + state);\r\n }\r\n if (include[0] === \'@\') {\r\n include = include.substr(1); // peel off starting @\r\n }\r\n if (!json.tokenizer[include]) {\r\n throw createError(lexer, \'include target \\\'\' + include + \'\\\' is not defined at: \' + state);\r\n }\r\n addRules(state + \'.\' + include, newrules, json.tokenizer[include]);\r\n }\r\n else {\r\n var newrule = new monarchCompile_Rule(state);\r\n // Set up new rule attributes\r\n if (Array.isArray(rule) && rule.length >= 1 && rule.length <= 3) {\r\n newrule.setRegex(lexerMin, rule[0]);\r\n if (rule.length >= 3) {\r\n if (typeof (rule[1]) === \'string\') {\r\n newrule.setAction(lexerMin, { token: rule[1], next: rule[2] });\r\n }\r\n else if (typeof (rule[1]) === \'object\') {\r\n var rule1 = rule[1];\r\n rule1.next = rule[2];\r\n newrule.setAction(lexerMin, rule1);\r\n }\r\n else {\r\n throw createError(lexer, \'a next state as the last element of a rule can only be given if the action is either an object or a string, at: \' + state);\r\n }\r\n }\r\n else {\r\n newrule.setAction(lexerMin, rule[1]);\r\n }\r\n }\r\n else {\r\n if (!rule.regex) {\r\n throw createError(lexer, \'a rule must either be an array, or an object with a \\\'regex\\\' or \\\'include\\\' field at: \' + state);\r\n }\r\n if (rule.name) {\r\n if (typeof rule.name === \'string\') {\r\n newrule.name = rule.name;\r\n }\r\n }\r\n if (rule.matchOnlyAtStart) {\r\n newrule.matchOnlyAtLineStart = bool(rule.matchOnlyAtLineStart, false);\r\n }\r\n newrule.setRegex(lexerMin, rule.regex);\r\n newrule.setAction(lexerMin, rule.action);\r\n }\r\n newrules.push(newrule);\r\n }\r\n }\r\n }\r\n // compile the tokenizer rules\r\n if (!json.tokenizer || typeof (json.tokenizer) !== \'object\') {\r\n throw createError(lexer, \'a language definition must define the \\\'tokenizer\\\' attribute as an object\');\r\n }\r\n lexer.tokenizer = [];\r\n for (var key in json.tokenizer) {\r\n if (json.tokenizer.hasOwnProperty(key)) {\r\n if (!lexer.start) {\r\n lexer.start = key;\r\n }\r\n var rules = json.tokenizer[key];\r\n lexer.tokenizer[key] = new Array();\r\n addRules(\'tokenizer.\' + key, lexer.tokenizer[key], rules);\r\n }\r\n }\r\n lexer.usesEmbedded = lexerMin.usesEmbedded; // can be set during compileAction\r\n // Set simple brackets\r\n if (json.brackets) {\r\n if (!(Array.isArray(json.brackets))) {\r\n throw createError(lexer, \'the \\\'brackets\\\' attribute must be defined as an array\');\r\n }\r\n }\r\n else {\r\n json.brackets = [\r\n { open: \'{\', close: \'}\', token: \'delimiter.curly\' },\r\n { open: \'[\', close: \']\', token: \'delimiter.square\' },\r\n { open: \'(\', close: \')\', token: \'delimiter.parenthesis\' },\r\n { open: \'<\', close: \'>\', token: \'delimiter.angle\' }\r\n ];\r\n }\r\n var brackets = [];\r\n for (var _i = 0, _a = json.brackets; _i < _a.length; _i++) {\r\n var el = _a[_i];\r\n var desc = el;\r\n if (desc && Array.isArray(desc) && desc.length === 3) {\r\n desc = { token: desc[2], open: desc[0], close: desc[1] };\r\n }\r\n if (desc.open === desc.close) {\r\n throw createError(lexer, \'open and close brackets in a \\\'brackets\\\' attribute must be different: \' + desc.open +\r\n \'\\n hint: use the \\\'bracket\\\' attribute if matching on equal brackets is required.\');\r\n }\r\n if (typeof desc.open === \'string\' && typeof desc.token === \'string\' && typeof desc.close === \'string\') {\r\n brackets.push({\r\n token: desc.token + lexer.tokenPostfix,\r\n open: fixCase(lexer, desc.open),\r\n close: fixCase(lexer, desc.close)\r\n });\r\n }\r\n else {\r\n throw createError(lexer, \'every element in the \\\'brackets\\\' array must be a \\\'{open,close,token}\\\' object or array\');\r\n }\r\n }\r\n lexer.brackets = brackets;\r\n // Disable throw so the syntax highlighter goes, no matter what\r\n lexer.noThrow = true;\r\n return lexer;\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneLanguages.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * Register information about a new language.\r\n */\r\nfunction register(language) {\r\n modesRegistry["a" /* ModesRegistry */].registerLanguage(language);\r\n}\r\n/**\r\n * Get the information of all the registered languages.\r\n */\r\nfunction getLanguages() {\r\n var result = [];\r\n result = result.concat(modesRegistry["a" /* ModesRegistry */].getLanguages());\r\n return result;\r\n}\r\nfunction getEncodedLanguageId(languageId) {\r\n var lid = standaloneServices_StaticServices.modeService.get().getLanguageIdentifier(languageId);\r\n return lid ? lid.id : 0;\r\n}\r\n/**\r\n * An event emitted when a language is first time needed (e.g. a model has it set).\r\n * @event\r\n */\r\nfunction onLanguage(languageId, callback) {\r\n var disposable = standaloneServices_StaticServices.modeService.get().onDidCreateMode(function (mode) {\r\n if (mode.getId() === languageId) {\r\n // stop listening\r\n disposable.dispose();\r\n // invoke actual listener\r\n callback();\r\n }\r\n });\r\n return disposable;\r\n}\r\n/**\r\n * Set the editing configuration for a language.\r\n */\r\nfunction setLanguageConfiguration(languageId, configuration) {\r\n var languageIdentifier = standaloneServices_StaticServices.modeService.get().getLanguageIdentifier(languageId);\r\n if (!languageIdentifier) {\r\n throw new Error("Cannot set configuration for unknown language " + languageId);\r\n }\r\n return languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].register(languageIdentifier, configuration);\r\n}\r\n/**\r\n * @internal\r\n */\r\nvar standaloneLanguages_EncodedTokenizationSupport2Adapter = /** @class */ (function () {\r\n function EncodedTokenizationSupport2Adapter(actual) {\r\n this._actual = actual;\r\n }\r\n EncodedTokenizationSupport2Adapter.prototype.getInitialState = function () {\r\n return this._actual.getInitialState();\r\n };\r\n EncodedTokenizationSupport2Adapter.prototype.tokenize = function (line, state, offsetDelta) {\r\n throw new Error(\'Not supported!\');\r\n };\r\n EncodedTokenizationSupport2Adapter.prototype.tokenize2 = function (line, state) {\r\n var result = this._actual.tokenizeEncoded(line, state);\r\n return new core_token["c" /* TokenizationResult2 */](result.tokens, result.endState);\r\n };\r\n return EncodedTokenizationSupport2Adapter;\r\n}());\r\n\r\n/**\r\n * @internal\r\n */\r\nvar standaloneLanguages_TokenizationSupport2Adapter = /** @class */ (function () {\r\n function TokenizationSupport2Adapter(standaloneThemeService, languageIdentifier, actual) {\r\n this._standaloneThemeService = standaloneThemeService;\r\n this._languageIdentifier = languageIdentifier;\r\n this._actual = actual;\r\n }\r\n TokenizationSupport2Adapter.prototype.getInitialState = function () {\r\n return this._actual.getInitialState();\r\n };\r\n TokenizationSupport2Adapter.prototype._toClassicTokens = function (tokens, language, offsetDelta) {\r\n var result = [];\r\n var previousStartIndex = 0;\r\n for (var i = 0, len = tokens.length; i < len; i++) {\r\n var t = tokens[i];\r\n var startIndex = t.startIndex;\r\n // Prevent issues stemming from a buggy external tokenizer.\r\n if (i === 0) {\r\n // Force first token to start at first index!\r\n startIndex = 0;\r\n }\r\n else if (startIndex < previousStartIndex) {\r\n // Force tokens to be after one another!\r\n startIndex = previousStartIndex;\r\n }\r\n result[i] = new core_token["a" /* Token */](startIndex + offsetDelta, t.scopes, language);\r\n previousStartIndex = startIndex;\r\n }\r\n return result;\r\n };\r\n TokenizationSupport2Adapter.prototype.tokenize = function (line, state, offsetDelta) {\r\n var actualResult = this._actual.tokenize(line, state);\r\n var tokens = this._toClassicTokens(actualResult.tokens, this._languageIdentifier.language, offsetDelta);\r\n var endState;\r\n // try to save an object if possible\r\n if (actualResult.endState.equals(state)) {\r\n endState = state;\r\n }\r\n else {\r\n endState = actualResult.endState;\r\n }\r\n return new core_token["b" /* TokenizationResult */](tokens, endState);\r\n };\r\n TokenizationSupport2Adapter.prototype._toBinaryTokens = function (tokens, offsetDelta) {\r\n var languageId = this._languageIdentifier.id;\r\n var tokenTheme = this._standaloneThemeService.getTheme().tokenTheme;\r\n var result = [], resultLen = 0;\r\n var previousStartIndex = 0;\r\n for (var i = 0, len = tokens.length; i < len; i++) {\r\n var t = tokens[i];\r\n var metadata = tokenTheme.match(languageId, t.scopes);\r\n if (resultLen > 0 && result[resultLen - 1] === metadata) {\r\n // same metadata\r\n continue;\r\n }\r\n var startIndex = t.startIndex;\r\n // Prevent issues stemming from a buggy external tokenizer.\r\n if (i === 0) {\r\n // Force first token to start at first index!\r\n startIndex = 0;\r\n }\r\n else if (startIndex < previousStartIndex) {\r\n // Force tokens to be after one another!\r\n startIndex = previousStartIndex;\r\n }\r\n result[resultLen++] = startIndex + offsetDelta;\r\n result[resultLen++] = metadata;\r\n previousStartIndex = startIndex;\r\n }\r\n var actualResult = new Uint32Array(resultLen);\r\n for (var i = 0; i < resultLen; i++) {\r\n actualResult[i] = result[i];\r\n }\r\n return actualResult;\r\n };\r\n TokenizationSupport2Adapter.prototype.tokenize2 = function (line, state, offsetDelta) {\r\n var actualResult = this._actual.tokenize(line, state);\r\n var tokens = this._toBinaryTokens(actualResult.tokens, offsetDelta);\r\n var endState;\r\n // try to save an object if possible\r\n if (actualResult.endState.equals(state)) {\r\n endState = state;\r\n }\r\n else {\r\n endState = actualResult.endState;\r\n }\r\n return new core_token["c" /* TokenizationResult2 */](tokens, endState);\r\n };\r\n return TokenizationSupport2Adapter;\r\n}());\r\n\r\nfunction isEncodedTokensProvider(provider) {\r\n return \'tokenizeEncoded\' in provider;\r\n}\r\nfunction isThenable(obj) {\r\n return obj && typeof obj.then === \'function\';\r\n}\r\n/**\r\n * Set the tokens provider for a language (manual implementation).\r\n */\r\nfunction setTokensProvider(languageId, provider) {\r\n var languageIdentifier = standaloneServices_StaticServices.modeService.get().getLanguageIdentifier(languageId);\r\n if (!languageIdentifier) {\r\n throw new Error("Cannot set tokens provider for unknown language " + languageId);\r\n }\r\n var create = function (provider) {\r\n if (isEncodedTokensProvider(provider)) {\r\n return new standaloneLanguages_EncodedTokenizationSupport2Adapter(provider);\r\n }\r\n else {\r\n return new standaloneLanguages_TokenizationSupport2Adapter(standaloneServices_StaticServices.standaloneThemeService.get(), languageIdentifier, provider);\r\n }\r\n };\r\n if (isThenable(provider)) {\r\n return modes["y" /* TokenizationRegistry */].registerPromise(languageId, provider.then(function (provider) { return create(provider); }));\r\n }\r\n return modes["y" /* TokenizationRegistry */].register(languageId, create(provider));\r\n}\r\n/**\r\n * Set the tokens provider for a language (monarch implementation).\r\n */\r\nfunction setMonarchTokensProvider(languageId, languageDef) {\r\n var create = function (languageDef) {\r\n return createTokenizationSupport(standaloneServices_StaticServices.modeService.get(), standaloneServices_StaticServices.standaloneThemeService.get(), languageId, compile(languageId, languageDef));\r\n };\r\n if (isThenable(languageDef)) {\r\n return modes["y" /* TokenizationRegistry */].registerPromise(languageId, languageDef.then(function (languageDef) { return create(languageDef); }));\r\n }\r\n return modes["y" /* TokenizationRegistry */].register(languageId, create(languageDef));\r\n}\r\n/**\r\n * Register a reference provider (used by e.g. reference search).\r\n */\r\nfunction registerReferenceProvider(languageId, provider) {\r\n return modes["t" /* ReferenceProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a rename provider (used by e.g. rename symbol).\r\n */\r\nfunction registerRenameProvider(languageId, provider) {\r\n return modes["u" /* RenameProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a signature help provider (used by e.g. parameter hints).\r\n */\r\nfunction registerSignatureHelpProvider(languageId, provider) {\r\n return modes["w" /* SignatureHelpProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a hover provider (used by e.g. editor hover).\r\n */\r\nfunction registerHoverProvider(languageId, provider) {\r\n return modes["o" /* HoverProviderRegistry */].register(languageId, {\r\n provideHover: function (model, position, token) {\r\n var word = model.getWordAtPosition(position);\r\n return Promise.resolve(provider.provideHover(model, position, token)).then(function (value) {\r\n if (!value) {\r\n return undefined;\r\n }\r\n if (!value.range && word) {\r\n value.range = new core_range["a" /* Range */](position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);\r\n }\r\n if (!value.range) {\r\n value.range = new core_range["a" /* Range */](position.lineNumber, position.column, position.lineNumber, position.column);\r\n }\r\n return value;\r\n });\r\n }\r\n });\r\n}\r\n/**\r\n * Register a document symbol provider (used by e.g. outline).\r\n */\r\nfunction registerDocumentSymbolProvider(languageId, provider) {\r\n return modes["l" /* DocumentSymbolProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a document highlight provider (used by e.g. highlight occurrences).\r\n */\r\nfunction registerDocumentHighlightProvider(languageId, provider) {\r\n return modes["h" /* DocumentHighlightProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a definition provider (used by e.g. go to definition).\r\n */\r\nfunction registerDefinitionProvider(languageId, provider) {\r\n return modes["f" /* DefinitionProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a implementation provider (used by e.g. go to implementation).\r\n */\r\nfunction registerImplementationProvider(languageId, provider) {\r\n return modes["p" /* ImplementationProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a type definition provider (used by e.g. go to type definition).\r\n */\r\nfunction registerTypeDefinitionProvider(languageId, provider) {\r\n return modes["z" /* TypeDefinitionProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a code lens provider (used by e.g. inline code lenses).\r\n */\r\nfunction registerCodeLensProvider(languageId, provider) {\r\n return modes["b" /* CodeLensProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a code action provider (used by e.g. quick fix).\r\n */\r\nfunction registerCodeActionProvider(languageId, provider) {\r\n return modes["a" /* CodeActionProviderRegistry */].register(languageId, {\r\n provideCodeActions: function (model, range, context, token) {\r\n var markers = standaloneServices_StaticServices.markerService.get().read({ resource: model.uri }).filter(function (m) {\r\n return core_range["a" /* Range */].areIntersectingOrTouching(m, range);\r\n });\r\n return provider.provideCodeActions(model, range, { markers: markers, only: context.only }, token);\r\n }\r\n });\r\n}\r\n/**\r\n * Register a formatter that can handle only entire models.\r\n */\r\nfunction registerDocumentFormattingEditProvider(languageId, provider) {\r\n return modes["g" /* DocumentFormattingEditProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a formatter that can handle a range inside a model.\r\n */\r\nfunction registerDocumentRangeFormattingEditProvider(languageId, provider) {\r\n return modes["i" /* DocumentRangeFormattingEditProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a formatter than can do formatting as the user types.\r\n */\r\nfunction registerOnTypeFormattingEditProvider(languageId, provider) {\r\n return modes["s" /* OnTypeFormattingEditProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a link provider that can find links in text.\r\n */\r\nfunction registerLinkProvider(languageId, provider) {\r\n return modes["r" /* LinkProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a completion item provider (use by e.g. suggestions).\r\n */\r\nfunction registerCompletionItemProvider(languageId, provider) {\r\n return modes["d" /* CompletionProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a document color provider (used by Color Picker, Color Decorator).\r\n */\r\nfunction registerColorProvider(languageId, provider) {\r\n return modes["c" /* ColorProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a folding range provider\r\n */\r\nfunction registerFoldingRangeProvider(languageId, provider) {\r\n return modes["n" /* FoldingRangeProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a declaration provider\r\n */\r\nfunction registerDeclarationProvider(languageId, provider) {\r\n return modes["e" /* DeclarationProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a selection range provider\r\n */\r\nfunction registerSelectionRangeProvider(languageId, provider) {\r\n return modes["v" /* SelectionRangeRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a document semantic tokens provider\r\n */\r\nfunction registerDocumentSemanticTokensProvider(languageId, provider) {\r\n return modes["k" /* DocumentSemanticTokensProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * Register a document range semantic tokens provider\r\n */\r\nfunction registerDocumentRangeSemanticTokensProvider(languageId, provider) {\r\n return modes["j" /* DocumentRangeSemanticTokensProviderRegistry */].register(languageId, provider);\r\n}\r\n/**\r\n * @internal\r\n */\r\nfunction createMonacoLanguagesAPI() {\r\n return {\r\n register: register,\r\n getLanguages: getLanguages,\r\n onLanguage: onLanguage,\r\n getEncodedLanguageId: getEncodedLanguageId,\r\n // provider methods\r\n setLanguageConfiguration: setLanguageConfiguration,\r\n setTokensProvider: setTokensProvider,\r\n setMonarchTokensProvider: setMonarchTokensProvider,\r\n registerReferenceProvider: registerReferenceProvider,\r\n registerRenameProvider: registerRenameProvider,\r\n registerCompletionItemProvider: registerCompletionItemProvider,\r\n registerSignatureHelpProvider: registerSignatureHelpProvider,\r\n registerHoverProvider: registerHoverProvider,\r\n registerDocumentSymbolProvider: registerDocumentSymbolProvider,\r\n registerDocumentHighlightProvider: registerDocumentHighlightProvider,\r\n registerDefinitionProvider: registerDefinitionProvider,\r\n registerImplementationProvider: registerImplementationProvider,\r\n registerTypeDefinitionProvider: registerTypeDefinitionProvider,\r\n registerCodeLensProvider: registerCodeLensProvider,\r\n registerCodeActionProvider: registerCodeActionProvider,\r\n registerDocumentFormattingEditProvider: registerDocumentFormattingEditProvider,\r\n registerDocumentRangeFormattingEditProvider: registerDocumentRangeFormattingEditProvider,\r\n registerOnTypeFormattingEditProvider: registerOnTypeFormattingEditProvider,\r\n registerLinkProvider: registerLinkProvider,\r\n registerColorProvider: registerColorProvider,\r\n registerFoldingRangeProvider: registerFoldingRangeProvider,\r\n registerDeclarationProvider: registerDeclarationProvider,\r\n registerSelectionRangeProvider: registerSelectionRangeProvider,\r\n registerDocumentSemanticTokensProvider: registerDocumentSemanticTokensProvider,\r\n registerDocumentRangeSemanticTokensProvider: registerDocumentRangeSemanticTokensProvider,\r\n // enums\r\n DocumentHighlightKind: DocumentHighlightKind,\r\n CompletionItemKind: CompletionItemKind,\r\n CompletionItemTag: CompletionItemTag,\r\n CompletionItemInsertTextRule: CompletionItemInsertTextRule,\r\n SymbolKind: SymbolKind,\r\n SymbolTag: SymbolTag,\r\n IndentAction: IndentAction,\r\n CompletionTriggerKind: CompletionTriggerKind,\r\n SignatureHelpTriggerKind: SignatureHelpTriggerKind,\r\n // classes\r\n FoldingRangeKind: modes["m" /* FoldingRangeKind */],\r\n };\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/editor.api.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\nvar global = self;\r\n// Set defaults for standalone editor\r\neditorOptions["e" /* EditorOptions */].wrappingIndent.defaultValue = 0 /* None */;\r\neditorOptions["e" /* EditorOptions */].glyphMargin.defaultValue = false;\r\neditorOptions["e" /* EditorOptions */].autoIndent.defaultValue = 3 /* Advanced */;\r\neditorOptions["e" /* EditorOptions */].overviewRulerLanes.defaultValue = 2;\r\nvar api = createMonacoBaseAPI();\r\napi.editor = createMonacoEditorAPI();\r\napi.languages = createMonacoLanguagesAPI();\r\nvar CancellationTokenSource = api.CancellationTokenSource;\r\nvar Emitter = api.Emitter;\r\nvar editor_api_KeyCode = api.KeyCode;\r\nvar editor_api_KeyMod = api.KeyMod;\r\nvar Position = api.Position;\r\nvar Range = api.Range;\r\nvar Selection = api.Selection;\r\nvar editor_api_SelectionDirection = api.SelectionDirection;\r\nvar editor_api_MarkerSeverity = api.MarkerSeverity;\r\nvar editor_api_MarkerTag = api.MarkerTag;\r\nvar Uri = api.Uri;\r\nvar Token = api.Token;\r\nvar editor_api_editor = api.editor;\r\nvar languages = api.languages;\r\nglobal.monaco = api;\r\nif (typeof global.require !== \'undefined\' && typeof global.require.config === \'function\') {\r\n global.require.config({\r\n ignoreDuplicateModules: [\r\n \'vscode-languageserver-types\',\r\n \'vscode-languageserver-types/main\',\r\n \'vscode-nls\',\r\n \'vscode-nls/vscode-nls\',\r\n \'jsonc-parser\',\r\n \'jsonc-parser/main\',\r\n \'vscode-uri\',\r\n \'vscode-uri/index\',\r\n \'vs/basic-languages/typescript/typescript\'\r\n ]\r\n });\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/editor.api.js_+_63_modules?')},"98bh":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar createListSimply = __webpack_require__(\"5GtS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar getPercentWithPrecision = _number.getPercentWithPrecision;\n\nvar dataSelectableMixin = __webpack_require__(\"cCMj\");\n\nvar _dataProvider = __webpack_require__(\"KxfA\");\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar _sourceHelper = __webpack_require__(\"D5nY\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = __webpack_require__(\"xKMd\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PieSeries = echarts.extendSeriesModel({\n type: 'series.pie',\n // Overwrite\n init: function (option) {\n PieSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n this.updateSelectedMap(this._createSelectableList());\n\n this._defaultLabelLine(option);\n },\n // Overwrite\n mergeOption: function (newOption) {\n PieSeries.superCall(this, 'mergeOption', newOption);\n this.updateSelectedMap(this._createSelectableList());\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _createSelectableList: function () {\n var data = this.getRawData();\n var valueDim = data.mapDimension('value');\n var targetList = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n targetList.push({\n name: data.getName(i),\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n return targetList;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = PieSeries.superCall(this, 'getDataParams', dataIndex); // FIXME toFixed?\n\n var valueList = [];\n data.each(data.mapDimension('value'), function (value) {\n valueList.push(value);\n });\n params.percent = getPercentWithPrecision(valueList, dataIndex, data.hostModel.get('percentPrecision'));\n params.$vars.push('percent');\n return params;\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n modelUtil.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 defaultOption: {\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // \u9ed8\u8ba4\u5168\u5c40\u5c45\u4e2d\n center: ['50%', '50%'],\n radius: [0, '75%'],\n // \u9ed8\u8ba4\u987a\u65f6\u9488\n clockwise: true,\n startAngle: 90,\n // \u6700\u5c0f\u89d2\u5ea6\u6539\u4e3a0\n minAngle: 0,\n // If the angle of a sector less than `minShowLabelAngle`,\n // the label will not be displayed.\n minShowLabelAngle: 0,\n // \u9009\u4e2d\u65f6\u6247\u533a\u504f\u79fb\u91cf\n selectedOffset: 10,\n // \u9ad8\u4eae\u6247\u533a\u504f\u79fb\u91cf\n hoverOffset: 10,\n // If use strategy to avoid label overlapping\n avoidLabelOverlap: true,\n // \u9009\u62e9\u6a21\u5f0f\uff0c\u9ed8\u8ba4\u5173\u95ed\uff0c\u53ef\u9009single\uff0cmultiple\n // selectedMode: false,\n // \u5357\u4e01\u683c\u5c14\u73ab\u7470\u56fe\u6a21\u5f0f\uff0c'radius'\uff08\u534a\u5f84\uff09 | 'area'\uff08\u9762\u79ef\uff09\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 // If rotate around circle\n rotate: false,\n show: true,\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 margin: '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: \u6807\u7b7e\u6587\u672c\u683c\u5f0f\u5668\uff0c\u540cTooltip.formatter\uff0c\u4e0d\u652f\u6301\u5f02\u6b65\u56de\u8c03\n // \u9ed8\u8ba4\u4f7f\u7528\u5168\u5c40\u6587\u672c\u6837\u5f0f\uff0c\u8be6\u89c1TEXTSTYLE\n // distance: \u5f53position\u4e3ainner\u65f6\u6709\u6548\uff0c\u4e3alabel\u4f4d\u7f6e\u5230\u5706\u5fc3\u7684\u8ddd\u79bb\u4e0e\u5706\u534a\u5f84(\u73af\u72b6\u56fe\u4e3a\u5185\u5916\u534a\u5f84\u548c)\u7684\u6bd4\u4f8b\u7cfb\u6570\n\n },\n // Enabled when label.normal.position is 'outer'\n labelLine: {\n show: true,\n // \u5f15\u5bfc\u7ebf\u4e24\u6bb5\u4e2d\u7684\u7b2c\u4e00\u6bb5\u957f\u5ea6\n length: 15,\n // \u5f15\u5bfc\u7ebf\u4e24\u6bb5\u4e2d\u7684\u7b2c\u4e8c\u6bb5\u957f\u5ea6\n length2: 15,\n smooth: false,\n lineStyle: {\n // color: \u5404\u5f02,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n borderWidth: 1\n },\n // Animation type. Valid values: expansion, scale\n animationType: 'expansion',\n // Animation type when update. Valid values: transition, expansion\n animationTypeUpdate: 'transition',\n animationEasing: 'cubicOut'\n }\n});\nzrUtil.mixin(PieSeries, dataSelectableMixin);\nvar _default = PieSeries;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/PieSeries.js?")},"9B1q":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'css',\r\n extensions: ['.css'],\r\n aliases: ['CSS', 'css'],\r\n mimetypes: ['text/css'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 174).then(__webpack_require__.bind(null, \"v7Iz\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js?")},"9H2F":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar assert = _util.assert;\nvar isArray = _util.isArray;\n\nvar _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} define\n * @return See the return of `createTask`.\n */\nfunction createTask(define) {\n return new Task(define);\n}\n/**\n * @constructor\n * @param {Object} define\n * @param {Function} define.reset Custom reset\n * @param {Function} [define.plan] Returns 'reset' indicate reset immediately.\n * @param {Function} [define.count] count is used to determin data task.\n * @param {Function} [define.onDirty] count is used to determin data task.\n */\n\n\nfunction 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; // Context must be specified implicitly, to\n // avoid miss update context when model changed.\n\n this.context;\n}\n\nvar taskProto = Task.prototype;\n/**\n * @param {Object} performArgs\n * @param {number} [performArgs.step] Specified step.\n * @param {number} [performArgs.skip] Skip customer perform call.\n * @param {number} [performArgs.modBy] Sampling window size.\n * @param {number} [performArgs.modDataCount] Sampling count.\n */\n\ntaskProto.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 = reset(this, skip);\n }\n\n this._modBy = modBy;\n this._modDataCount = modDataCount;\n var step = performArgs && performArgs.step;\n\n if (upTask) {\n this._dueEnd = upTask._outputDueEnd;\n } // DataTask or overallTask\n else {\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 (isArray(progress)) {\n for (var i = 0; i < progress.length; i++) {\n doProgress(this, progress[i], start, end, modBy, modDataCount);\n }\n } else {\n doProgress(this, 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 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\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\ntaskProto.dirty = function () {\n this._dirty = true;\n this._onDirty && this._onDirty(this.context);\n};\n\nfunction doProgress(taskIns, progress, start, end, modBy, modDataCount) {\n iterator.reset(start, end, modBy, modDataCount);\n taskIns._callingProgress = progress;\n\n taskIns._callingProgress({\n start: start,\n end: end,\n count: end - start,\n next: iterator.next\n }, taskIns.context);\n}\n\nfunction reset(taskIns, skip) {\n taskIns._dueIndex = taskIns._outputDueEnd = taskIns._dueEnd = 0;\n taskIns._settedOutputEnd = null;\n var progress;\n var forceFirstProgress;\n\n if (!skip && taskIns._reset) {\n progress = taskIns._reset(taskIns.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 (isArray(progress) && !progress.length) {\n progress = null;\n }\n }\n\n taskIns._progress = progress;\n taskIns._modBy = taskIns._modDataCount = null;\n var downstream = taskIns._downstream;\n downstream && downstream.dirty();\n return forceFirstProgress;\n}\n/**\n * @return {boolean}\n */\n\n\ntaskProto.unfinished = function () {\n return this._progress && this._dueIndex < this._dueEnd;\n};\n/**\n * @param {Object} downTask The downstream task.\n * @return {Object} The downstream task.\n */\n\n\ntaskProto.pipe = function (downTask) {\n // If already downstream, do not dirty downTask.\n if (this._downstream !== downTask || this._dirty) {\n this._downstream = downTask;\n downTask._upstream = this;\n downTask.dirty();\n }\n};\n\ntaskProto.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\ntaskProto.getUpstream = function () {\n return this._upstream;\n};\n\ntaskProto.getDownstream = function () {\n return this._downstream;\n};\n\ntaskProto.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// For stream debug (Should be commented out after used!)\n// Usage: printTask(this, 'begin');\n// Usage: printTask(this, null, {someExtraProp});\n// function printTask(task, prefix, extra) {\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// var props = [];\n// if (task.__pipeline) {\n// var val = `${task.__idxInPipeline}/${task.__pipeline.tail.__idxInPipeline} ${task.agent ? '(stub)' : ''}`;\n// props.push({text: 'idx', value: val});\n// } else {\n// var 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: 'pid', 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// var args = ['color: blue'];\n// var msg = `%c[${prefix || 'T'}] %c` + props.map(item => (\n// args.push('color: black', '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\n\nexports.createTask = createTask;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/stream/task.js?")},"9KIM":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 BoundingRect = __webpack_require__("mFDi");\n\nvar _cursorHelper = __webpack_require__("xSat");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphicUtil = __webpack_require__("IwbS");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 makeRectPanelClipPath(rect) {\n rect = normalizeRect(rect);\n return function (localPoints, transform) {\n return graphicUtil.clipPointsByRect(localPoints, rect);\n };\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}\n\nfunction makeRectIsTargetByCursor(rect, api, targetModel) {\n rect = normalizeRect(rect);\n return function (e, localCursorPoint, transform) {\n return rect.contain(localCursorPoint[0], localCursorPoint[1]) && !onIrrelevantElement(e, api, targetModel);\n };\n} // Consider width/height is negative.\n\n\nfunction normalizeRect(rect) {\n return BoundingRect.create(rect);\n}\n\nexports.makeRectPanelClipPath = makeRectPanelClipPath;\nexports.makeLinearBrushOtherExtent = makeLinearBrushOtherExtent;\nexports.makeRectIsTargetByCursor = makeRectIsTargetByCursor;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/brushHelper.js?')},"9Odx":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _RightOutlined = _interopRequireDefault(__webpack_require__("FhTr"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar RightOutlined = function RightOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _RightOutlined.default\n }));\n};\n\nRightOutlined.displayName = \'RightOutlined\';\n\nvar _default = React.forwardRef(RightOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/RightOutlined.js?')},"9Vvo":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/UsergroupAddOutlined.js\n// This icon file is generated automatically.\nvar UsergroupAddOutlined_UsergroupAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z" } }] }, "name": "usergroup-add", "theme": "outlined" };\n/* harmony default export */ var asn_UsergroupAddOutlined = (UsergroupAddOutlined_UsergroupAddOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/UsergroupAddOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_UsergroupAddOutlined_UsergroupAddOutlined = function UsergroupAddOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_UsergroupAddOutlined\n }));\n};\n\nicons_UsergroupAddOutlined_UsergroupAddOutlined.displayName = \'UsergroupAddOutlined\';\n/* harmony default export */ var icons_UsergroupAddOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_UsergroupAddOutlined_UsergroupAddOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/UsergroupAddOutlined.js_+_1_modules?')},"9XAT":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LanguageServiceDefaultsImpl\", function() { return LanguageServiceDefaultsImpl; });\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"M/lh\");\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__);\n\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n'use strict';\r\nvar Emitter = monaco.Emitter;\r\n// --- CSS configuration and defaults ---------\r\nvar LanguageServiceDefaultsImpl = /** @class */ (function () {\r\n function LanguageServiceDefaultsImpl(languageId, diagnosticsOptions, modeConfiguration) {\r\n this._onDidChange = new Emitter();\r\n this._languageId = languageId;\r\n this.setDiagnosticsOptions(diagnosticsOptions);\r\n this.setModeConfiguration(modeConfiguration);\r\n }\r\n Object.defineProperty(LanguageServiceDefaultsImpl.prototype, \"onDidChange\", {\r\n get: function () {\r\n return this._onDidChange.event;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LanguageServiceDefaultsImpl.prototype, \"languageId\", {\r\n get: function () {\r\n return this._languageId;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LanguageServiceDefaultsImpl.prototype, \"modeConfiguration\", {\r\n get: function () {\r\n return this._modeConfiguration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LanguageServiceDefaultsImpl.prototype, \"diagnosticsOptions\", {\r\n get: function () {\r\n return this._diagnosticsOptions;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n LanguageServiceDefaultsImpl.prototype.setDiagnosticsOptions = function (options) {\r\n this._diagnosticsOptions = options || Object.create(null);\r\n this._onDidChange.fire(this);\r\n };\r\n LanguageServiceDefaultsImpl.prototype.setModeConfiguration = function (modeConfiguration) {\r\n this._modeConfiguration = modeConfiguration || Object.create(null);\r\n this._onDidChange.fire(this);\r\n };\r\n ;\r\n return LanguageServiceDefaultsImpl;\r\n}());\r\n\r\nvar diagnosticDefault = {\r\n validate: true,\r\n lint: {\r\n compatibleVendorPrefixes: 'ignore',\r\n vendorPrefix: 'warning',\r\n duplicateProperties: 'warning',\r\n emptyRules: 'warning',\r\n importStatement: 'ignore',\r\n boxModel: 'ignore',\r\n universalSelector: 'ignore',\r\n zeroUnits: 'ignore',\r\n fontFaceProperties: 'warning',\r\n hexColorLength: 'error',\r\n argumentsInColorFunction: 'error',\r\n unknownProperties: 'warning',\r\n ieHack: 'ignore',\r\n unknownVendorSpecificProperties: 'ignore',\r\n propertyIgnoredDueToDisplay: 'warning',\r\n important: 'ignore',\r\n float: 'ignore',\r\n idSelector: 'ignore'\r\n }\r\n};\r\nvar modeConfigurationDefault = {\r\n completionItems: true,\r\n hovers: true,\r\n documentSymbols: true,\r\n definitions: true,\r\n references: true,\r\n documentHighlights: true,\r\n rename: true,\r\n colors: true,\r\n foldingRanges: true,\r\n diagnostics: true,\r\n selectionRanges: true\r\n};\r\nvar cssDefaults = new LanguageServiceDefaultsImpl('css', diagnosticDefault, modeConfigurationDefault);\r\nvar scssDefaults = new LanguageServiceDefaultsImpl('scss', diagnosticDefault, modeConfigurationDefault);\r\nvar lessDefaults = new LanguageServiceDefaultsImpl('less', diagnosticDefault, modeConfigurationDefault);\r\n// Export API\r\nfunction createAPI() {\r\n return {\r\n cssDefaults: cssDefaults,\r\n lessDefaults: lessDefaults,\r\n scssDefaults: scssDefaults\r\n };\r\n}\r\nmonaco.languages.css = createAPI();\r\n// --- Registration to monaco editor ---\r\nfunction getMode() {\r\n return __webpack_require__.e(/* import() */ 162).then(__webpack_require__.bind(null, \"20/g\"));\r\n}\r\nmonaco.languages.onLanguage('less', function () {\r\n getMode().then(function (mode) { return mode.setupMode(lessDefaults); });\r\n});\r\nmonaco.languages.onLanguage('scss', function () {\r\n getMode().then(function (mode) { return mode.setupMode(scssDefaults); });\r\n});\r\nmonaco.languages.onLanguage('css', function () {\r\n getMode().then(function (mode) { return mode.setupMode(cssDefaults); });\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/language/css/monaco.contribution.js?")},"9XeP":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IClipboardService; });\n/* harmony import */ var _instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cg/j");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar IClipboardService = Object(_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__[/* createDecorator */ "c"])(\'clipboardService\');\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js?')},"9Y+e":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InternalEditorAction; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar InternalEditorAction = /** @class */ (function () {\r\n function InternalEditorAction(id, label, alias, precondition, run, contextKeyService) {\r\n this.id = id;\r\n this.label = label;\r\n this.alias = alias;\r\n this._precondition = precondition;\r\n this._run = run;\r\n this._contextKeyService = contextKeyService;\r\n }\r\n InternalEditorAction.prototype.isSupported = function () {\r\n return this._contextKeyService.contextMatchesRules(this._precondition);\r\n };\r\n InternalEditorAction.prototype.run = function () {\r\n if (!this.isSupported()) {\r\n return Promise.resolve(undefined);\r\n }\r\n var r = this._run();\r\n return r ? r : Promise.resolve(undefined);\r\n };\r\n return InternalEditorAction;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/editorAction.js?')},"9ama":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/tabs/style/index.less?")},"9eas":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n__webpack_require__("HM/N");\n\n__webpack_require__("tBnm");\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/angleAxis.js?')},"9fML":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return registerSingleton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSingletonServiceDescriptors; });\n/* harmony import */ var _descriptors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("r0BQ");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar _registry = [];\r\nfunction registerSingleton(id, ctor, supportsDelayedInstantiation) {\r\n _registry.push([id, new _descriptors_js__WEBPACK_IMPORTED_MODULE_0__[/* SyncDescriptor */ "a"](ctor, [], supportsDelayedInstantiation)]);\r\n}\r\nfunction getSingletonServiceDescriptors() {\r\n return _registry;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/instantiation/common/extensions.js?')},"9hCq":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 graphic = __webpack_require__(\"IwbS\");\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar _treeHelper = __webpack_require__(\"VaxA\");\n\nvar wrapTreePathInfo = _treeHelper.wrapTreePathInfo;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 TEXT_PADDING = 8;\nvar ITEM_GAP = 8;\nvar ARRAY_LENGTH = 5;\n\nfunction Breadcrumb(containerGroup) {\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n this.group = new graphic.Group();\n containerGroup.add(this.group);\n}\n\nBreadcrumb.prototype = {\n constructor: Breadcrumb,\n 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'); // var emphasisStyleModel = model.getModel('emphasis.itemStyle');\n\n var textStyleModel = normalStyleModel.getModel('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, textStyleModel, onSelect);\n\n layout.positionElement(thisGroup, layoutParam.pos, layoutParam.box);\n },\n\n /**\n * Prepare render list and total width\n * @private\n */\n _prepare: function (targetNode, layoutParam, textStyleModel) {\n for (var node = targetNode; node; node = node.parentNode) {\n var text = 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 /**\n * @private\n */\n _renderContent: function (seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect) {\n // Start rendering.\n var lastX = 0;\n var emptyItemWidth = layoutParam.emptyItemWidth;\n var height = seriesModel.get('breadcrumb.height');\n var availableSize = layout.getAvailableSize(layoutParam.pos, layoutParam.box);\n var totalWidth = layoutParam.totalWidth;\n var renderList = layoutParam.renderList;\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 graphic.Polygon({\n shape: {\n points: makeItemPoints(lastX, 0, itemWidth, height, i === renderList.length - 1, i === 0)\n },\n style: zrUtil.defaults(normalStyleModel.getItemStyle(), {\n lineJoin: 'bevel',\n text: text,\n textFill: textStyleModel.getTextColor(),\n textFont: textStyleModel.getFont()\n }),\n z: 10,\n onclick: zrUtil.curry(onSelect, itemNode)\n });\n this.group.add(el);\n packEventData(el, seriesModel, itemNode);\n lastX += itemWidth + ITEM_GAP;\n }\n },\n\n /**\n * @override\n */\n remove: function () {\n this.group.removeAll();\n }\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 el.eventData = {\n componentType: 'series',\n componentSubType: 'treemap',\n componentIndex: seriesModel.componentIndex,\n seriesIndex: seriesModel.componentIndex,\n seriesName: seriesModel.name,\n seriesType: 'treemap',\n selfType: 'breadcrumb',\n // Distinguish with click event on treemap node.\n nodeData: {\n dataIndex: itemNode && itemNode.dataIndex,\n name: itemNode && itemNode.name\n },\n treePathInfo: itemNode && wrapTreePathInfo(itemNode, seriesModel)\n };\n}\n\nvar _default = Breadcrumb;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/treemap/Breadcrumb.js?")},"9u0u":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 \u516c\u7528\uff1f\n\n/**\n * @param {Array.} datas\n * @param {string} statisticType 'average' 'sum'\n * @inner\n */\nfunction dataStatistics(datas, statisticType) {\n var dataNameMap = {};\n zrUtil.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 _default(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 zrUtil.each(seriesGroups, function (seriesList, key) {\n var data = dataStatistics(zrUtil.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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/map/mapDataStatistic.js?")},"9wZj":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 graphic = __webpack_require__(\"IwbS\");\n\nvar SymbolClz = __webpack_require__(\"FBjb\");\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar isObject = _util.isObject;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/SymbolDraw\n */\n\n/**\n * @constructor\n * @alias module:echarts/chart/helper/SymbolDraw\n * @param {module:zrender/graphic/Group} [symbolCtor]\n */\nfunction SymbolDraw(symbolCtor) {\n this.group = new graphic.Group();\n this._symbolCtor = symbolCtor || SymbolClz;\n}\n\nvar symbolDrawProto = SymbolDraw.prototype;\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/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} [opt] Or isIgnore\n * @param {Function} [opt.isIgnore]\n * @param {Object} [opt.clipShape]\n */\n\n\nsymbolDrawProto.updateData = function (data, opt) {\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 seriesScope = makeSeriesScope(data); // 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 (!oldData) {\n group.removeAll();\n }\n\n data.diff(oldData).add(function (newIdx) {\n var point = data.getItemLayout(newIdx);\n\n if (symbolNeedsDraw(data, point, newIdx, opt)) {\n var symbolEl = new SymbolCtor(data, newIdx, seriesScope);\n symbolEl.attr('position', 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 = data.getItemLayout(newIdx);\n\n if (!symbolNeedsDraw(data, point, newIdx, opt)) {\n group.remove(symbolEl);\n return;\n }\n\n if (!symbolEl) {\n symbolEl = new SymbolCtor(data, newIdx);\n symbolEl.attr('position', point);\n } else {\n symbolEl.updateData(data, newIdx, seriesScope);\n graphic.updateProps(symbolEl, {\n position: point\n }, 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 });\n }).execute();\n this._data = data;\n};\n\nsymbolDrawProto.isPersistent = function () {\n return true;\n};\n\nsymbolDrawProto.updateLayout = function () {\n var data = this._data;\n\n if (data) {\n // Not use animation\n data.eachItemGraphicEl(function (el, idx) {\n var point = data.getItemLayout(idx);\n el.attr('position', point);\n });\n }\n};\n\nsymbolDrawProto.incrementalPrepareUpdate = function (data) {\n this._seriesScope = makeSeriesScope(data);\n this._data = null;\n this.group.removeAll();\n};\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} [opt] Or isIgnore\n * @param {Function} [opt.isIgnore]\n * @param {Object} [opt.clipShape]\n */\n\n\nsymbolDrawProto.incrementalUpdate = function (taskParams, data, opt) {\n opt = normalizeUpdateOpt(opt);\n\n function updateIncrementalAndHover(el) {\n if (!el.isGroup) {\n el.incremental = el.useHoverLayer = 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.attr('position', point);\n this.group.add(el);\n data.setItemGraphicEl(idx, el);\n }\n }\n};\n\nfunction normalizeUpdateOpt(opt) {\n if (opt != null && !isObject(opt)) {\n opt = {\n isIgnore: opt\n };\n }\n\n return opt || {};\n}\n\nsymbolDrawProto.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 });\n });\n } else {\n group.removeAll();\n }\n};\n\nfunction makeSeriesScope(data) {\n var seriesModel = data.hostModel;\n return {\n itemStyle: seriesModel.getModel('itemStyle').getItemStyle(['color']),\n hoverItemStyle: seriesModel.getModel('emphasis.itemStyle').getItemStyle(),\n symbolRotate: seriesModel.get('symbolRotate'),\n symbolOffset: seriesModel.get('symbolOffset'),\n hoverAnimation: seriesModel.get('hoverAnimation'),\n labelModel: seriesModel.getModel('label'),\n hoverLabelModel: seriesModel.getModel('emphasis.label'),\n cursorStyle: seriesModel.get('cursor')\n };\n}\n\nvar _default = SymbolDraw;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/SymbolDraw.js?")},"9yH6":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _radio__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("oOh1");\n/* harmony import */ var _group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("SiX+");\n/* harmony import */ var _radioButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("KNH7");\n\n\n\n\nvar Radio = _radio__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"];\nRadio.Button = _radioButton__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"];\nRadio.Group = _group__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"];\n\n/* harmony default export */ __webpack_exports__["default"] = (Radio);\n\n//# sourceURL=webpack:///./node_modules/antd/es/radio/index.js?')},"A+jI":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IStorageService; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return WillSaveStateReason; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return InMemoryStorageService; });\n/* harmony import */ var _instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cg/j");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MI8n");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("pmY6");\n/* harmony import */ var _base_common_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("746U");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar IStorageService = Object(_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__[/* createDecorator */ "c"])(\'storageService\');\r\nvar WillSaveStateReason;\r\n(function (WillSaveStateReason) {\r\n WillSaveStateReason[WillSaveStateReason["NONE"] = 0] = "NONE";\r\n WillSaveStateReason[WillSaveStateReason["SHUTDOWN"] = 1] = "SHUTDOWN";\r\n})(WillSaveStateReason || (WillSaveStateReason = {}));\r\nvar InMemoryStorageService = /** @class */ (function (_super) {\r\n __extends(InMemoryStorageService, _super);\r\n function InMemoryStorageService() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._onDidChangeStorage = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]());\r\n _this.onDidChangeStorage = _this._onDidChangeStorage.event;\r\n _this._onWillSaveState = _this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]());\r\n _this.onWillSaveState = _this._onWillSaveState.event;\r\n _this.globalCache = new Map();\r\n _this.workspaceCache = new Map();\r\n return _this;\r\n }\r\n InMemoryStorageService.prototype.getCache = function (scope) {\r\n return scope === 0 /* GLOBAL */ ? this.globalCache : this.workspaceCache;\r\n };\r\n InMemoryStorageService.prototype.get = function (key, scope, fallbackValue) {\r\n var value = this.getCache(scope).get(key);\r\n if (Object(_base_common_types_js__WEBPACK_IMPORTED_MODULE_3__[/* isUndefinedOrNull */ "l"])(value)) {\r\n return fallbackValue;\r\n }\r\n return value;\r\n };\r\n InMemoryStorageService.prototype.getBoolean = function (key, scope, fallbackValue) {\r\n var value = this.getCache(scope).get(key);\r\n if (Object(_base_common_types_js__WEBPACK_IMPORTED_MODULE_3__[/* isUndefinedOrNull */ "l"])(value)) {\r\n return fallbackValue;\r\n }\r\n return value === \'true\';\r\n };\r\n InMemoryStorageService.prototype.store = function (key, value, scope) {\r\n // We remove the key for undefined/null values\r\n if (Object(_base_common_types_js__WEBPACK_IMPORTED_MODULE_3__[/* isUndefinedOrNull */ "l"])(value)) {\r\n return this.remove(key, scope);\r\n }\r\n // Otherwise, convert to String and store\r\n var valueStr = String(value);\r\n // Return early if value already set\r\n var currentValue = this.getCache(scope).get(key);\r\n if (currentValue === valueStr) {\r\n return Promise.resolve();\r\n }\r\n // Update in cache\r\n this.getCache(scope).set(key, valueStr);\r\n // Events\r\n this._onDidChangeStorage.fire({ scope: scope, key: key });\r\n return Promise.resolve();\r\n };\r\n InMemoryStorageService.prototype.remove = function (key, scope) {\r\n var wasDeleted = this.getCache(scope).delete(key);\r\n if (!wasDeleted) {\r\n return Promise.resolve(); // Return early if value already deleted\r\n }\r\n // Events\r\n this._onDidChangeStorage.fire({ scope: scope, key: key });\r\n return Promise.resolve();\r\n };\r\n return InMemoryStorageService;\r\n}(_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__[/* Disposable */ "a"]));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/storage/common/storage.js?')},A1Ka:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 ComponentModel = __webpack_require__("bLfw");\n\nvar ComponentView = __webpack_require__("sS/r");\n\nvar _sourceHelper = __webpack_require__("D5nY");\n\nvar detectSourceFormat = _sourceHelper.detectSourceFormat;\n\nvar _sourceType = __webpack_require__("k9D9");\n\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 */\nComponentModel.extend({\n type: \'dataset\',\n\n /**\n * @protected\n */\n defaultOption: {\n // \'row\', \'column\'\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n // null/\'auto\': auto detect header, see "module:echarts/data/helper/sourceHelper"\n sourceHeader: null,\n dimensions: null,\n source: null\n },\n optionUpdated: function () {\n detectSourceFormat(this);\n }\n});\nComponentView.extend({\n type: \'dataset\'\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataset.js?')},A5Xg:function(module,exports,__webpack_require__){eval("// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(\"NsO/\");\nvar gOPN = __webpack_require__(\"ar/p\").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/core-js/library/modules/_object-gopn-ext.js?")},A90E:function(module,exports,__webpack_require__){eval('var isPrototype = __webpack_require__("6sVZ"),\n nativeKeys = __webpack_require__("V6Ve");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn\'t treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != \'constructor\') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_baseKeys.js?')},ACnJ:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return responsiveArray; });\n/* unused harmony export responsiveMap */\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nvar responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nvar responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nvar subscribers = [];\nvar subUid = -1;\nvar screens = {};\nvar responsiveObserve = {\n matchHandlers: {},\n dispatch: function dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(function (item) {\n item.func(screens);\n });\n return subscribers.length >= 1;\n },\n subscribe: function subscribe(func) {\n if (subscribers.length === 0) {\n this.register();\n }\n\n var token = (++subUid).toString();\n subscribers.push({\n token: token,\n func: func\n });\n func(screens);\n return token;\n },\n unsubscribe: function unsubscribe(token) {\n subscribers = subscribers.filter(function (item) {\n return item.token !== token;\n });\n\n if (subscribers.length === 0) {\n this.unregister();\n }\n },\n unregister: function unregister() {\n var _this = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var handler = _this.matchHandlers[matchMediaQuery];\n\n if (handler && handler.mql && handler.listener) {\n handler.mql.removeListener(handler.listener);\n }\n });\n },\n register: function register() {\n var _this2 = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n _this2.dispatch(_extends(_extends({}, screens), _defineProperty({}, screen, matches)));\n };\n\n var mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n _this2.matchHandlers[matchMediaQuery] = {\n mql: mql,\n listener: listener\n };\n listener(mql);\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (responsiveObserve);\n\n//# sourceURL=webpack:///./node_modules/antd/es/_util/responsiveObserve.js?")},AE9C:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar VisualMapView = __webpack_require__(\"crZl\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar _symbol = __webpack_require__(\"oVpE\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar helper = __webpack_require__(\"y7Aq\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PiecewiseVisualMapView = VisualMapView.extend({\n type: 'visualMap.piecewise',\n\n /**\n * @protected\n * @override\n */\n 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 = zrUtil.retrieve(visualMapModel.get('showLabel', true), !endsText);\n endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);\n zrUtil.each(viewData.viewPieceList, renderItem, this);\n endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);\n layout.box(visualMapModel.get('orient'), thisGroup, visualMapModel.get('itemGap'));\n this.renderBackground(thisGroup);\n this.positionGroup(thisGroup);\n\n function renderItem(item) {\n var piece = item.piece;\n var itemGroup = new graphic.Group();\n itemGroup.onclick = zrUtil.bind(this._onItemClick, this, piece);\n\n this._enableHoverLink(itemGroup, item.indexInModelPieceList);\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 graphic.Text({\n style: {\n x: itemAlign === 'right' ? -textGap : itemSize[0] + textGap,\n y: itemSize[1] / 2,\n text: piece.text,\n textVerticalAlign: 'middle',\n textAlign: itemAlign,\n textFont: textFont,\n textFill: textFill,\n opacity: visualState === 'outOfRange' ? 0.5 : 1\n }\n }));\n }\n\n thisGroup.add(itemGroup);\n }\n },\n\n /**\n * @private\n */\n _enableHoverLink: function (itemGroup, pieceIndex) {\n itemGroup.on('mouseover', zrUtil.bind(onHoverLink, this, 'highlight')).on('mouseout', zrUtil.bind(onHoverLink, this, 'downplay'));\n\n function onHoverLink(method) {\n var visualMapModel = this.visualMapModel;\n visualMapModel.option.hoverLink && this.api.dispatchAction({\n type: method,\n batch: helper.makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)\n });\n }\n },\n\n /**\n * @private\n */\n _getItemAlign: function () {\n var visualMapModel = this.visualMapModel;\n var modelOption = visualMapModel.option;\n\n if (modelOption.orient === 'vertical') {\n return helper.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 /**\n * @private\n */\n _renderEndsText: function (group, text, itemSize, showLabel, itemAlign) {\n if (!text) {\n return;\n }\n\n var itemGroup = new graphic.Group();\n var textStyleModel = this.visualMapModel.textStyleModel;\n itemGroup.add(new graphic.Text({\n style: {\n x: showLabel ? itemAlign === 'right' ? itemSize[0] : 0 : itemSize[0] / 2,\n y: itemSize[1] / 2,\n textVerticalAlign: 'middle',\n textAlign: showLabel ? itemAlign : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n group.add(itemGroup);\n },\n\n /**\n * @private\n * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.\n */\n _getViewData: function () {\n var visualMapModel = this.visualMapModel;\n var viewPieceList = zrUtil.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 /**\n * @private\n */\n _createItemSymbol: function (group, representValue, shapeParam) {\n group.add(createSymbol(this.getControllerVisual(representValue, 'symbol'), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], this.getControllerVisual(representValue, 'color')));\n },\n\n /**\n * @private\n */\n _onItemClick: function (piece) {\n var visualMapModel = this.visualMapModel;\n var option = visualMapModel.option;\n var selected = zrUtil.clone(option.selected);\n var newKey = visualMapModel.getSelectedMapKey(piece);\n\n if (option.selectedMode === 'single') {\n selected[newKey] = true;\n zrUtil.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});\nvar _default = PiecewiseVisualMapView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseView.js?")},AEZ6:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = __webpack_require__(\"T4UG\");\n\nvar createListFromArray = __webpack_require__(\"MwEJ\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = SeriesModel.extend({\n type: 'series.parallel',\n dependencies: ['parallel'],\n visualColorAccessPath: 'lineStyle.color',\n getInitialData: function (option, ecModel) {\n var source = this.getSource();\n setEncodeAndDimensions(source, this);\n return createListFromArray(source, this);\n },\n\n /**\n * User can get data raw indices on 'axisAreaSelected' event received.\n *\n * @public\n * @param {string} activeState 'active' or 'inactive' or 'normal'\n * @return {Array.} Raw indices\n */\n 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 defaultOption: {\n zlevel: 0,\n // \u4e00\u7ea7\u5c42\u53e0\n z: 2,\n // \u4e8c\u7ea7\u5c42\u53e0\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 // true | false | number\n animationEasing: 'linear'\n }\n});\n\nfunction setEncodeAndDimensions(source, 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 if (source.encodeDefine) {\n return;\n }\n\n var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n if (!parallelModel) {\n return;\n }\n\n var encodeDefine = source.encodeDefine = createHashMap();\n each(parallelModel.dimensions, function (axisDim) {\n var dataDimIndex = convertDimNameToNumber(axisDim);\n encodeDefine.set(axisDim, dataDimIndex);\n });\n}\n\nfunction convertDimNameToNumber(dimName) {\n return +dimName.replace('dim', '');\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/parallel/ParallelSeries.js?")},AH3D:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("y4/Y");\n\n__webpack_require__("qWt2");\n\n__webpack_require__("Qvb6");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Better way to pack data in graphic element\n\n/**\n * @action\n * @property {string} type\n * @property {number} seriesIndex\n * @property {number} dataIndex\n * @property {number} [x]\n * @property {number} [y]\n */\necharts.registerAction({\n type: \'showTip\',\n event: \'showTip\',\n update: \'tooltip:manuallyShowTip\'\n}, // noop\nfunction () {});\necharts.registerAction({\n type: \'hideTip\',\n event: \'hideTip\',\n update: \'tooltip:manuallyHideTip\'\n}, // noop\nfunction () {});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip.js?')},AKMP:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return standardMouseMoveMerger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GlobalMouseMoveMonitor; });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("EffR");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MNsG");\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("D3Dy");\n/* harmony import */ var _iframe_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("51f4");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("XSiN");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("pmY6");\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("CjF5");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction standardMouseMoveMerger(lastEvent, currentEvent) {\r\n var ev = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__[/* StandardMouseEvent */ "a"](currentEvent);\r\n ev.preventDefault();\r\n return {\r\n leftButton: ev.leftButton,\r\n buttons: ev.buttons,\r\n posx: ev.posx,\r\n posy: ev.posy\r\n };\r\n}\r\nvar GlobalMouseMoveMonitor = /** @class */ (function () {\r\n function GlobalMouseMoveMonitor() {\r\n this._hooks = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__[/* DisposableStore */ "b"]();\r\n this._mouseMoveEventMerger = null;\r\n this._mouseMoveCallback = null;\r\n this._onStopCallback = null;\r\n }\r\n GlobalMouseMoveMonitor.prototype.dispose = function () {\r\n this.stopMonitoring(false);\r\n this._hooks.dispose();\r\n };\r\n GlobalMouseMoveMonitor.prototype.stopMonitoring = function (invokeStopCallback) {\r\n if (!this.isMonitoring()) {\r\n // Not monitoring\r\n return;\r\n }\r\n // Unhook\r\n this._hooks.clear();\r\n this._mouseMoveEventMerger = null;\r\n this._mouseMoveCallback = null;\r\n var onStopCallback = this._onStopCallback;\r\n this._onStopCallback = null;\r\n if (invokeStopCallback && onStopCallback) {\r\n onStopCallback();\r\n }\r\n };\r\n GlobalMouseMoveMonitor.prototype.isMonitoring = function () {\r\n return !!this._mouseMoveEventMerger;\r\n };\r\n GlobalMouseMoveMonitor.prototype.startMonitoring = function (initialElement, initialButtons, mouseMoveEventMerger, mouseMoveCallback, onStopCallback) {\r\n var _this = this;\r\n if (this.isMonitoring()) {\r\n // I am already hooked\r\n return;\r\n }\r\n this._mouseMoveEventMerger = mouseMoveEventMerger;\r\n this._mouseMoveCallback = mouseMoveCallback;\r\n this._onStopCallback = onStopCallback;\r\n var windowChain = _iframe_js__WEBPACK_IMPORTED_MODULE_3__[/* IframeUtils */ "a"].getSameOriginWindowChain();\r\n var mouseMove = _common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isIOS */ "c"] && _canIUse_js__WEBPACK_IMPORTED_MODULE_6__[/* BrowserFeatures */ "a"].pointerEvents ? \'pointermove\' : \'mousemove\';\r\n var mouseUp = _common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isIOS */ "c"] && _canIUse_js__WEBPACK_IMPORTED_MODULE_6__[/* BrowserFeatures */ "a"].pointerEvents ? \'pointerup\' : \'mouseup\';\r\n var listenTo = windowChain.map(function (element) { return element.window.document; });\r\n var shadowRoot = _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* getShadowRoot */ "D"](initialElement);\r\n if (shadowRoot) {\r\n listenTo.unshift(shadowRoot);\r\n }\r\n for (var _i = 0, listenTo_1 = listenTo; _i < listenTo_1.length; _i++) {\r\n var element = listenTo_1[_i];\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableThrottledListener */ "l"](element, mouseMove, function (data) {\r\n if (!_browser_js__WEBPACK_IMPORTED_MODULE_2__[/* isIE */ "i"] && data.buttons !== initialButtons) {\r\n // Buttons state has changed in the meantime\r\n _this.stopMonitoring(true);\r\n return;\r\n }\r\n _this._mouseMoveCallback(data);\r\n }, function (lastEvent, currentEvent) { return _this._mouseMoveEventMerger(lastEvent, currentEvent); }));\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](element, mouseUp, function (e) { return _this.stopMonitoring(true); }));\r\n }\r\n if (_iframe_js__WEBPACK_IMPORTED_MODULE_3__[/* IframeUtils */ "a"].hasDifferentOriginAncestor()) {\r\n var lastSameOriginAncestor = windowChain[windowChain.length - 1];\r\n // We might miss a mouse up if it happens outside the iframe\r\n // This one is for Chrome\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](lastSameOriginAncestor.window.document, \'mouseout\', function (browserEvent) {\r\n var e = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__[/* StandardMouseEvent */ "a"](browserEvent);\r\n if (e.target.tagName.toLowerCase() === \'html\') {\r\n _this.stopMonitoring(true);\r\n }\r\n }));\r\n // This one is for FF\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](lastSameOriginAncestor.window.document, \'mouseover\', function (browserEvent) {\r\n var e = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__[/* StandardMouseEvent */ "a"](browserEvent);\r\n if (e.target.tagName.toLowerCase() === \'html\') {\r\n _this.stopMonitoring(true);\r\n }\r\n }));\r\n // This one is for IE\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](lastSameOriginAncestor.window.document.body, \'mouseleave\', function (browserEvent) {\r\n _this.stopMonitoring(true);\r\n }));\r\n }\r\n };\r\n return GlobalMouseMoveMonitor;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js?')},ALo7:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar createListSimply = __webpack_require__(\"5GtS\");\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar _sourceHelper = __webpack_require__(\"D5nY\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = __webpack_require__(\"xKMd\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 FunnelSeries = echarts.extendSeriesModel({\n type: 'series.funnel',\n init: function (option) {\n FunnelSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this)); // Extend labelLine emphasis\n\n this._defaultLabelLine(option);\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n 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 // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = FunnelSeries.superCall(this, 'getDataParams', dataIndex);\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 defaultOption: {\n zlevel: 0,\n // \u4e00\u7ea7\u5c42\u53e0\n z: 2,\n // \u4e8c\u7ea7\u5c42\u53e0\n legendHoverLink: true,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n // \u9ed8\u8ba4\u53d6\u6570\u636e\u6700\u5c0f\u6700\u5927\u503c\n // min: 0,\n // max: 100,\n minSize: '0%',\n maxSize: '100%',\n sort: 'descending',\n // 'ascending', 'descending'\n gap: 0,\n funnelAlign: 'center',\n label: {\n show: true,\n position: 'outer' // formatter: \u6807\u7b7e\u6587\u672c\u683c\u5f0f\u5668\uff0c\u540cTooltip.formatter\uff0c\u4e0d\u652f\u6301\u5f02\u6b65\u56de\u8c03\n\n },\n labelLine: {\n show: true,\n length: 20,\n lineStyle: {\n // color: \u5404\u5f02,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n // color: \u5404\u5f02,\n borderColor: '#fff',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = FunnelSeries;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/funnel/FunnelSeries.js?")},ANhw:function(module,exports){eval("(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n\n\n//# sourceURL=webpack:///./node_modules/crypt/crypt.js?")},ANjR:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.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 _default(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: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/prepareCustom.js?')},AOa7:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/breadcrumb/style/index.less?")},AUH6:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar BoundingRect = __webpack_require__("mFDi");\n\nvar View = __webpack_require__("bMXI");\n\nvar geoSourceManager = __webpack_require__("W4dC");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: \'geo\',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: [\'lng\', \'lat\'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n 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 BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === \'string\') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, \'dataToPoint\'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, \'pointToData\')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents(\'geo\')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/Geo.js?')},AUvm:function(module,exports,__webpack_require__){"use strict";eval('\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__("5T2Y");\nvar has = __webpack_require__("B+OT");\nvar DESCRIPTORS = __webpack_require__("jmDH");\nvar $export = __webpack_require__("Y7ZC");\nvar redefine = __webpack_require__("kTiW");\nvar META = __webpack_require__("6/1s").KEY;\nvar $fails = __webpack_require__("KUxP");\nvar shared = __webpack_require__("29s/");\nvar setToStringTag = __webpack_require__("RfKB");\nvar uid = __webpack_require__("YqAc");\nvar wks = __webpack_require__("UWiX");\nvar wksExt = __webpack_require__("zLkG");\nvar wksDefine = __webpack_require__("Zxgi");\nvar enumKeys = __webpack_require__("R+7+");\nvar isArray = __webpack_require__("kAMH");\nvar anObject = __webpack_require__("5K7Z");\nvar isObject = __webpack_require__("93I4");\nvar toObject = __webpack_require__("JB68");\nvar toIObject = __webpack_require__("NsO/");\nvar toPrimitive = __webpack_require__("G8Mo");\nvar createDesc = __webpack_require__("rr1i");\nvar _create = __webpack_require__("oVml");\nvar gOPNExt = __webpack_require__("A5Xg");\nvar $GOPD = __webpack_require__("vwuL");\nvar $GOPS = __webpack_require__("mqlF");\nvar $DP = __webpack_require__("2faE");\nvar $keys = __webpack_require__("w6GO");\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__("ar/p").f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__("NV0k").f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__("uOPS")) {\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__("NegM")($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/core-js/library/modules/es6.symbol.js?')},AVZG:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\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 (zrUtil.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}\n\nexports.layout = layout;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js?")},AbCa:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/find/findWidget.css?")},"Ae+d":function(module,exports){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n */\nfunction updateViewOnPan(controllerHost, dx, dy) {\n var target = controllerHost.target;\n var pos = target.position;\n pos[0] += dx;\n pos[1] += dy;\n target.dirty();\n}\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n * @param {number} controllerHost.zoom\n * @param {number} controllerHost.zoomLimit like: {min: 1, max: 2}\n */\n\n\nfunction updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {\n var target = controllerHost.target;\n var zoomLimit = controllerHost.zoomLimit;\n var pos = target.position;\n var scale = target.scale;\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 pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);\n pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);\n scale[0] *= zoomScale;\n scale[1] *= zoomScale;\n target.dirty();\n}\n\nexports.updateViewOnPan = updateViewOnPan;\nexports.updateViewOnZoom = updateViewOnZoom;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/roamHelper.js?')},Ae16:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar zrUtil = __webpack_require__("bYtY");\n\nvar graphic = __webpack_require__("IwbS");\n\n__webpack_require__("Wqna");\n\n__webpack_require__("rySg");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid view\necharts.extendComponentView({\n type: \'grid\',\n render: function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get(\'show\')) {\n this.group.add(new graphic.Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: zrUtil.defaults({\n fill: gridModel.get(\'backgroundColor\')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n }\n});\necharts.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/gridSimple.js?')},ApJL:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'clojure',\r\n extensions: ['.clj', '.cljs', '.cljc', '.edn'],\r\n aliases: ['clojure', 'Clojure'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 170).then(__webpack_require__.bind(null, \"AoeA\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js?")},Awhp:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("PQMj");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/badge/style/index.js?')},AyUB:function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("3GJH"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/object/create.js?')},"B+YJ":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n__webpack_require__("TYVI");\n\n__webpack_require__("p1MT");\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/gauge.js?')},"B6l+":function(module,exports,__webpack_require__){eval("var createPadding = __webpack_require__(\"Sq3C\"),\n stringSize = __webpack_require__(\"Z1HP\"),\n toInteger = __webpack_require__(\"Sxd8\"),\n toString = __webpack_require__(\"dt0z\");\n\n/**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\nfunction padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n}\n\nmodule.exports = padEnd;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/padEnd.js?")},B8du:function(module,exports){eval("/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/stubFalse.js?")},B9cy:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("0XgM");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/layout/style/index.js?')},B9fm:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar zrColor = __webpack_require__(\"Qe9p\");\n\nvar eventUtil = __webpack_require__(\"YH21\");\n\nvar domUtil = __webpack_require__(\"Ze12\");\n\nvar env = __webpack_require__(\"ItGF\");\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar toCamelCase = formatUtil.toCamelCase;\nvar vendors = ['', '-webkit-', '-moz-', '-o-'];\nvar gCssText = 'position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;';\n/**\n * @param {number} duration\n * @return {string}\n * @inner\n */\n\nfunction assembleTransition(duration) {\n var transitionCurve = 'cubic-bezier(0.23, 1, 0.32, 1)';\n var transitionText = 'left ' + duration + 's ' + transitionCurve + ',' + 'top ' + duration + 's ' + transitionCurve;\n return zrUtil.map(vendors, function (vendorPrefix) {\n return vendorPrefix + 'transition:' + transitionText;\n }).join(';');\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 && cssText.push('line-height:' + Math.round(fontSize * 3 / 2) + 'px');\n 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/**\n * @param {Object} tooltipModel\n * @return {string}\n * @inner\n */\n\n\nfunction assembleCssText(tooltipModel) {\n var cssText = [];\n var transitionDuration = tooltipModel.get('transitionDuration');\n var backgroundColor = tooltipModel.get('backgroundColor');\n var textStyleModel = tooltipModel.getModel('textStyle');\n var padding = tooltipModel.get('padding'); // Animation transition. Do not animate when transitionDuration is 0.\n\n transitionDuration && cssText.push(assembleTransition(transitionDuration));\n\n if (backgroundColor) {\n if (env.canvasSupported) {\n cssText.push('background-Color:' + backgroundColor);\n } else {\n // for ie\n cssText.push('background-Color:#' + zrColor.toHex(backgroundColor));\n cssText.push('filter:alpha(opacity=70)');\n }\n } // Border style\n\n\n each(['width', 'color', 'radius'], function (name) {\n var borderName = 'border-' + name;\n var camelCase = 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:' + formatUtil.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 domUtil.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/**\n * @alias module:echarts/component/tooltip/TooltipContent\n * @param {HTMLElement} container\n * @param {ExtensionAPI} api\n * @param {Object} [opt]\n * @param {boolean} [opt.appendToBody]\n * `false`: the DOM element will be inside the container. Default value.\n * `true`: the DOM element will be appended to HTML body, which avoid\n * some overflow clip but intrude outside of the container.\n * @constructor\n */\n\n\nfunction TooltipContent(container, api, opt) {\n if (env.wxa) {\n return null;\n }\n\n var el = document.createElement('div');\n el.domBelongToZr = true;\n this.el = el;\n var zr = this._zr = api.getZr();\n var appendToBody = this._appendToBody = opt && opt.appendToBody;\n this._styleCoord = [0, 0];\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;\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout; // 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 eventUtil.normalizeEvent(zrViewportRoot, e, true);\n handler.dispatch('mousemove', e);\n }\n };\n\n el.onmouseleave = function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n };\n}\n\nTooltipContent.prototype = {\n constructor: TooltipContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function () {\n // FIXME\n // Move this logic to ec main?\n var container = this._container;\n var stl = container.currentStyle || document.defaultView.getComputedStyle(container);\n var domStyle = container.style;\n\n if (domStyle.position !== 'absolute' && stl.position !== 'absolute') {\n domStyle.position = 'relative';\n } // Hide the tooltip\n // PENDING\n // this.hide();\n\n },\n show: function (tooltipModel) {\n clearTimeout(this._hideTimeout);\n var el = this.el;\n var styleCoord = this._styleCoord;\n el.style.cssText = gCssText + assembleCssText(tooltipModel) // Because of the reason described in:\n // http://stackoverflow.com/questions/21125587/css3-transition-not-working-in-chrome-anymore\n // we should set initial value to `left` and `top`.\n + ';left:' + styleCoord[0] + 'px;top:' + styleCoord[1] + 'px;' + (tooltipModel.get('extraCssText') || '');\n el.style.display = el.innerHTML ? 'block' : 'none'; // If mouse occsionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cuase some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not suppored by IE8~IE10, fortunately it is a rare\n // scenario.\n\n el.style.pointerEvents = this._enterable ? 'auto' : 'none';\n this._show = true;\n },\n setContent: function (content) {\n this.el.innerHTML = content == null ? '' : content;\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var el = this.el;\n return [el.clientWidth, el.clientHeight];\n },\n moveTo: function (zrX, zrY) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, this._appendToBody, zrX, zrY);\n var style = this.el.style;\n style.left = styleCoord[0] + 'px';\n style.top = styleCoord[1] + 'px';\n },\n hide: function () {\n this.el.style.display = 'none';\n this._show = false;\n },\n 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 mutiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n dispose: function () {\n this.el.parentNode.removeChild(this.el);\n },\n getOuterSize: function () {\n var width = this.el.clientWidth;\n var height = this.el.clientHeight; // Consider browser compatibility.\n // IE8 does not support getComputedStyle.\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n var stl = document.defaultView.getComputedStyle(this.el);\n\n if (stl) {\n width += parseInt(stl.borderLeftWidth, 10) + parseInt(stl.borderRightWidth, 10);\n height += parseInt(stl.borderTopWidth, 10) + parseInt(stl.borderBottomWidth, 10);\n }\n }\n\n return {\n width: width,\n height: height\n };\n }\n};\nvar _default = TooltipContent;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/tooltip/TooltipContent.js?")},BEdG:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'xml',\r\n extensions: ['.xml', '.dtd', '.ascx', '.csproj', '.config', '.wxi', '.wxl', '.wxs', '.xaml', '.svg', '.svgz', '.opf', '.xsl'],\r\n firstLine: '(\\\\<\\\\?xml.*)|(\\\\\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n//# sourceURL=webpack:///./node_modules/is-buffer/index.js?")},BFtn:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createScopedLineTokens; });\n/* unused harmony export ScopedLineTokens */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ignoreBracketsInToken; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nfunction createScopedLineTokens(context, offset) {\r\n var tokenCount = context.getCount();\r\n var tokenIndex = context.findTokenIndexAtOffset(offset);\r\n var desiredLanguageId = context.getLanguageId(tokenIndex);\r\n var lastTokenIndex = tokenIndex;\r\n while (lastTokenIndex + 1 < tokenCount && context.getLanguageId(lastTokenIndex + 1) === desiredLanguageId) {\r\n lastTokenIndex++;\r\n }\r\n var firstTokenIndex = tokenIndex;\r\n while (firstTokenIndex > 0 && context.getLanguageId(firstTokenIndex - 1) === desiredLanguageId) {\r\n firstTokenIndex--;\r\n }\r\n return new ScopedLineTokens(context, desiredLanguageId, firstTokenIndex, lastTokenIndex + 1, context.getStartOffset(firstTokenIndex), context.getEndOffset(lastTokenIndex));\r\n}\r\nvar ScopedLineTokens = /** @class */ (function () {\r\n function ScopedLineTokens(actual, languageId, firstTokenIndex, lastTokenIndex, firstCharOffset, lastCharOffset) {\r\n this._actual = actual;\r\n this.languageId = languageId;\r\n this._firstTokenIndex = firstTokenIndex;\r\n this._lastTokenIndex = lastTokenIndex;\r\n this.firstCharOffset = firstCharOffset;\r\n this._lastCharOffset = lastCharOffset;\r\n }\r\n ScopedLineTokens.prototype.getLineContent = function () {\r\n var actualLineContent = this._actual.getLineContent();\r\n return actualLineContent.substring(this.firstCharOffset, this._lastCharOffset);\r\n };\r\n ScopedLineTokens.prototype.getActualLineContentBefore = function (offset) {\r\n var actualLineContent = this._actual.getLineContent();\r\n return actualLineContent.substring(0, this.firstCharOffset + offset);\r\n };\r\n ScopedLineTokens.prototype.getTokenCount = function () {\r\n return this._lastTokenIndex - this._firstTokenIndex;\r\n };\r\n ScopedLineTokens.prototype.findTokenIndexAtOffset = function (offset) {\r\n return this._actual.findTokenIndexAtOffset(offset + this.firstCharOffset) - this._firstTokenIndex;\r\n };\r\n ScopedLineTokens.prototype.getStandardTokenType = function (tokenIndex) {\r\n return this._actual.getStandardTokenType(tokenIndex + this._firstTokenIndex);\r\n };\r\n return ScopedLineTokens;\r\n}());\r\n\r\nfunction ignoreBracketsInToken(standardTokenType) {\r\n return (standardTokenType & 7 /* value */) !== 0;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/modes/supports.js?')},BMrR:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _grid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("qrJ5");\n\n/* harmony default export */ __webpack_exports__["a"] = (_grid__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);\n\n//# sourceURL=webpack:///./node_modules/antd/es/row/index.js?')},BPZU:function(module,exports){eval("// https://github.com/mziccard/node-timsort\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\n\nfunction minRunLength(n) {\n var r = 0;\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n\n return n + r;\n}\n\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n\n if (runHi === hi) {\n return 1;\n }\n\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n\n reverseRun(array, lo, runHi);\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n\n return runHi - lo;\n}\n\nfunction reverseRun(array, lo, hi) {\n hi--;\n\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\n\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n\n while (left < right) {\n mid = left + right >>> 1;\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n } else {\n left = mid + 1;\n }\n }\n\n var n = start - left;\n\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n\n case 2:\n array[left + 2] = array[left + 1];\n\n case 1:\n array[left + 1] = array[left];\n break;\n\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n\n }\n\n array[left] = pivot;\n }\n}\n\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n } else {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n } else {\n offset = m;\n }\n }\n\n return offset;\n}\n\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n } else {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n } else {\n lastOffset = m + 1;\n }\n }\n\n return offset;\n}\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\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n } else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n\n mergeAt(n);\n }\n }\n\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n\n mergeAt(n);\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\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n\n if (length1 === 0) {\n return;\n }\n\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n\n if (length2 === 0) {\n return;\n }\n\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n } else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n return;\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n return;\n }\n\n var _minGallop = minGallop;\n var count1;\n var count2;\n var exit;\n\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = tmp[cursor1++];\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n } else if (length1 === 0) {\n throw new Error(); // throw new Error('mergeLow preconditions were not respected');\n } else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\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\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n\n return;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n return;\n }\n\n var _minGallop = minGallop;\n\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = tmp[cursor2--];\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n\n if (minGallop < 1) {\n minGallop = 1;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n } else if (length2 === 0) {\n throw new Error(); // throw new Error('mergeHigh preconditions were not respected');\n } else {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n\n this.mergeRuns = mergeRuns;\n this.forceMergeRuns = forceMergeRuns;\n this.pushRun = pushRun;\n}\n\nfunction sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n\n if (!hi) {\n hi = array.length;\n }\n\n var remaining = hi - lo;\n\n if (remaining < 2) {\n return;\n }\n\n var runLength = 0;\n\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\n var ts = new TimSort(array, compare);\n var minRun = minRunLength(remaining);\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n\n if (runLength < minRun) {\n var force = remaining;\n\n if (force > minRun) {\n force = minRun;\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n\n ts.forceMergeRuns();\n}\n\nmodule.exports = sort;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/timsort.js?")},BUKB:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'tcl',\r\n extensions: ['.tcl'],\r\n aliases: ['tcl', 'Tcl', 'tcltk', 'TclTk', 'tcl/tk', 'Tcl/Tk'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 217).then(__webpack_require__.bind(null, \"xT+r\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js?")},Bd2K:function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/**\n * Tag-closer extension for CodeMirror.\n *\n * This extension adds an "autoCloseTags" option that can be set to\n * either true to get the default behavior, or an object to further\n * configure its behavior.\n *\n * These are supported options:\n *\n * `whenClosing` (default true)\n * Whether to autoclose when the \'/\' of a closing tag is typed.\n * `whenOpening` (default true)\n * Whether to autoclose the tag when the final \'>\' of an opening\n * tag is typed.\n * `dontCloseTags` (default is empty tags for HTML, none for XML)\n * An array of tag names that should not be autoclosed.\n * `indentTags` (default is block tags for HTML, none for XML)\n * An array of tag names that should, when opened, cause a\n * blank line to be added inside the tag, and the blank line and\n * closing line to be indented.\n * `emptyTags` (default is none)\n * An array of XML tag names that should be autoclosed with \'/>\'.\n *\n * See demos/closetag.html for a usage example.\n */\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__("VrN/"), __webpack_require__("osHv"));\n else {}\n})(function(CodeMirror) {\n CodeMirror.defineOption("autoCloseTags", false, function(cm, val, old) {\n if (old != CodeMirror.Init && old)\n cm.removeKeyMap("autoCloseTags");\n if (!val) return;\n var map = {name: "autoCloseTags"};\n if (typeof val != "object" || val.whenClosing !== false)\n map["\'/\'"] = function(cm) { return autoCloseSlash(cm); };\n if (typeof val != "object" || val.whenOpening !== false)\n map["\'>\'"] = function(cm) { return autoCloseGT(cm); };\n cm.addKeyMap(map);\n });\n\n var htmlDontClose = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param",\n "source", "track", "wbr"];\n var htmlIndent = ["applet", "blockquote", "body", "button", "div", "dl", "fieldset", "form", "frameset", "h1", "h2", "h3", "h4",\n "h5", "h6", "head", "html", "iframe", "layer", "legend", "object", "ol", "p", "select", "table", "ul"];\n\n function autoCloseGT(cm) {\n if (cm.getOption("disableInput")) return CodeMirror.Pass;\n var ranges = cm.listSelections(), replacements = [];\n var opt = cm.getOption("autoCloseTags");\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var pos = ranges[i].head, tok = cm.getTokenAt(pos);\n var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;\n var tagInfo = inner.mode.xmlCurrentTag && inner.mode.xmlCurrentTag(state)\n var tagName = tagInfo && tagInfo.name\n if (!tagName) return CodeMirror.Pass\n\n var html = inner.mode.configuration == "html";\n var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose);\n var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent);\n\n if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch);\n var lowerTagName = tagName.toLowerCase();\n // Don\'t process the \'>\' at the end of an end-tag or self-closing tag\n if (!tagName ||\n tok.type == "string" && (tok.end != pos.ch || !/[\\"\\\']/.test(tok.string.charAt(tok.string.length - 1)) || tok.string.length == 1) ||\n tok.type == "tag" && tagInfo.close ||\n tok.string.indexOf("/") == (pos.ch - tok.start - 1) || // match something like \n dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1 ||\n closingTagExists(cm, inner.mode.xmlCurrentContext && inner.mode.xmlCurrentContext(state) || [], tagName, pos, true))\n return CodeMirror.Pass;\n\n var emptyTags = typeof opt == "object" && opt.emptyTags;\n if (emptyTags && indexOf(emptyTags, tagName) > -1) {\n replacements[i] = { text: "/>", newPos: CodeMirror.Pos(pos.line, pos.ch + 2) };\n continue;\n }\n\n var indent = indentTags && indexOf(indentTags, lowerTagName) > -1;\n replacements[i] = {indent: indent,\n text: ">" + (indent ? "\\n\\n" : "") + "",\n newPos: indent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1)};\n }\n\n var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnAutoClose);\n for (var i = ranges.length - 1; i >= 0; i--) {\n var info = replacements[i];\n cm.replaceRange(info.text, ranges[i].head, ranges[i].anchor, "+insert");\n var sel = cm.listSelections().slice(0);\n sel[i] = {head: info.newPos, anchor: info.newPos};\n cm.setSelections(sel);\n if (!dontIndentOnAutoClose && info.indent) {\n cm.indentLine(info.newPos.line, null, true);\n cm.indentLine(info.newPos.line + 1, null, true);\n }\n }\n }\n\n function autoCloseCurrent(cm, typingSlash) {\n var ranges = cm.listSelections(), replacements = [];\n var head = typingSlash ? "/" : "") replacement += ">";\n replacements[i] = replacement;\n }\n cm.replaceSelections(replacements);\n ranges = cm.listSelections();\n if (!dontIndentOnAutoClose) {\n for (var i = 0; i < ranges.length; i++)\n if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line)\n cm.indentLine(ranges[i].head.line);\n }\n }\n\n function autoCloseSlash(cm) {\n if (cm.getOption("disableInput")) return CodeMirror.Pass;\n return autoCloseCurrent(cm, true);\n }\n\n CodeMirror.commands.closeTag = function(cm) { return autoCloseCurrent(cm); };\n\n function indexOf(collection, elt) {\n if (collection.indexOf) return collection.indexOf(elt);\n for (var i = 0, e = collection.length; i < e; ++i)\n if (collection[i] == elt) return i;\n return -1;\n }\n\n // If xml-fold is loaded, we use its functionality to try and verify\n // whether a given tag is actually unclosed.\n function closingTagExists(cm, context, tagName, pos, newTag) {\n if (!CodeMirror.scanForClosingTag) return false;\n var end = Math.min(cm.lastLine() + 1, pos.line + 500);\n var nextClose = CodeMirror.scanForClosingTag(cm, pos, null, end);\n if (!nextClose || nextClose.tag != tagName) return false;\n // If the immediate wrapping context contains onCx instances of\n // the same tag, a closing tag only exists if there are at least\n // that many closing tags of that type following.\n var onCx = newTag ? 1 : 0\n for (var i = context.length - 1; i >= 0; i--) {\n if (context[i] == tagName) ++onCx\n else break\n }\n pos = nextClose.to;\n for (var i = 1; i < onCx; i++) {\n var next = CodeMirror.scanForClosingTag(cm, pos, null, end);\n if (!next || next.tag != tagName) return false;\n pos = next.to;\n }\n return true;\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/edit/closetag.js?')},BlVb:function(module,exports,__webpack_require__){eval('var windingLine = __webpack_require__("hyiK");\n\nvar EPSILON = 1e-8;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n}\n\nfunction contain(points, x, y) {\n var w = 0;\n var p = points[0];\n\n if (!p) {\n return false;\n }\n\n for (var i = 1; i < points.length; i++) {\n var p2 = points[i];\n w += windingLine(p[0], p[1], p2[0], p2[1], x, y);\n p = p2;\n } // Close polygon\n\n\n var p0 = points[0];\n\n if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {\n w += windingLine(p[0], p[1], p0[0], p0[1], x, y);\n }\n\n return w !== 0;\n}\n\nexports.contain = contain;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/contain/polygon.js?')},Bq2U:function(module,exports,__webpack_require__){eval("var Clip = __webpack_require__(\"RDYZ\");\n\nvar color = __webpack_require__(\"Qe9p\");\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\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 } 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}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value === 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * Set Animation keyframe\n * @param {number} time \u5173\u952e\u5e27\u65f6\u95f4\uff0c\u5355\u4f4d\u662fms\n * @param {Object} props \u5173\u952e\u5e27\u7684\u5c5e\u6027\u503c\uff0ckey-value\u8868\u793a\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * \u6dfb\u52a0\u52a8\u753b\u6bcf\u4e00\u5e27\u7684\u56de\u8c03\u51fd\u6570\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * Start the animation\n * @param {string|Function} [easing]\n * \u52a8\u753b\u7f13\u52a8\u51fd\u6570\uff0c\u8be6\u89c1{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * Stop animation\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * Set when animation delay starts\n * @param {number} time \u5355\u4f4dms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * Add callback for animation end\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/animation/Animator.js?")},Bqw1:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar MinusSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "minus-square", "theme": "outlined" };\nexports.default = MinusSquareOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/MinusSquareOutlined.js?')},Bsck:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar linkList = __webpack_require__(\"Mdki\");\n\nvar List = __webpack_require__(\"YXkt\");\n\nvar createDimensions = __webpack_require__(\"sdST\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 * @module echarts/data/Tree\n */\n\n/**\n * @constructor module:echarts/data/Tree~TreeNode\n * @param {string} name\n * @param {module:echarts/data/Tree} hostTree\n */\nvar TreeNode = function (name, hostTree) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * Depth of node\n *\n * @type {number}\n * @readOnly\n */\n\n this.depth = 0;\n /**\n * Height of the subtree rooted at this node.\n * @type {number}\n * @readOnly\n */\n\n this.height = 0;\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n\n this.parentNode = null;\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 * @type {Object}\n * @readOnly\n */\n\n this.dataIndex = -1;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.children = [];\n /**\n * @type {Array.}\n * @pubilc\n */\n\n this.viewChildren = [];\n /**\n * @type {moduel:echarts/data/Tree}\n * @readOnly\n */\n\n this.hostTree = hostTree;\n};\n\nTreeNode.prototype = {\n constructor: TreeNode,\n\n /**\n * The node is removed.\n * @return {boolean} is removed.\n */\n isRemoved: function () {\n return this.dataIndex < 0;\n },\n\n /**\n * Travel this subtree (include this node).\n * Usage:\n * node.eachNode(function () { ... }); // preorder\n * node.eachNode('preorder', function () { ... }); // preorder\n * node.eachNode('postorder', function () { ... }); // postorder\n * node.eachNode(\n * {order: 'postorder', attr: 'viewChildren'},\n * function () { ... }\n * ); // postorder\n *\n * @param {(Object|string)} options If string, means order.\n * @param {string=} options.order 'preorder' or 'postorder'\n * @param {string=} options.attr 'children' or 'viewChildren'\n * @param {Function} cb If in preorder and return false,\n * its subtree will not be visited.\n * @param {Object} [context]\n */\n eachNode: function (options, cb, context) {\n if (typeof options === 'function') {\n context = cb;\n cb = options;\n options = null;\n }\n\n options = options || {};\n\n if (zrUtil.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 /**\n * Update depth and height of this subtree.\n *\n * @param {number} depth\n */\n 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 /**\n * @param {string} id\n * @return {module:echarts/data/Tree~TreeNode}\n */\n 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 /**\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {boolean}\n */\n 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 /**\n * @param {boolean} includeSelf Default false.\n * @return {Array.} order: [root, child, grandchild, ...]\n */\n 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 /**\n * @param {string|Array=} [dimension='value'] Default 'value'. can be 0, 1, 2, 3\n * @return {number} Value.\n */\n getValue: function (dimension) {\n var data = this.hostTree.data;\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object} layout\n * @param {boolean=} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object} layout\n */\n getLayout: function () {\n return this.hostTree.data.getItemLayout(this.dataIndex);\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n 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 var levelModel = this.getLevelModel(); // FIXME: refactor levelModel to \"beforeLink\", and remove levelModel here.\n\n if (levelModel) {\n return itemModel.getModel(path, levelModel.getModel(path));\n } else {\n return itemModel.getModel(path);\n }\n },\n\n /**\n * @return {module:echarts/model/Model}\n */\n getLevelModel: function () {\n return (this.hostTree.levelModels || [])[this.depth];\n },\n\n /**\n * @example\n * setItemVisual('color', color);\n * setItemVisual({\n * 'color': color\n * });\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * Get item visual\n */\n getVisual: function (key, ignoreParent) {\n return this.hostTree.data.getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @public\n * @return {number}\n */\n getRawIndex: function () {\n return this.hostTree.data.getRawIndex(this.dataIndex);\n },\n\n /**\n * @public\n * @return {string}\n */\n getId: function () {\n return this.hostTree.data.getId(this.dataIndex);\n },\n\n /**\n * if this is an ancestor of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is ancestor\n */\n 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 /**\n * if this is an descendant of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is descendant\n */\n isDescendantOf: function (node) {\n return node !== this && node.isAncestorOf(this);\n }\n};\n/**\n * @constructor\n * @alias module:echarts/data/Tree\n * @param {module:echarts/model/Model} hostModel\n * @param {Array.} levelOptions\n */\n\nfunction Tree(hostModel, levelOptions) {\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n this.root;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * Index of each item is the same as the raw index of coresponding list item.\n * @private\n * @type {Array.} treeOptions.levels\n * @return module:echarts/data/Tree\n */\n\nTree.createTree = function (dataRoot, hostModel, treeOptions, beforeLink) {\n var tree = new Tree(hostModel, treeOptions && treeOptions.levels);\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, zrUtil.isArray(value) ? value.length : 1);\n listData.push(dataNode);\n var node = new TreeNode(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 dimensionsInfo = createDimensions(listData, {\n coordDimensions: ['value'],\n dimensionsCount: dimMax\n });\n var list = new List(dimensionsInfo, hostModel);\n list.initData(listData);\n beforeLink && beforeLink(list);\n linkList({\n mainData: list,\n struct: tree,\n structAttr: 'tree'\n });\n tree.update();\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 * @param {(module:echarts/data/Tree~TreeNode|Object)} child\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\nvar _default = Tree;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/Tree.js?")},BtR2:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/LikeOutlined.js\n// This icon file is generated automatically.\nvar LikeOutlined_LikeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 00-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 00471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0142.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z" } }] }, "name": "like", "theme": "outlined" };\n/* harmony default export */ var asn_LikeOutlined = (LikeOutlined_LikeOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/LikeOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_LikeOutlined_LikeOutlined = function LikeOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_LikeOutlined\n }));\n};\n\nicons_LikeOutlined_LikeOutlined.displayName = \'LikeOutlined\';\n/* harmony default export */ var icons_LikeOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_LikeOutlined_LikeOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/LikeOutlined.js_+_1_modules?')},BuqR:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar VisualMapModel = __webpack_require__(\"6uqw\");\n\nvar VisualMapping = __webpack_require__(\"XxSj\");\n\nvar visualDefault = __webpack_require__(\"YOMW\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar reformIntervals = _number.reformIntervals;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PiecewiseModel = VisualMapModel.extend({\n type: 'visualMap.piecewise',\n\n /**\n * Order Rule:\n *\n * option.categories / option.pieces / option.text / option.selected:\n * If !option.inverse,\n * Order when vertical: ['top', ..., 'bottom'].\n * Order when horizontal: ['left', ..., 'right'].\n * If option.inverse, the meaning of\n * the order should be reversed.\n *\n * this._pieceList:\n * The order is always [low, ..., high].\n *\n * Mapping from location to low-high:\n * If !option.inverse\n * When vertical, top is high.\n * When horizontal, right is high.\n * If option.inverse, reverse.\n */\n\n /**\n * @protected\n */\n defaultOption: {\n selected: null,\n // Object. If not specified, means selected.\n // When pieces and splitNumber: {'0': true, '5': true}\n // When categories: {'cate1': false, 'cate3': true}\n // When selected === false, means all unselected.\n minOpen: false,\n // Whether include values that smaller than `min`.\n maxOpen: false,\n // Whether include values that bigger than `max`.\n align: 'auto',\n // 'auto', 'left', 'right'\n itemWidth: 20,\n // When put the controller vertically, it is the length of\n // horizontal side of each item. Otherwise, vertical side.\n itemHeight: 14,\n // When put the controller vertically, it is the length of\n // vertical side of each item. Otherwise, horizontal side.\n itemSymbol: 'roundRect',\n pieceList: null,\n // Each item is Object, with some of those attrs:\n // {min, max, lt, gt, lte, gte, value,\n // color, colorSaturation, colorAlpha, opacity,\n // symbol, symbolSize}, which customize the range or visual\n // coding of the certain piece. Besides, see \"Order Rule\".\n categories: null,\n // category names, like: ['some1', 'some2', 'some3'].\n // Attr min/max are ignored when categories set. See \"Order Rule\"\n splitNumber: 5,\n // If set to 5, auto split five pieces equally.\n // If set to 0 and component type not set, component type will be\n // determined as \"continuous\". (It is less reasonable but for ec2\n // compatibility, see echarts/component/visualMap/typeDefaulter)\n selectedMode: 'multiple',\n // Can be 'multiple' or 'single'.\n itemGap: 10,\n // The gap between two items, in px.\n hoverLink: true,\n // Enable hover highlight.\n showLabel: null // By default, when text is used, label will hide (the logic\n // is remained for compatibility reason)\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n PiecewiseModel.superApply(this, 'optionUpdated', arguments);\n /**\n * The order is always [low, ..., high].\n * [{text: string, interval: Array.}, ...]\n * @private\n * @type {Array.}\n */\n\n this._pieceList = [];\n this.resetExtent();\n /**\n * 'pieces', 'categories', 'splitNumber'\n * @type {string}\n */\n\n var mode = this._mode = this._determineMode();\n\n resetMethods[this._mode].call(this);\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 = zrUtil.clone(categories);\n } else {\n mappingOption.dataExtent = this.getExtent();\n mappingOption.mappingMethod = 'piecewise';\n mappingOption.pieceList = zrUtil.map(this._pieceList, function (piece) {\n var piece = zrUtil.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 /**\n * @protected\n * @override\n */\n 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 = VisualMapping.listVisualTypes();\n var isCategory = this.isCategory();\n zrUtil.each(option.pieces, function (piece) {\n zrUtil.each(visualTypes, function (visualType) {\n if (piece.hasOwnProperty(visualType)) {\n visualTypesInPieces[visualType] = 1;\n }\n });\n });\n zrUtil.each(visualTypesInPieces, function (v, visualType) {\n var exists = 0;\n zrUtil.each(this.stateList, function (state) {\n exists |= has(option, state, visualType) || has(option.target, state, visualType);\n }, this);\n !exists && zrUtil.each(this.stateList, function (state) {\n (option[state] || (option[state] = {}))[visualType] = visualDefault.get(visualType, state === 'inRange' ? 'active' : 'inactive', isCategory);\n });\n }, this);\n\n function has(obj, state, visualType) {\n return obj && obj[state] && (zrUtil.isObject(obj[state]) ? obj[state].hasOwnProperty(visualType) : obj[state] === visualType // e.g., inRange: 'symbol'\n );\n }\n\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n },\n _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 zrUtil.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 = false;\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (selected[key]) {\n hasSel ? selected[key] = false : hasSel = true;\n }\n }, this);\n } // thisOption.selectedMode === 'multiple', default: all selected.\n\n },\n\n /**\n * @public\n */\n getSelectedMapKey: function (piece) {\n return this._mode === 'categories' ? piece.value + '' : piece.index + '';\n },\n\n /**\n * @public\n */\n getPieceList: function () {\n return this._pieceList;\n },\n\n /**\n * @private\n * @return {string}\n */\n _determineMode: function () {\n var option = this.option;\n return option.pieces && option.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber';\n },\n\n /**\n * @public\n * @override\n */\n setSelected: function (selected) {\n this.option.selected = zrUtil.clone(selected);\n },\n\n /**\n * @public\n * @override\n */\n getValueState: function (value) {\n var index = VisualMapping.findPieceIndex(value, this._pieceList);\n return index != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index])] ? 'inRange' : 'outOfRange' : 'outOfRange';\n },\n\n /**\n * @public\n * @params {number} pieceIndex piece index in visualMapModel.getPieceList()\n * @return {Array.} [{seriesId, dataIndex: >}, ...]\n */\n findTargetDataIndices: function (pieceIndex) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n // Should always base on model pieceList, because it is order sensitive.\n var pIdx = VisualMapping.findPieceIndex(value, this._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 /**\n * @private\n * @param {Object} piece piece.value or piece.interval is required.\n * @return {number} Can be Infinity or -Infinity\n */\n 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 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 });\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 zrUtil.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/**\n * Key is this._mode\n * @type {Object}\n * @this {module:echarts/component/viusalMap/PiecewiseMode}\n */\n\nvar resetMethods = {\n splitNumber: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\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 pieceList.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 pieceList.push({\n interval: [curr, max],\n close: [1, 1]\n });\n }\n\n if (thisOption.maxOpen) {\n pieceList.push({\n interval: [dataExtent[1], Infinity],\n close: [0, 0]\n });\n }\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece, index) {\n piece.index = index;\n piece.text = this.formatValueText(piece.interval);\n }, this);\n },\n categories: function () {\n var thisOption = this.option;\n zrUtil.each(thisOption.categories, function (cate) {\n // FIXME category\u6a21\u5f0f\u4e5f\u4f7f\u7528pieceList\uff0c\u4f46\u5728visualMapping\u4e2d\u4e0d\u662f\u4f7f\u7528pieceList\u3002\n // \u662f\u5426\u6539\u4e00\u81f4\u3002\n this._pieceList.push({\n text: this.formatValueText(cate, true),\n value: cate\n });\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, this._pieceList);\n },\n pieces: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n zrUtil.each(thisOption.pieces, function (pieceListItem, index) {\n if (!zrUtil.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 = 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[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[0] = 0);\n useMinMax[1] && interval[0] === -Infinity && (close[1] = 0);\n\n if (interval[0] === interval[1] && close[0] && close[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 = VisualMapping.retrieveVisuals(pieceListItem);\n pieceList.push(item);\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, pieceList); // Only pieces\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\n var close = piece.close;\n var edgeSymbols = [['<', '\u2264'][close[1]], ['>', '\u2265'][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\nvar _default = PiecewiseModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js?")},BvKs:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ menu_Menu; });\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/rc-menu/es/index.js + 15 modules\nvar es = __webpack_require__("1j5w");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar omit_js_es = __webpack_require__("BGR+");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/menu/MenuContext.js\n\nvar MenuContext = Object(react["createContext"])({\n inlineCollapsed: false\n});\n/* harmony default export */ var menu_MenuContext = (MenuContext);\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__("0n0R");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/menu/SubMenu.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\nvar SubMenu_SubMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SubMenu, _React$Component);\n\n var _super = _createSuper(SubMenu);\n\n function SubMenu() {\n var _this;\n\n _classCallCheck(this, SubMenu);\n\n _this = _super.apply(this, arguments);\n\n _this.onKeyDown = function (e) {\n _this.subMenu.onKeyDown(e);\n };\n\n _this.saveSubMenu = function (subMenu) {\n _this.subMenu = subMenu;\n };\n\n return _this;\n }\n\n _createClass(SubMenu, [{\n key: "renderTitle",\n value: function renderTitle(inlineCollapsed) {\n var _this$props = this.props,\n icon = _this$props.icon,\n title = _this$props.title,\n level = _this$props.level,\n rootPrefixCls = _this$props.rootPrefixCls;\n\n if (!icon) {\n return inlineCollapsed && level === 1 && title && typeof title === \'string\' ? /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(rootPrefixCls, "-inline-collapsed-noicon")\n }, title.charAt(0)) : title;\n } // inline-collapsed.md demo \u4f9d\u8d56 span \u6765\u9690\u85cf\u6587\u5b57,\u6709 icon \u5c5e\u6027\uff0c\u5219\u5185\u90e8\u5305\u88f9\u4e00\u4e2a span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n\n\n var titleIsSpan = Object(reactNode["b" /* isValidElement */])(title) && title.type === \'span\';\n return /*#__PURE__*/react["createElement"](react["Fragment"], null, icon, titleIsSpan ? title : /*#__PURE__*/react["createElement"]("span", null, title));\n }\n }, {\n key: "render",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n rootPrefixCls = _this$props2.rootPrefixCls,\n popupClassName = _this$props2.popupClassName;\n return /*#__PURE__*/react["createElement"](menu_MenuContext.Consumer, null, function (_ref) {\n var inlineCollapsed = _ref.inlineCollapsed,\n antdMenuTheme = _ref.antdMenuTheme;\n return /*#__PURE__*/react["createElement"](es["e" /* SubMenu */], _extends({}, Object(omit_js_es["a" /* default */])(_this2.props, [\'icon\']), {\n title: _this2.renderTitle(inlineCollapsed),\n ref: _this2.saveSubMenu,\n popupClassName: classnames_default()(rootPrefixCls, "".concat(rootPrefixCls, "-").concat(antdMenuTheme), popupClassName)\n }));\n });\n }\n }]);\n\n return SubMenu;\n}(react["Component"]);\n\nSubMenu_SubMenu.contextType = menu_MenuContext; // fix issue:https://github.com/ant-design/ant-design/issues/8666\n\nSubMenu_SubMenu.isSubMenu = 1;\n/* harmony default export */ var menu_SubMenu = (SubMenu_SubMenu);\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Children/toArray.js\nvar toArray = __webpack_require__("Zm9Q");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 5 modules\nvar tooltip = __webpack_require__("3S7+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/layout/Sider.js + 1 modules\nvar Sider = __webpack_require__("ZX9x");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/menu/MenuItem.js\nfunction MenuItem_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { MenuItem_typeof = function _typeof(obj) { return typeof obj; }; } else { MenuItem_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return MenuItem_typeof(obj); }\n\nfunction MenuItem_extends() { MenuItem_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; }; return MenuItem_extends.apply(this, arguments); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction MenuItem_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction MenuItem_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction MenuItem_createClass(Constructor, protoProps, staticProps) { if (protoProps) MenuItem_defineProperties(Constructor.prototype, protoProps); if (staticProps) MenuItem_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction MenuItem_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) MenuItem_setPrototypeOf(subClass, superClass); }\n\nfunction MenuItem_setPrototypeOf(o, p) { MenuItem_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return MenuItem_setPrototypeOf(o, p); }\n\nfunction MenuItem_createSuper(Derived) { var hasNativeReflectConstruct = MenuItem_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = MenuItem_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = MenuItem_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return MenuItem_possibleConstructorReturn(this, result); }; }\n\nfunction MenuItem_possibleConstructorReturn(self, call) { if (call && (MenuItem_typeof(call) === "object" || typeof call === "function")) { return call; } return MenuItem_assertThisInitialized(self); }\n\nfunction MenuItem_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction MenuItem_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction MenuItem_getPrototypeOf(o) { MenuItem_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return MenuItem_getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\nvar MenuItem_MenuItem = /*#__PURE__*/function (_React$Component) {\n MenuItem_inherits(MenuItem, _React$Component);\n\n var _super = MenuItem_createSuper(MenuItem);\n\n function MenuItem() {\n var _this;\n\n MenuItem_classCallCheck(this, MenuItem);\n\n _this = _super.apply(this, arguments);\n\n _this.onKeyDown = function (e) {\n _this.menuItem.onKeyDown(e);\n };\n\n _this.saveMenuItem = function (menuItem) {\n _this.menuItem = menuItem;\n };\n\n _this.renderItem = function (_ref) {\n var siderCollapsed = _ref.siderCollapsed;\n var _this$props = _this.props,\n level = _this$props.level,\n className = _this$props.className,\n children = _this$props.children,\n rootPrefixCls = _this$props.rootPrefixCls;\n\n var _a = _this.props,\n title = _a.title,\n icon = _a.icon,\n danger = _a.danger,\n rest = __rest(_a, ["title", "icon", "danger"]);\n\n return /*#__PURE__*/react["createElement"](menu_MenuContext.Consumer, null, function (_ref2) {\n var _classNames;\n\n var inlineCollapsed = _ref2.inlineCollapsed,\n direction = _ref2.direction;\n var tooltipTitle = title;\n\n if (typeof title === \'undefined\') {\n tooltipTitle = level === 1 ? children : \'\';\n } else if (title === false) {\n tooltipTitle = \'\';\n }\n\n var tooltipProps = {\n title: tooltipTitle\n };\n\n if (!siderCollapsed && !inlineCollapsed) {\n tooltipProps.title = null; // Reset `visible` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n\n tooltipProps.visible = false;\n }\n\n var childrenLength = Object(toArray["a" /* default */])(children).length;\n return /*#__PURE__*/react["createElement"](tooltip["a" /* default */], MenuItem_extends({}, tooltipProps, {\n placement: direction === \'rtl\' ? \'left\' : \'right\',\n overlayClassName: "".concat(rootPrefixCls, "-inline-collapsed-tooltip")\n }), /*#__PURE__*/react["createElement"](es["b" /* Item */], MenuItem_extends({}, rest, {\n className: classnames_default()(className, (_classNames = {}, _defineProperty(_classNames, "".concat(rootPrefixCls, "-item-danger"), danger), _defineProperty(_classNames, "".concat(rootPrefixCls, "-item-only-child"), (icon ? childrenLength + 1 : childrenLength) === 1), _classNames)),\n title: title,\n ref: _this.saveMenuItem\n }), icon, _this.renderItemChildren(inlineCollapsed)));\n });\n };\n\n return _this;\n }\n\n MenuItem_createClass(MenuItem, [{\n key: "renderItemChildren",\n value: function renderItemChildren(inlineCollapsed) {\n var _this$props2 = this.props,\n icon = _this$props2.icon,\n children = _this$props2.children,\n level = _this$props2.level,\n rootPrefixCls = _this$props2.rootPrefixCls; // inline-collapsed.md demo \u4f9d\u8d56 span \u6765\u9690\u85cf\u6587\u5b57,\u6709 icon \u5c5e\u6027\uff0c\u5219\u5185\u90e8\u5305\u88f9\u4e00\u4e2a span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n\n if (!icon || Object(reactNode["b" /* isValidElement */])(children) && children.type === \'span\') {\n if (children && inlineCollapsed && level === 1 && typeof children === \'string\') {\n return /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(rootPrefixCls, "-inline-collapsed-noicon")\n }, children.charAt(0));\n }\n\n return children;\n }\n\n return /*#__PURE__*/react["createElement"]("span", null, children);\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](Sider["a" /* SiderContext */].Consumer, null, this.renderItem);\n }\n }]);\n\n return MenuItem;\n}(react["Component"]);\n\n\nMenuItem_MenuItem.isMenuItem = true;\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar config_provider_context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/devWarning.js\nvar devWarning = __webpack_require__("uaoM");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/raf.js\nvar raf = __webpack_require__("oHiP");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/motion.js\nvar _util_motion = __webpack_require__("EXcs");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/menu/index.js\nfunction menu_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { menu_typeof = function _typeof(obj) { return typeof obj; }; } else { menu_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return menu_typeof(obj); }\n\nfunction menu_extends() { menu_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; }; return menu_extends.apply(this, arguments); }\n\nfunction menu_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction menu_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction menu_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction menu_createClass(Constructor, protoProps, staticProps) { if (protoProps) menu_defineProperties(Constructor.prototype, protoProps); if (staticProps) menu_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction menu_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) menu_setPrototypeOf(subClass, superClass); }\n\nfunction menu_setPrototypeOf(o, p) { menu_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return menu_setPrototypeOf(o, p); }\n\nfunction menu_createSuper(Derived) { var hasNativeReflectConstruct = menu_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = menu_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = menu_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return menu_possibleConstructorReturn(this, result); }; }\n\nfunction menu_possibleConstructorReturn(self, call) { if (call && (menu_typeof(call) === "object" || typeof call === "function")) { return call; } return menu_assertThisInitialized(self); }\n\nfunction menu_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction menu_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction menu_getPrototypeOf(o) { menu_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return menu_getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar menu_InternalMenu = /*#__PURE__*/function (_React$Component) {\n menu_inherits(InternalMenu, _React$Component);\n\n var _super = menu_createSuper(InternalMenu);\n\n function InternalMenu(props) {\n var _this;\n\n menu_classCallCheck(this, InternalMenu);\n\n _this = _super.call(this, props); // Restore vertical mode when menu is collapsed responsively when mounted\n // https://github.com/ant-design/ant-design/issues/13104\n // TODO: not a perfect solution, looking a new way to avoid setting switchingModeFromInline in this situation\n\n _this.handleMouseEnter = function (e) {\n _this.restoreModeVerticalFromInline();\n\n var onMouseEnter = _this.props.onMouseEnter;\n\n if (onMouseEnter) {\n onMouseEnter(e);\n }\n };\n\n _this.handleTransitionEnd = function (e) {\n // when inlineCollapsed menu width animation finished\n // https://github.com/ant-design/ant-design/issues/12864\n var widthCollapsed = e.propertyName === \'width\' && e.target === e.currentTarget; // Fix SVGElement e.target.className.indexOf is not a function\n // https://github.com/ant-design/ant-design/issues/15699\n\n var className = e.target.className; // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal, unless during an animation.\n\n var classNameValue = Object.prototype.toString.call(className) === \'[object SVGAnimatedString]\' ? className.animVal : className; // Fix for , the width transition won\'t trigger when menu is collapsed\n // https://github.com/ant-design/ant-design-pro/issues/2783\n\n var iconScaled = e.propertyName === \'font-size\' && classNameValue.indexOf(\'anticon\') >= 0;\n\n if (widthCollapsed || iconScaled) {\n _this.restoreModeVerticalFromInline();\n }\n };\n\n _this.handleClick = function (e) {\n _this.handleOpenChange([]);\n\n var onClick = _this.props.onClick;\n\n if (onClick) {\n onClick(e);\n }\n };\n\n _this.handleOpenChange = function (openKeys) {\n _this.setOpenKeys(openKeys);\n\n var onOpenChange = _this.props.onOpenChange;\n\n if (onOpenChange) {\n onOpenChange(openKeys);\n }\n };\n\n _this.renderMenu = function (_ref) {\n var getPopupContainer = _ref.getPopupContainer,\n getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n className = _this$props.className,\n theme = _this$props.theme,\n collapsedWidth = _this$props.collapsedWidth;\n var openKeys = _this.state.openKeys;\n var passProps = Object(omit_js_es["a" /* default */])(_this.props, [\'collapsedWidth\', \'siderCollapsed\']);\n\n var menuMode = _this.getRealMenuMode();\n\n var menuOpenMotion = _this.getOpenMotionProps(menuMode);\n\n var prefixCls = getPrefixCls(\'menu\', customizePrefixCls);\n var menuClassName = classnames_default()(className, "".concat(prefixCls, "-").concat(theme), menu_defineProperty({}, "".concat(prefixCls, "-inline-collapsed"), _this.getInlineCollapsed()));\n\n var menuProps = menu_extends({\n openKeys: openKeys,\n onOpenChange: _this.handleOpenChange,\n className: menuClassName,\n mode: menuMode\n }, menuOpenMotion);\n\n if (menuMode !== \'inline\') {\n // closing vertical popup submenu after click it\n menuProps.onClick = _this.handleClick;\n } // https://github.com/ant-design/ant-design/issues/8587\n\n\n var hideMenu = _this.getInlineCollapsed() && (collapsedWidth === 0 || collapsedWidth === \'0\' || collapsedWidth === \'0px\');\n\n if (hideMenu) {\n menuProps.openKeys = [];\n }\n\n return /*#__PURE__*/react["createElement"](menu_MenuContext.Provider, {\n value: {\n inlineCollapsed: _this.getInlineCollapsed() || false,\n antdMenuTheme: theme,\n direction: direction\n }\n }, /*#__PURE__*/react["createElement"](es["f" /* default */], menu_extends({\n getPopupContainer: getPopupContainer\n }, passProps, menuProps, {\n prefixCls: prefixCls,\n onTransitionEnd: _this.handleTransitionEnd,\n onMouseEnter: _this.handleMouseEnter,\n direction: direction\n })));\n };\n\n Object(devWarning["a" /* default */])(!(\'inlineCollapsed\' in props && props.mode !== \'inline\'), \'Menu\', \'`inlineCollapsed` should only be used when `mode` is inline.\');\n Object(devWarning["a" /* default */])(!(props.siderCollapsed !== undefined && \'inlineCollapsed\' in props), \'Menu\', \'`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.\');\n var openKeys;\n\n if (\'openKeys\' in props) {\n openKeys = props.openKeys;\n } else if (\'defaultOpenKeys\' in props) {\n openKeys = props.defaultOpenKeys;\n }\n\n _this.state = {\n openKeys: openKeys || [],\n switchingModeFromInline: false,\n inlineOpenKeys: [],\n prevProps: props\n };\n return _this;\n }\n\n menu_createClass(InternalMenu, [{\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n raf["a" /* default */].cancel(this.mountRafId);\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n var _this$props2 = this.props,\n siderCollapsed = _this$props2.siderCollapsed,\n inlineCollapsed = _this$props2.inlineCollapsed,\n onOpenChange = _this$props2.onOpenChange;\n\n if (!prevProps.inlineCollapsed && inlineCollapsed || !prevProps.siderCollapsed && siderCollapsed) {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange([]);\n }\n }\n }, {\n key: "setOpenKeys",\n value: function setOpenKeys(openKeys) {\n if (!(\'openKeys\' in this.props)) {\n this.setState({\n openKeys: openKeys\n });\n }\n }\n }, {\n key: "getRealMenuMode",\n value: function getRealMenuMode() {\n var mode = this.props.mode;\n var switchingModeFromInline = this.state.switchingModeFromInline;\n var inlineCollapsed = this.getInlineCollapsed();\n\n if (switchingModeFromInline && inlineCollapsed) {\n return \'inline\';\n }\n\n return inlineCollapsed ? \'vertical\' : mode;\n }\n }, {\n key: "getInlineCollapsed",\n value: function getInlineCollapsed() {\n var _this$props3 = this.props,\n inlineCollapsed = _this$props3.inlineCollapsed,\n siderCollapsed = _this$props3.siderCollapsed;\n\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n\n return inlineCollapsed;\n }\n }, {\n key: "getOpenMotionProps",\n value: function getOpenMotionProps(menuMode) {\n var _this$props4 = this.props,\n openTransitionName = _this$props4.openTransitionName,\n openAnimation = _this$props4.openAnimation,\n motion = _this$props4.motion;\n var switchingModeFromInline = this.state.switchingModeFromInline; // Provides by user\n\n if (motion) {\n return {\n motion: motion\n };\n }\n\n if (openAnimation) {\n Object(devWarning["a" /* default */])(typeof openAnimation === \'string\', \'Menu\', \'`openAnimation` do not support object. Please use `motion` instead.\');\n return {\n openAnimation: openAnimation\n };\n }\n\n if (openTransitionName) {\n return {\n openTransitionName: openTransitionName\n };\n } // Default logic\n\n\n if (menuMode === \'horizontal\') {\n return {\n motion: {\n motionName: \'slide-up\'\n }\n };\n }\n\n if (menuMode === \'inline\') {\n return {\n motion: _util_motion["a" /* default */]\n };\n } // When mode switch from inline\n // submenu should hide without animation\n\n\n return {\n motion: {\n motionName: switchingModeFromInline ? \'\' : \'zoom-big\'\n }\n };\n }\n }, {\n key: "restoreModeVerticalFromInline",\n value: function restoreModeVerticalFromInline() {\n var switchingModeFromInline = this.state.switchingModeFromInline;\n\n if (switchingModeFromInline) {\n this.setState({\n switchingModeFromInline: false\n });\n }\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](config_provider_context["a" /* ConfigConsumer */], null, this.renderMenu);\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var prevProps = prevState.prevProps;\n var newState = {\n prevProps: nextProps\n };\n\n if (prevProps.mode === \'inline\' && nextProps.mode !== \'inline\') {\n newState.switchingModeFromInline = true;\n }\n\n if (\'openKeys\' in nextProps) {\n newState.openKeys = nextProps.openKeys;\n } else {\n // [Legacy] Old code will return after `openKeys` changed.\n // Not sure the reason, we should keep this logic still.\n if (nextProps.inlineCollapsed && !prevProps.inlineCollapsed || nextProps.siderCollapsed && !prevProps.siderCollapsed) {\n newState.switchingModeFromInline = true;\n newState.inlineOpenKeys = prevState.openKeys;\n newState.openKeys = [];\n }\n\n if (!nextProps.inlineCollapsed && prevProps.inlineCollapsed || !nextProps.siderCollapsed && prevProps.siderCollapsed) {\n newState.openKeys = prevState.inlineOpenKeys;\n newState.inlineOpenKeys = [];\n }\n }\n\n return newState;\n }\n }]);\n\n return InternalMenu;\n}(react["Component"]);\n\nmenu_InternalMenu.defaultProps = {\n className: \'\',\n theme: \'light\',\n focusable: false\n}; // We should keep this as ref-able\n\nvar menu_Menu = /*#__PURE__*/function (_React$Component2) {\n menu_inherits(Menu, _React$Component2);\n\n var _super2 = menu_createSuper(Menu);\n\n function Menu() {\n menu_classCallCheck(this, Menu);\n\n return _super2.apply(this, arguments);\n }\n\n menu_createClass(Menu, [{\n key: "render",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/react["createElement"](Sider["a" /* SiderContext */].Consumer, null, function (context) {\n return /*#__PURE__*/react["createElement"](menu_InternalMenu, menu_extends({}, _this2.props, context));\n });\n }\n }]);\n\n return Menu;\n}(react["Component"]);\n\n\nmenu_Menu.Divider = es["a" /* Divider */];\nmenu_Menu.Item = MenuItem_MenuItem;\nmenu_Menu.SubMenu = menu_SubMenu;\nmenu_Menu.ItemGroup = es["c" /* ItemGroup */];\n\n//# sourceURL=webpack:///./node_modules/antd/es/menu/index.js_+_3_modules?')},"C/vA":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return once; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nfunction once(fn) {\r\n var _this = this;\r\n var didCall = false;\r\n var result;\r\n return function () {\r\n if (didCall) {\r\n return result;\r\n }\r\n didCall = true;\r\n result = fn.apply(_this, arguments);\r\n return result;\r\n };\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/functional.js?')},C0SR:function(module,exports,__webpack_require__){eval("var eventUtil = __webpack_require__(\"YH21\");\n\n/**\n * Only implements needed gestures for mobile.\n */\nvar GestureMgr = function () {\n /**\n * @private\n * @type {Array.}\n */\n this._track = [];\n};\n\nGestureMgr.prototype = {\n constructor: GestureMgr,\n recognize: function (event, target, root) {\n this._doTrack(event, target, root);\n\n return this._recognize(event);\n },\n clear: function () {\n this._track.length = 0;\n return this;\n },\n _doTrack: function (event, target, root) {\n var touches = event.touches;\n\n if (!touches) {\n return;\n }\n\n var trackItem = {\n points: [],\n touches: [],\n target: target,\n event: event\n };\n\n for (var i = 0, len = touches.length; i < len; i++) {\n var touch = touches[i];\n var pos = eventUtil.clientToLocal(root, touch, {});\n trackItem.points.push([pos.zrX, pos.zrY]);\n trackItem.touches.push(touch);\n }\n\n this._track.push(trackItem);\n },\n _recognize: function (event) {\n for (var eventName in recognizers) {\n if (recognizers.hasOwnProperty(eventName)) {\n var gestureInfo = recognizers[eventName](this._track, event);\n\n if (gestureInfo) {\n return gestureInfo;\n }\n }\n }\n }\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}\n\nfunction center(pointPair) {\n return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];\n}\n\nvar recognizers = {\n pinch: function (track, event) {\n var trackLen = track.length;\n\n if (!trackLen) {\n return;\n }\n\n var pinchEnd = (track[trackLen - 1] || {}).points;\n var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;\n\n if (pinchPre && pinchPre.length > 1 && pinchEnd && 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: track[0].target,\n event: event\n };\n }\n } // Only pinch currently.\n\n};\nvar _default = GestureMgr;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/GestureMgr.js?")},C0tN:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n__webpack_require__("0o9m");\n\n__webpack_require__("8Uz6");\n\n__webpack_require__("Ducp");\n\n__webpack_require__("6/nd");\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legendScroll.js?')},C6rC:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css?")},CBdT:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("8waO");\n\n__webpack_require__("AEZ6");\n\n__webpack_require__("YNf1");\n\nvar parallelVisual = __webpack_require__("q3GZ");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(parallelVisual);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/parallel.js?')},CClx:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/media/suggest.css?")},CF2D:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("vZI5");\n\n__webpack_require__("GeKi");\n\nvar preprocessor = __webpack_require__("6r85");\n\nvar candlestickVisual = __webpack_require__("TJmX");\n\nvar candlestickLayout = __webpack_require__("CbHG");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(preprocessor);\necharts.registerVisual(candlestickVisual);\necharts.registerLayout(candlestickLayout);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick.js?')},CFYs:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CloseOutlined.js\nvar CloseOutlined = __webpack_require__("V/uB");\nvar CloseOutlined_default = /*#__PURE__*/__webpack_require__.n(CloseOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CheckOutlined.js\nvar CheckOutlined = __webpack_require__("NAnI");\nvar CheckOutlined_default = /*#__PURE__*/__webpack_require__.n(CheckOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CheckCircleFilled.js\nvar CheckCircleFilled = __webpack_require__("J84W");\nvar CheckCircleFilled_default = /*#__PURE__*/__webpack_require__.n(CheckCircleFilled);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CloseCircleFilled.js\nvar CloseCircleFilled = __webpack_require__("kbBi");\nvar CloseCircleFilled_default = /*#__PURE__*/__webpack_require__.n(CloseCircleFilled);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/type.js\nvar _util_type = __webpack_require__("CWQg");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/progress/utils.js\n// eslint-disable-next-line import/prefer-default-export\nfunction validProgress(progress) {\n if (!progress || progress < 0) {\n return 0;\n }\n\n if (progress > 100) {\n return 100;\n }\n\n return progress;\n}\n// CONCATENATED MODULE: ./node_modules/antd/es/progress/Line.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n/**\n * {\n * \'0%\': \'#afc163\',\n * \'75%\': \'#009900\',\n * \'50%\': \'green\', ====> \'#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%\'\n * \'25%\': \'#66FF00\',\n * \'100%\': \'#ffffff\'\n * }\n */\n\nvar sortGradient = function sortGradient(gradients) {\n var tempArr = [];\n Object.keys(gradients).forEach(function (key) {\n var formattedKey = parseFloat(key.replace(/%/g, \'\'));\n\n if (!isNaN(formattedKey)) {\n tempArr.push({\n key: formattedKey,\n value: gradients[key]\n });\n }\n });\n tempArr = tempArr.sort(function (a, b) {\n return a.key - b.key;\n });\n return tempArr.map(function (_ref) {\n var key = _ref.key,\n value = _ref.value;\n return "".concat(value, " ").concat(key, "%");\n }).join(\', \');\n};\n/**\n * {\n * \'0%\': \'#afc163\',\n * \'25%\': \'#66FF00\',\n * \'50%\': \'#00CC00\', ====> linear-gradient(to right, #afc163 0%, #66FF00 25%,\n * \'75%\': \'#009900\', #00CC00 50%, #009900 75%, #ffffff 100%)\n * \'100%\': \'#ffffff\'\n * }\n *\n * Then this man came to realize the truth:\n * Besides six pence, there is the moon.\n * Besides bread and butter, there is the bug.\n * And...\n * Besides women, there is the code.\n */\n\nvar handleGradient = function handleGradient(strokeColor) {\n var _strokeColor$from = strokeColor.from,\n from = _strokeColor$from === void 0 ? \'#1890ff\' : _strokeColor$from,\n _strokeColor$to = strokeColor.to,\n to = _strokeColor$to === void 0 ? \'#1890ff\' : _strokeColor$to,\n _strokeColor$directio = strokeColor.direction,\n direction = _strokeColor$directio === void 0 ? \'to right\' : _strokeColor$directio,\n rest = __rest(strokeColor, ["from", "to", "direction"]);\n\n if (Object.keys(rest).length !== 0) {\n var sortedGradients = sortGradient(rest);\n return {\n backgroundImage: "linear-gradient(".concat(direction, ", ").concat(sortedGradients, ")")\n };\n }\n\n return {\n backgroundImage: "linear-gradient(".concat(direction, ", ").concat(from, ", ").concat(to, ")")\n };\n};\n\nvar Line_Line = function Line(props) {\n var prefixCls = props.prefixCls,\n percent = props.percent,\n successPercent = props.successPercent,\n strokeWidth = props.strokeWidth,\n size = props.size,\n strokeColor = props.strokeColor,\n strokeLinecap = props.strokeLinecap,\n children = props.children,\n trailColor = props.trailColor;\n var backgroundProps;\n\n if (strokeColor && typeof strokeColor !== \'string\') {\n backgroundProps = handleGradient(strokeColor);\n } else {\n backgroundProps = {\n background: strokeColor\n };\n }\n\n var trailStyle;\n\n if (trailColor && typeof trailColor === \'string\') {\n trailStyle = {\n backgroundColor: trailColor\n };\n }\n\n var percentStyle = _extends({\n width: "".concat(validProgress(percent), "%"),\n height: strokeWidth || (size === \'small\' ? 6 : 8),\n borderRadius: strokeLinecap === \'square\' ? 0 : \'\'\n }, backgroundProps);\n\n var successPercentStyle = {\n width: "".concat(validProgress(successPercent), "%"),\n height: strokeWidth || (size === \'small\' ? 6 : 8),\n borderRadius: strokeLinecap === \'square\' ? 0 : \'\'\n };\n var successSegment = successPercent !== undefined ? /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-success-bg"),\n style: successPercentStyle\n }) : null;\n return /*#__PURE__*/react["createElement"](react["Fragment"], null, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-outer")\n }, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-inner"),\n style: trailStyle\n }, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-bg"),\n style: percentStyle\n }), successSegment)), children);\n};\n\n/* harmony default export */ var progress_Line = (Line_Line);\n// CONCATENATED MODULE: ./node_modules/rc-progress/es/common.js\n\nvar defaultProps = {\n className: \'\',\n percent: 0,\n prefixCls: \'rc-progress\',\n strokeColor: \'#2db7f5\',\n strokeLinecap: \'round\',\n strokeWidth: 1,\n style: {},\n trailColor: \'#D9D9D9\',\n trailWidth: 1\n};\nvar common_useTransitionDuration = function useTransitionDuration(percentList) {\n var paths = percentList.map(function () {\n return Object(react["useRef"])();\n });\n var prevTimeStamp = Object(react["useRef"])();\n Object(react["useEffect"])(function () {\n var now = Date.now();\n var updated = false;\n Object.keys(paths).forEach(function (key) {\n var path = paths[key].current;\n\n if (!path) {\n return;\n }\n\n updated = true;\n var pathStyle = path.style;\n pathStyle.transitionDuration = \'.3s, .3s, .3s, .06s\';\n\n if (prevTimeStamp.current && now - prevTimeStamp.current < 100) {\n pathStyle.transitionDuration = \'0s, 0s\';\n }\n });\n\n if (updated) {\n prevTimeStamp.current = Date.now();\n }\n });\n return [paths];\n};\n// CONCATENATED MODULE: ./node_modules/rc-progress/es/Line.js\nfunction Line_extends() { Line_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; }; return Line_extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint react/prop-types: 0 */\n\n\n\n\nvar es_Line_Line = function Line(_ref) {\n var className = _ref.className,\n percent = _ref.percent,\n prefixCls = _ref.prefixCls,\n strokeColor = _ref.strokeColor,\n strokeLinecap = _ref.strokeLinecap,\n strokeWidth = _ref.strokeWidth,\n style = _ref.style,\n trailColor = _ref.trailColor,\n trailWidth = _ref.trailWidth,\n transition = _ref.transition,\n restProps = _objectWithoutProperties(_ref, ["className", "percent", "prefixCls", "strokeColor", "strokeLinecap", "strokeWidth", "style", "trailColor", "trailWidth", "transition"]);\n\n delete restProps.gapPosition;\n var percentList = Array.isArray(percent) ? percent : [percent];\n var strokeColorList = Array.isArray(strokeColor) ? strokeColor : [strokeColor];\n\n var _useTransitionDuratio = common_useTransitionDuration(percentList),\n _useTransitionDuratio2 = _slicedToArray(_useTransitionDuratio, 1),\n paths = _useTransitionDuratio2[0];\n\n var center = strokeWidth / 2;\n var right = 100 - strokeWidth / 2;\n var pathString = "M ".concat(strokeLinecap === \'round\' ? center : 0, ",").concat(center, "\\n L ").concat(strokeLinecap === \'round\' ? right : 100, ",").concat(center);\n var viewBoxString = "0 0 100 ".concat(strokeWidth);\n var stackPtg = 0;\n return /*#__PURE__*/react_default.a.createElement("svg", Line_extends({\n className: classnames_default()("".concat(prefixCls, "-line"), className),\n viewBox: viewBoxString,\n preserveAspectRatio: "none",\n style: style\n }, restProps), /*#__PURE__*/react_default.a.createElement("path", {\n className: "".concat(prefixCls, "-line-trail"),\n d: pathString,\n strokeLinecap: strokeLinecap,\n stroke: trailColor,\n strokeWidth: trailWidth || strokeWidth,\n fillOpacity: "0"\n }), percentList.map(function (ptg, index) {\n var pathStyle = {\n strokeDasharray: "".concat(ptg, "px, 100px"),\n strokeDashoffset: "-".concat(stackPtg, "px"),\n transition: transition || \'stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear\'\n };\n var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n stackPtg += ptg;\n return /*#__PURE__*/react_default.a.createElement("path", {\n key: index,\n className: "".concat(prefixCls, "-line-path"),\n d: pathString,\n strokeLinecap: strokeLinecap,\n stroke: color,\n strokeWidth: strokeWidth,\n fillOpacity: "0",\n ref: paths[index],\n style: pathStyle\n });\n }));\n};\n\nes_Line_Line.defaultProps = defaultProps;\n/* harmony default export */ var es_Line = (es_Line_Line);\n// CONCATENATED MODULE: ./node_modules/rc-progress/es/Circle.js\nfunction Circle_extends() { Circle_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; }; return Circle_extends.apply(this, arguments); }\n\nfunction Circle_slicedToArray(arr, i) { return Circle_arrayWithHoles(arr) || Circle_iterableToArrayLimit(arr, i) || Circle_unsupportedIterableToArray(arr, i) || Circle_nonIterableRest(); }\n\nfunction Circle_nonIterableRest() { 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\nfunction Circle_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Circle_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Circle_arrayLikeToArray(o, minLen); }\n\nfunction Circle_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction Circle_iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction Circle_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction Circle_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Circle_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction Circle_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint react/prop-types: 0 */\n\n\n\nvar gradientSeed = 0;\n\nfunction stripPercentToNumber(percent) {\n return +percent.replace(\'%\', \'\');\n}\n\nfunction toArray(symArray) {\n return Array.isArray(symArray) ? symArray : [symArray];\n}\n\nfunction getPathStyles(offset, percent, strokeColor, strokeWidth) {\n var gapDegree = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var gapPosition = arguments.length > 5 ? arguments[5] : undefined;\n var radius = 50 - strokeWidth / 2;\n var beginPositionX = 0;\n var beginPositionY = -radius;\n var endPositionX = 0;\n var endPositionY = -2 * radius;\n\n switch (gapPosition) {\n case \'left\':\n beginPositionX = -radius;\n beginPositionY = 0;\n endPositionX = 2 * radius;\n endPositionY = 0;\n break;\n\n case \'right\':\n beginPositionX = radius;\n beginPositionY = 0;\n endPositionX = -2 * radius;\n endPositionY = 0;\n break;\n\n case \'bottom\':\n beginPositionY = radius;\n endPositionY = 2 * radius;\n break;\n\n default:\n }\n\n var pathString = "M 50,50 m ".concat(beginPositionX, ",").concat(beginPositionY, "\\n a ").concat(radius, ",").concat(radius, " 0 1 1 ").concat(endPositionX, ",").concat(-endPositionY, "\\n a ").concat(radius, ",").concat(radius, " 0 1 1 ").concat(-endPositionX, ",").concat(endPositionY);\n var len = Math.PI * 2 * radius;\n var pathStyle = {\n stroke: strokeColor,\n strokeDasharray: "".concat(percent / 100 * (len - gapDegree), "px ").concat(len, "px"),\n strokeDashoffset: "-".concat(gapDegree / 2 + offset / 100 * (len - gapDegree), "px"),\n transition: \'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s\' // eslint-disable-line\n\n };\n return {\n pathString: pathString,\n pathStyle: pathStyle\n };\n}\n\nvar Circle_Circle = function Circle(_ref) {\n var prefixCls = _ref.prefixCls,\n strokeWidth = _ref.strokeWidth,\n trailWidth = _ref.trailWidth,\n gapDegree = _ref.gapDegree,\n gapPosition = _ref.gapPosition,\n trailColor = _ref.trailColor,\n strokeLinecap = _ref.strokeLinecap,\n style = _ref.style,\n className = _ref.className,\n strokeColor = _ref.strokeColor,\n percent = _ref.percent,\n restProps = Circle_objectWithoutProperties(_ref, ["prefixCls", "strokeWidth", "trailWidth", "gapDegree", "gapPosition", "trailColor", "strokeLinecap", "style", "className", "strokeColor", "percent"]);\n\n var gradientId = Object(react["useMemo"])(function () {\n gradientSeed += 1;\n return gradientSeed;\n }, []);\n\n var _getPathStyles = getPathStyles(0, 100, trailColor, strokeWidth, gapDegree, gapPosition),\n pathString = _getPathStyles.pathString,\n pathStyle = _getPathStyles.pathStyle;\n\n var percentList = toArray(percent);\n var strokeColorList = toArray(strokeColor);\n var gradient = strokeColorList.find(function (color) {\n return Object.prototype.toString.call(color) === \'[object Object]\';\n });\n\n var _useTransitionDuratio = common_useTransitionDuration(percentList),\n _useTransitionDuratio2 = Circle_slicedToArray(_useTransitionDuratio, 1),\n paths = _useTransitionDuratio2[0];\n\n var getStokeList = function getStokeList() {\n var stackPtg = 0;\n return percentList.map(function (ptg, index) {\n var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n var stroke = Object.prototype.toString.call(color) === \'[object Object]\' ? "url(#".concat(prefixCls, "-gradient-").concat(gradientId, ")") : \'\';\n var pathStyles = getPathStyles(stackPtg, ptg, color, strokeWidth, gapDegree, gapPosition);\n stackPtg += ptg;\n return /*#__PURE__*/react_default.a.createElement("path", {\n key: index,\n className: "".concat(prefixCls, "-circle-path"),\n d: pathStyles.pathString,\n stroke: stroke,\n strokeLinecap: strokeLinecap,\n strokeWidth: strokeWidth,\n opacity: ptg === 0 ? 0 : 1,\n fillOpacity: "0",\n style: pathStyles.pathStyle,\n ref: paths[index]\n });\n });\n };\n\n return /*#__PURE__*/react_default.a.createElement("svg", Circle_extends({\n className: classnames_default()("".concat(prefixCls, "-circle"), className),\n viewBox: "0 0 100 100",\n style: style\n }, restProps), gradient && /*#__PURE__*/react_default.a.createElement("defs", null, /*#__PURE__*/react_default.a.createElement("linearGradient", {\n id: "".concat(prefixCls, "-gradient-").concat(gradientId),\n x1: "100%",\n y1: "0%",\n x2: "0%",\n y2: "0%"\n }, Object.keys(gradient).sort(function (a, b) {\n return stripPercentToNumber(a) - stripPercentToNumber(b);\n }).map(function (key, index) {\n return /*#__PURE__*/react_default.a.createElement("stop", {\n key: index,\n offset: key,\n stopColor: gradient[key]\n });\n }))), /*#__PURE__*/react_default.a.createElement("path", {\n className: "".concat(prefixCls, "-circle-trail"),\n d: pathString,\n stroke: trailColor,\n strokeLinecap: strokeLinecap,\n strokeWidth: trailWidth || strokeWidth,\n fillOpacity: "0",\n style: pathStyle\n }), getStokeList().reverse());\n};\n\nCircle_Circle.defaultProps = defaultProps;\n/* harmony default export */ var es_Circle = (Circle_Circle);\n// CONCATENATED MODULE: ./node_modules/rc-progress/es/index.js\n\n\n\n/* harmony default export */ var rc_progress_es = ({\n Line: es_Line,\n Circle: es_Circle\n});\n// CONCATENATED MODULE: ./node_modules/antd/es/progress/Circle.js\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\nfunction getPercentage(_ref) {\n var percent = _ref.percent,\n successPercent = _ref.successPercent;\n var ptg = validProgress(percent);\n\n if (!successPercent) {\n return ptg;\n }\n\n var successPtg = validProgress(successPercent);\n return [successPercent, validProgress(ptg - successPtg)];\n}\n\nfunction getStrokeColor(_ref2) {\n var successPercent = _ref2.successPercent,\n strokeColor = _ref2.strokeColor;\n var color = strokeColor || null;\n\n if (!successPercent) {\n return color;\n }\n\n return [null, color];\n}\n\nvar progress_Circle_Circle = function Circle(props) {\n var prefixCls = props.prefixCls,\n width = props.width,\n strokeWidth = props.strokeWidth,\n trailColor = props.trailColor,\n strokeLinecap = props.strokeLinecap,\n gapPosition = props.gapPosition,\n gapDegree = props.gapDegree,\n type = props.type,\n children = props.children;\n var circleSize = width || 120;\n var circleStyle = {\n width: circleSize,\n height: circleSize,\n fontSize: circleSize * 0.15 + 6\n };\n var circleWidth = strokeWidth || 6;\n var gapPos = gapPosition || type === \'dashboard\' && \'bottom\' || \'top\'; // Support gapDeg = 0 when type = \'dashboard\'\n\n var gapDeg;\n\n if (gapDegree || gapDegree === 0) {\n gapDeg = gapDegree;\n } else if (type === \'dashboard\') {\n gapDeg = 75;\n } // using className to style stroke color\n\n\n var strokeColor = getStrokeColor(props);\n var isGradient = Object.prototype.toString.call(strokeColor) === \'[object Object]\';\n var wrapperClassName = classnames_default()("".concat(prefixCls, "-inner"), _defineProperty({}, "".concat(prefixCls, "-circle-gradient"), isGradient));\n return /*#__PURE__*/react["createElement"]("div", {\n className: wrapperClassName,\n style: circleStyle\n }, /*#__PURE__*/react["createElement"](es_Circle, {\n percent: getPercentage(props),\n strokeWidth: circleWidth,\n trailWidth: circleWidth,\n strokeColor: strokeColor,\n strokeLinecap: strokeLinecap,\n trailColor: trailColor,\n prefixCls: prefixCls,\n gapDegree: gapDeg,\n gapPosition: gapPos\n }), children);\n};\n\n/* harmony default export */ var progress_Circle = (progress_Circle_Circle);\n// CONCATENATED MODULE: ./node_modules/antd/es/progress/Steps.js\nfunction Steps_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nvar Steps_Steps = function Steps(props) {\n var size = props.size,\n steps = props.steps,\n _props$percent = props.percent,\n percent = _props$percent === void 0 ? 0 : _props$percent,\n _props$strokeWidth = props.strokeWidth,\n strokeWidth = _props$strokeWidth === void 0 ? 8 : _props$strokeWidth,\n strokeColor = props.strokeColor,\n prefixCls = props.prefixCls,\n children = props.children;\n var current = Math.floor(steps * (percent / 100));\n var stepWidth = size === \'small\' ? 2 : 14;\n var styledSteps = [];\n\n for (var i = 0; i < steps; i += 1) {\n styledSteps.push( /*#__PURE__*/react["createElement"]("div", {\n key: i,\n className: classnames_default()("".concat(prefixCls, "-steps-item"), Steps_defineProperty({}, "".concat(prefixCls, "-steps-item-active"), i <= current - 1)),\n style: {\n backgroundColor: i <= current - 1 ? strokeColor : undefined,\n width: stepWidth,\n height: strokeWidth\n }\n }));\n }\n\n return /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-steps-outer")\n }, styledSteps, children);\n};\n\n/* harmony default export */ var progress_Steps = (Steps_Steps);\n// CONCATENATED MODULE: ./node_modules/antd/es/progress/progress.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction progress_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction progress_extends() { progress_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; }; return progress_extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar progress_rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ProgressTypes = Object(_util_type["a" /* tuple */])(\'line\', \'circle\', \'dashboard\');\nvar ProgressStatuses = Object(_util_type["a" /* tuple */])(\'normal\', \'exception\', \'active\', \'success\');\n\nvar progress_Progress = /*#__PURE__*/function (_React$Component) {\n _inherits(Progress, _React$Component);\n\n var _super = _createSuper(Progress);\n\n function Progress() {\n var _this;\n\n _classCallCheck(this, Progress);\n\n _this = _super.apply(this, arguments);\n\n _this.renderProgress = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n size = props.size,\n type = props.type,\n steps = props.steps,\n showInfo = props.showInfo,\n strokeColor = props.strokeColor,\n restProps = progress_rest(props, ["prefixCls", "className", "size", "type", "steps", "showInfo", "strokeColor"]);\n\n var prefixCls = getPrefixCls(\'progress\', customizePrefixCls);\n\n var progressStatus = _this.getProgressStatus();\n\n var progressInfo = _this.renderProcessInfo(prefixCls, progressStatus);\n\n var progress; // Render progress shape\n\n if (type === \'line\') {\n progress = steps ? /*#__PURE__*/react["createElement"](progress_Steps, progress_extends({}, _this.props, {\n strokeColor: typeof strokeColor === \'string\' ? strokeColor : undefined,\n prefixCls: prefixCls,\n steps: steps\n }), progressInfo) : /*#__PURE__*/react["createElement"](progress_Line, progress_extends({}, _this.props, {\n prefixCls: prefixCls\n }), progressInfo);\n } else if (type === \'circle\' || type === \'dashboard\') {\n progress = /*#__PURE__*/react["createElement"](progress_Circle, progress_extends({}, _this.props, {\n prefixCls: prefixCls,\n progressStatus: progressStatus\n }), progressInfo);\n }\n\n var classString = classnames_default()(prefixCls, (_classNames = {}, progress_defineProperty(_classNames, "".concat(prefixCls, "-").concat(type === \'dashboard\' && \'circle\' || steps && \'steps\' || type), true), progress_defineProperty(_classNames, "".concat(prefixCls, "-status-").concat(progressStatus), true), progress_defineProperty(_classNames, "".concat(prefixCls, "-show-info"), showInfo), progress_defineProperty(_classNames, "".concat(prefixCls, "-").concat(size), size), progress_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames), className);\n return /*#__PURE__*/react["createElement"]("div", progress_extends({}, Object(es["a" /* default */])(restProps, [\'status\', \'format\', \'trailColor\', \'successPercent\', \'strokeWidth\', \'width\', \'gapDegree\', \'gapPosition\', \'strokeColor\', \'strokeLinecap\', \'percent\', \'steps\']), {\n className: classString\n }), progress);\n };\n\n return _this;\n }\n\n _createClass(Progress, [{\n key: "getPercentNumber",\n value: function getPercentNumber() {\n var _this$props = this.props,\n successPercent = _this$props.successPercent,\n _this$props$percent = _this$props.percent,\n percent = _this$props$percent === void 0 ? 0 : _this$props$percent;\n return parseInt(successPercent !== undefined ? successPercent.toString() : percent.toString(), 10);\n }\n }, {\n key: "getProgressStatus",\n value: function getProgressStatus() {\n var status = this.props.status;\n\n if (ProgressStatuses.indexOf(status) < 0 && this.getPercentNumber() >= 100) {\n return \'success\';\n }\n\n return status || \'normal\';\n }\n }, {\n key: "renderProcessInfo",\n value: function renderProcessInfo(prefixCls, progressStatus) {\n var _this$props2 = this.props,\n showInfo = _this$props2.showInfo,\n format = _this$props2.format,\n type = _this$props2.type,\n percent = _this$props2.percent,\n successPercent = _this$props2.successPercent;\n if (!showInfo) return null;\n var text;\n\n var textFormatter = format || function (percentNumber) {\n return "".concat(percentNumber, "%");\n };\n\n var isLineType = type === \'line\';\n\n if (format || progressStatus !== \'exception\' && progressStatus !== \'success\') {\n text = textFormatter(validProgress(percent), validProgress(successPercent));\n } else if (progressStatus === \'exception\') {\n text = isLineType ? /*#__PURE__*/react["createElement"](CloseCircleFilled_default.a, null) : /*#__PURE__*/react["createElement"](CloseOutlined_default.a, null);\n } else if (progressStatus === \'success\') {\n text = isLineType ? /*#__PURE__*/react["createElement"](CheckCircleFilled_default.a, null) : /*#__PURE__*/react["createElement"](CheckOutlined_default.a, null);\n }\n\n return /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-text"),\n title: typeof text === \'string\' ? text : undefined\n }, text);\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderProgress);\n }\n }]);\n\n return Progress;\n}(react["Component"]);\n\n\nprogress_Progress.defaultProps = {\n type: \'line\',\n percent: 0,\n showInfo: true,\n // null for different theme definition\n trailColor: null,\n size: \'default\',\n gapDegree: undefined,\n strokeLinecap: \'round\'\n};\n// CONCATENATED MODULE: ./node_modules/antd/es/progress/index.js\n\n/* harmony default export */ var es_progress = __webpack_exports__["a"] = (progress_Progress);\n\n//# sourceURL=webpack:///./node_modules/antd/es/progress/index.js_+_9_modules?')},CH3K:function(module,exports){eval("/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_arrayPush.js?")},CHaL:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.css?")},"CMP+":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar Axis = __webpack_require__(\"hM6l\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar TimelineAxis = function (dim, scale, coordExtent, axisType) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis model\n * @param {module:echarts/component/TimelineModel}\n */\n\n this.model = null;\n};\n\nTimelineAxis.prototype = {\n constructor: TimelineAxis,\n\n /**\n * @override\n */\n getLabelModel: function () {\n return this.model.getModel('label');\n },\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.model.get('orient') === 'horizontal';\n }\n};\nzrUtil.inherits(TimelineAxis, Axis);\nvar _default = TimelineAxis;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/TimelineAxis.js?")},CP8R:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar FilterFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z" } }] }, "name": "filter", "theme": "filled" };\nexports.default = FilterFilled;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/FilterFilled.js?')},CRAX:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Extensions; });\n/* unused harmony export allSettings */\n/* unused harmony export applicationSettings */\n/* unused harmony export machineSettings */\n/* unused harmony export machineOverridableSettings */\n/* unused harmony export windowSettings */\n/* unused harmony export resourceSettings */\n/* unused harmony export resourceLanguageSettingsSchemaId */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return OVERRIDE_PROPERTY_PATTERN; });\n/* unused harmony export getDefaultValue */\n/* unused harmony export validateProperty */\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3/fG");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MI8n");\n/* harmony import */ var _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("ic2d");\n/* harmony import */ var _base_common_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("746U");\n/* harmony import */ var _jsonschemas_common_jsonContributionRegistry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("3Rsk");\n/* harmony import */ var _base_common_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("QDVR");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar Extensions = {\r\n Configuration: \'base.contributions.configuration\'\r\n};\r\nvar allSettings = { properties: {}, patternProperties: {} };\r\nvar applicationSettings = { properties: {}, patternProperties: {} };\r\nvar machineSettings = { properties: {}, patternProperties: {} };\r\nvar machineOverridableSettings = { properties: {}, patternProperties: {} };\r\nvar windowSettings = { properties: {}, patternProperties: {} };\r\nvar resourceSettings = { properties: {}, patternProperties: {} };\r\nvar resourceLanguageSettingsSchemaId = \'vscode://schemas/settings/resourceLanguage\';\r\nvar contributionRegistry = _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_2__[/* Registry */ "a"].as(_jsonschemas_common_jsonContributionRegistry_js__WEBPACK_IMPORTED_MODULE_4__[/* Extensions */ "a"].JSONContribution);\r\nvar ConfigurationRegistry = /** @class */ (function () {\r\n function ConfigurationRegistry() {\r\n this.overrideIdentifiers = new Set();\r\n this._onDidSchemaChange = new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]();\r\n this._onDidUpdateConfiguration = new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ "a"]();\r\n this.defaultOverridesConfigurationNode = {\r\n id: \'defaultOverrides\',\r\n title: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ "a"](\'defaultConfigurations.title\', "Default Configuration Overrides"),\r\n properties: {}\r\n };\r\n this.configurationContributors = [this.defaultOverridesConfigurationNode];\r\n this.resourceLanguageSettingsSchema = { properties: {}, patternProperties: {}, additionalProperties: false, errorMessage: \'Unknown editor configuration setting\', allowTrailingCommas: true, allowComments: true };\r\n this.configurationProperties = {};\r\n this.excludedConfigurationProperties = {};\r\n contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId, this.resourceLanguageSettingsSchema);\r\n }\r\n ConfigurationRegistry.prototype.registerConfiguration = function (configuration, validate) {\r\n if (validate === void 0) { validate = true; }\r\n this.registerConfigurations([configuration], validate);\r\n };\r\n ConfigurationRegistry.prototype.registerConfigurations = function (configurations, validate) {\r\n var _this = this;\r\n if (validate === void 0) { validate = true; }\r\n var properties = [];\r\n configurations.forEach(function (configuration) {\r\n properties.push.apply(properties, _this.validateAndRegisterProperties(configuration, validate)); // fills in defaults\r\n _this.configurationContributors.push(configuration);\r\n _this.registerJSONConfiguration(configuration);\r\n });\r\n contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId, this.resourceLanguageSettingsSchema);\r\n this._onDidSchemaChange.fire();\r\n this._onDidUpdateConfiguration.fire(properties);\r\n };\r\n ConfigurationRegistry.prototype.registerOverrideIdentifiers = function (overrideIdentifiers) {\r\n for (var _i = 0, overrideIdentifiers_1 = overrideIdentifiers; _i < overrideIdentifiers_1.length; _i++) {\r\n var overrideIdentifier = overrideIdentifiers_1[_i];\r\n this.overrideIdentifiers.add(overrideIdentifier);\r\n }\r\n this.updateOverridePropertyPatternKey();\r\n };\r\n ConfigurationRegistry.prototype.validateAndRegisterProperties = function (configuration, validate, scope) {\r\n if (validate === void 0) { validate = true; }\r\n if (scope === void 0) { scope = 3 /* WINDOW */; }\r\n scope = _base_common_types_js__WEBPACK_IMPORTED_MODULE_3__[/* isUndefinedOrNull */ "l"](configuration.scope) ? scope : configuration.scope;\r\n var propertyKeys = [];\r\n var properties = configuration.properties;\r\n if (properties) {\r\n for (var key in properties) {\r\n if (validate && validateProperty(key)) {\r\n delete properties[key];\r\n continue;\r\n }\r\n // fill in default values\r\n var property = properties[key];\r\n var defaultValue = property.default;\r\n if (_base_common_types_js__WEBPACK_IMPORTED_MODULE_3__[/* isUndefined */ "k"](defaultValue)) {\r\n property.default = getDefaultValue(property.type);\r\n }\r\n if (OVERRIDE_PROPERTY_PATTERN.test(key)) {\r\n property.scope = undefined; // No scope for overridable properties `[${identifier}]`\r\n }\r\n else {\r\n property.scope = _base_common_types_js__WEBPACK_IMPORTED_MODULE_3__[/* isUndefinedOrNull */ "l"](property.scope) ? scope : property.scope;\r\n }\r\n // Add to properties maps\r\n // Property is included by default if \'included\' is unspecified\r\n if (properties[key].hasOwnProperty(\'included\') && !properties[key].included) {\r\n this.excludedConfigurationProperties[key] = properties[key];\r\n delete properties[key];\r\n continue;\r\n }\r\n else {\r\n this.configurationProperties[key] = properties[key];\r\n }\r\n propertyKeys.push(key);\r\n }\r\n }\r\n var subNodes = configuration.allOf;\r\n if (subNodes) {\r\n for (var _i = 0, subNodes_1 = subNodes; _i < subNodes_1.length; _i++) {\r\n var node = subNodes_1[_i];\r\n propertyKeys.push.apply(propertyKeys, this.validateAndRegisterProperties(node, validate, scope));\r\n }\r\n }\r\n return propertyKeys;\r\n };\r\n ConfigurationRegistry.prototype.getConfigurationProperties = function () {\r\n return this.configurationProperties;\r\n };\r\n ConfigurationRegistry.prototype.registerJSONConfiguration = function (configuration) {\r\n var _this = this;\r\n var register = function (configuration) {\r\n var properties = configuration.properties;\r\n if (properties) {\r\n for (var key in properties) {\r\n allSettings.properties[key] = properties[key];\r\n switch (properties[key].scope) {\r\n case 1 /* APPLICATION */:\r\n applicationSettings.properties[key] = properties[key];\r\n break;\r\n case 2 /* MACHINE */:\r\n machineSettings.properties[key] = properties[key];\r\n break;\r\n case 6 /* MACHINE_OVERRIDABLE */:\r\n machineOverridableSettings.properties[key] = properties[key];\r\n break;\r\n case 3 /* WINDOW */:\r\n windowSettings.properties[key] = properties[key];\r\n break;\r\n case 4 /* RESOURCE */:\r\n resourceSettings.properties[key] = properties[key];\r\n break;\r\n case 5 /* LANGUAGE_OVERRIDABLE */:\r\n resourceSettings.properties[key] = properties[key];\r\n _this.resourceLanguageSettingsSchema.properties[key] = properties[key];\r\n break;\r\n }\r\n }\r\n }\r\n var subNodes = configuration.allOf;\r\n if (subNodes) {\r\n subNodes.forEach(register);\r\n }\r\n };\r\n register(configuration);\r\n };\r\n ConfigurationRegistry.prototype.updateOverridePropertyPatternKey = function () {\r\n var _a;\r\n for (var _i = 0, _b = Object(_base_common_map_js__WEBPACK_IMPORTED_MODULE_5__[/* values */ "e"])(this.overrideIdentifiers); _i < _b.length; _i++) {\r\n var overrideIdentifier = _b[_i];\r\n var overrideIdentifierProperty = "[" + overrideIdentifier + "]";\r\n var resourceLanguagePropertiesSchema = {\r\n type: \'object\',\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ "a"](\'overrideSettings.defaultDescription\', "Configure editor settings to be overridden for a language."),\r\n errorMessage: _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ "a"](\'overrideSettings.errorMessage\', "This setting does not support per-language configuration."),\r\n $ref: resourceLanguageSettingsSchemaId,\r\n default: (_a = this.defaultOverridesConfigurationNode.properties[overrideIdentifierProperty]) === null || _a === void 0 ? void 0 : _a.default\r\n };\r\n allSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\r\n applicationSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\r\n machineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\r\n machineOverridableSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\r\n windowSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\r\n resourceSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;\r\n }\r\n this._onDidSchemaChange.fire();\r\n };\r\n return ConfigurationRegistry;\r\n}());\r\nvar OVERRIDE_PROPERTY = \'\\\\[.*\\\\]$\';\r\nvar OVERRIDE_PROPERTY_PATTERN = new RegExp(OVERRIDE_PROPERTY);\r\nfunction getDefaultValue(type) {\r\n var t = Array.isArray(type) ? type[0] : type;\r\n switch (t) {\r\n case \'boolean\':\r\n return false;\r\n case \'integer\':\r\n case \'number\':\r\n return 0;\r\n case \'string\':\r\n return \'\';\r\n case \'array\':\r\n return [];\r\n case \'object\':\r\n return {};\r\n default:\r\n return null;\r\n }\r\n}\r\nvar configurationRegistry = new ConfigurationRegistry();\r\n_registry_common_platform_js__WEBPACK_IMPORTED_MODULE_2__[/* Registry */ "a"].add(Extensions.Configuration, configurationRegistry);\r\nfunction validateProperty(property) {\r\n if (OVERRIDE_PROPERTY_PATTERN.test(property)) {\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ "a"](\'config.property.languageDefault\', "Cannot register \'{0}\'. This matches property pattern \'\\\\\\\\[.*\\\\\\\\]$\' for describing language specific editor settings. Use \'configurationDefaults\' contribution.", property);\r\n }\r\n if (configurationRegistry.getConfigurationProperties()[property] !== undefined) {\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ "a"](\'config.property.duplicate\', "Cannot register \'{0}\'. This property is already registered.", property);\r\n }\r\n return null;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js?')},"CWI+":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/drawer/style/index.less?")},CZ1j:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return toUint8; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return toUint32; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nfunction toUint8(v) {\r\n if (v < 0) {\r\n return 0;\r\n }\r\n if (v > 255 /* MAX_UINT_8 */) {\r\n return 255 /* MAX_UINT_8 */;\r\n }\r\n return v | 0;\r\n}\r\nfunction toUint32(v) {\r\n if (v < 0) {\r\n return 0;\r\n }\r\n if (v > 4294967295 /* MAX_UINT_32 */) {\r\n return 4294967295 /* MAX_UINT_32 */;\r\n }\r\n return v | 0;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/uint.js?')},CbHG:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _graphic = __webpack_require__(\"IwbS\");\n\nvar subPixelOptimize = _graphic.subPixelOptimize;\n\nvar createRenderPlanner = __webpack_require__(\"zM3Q\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar retrieve2 = _util.retrieve2;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* 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 */\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\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 cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n var openDim = vDims[0];\n var closeDim = vDims[1];\n var lowestDim = vDims[2];\n var highestDim = vDims[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDim == null || vDims.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\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, 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(data, dataIndex, openVal, closeVal, closeDim),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\n // open point.\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] = subPixelOptimize(point1[cDimIdx] + candleWidth / 2, 1, false);\n point2[cDimIdx] = 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] = 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 = new LargeArr(params.count * 4);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, 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(data, dataIndex, openVal, closeVal, closeDim);\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(data, dataIndex, openVal, closeVal, closeDim) {\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 ? data.get(closeDim, 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 = parsePercent(retrieve2(seriesModel.get('barMaxWidth'), bandWidth), bandWidth);\n var barMinWidth = parsePercent(retrieve2(seriesModel.get('barMinWidth'), 1), bandWidth);\n var barWidth = seriesModel.get('barWidth');\n return barWidth != null ? 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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js?")},CdFp:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'abap',\r\n extensions: ['.abap'],\r\n aliases: ['abap', 'ABAP'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 165).then(__webpack_require__.bind(null, \"6Xso\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js?")},"Cg/j":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return _util; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return IInstantiationService; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return createDecorator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return optional; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n// ------ internal util\r\nvar _util;\r\n(function (_util) {\r\n _util.serviceIds = new Map();\r\n _util.DI_TARGET = '$di$target';\r\n _util.DI_DEPENDENCIES = '$di$dependencies';\r\n function getServiceDependencies(ctor) {\r\n return ctor[_util.DI_DEPENDENCIES] || [];\r\n }\r\n _util.getServiceDependencies = getServiceDependencies;\r\n})(_util || (_util = {}));\r\nvar IInstantiationService = createDecorator('instantiationService');\r\nfunction storeServiceDependency(id, target, index, optional) {\r\n if (target[_util.DI_TARGET] === target) {\r\n target[_util.DI_DEPENDENCIES].push({ id: id, index: index, optional: optional });\r\n }\r\n else {\r\n target[_util.DI_DEPENDENCIES] = [{ id: id, index: index, optional: optional }];\r\n target[_util.DI_TARGET] = target;\r\n }\r\n}\r\n/**\r\n * A *only* valid way to create a {{ServiceIdentifier}}.\r\n */\r\nfunction createDecorator(serviceId) {\r\n if (_util.serviceIds.has(serviceId)) {\r\n return _util.serviceIds.get(serviceId);\r\n }\r\n var id = function (target, key, index) {\r\n if (arguments.length !== 3) {\r\n throw new Error('@IServiceName-decorator can only be used to decorate a parameter');\r\n }\r\n storeServiceDependency(id, target, index, false);\r\n };\r\n id.toString = function () { return serviceId; };\r\n _util.serviceIds.set(serviceId, id);\r\n return id;\r\n}\r\n/**\r\n * Mark a service dependency as optional.\r\n */\r\nfunction optional(serviceIdentifier) {\r\n return function (target, key, index) {\r\n if (arguments.length !== 3) {\r\n throw new Error('@optional-decorator can only be used to decorate a parameter');\r\n }\r\n storeServiceDependency(serviceIdentifier, target, index, true);\r\n };\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiation.js?")},CiB2:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectDestructuringEmpty; });\nfunction _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError("Cannot destructure undefined");\n}\n\n//# sourceURL=webpack:///./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js?')},CjF5:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BrowserFeatures; });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("D3Dy");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("MNsG");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n/**\r\n * Browser feature we can support in current platform, browser and environment.\r\n */\r\nvar BrowserFeatures = {\r\n clipboard: {\r\n writeText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isNative */ "f"]\r\n || (document.queryCommandSupported && document.queryCommandSupported(\'copy\'))\r\n || !!(navigator && navigator.clipboard && navigator.clipboard.writeText)),\r\n readText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isNative */ "f"]\r\n || !!(navigator && navigator.clipboard && navigator.clipboard.readText)),\r\n richText: (function () {\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isIE */ "i"]) {\r\n return false;\r\n }\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isEdge */ "e"]) {\r\n var index = navigator.userAgent.indexOf(\'Edge/\');\r\n var version = parseInt(navigator.userAgent.substring(index + 5, navigator.userAgent.indexOf(\'.\', index)), 10);\r\n if (!version || (version >= 12 && version <= 16)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n })()\r\n },\r\n keyboard: (function () {\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__[/* isNative */ "f"] || _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isStandalone */ "l"]) {\r\n return 0 /* Always */;\r\n }\r\n if (navigator.keyboard || _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isSafari */ "k"]) {\r\n return 1 /* FullScreen */;\r\n }\r\n return 2 /* None */;\r\n })(),\r\n touch: \'ontouchstart\' in window || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0,\r\n pointerEvents: window.PointerEvent && (\'ontouchstart\' in window || window.navigator.maxTouchPoints > 0 || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0)\r\n};\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js?')},CjOT:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/folding/folding.css?")},Cm0C:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n__webpack_require__("5NHt");\n\n__webpack_require__("f3JH");\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom.js?')},Comh:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return TextAreaState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PagedScreenReaderStrategy; });\n/* harmony import */ var _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"N0LK\");\n/* harmony import */ var _common_core_position_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"cGHE\");\n/* harmony import */ var _common_core_range_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"aokT\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\nvar TextAreaState = /** @class */ (function () {\r\n function TextAreaState(value, selectionStart, selectionEnd, selectionStartPosition, selectionEndPosition) {\r\n this.value = value;\r\n this.selectionStart = selectionStart;\r\n this.selectionEnd = selectionEnd;\r\n this.selectionStartPosition = selectionStartPosition;\r\n this.selectionEndPosition = selectionEndPosition;\r\n }\r\n TextAreaState.prototype.toString = function () {\r\n return '[ <' + this.value + '>, selectionStart: ' + this.selectionStart + ', selectionEnd: ' + this.selectionEnd + ']';\r\n };\r\n TextAreaState.readFromTextArea = function (textArea) {\r\n return new TextAreaState(textArea.getValue(), textArea.getSelectionStart(), textArea.getSelectionEnd(), null, null);\r\n };\r\n TextAreaState.prototype.collapseSelection = function () {\r\n return new TextAreaState(this.value, this.value.length, this.value.length, null, null);\r\n };\r\n TextAreaState.prototype.writeToTextArea = function (reason, textArea, select) {\r\n // console.log(Date.now() + ': writeToTextArea ' + reason + ': ' + this.toString());\r\n textArea.setValue(reason, this.value);\r\n if (select) {\r\n textArea.setSelectionRange(reason, this.selectionStart, this.selectionEnd);\r\n }\r\n };\r\n TextAreaState.prototype.deduceEditorPosition = function (offset) {\r\n if (offset <= this.selectionStart) {\r\n var str = this.value.substring(offset, this.selectionStart);\r\n return this._finishDeduceEditorPosition(this.selectionStartPosition, str, -1);\r\n }\r\n if (offset >= this.selectionEnd) {\r\n var str = this.value.substring(this.selectionEnd, offset);\r\n return this._finishDeduceEditorPosition(this.selectionEndPosition, str, 1);\r\n }\r\n var str1 = this.value.substring(this.selectionStart, offset);\r\n if (str1.indexOf(String.fromCharCode(8230)) === -1) {\r\n return this._finishDeduceEditorPosition(this.selectionStartPosition, str1, 1);\r\n }\r\n var str2 = this.value.substring(offset, this.selectionEnd);\r\n return this._finishDeduceEditorPosition(this.selectionEndPosition, str2, -1);\r\n };\r\n TextAreaState.prototype._finishDeduceEditorPosition = function (anchor, deltaText, signum) {\r\n var lineFeedCnt = 0;\r\n var lastLineFeedIndex = -1;\r\n while ((lastLineFeedIndex = deltaText.indexOf('\\n', lastLineFeedIndex + 1)) !== -1) {\r\n lineFeedCnt++;\r\n }\r\n return [anchor, signum * deltaText.length, lineFeedCnt];\r\n };\r\n TextAreaState.selectedText = function (text) {\r\n return new TextAreaState(text, 0, text.length, null, null);\r\n };\r\n TextAreaState.deduceInput = function (previousState, currentState, couldBeEmojiInput) {\r\n if (!previousState) {\r\n // This is the EMPTY state\r\n return {\r\n text: '',\r\n replaceCharCnt: 0\r\n };\r\n }\r\n // console.log('------------------------deduceInput');\r\n // console.log('PREVIOUS STATE: ' + previousState.toString());\r\n // console.log('CURRENT STATE: ' + currentState.toString());\r\n var previousValue = previousState.value;\r\n var previousSelectionStart = previousState.selectionStart;\r\n var previousSelectionEnd = previousState.selectionEnd;\r\n var currentValue = currentState.value;\r\n var currentSelectionStart = currentState.selectionStart;\r\n var currentSelectionEnd = currentState.selectionEnd;\r\n // Strip the previous suffix from the value (without interfering with the current selection)\r\n var previousSuffix = previousValue.substring(previousSelectionEnd);\r\n var currentSuffix = currentValue.substring(currentSelectionEnd);\r\n var suffixLength = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* commonSuffixLength */ \"d\"](previousSuffix, currentSuffix);\r\n currentValue = currentValue.substring(0, currentValue.length - suffixLength);\r\n previousValue = previousValue.substring(0, previousValue.length - suffixLength);\r\n var previousPrefix = previousValue.substring(0, previousSelectionStart);\r\n var currentPrefix = currentValue.substring(0, currentSelectionStart);\r\n var prefixLength = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* commonPrefixLength */ \"c\"](previousPrefix, currentPrefix);\r\n currentValue = currentValue.substring(prefixLength);\r\n previousValue = previousValue.substring(prefixLength);\r\n currentSelectionStart -= prefixLength;\r\n previousSelectionStart -= prefixLength;\r\n currentSelectionEnd -= prefixLength;\r\n previousSelectionEnd -= prefixLength;\r\n // console.log('AFTER DIFFING PREVIOUS STATE: <' + previousValue + '>, selectionStart: ' + previousSelectionStart + ', selectionEnd: ' + previousSelectionEnd);\r\n // console.log('AFTER DIFFING CURRENT STATE: <' + currentValue + '>, selectionStart: ' + currentSelectionStart + ', selectionEnd: ' + currentSelectionEnd);\r\n if (couldBeEmojiInput && currentSelectionStart === currentSelectionEnd && previousValue.length > 0) {\r\n // on OSX, emojis from the emoji picker are inserted at random locations\r\n // the only hints we can use is that the selection is immediately after the inserted emoji\r\n // and that none of the old text has been deleted\r\n var potentialEmojiInput = null;\r\n if (currentSelectionStart === currentValue.length) {\r\n // emoji potentially inserted \"somewhere\" after the previous selection => it should appear at the end of `currentValue`\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* startsWith */ \"M\"](currentValue, previousValue)) {\r\n // only if all of the old text is accounted for\r\n potentialEmojiInput = currentValue.substring(previousValue.length);\r\n }\r\n }\r\n else {\r\n // emoji potentially inserted \"somewhere\" before the previous selection => it should appear at the start of `currentValue`\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* endsWith */ \"m\"](currentValue, previousValue)) {\r\n // only if all of the old text is accounted for\r\n potentialEmojiInput = currentValue.substring(0, currentValue.length - previousValue.length);\r\n }\r\n }\r\n if (potentialEmojiInput !== null && potentialEmojiInput.length > 0) {\r\n // now we check that this is indeed an emoji\r\n // emojis can grow quite long, so a length check is of no help\r\n // e.g. 1F3F4 E0067 E0062 E0065 E006E E0067 E007F ; fully-qualified # \ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f England\r\n // Oftentimes, emojis use Variation Selector-16 (U+FE0F), so that is a good hint\r\n // http://emojipedia.org/variation-selector-16/\r\n // > An invisible codepoint which specifies that the preceding character\r\n // > should be displayed with emoji presentation. Only required if the\r\n // > preceding character defaults to text presentation.\r\n if (/\\uFE0F/.test(potentialEmojiInput) || _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* containsEmoji */ \"g\"](potentialEmojiInput)) {\r\n return {\r\n text: potentialEmojiInput,\r\n replaceCharCnt: 0\r\n };\r\n }\r\n }\r\n }\r\n if (currentSelectionStart === currentSelectionEnd) {\r\n // composition accept case (noticed in FF + Japanese)\r\n // [blahblah] => blahblah|\r\n if (previousValue === currentValue\r\n && previousSelectionStart === 0\r\n && previousSelectionEnd === previousValue.length\r\n && currentSelectionStart === currentValue.length\r\n && currentValue.indexOf('\\n') === -1) {\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* containsFullWidthCharacter */ \"h\"](currentValue)) {\r\n return {\r\n text: '',\r\n replaceCharCnt: 0\r\n };\r\n }\r\n }\r\n // no current selection\r\n var replacePreviousCharacters_1 = (previousPrefix.length - prefixLength);\r\n // console.log('REMOVE PREVIOUS: ' + (previousPrefix.length - prefixLength) + ' chars');\r\n return {\r\n text: currentValue,\r\n replaceCharCnt: replacePreviousCharacters_1\r\n };\r\n }\r\n // there is a current selection => composition case\r\n var replacePreviousCharacters = previousSelectionEnd - previousSelectionStart;\r\n return {\r\n text: currentValue,\r\n replaceCharCnt: replacePreviousCharacters\r\n };\r\n };\r\n TextAreaState.EMPTY = new TextAreaState('', 0, 0, null, null);\r\n return TextAreaState;\r\n}());\r\n\r\nvar PagedScreenReaderStrategy = /** @class */ (function () {\r\n function PagedScreenReaderStrategy() {\r\n }\r\n PagedScreenReaderStrategy._getPageOfLine = function (lineNumber, linesPerPage) {\r\n return Math.floor((lineNumber - 1) / linesPerPage);\r\n };\r\n PagedScreenReaderStrategy._getRangeForPage = function (page, linesPerPage) {\r\n var offset = page * linesPerPage;\r\n var startLineNumber = offset + 1;\r\n var endLineNumber = offset + linesPerPage;\r\n return new _common_core_range_js__WEBPACK_IMPORTED_MODULE_2__[/* Range */ \"a\"](startLineNumber, 1, endLineNumber + 1, 1);\r\n };\r\n PagedScreenReaderStrategy.fromEditorSelection = function (previousState, model, selection, linesPerPage, trimLongText) {\r\n var selectionStartPage = PagedScreenReaderStrategy._getPageOfLine(selection.startLineNumber, linesPerPage);\r\n var selectionStartPageRange = PagedScreenReaderStrategy._getRangeForPage(selectionStartPage, linesPerPage);\r\n var selectionEndPage = PagedScreenReaderStrategy._getPageOfLine(selection.endLineNumber, linesPerPage);\r\n var selectionEndPageRange = PagedScreenReaderStrategy._getRangeForPage(selectionEndPage, linesPerPage);\r\n var pretextRange = selectionStartPageRange.intersectRanges(new _common_core_range_js__WEBPACK_IMPORTED_MODULE_2__[/* Range */ \"a\"](1, 1, selection.startLineNumber, selection.startColumn));\r\n var pretext = model.getValueInRange(pretextRange, 1 /* LF */);\r\n var lastLine = model.getLineCount();\r\n var lastLineMaxColumn = model.getLineMaxColumn(lastLine);\r\n var posttextRange = selectionEndPageRange.intersectRanges(new _common_core_range_js__WEBPACK_IMPORTED_MODULE_2__[/* Range */ \"a\"](selection.endLineNumber, selection.endColumn, lastLine, lastLineMaxColumn));\r\n var posttext = model.getValueInRange(posttextRange, 1 /* LF */);\r\n var text;\r\n if (selectionStartPage === selectionEndPage || selectionStartPage + 1 === selectionEndPage) {\r\n // take full selection\r\n text = model.getValueInRange(selection, 1 /* LF */);\r\n }\r\n else {\r\n var selectionRange1 = selectionStartPageRange.intersectRanges(selection);\r\n var selectionRange2 = selectionEndPageRange.intersectRanges(selection);\r\n text = (model.getValueInRange(selectionRange1, 1 /* LF */)\r\n + String.fromCharCode(8230)\r\n + model.getValueInRange(selectionRange2, 1 /* LF */));\r\n }\r\n // Chromium handles very poorly text even of a few thousand chars\r\n // Cut text to avoid stalling the entire UI\r\n if (trimLongText) {\r\n var LIMIT_CHARS = 500;\r\n if (pretext.length > LIMIT_CHARS) {\r\n pretext = pretext.substring(pretext.length - LIMIT_CHARS, pretext.length);\r\n }\r\n if (posttext.length > LIMIT_CHARS) {\r\n posttext = posttext.substring(0, LIMIT_CHARS);\r\n }\r\n if (text.length > 2 * LIMIT_CHARS) {\r\n text = text.substring(0, LIMIT_CHARS) + String.fromCharCode(8230) + text.substring(text.length - LIMIT_CHARS, text.length);\r\n }\r\n }\r\n return new TextAreaState(pretext + text + posttext, pretext.length, pretext.length + text.length, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_1__[/* Position */ \"a\"](selection.startLineNumber, selection.startColumn), new _common_core_position_js__WEBPACK_IMPORTED_MODULE_1__[/* Position */ \"a\"](selection.endLineNumber, selection.endColumn));\r\n };\r\n return PagedScreenReaderStrategy;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaState.js?")},CrYA:function(module,exports,__webpack_require__){eval("var util = __webpack_require__(\"MFOe\")\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'sessionStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll\n}\n\nfunction sessionStorage() {\n\treturn Global.sessionStorage\n}\n\nfunction read(key) {\n\treturn sessionStorage().getItem(key)\n}\n\nfunction write(key, data) {\n\treturn sessionStorage().setItem(key, data)\n}\n\nfunction each(fn) {\n\tfor (var i = sessionStorage().length - 1; i >= 0; i--) {\n\t\tvar key = sessionStorage().key(i)\n\t\tfn(read(key), key)\n\t}\n}\n\nfunction remove(key) {\n\treturn sessionStorage().removeItem(key)\n}\n\nfunction clearAll() {\n\treturn sessionStorage().clear()\n}\n\n\n//# sourceURL=webpack:///./node_modules/store/storages/sessionStorage.js?")},Csr3:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _PlusSquareOutlined = _interopRequireDefault(__webpack_require__("4vCz"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _PlusSquareOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/PlusSquareOutlined.js?')},Cwc5:function(module,exports,__webpack_require__){eval('var baseIsNative = __webpack_require__("NKxu"),\n getValue = __webpack_require__("Npjl");\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it\'s native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_getNative.js?')},D1WM:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar Axis = __webpack_require__(\"hM6l\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor module:echarts/coord/parallel/ParallelAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n */\nvar ParallelAxis = function (dim, scale, coordExtent, axisType, axisIndex) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * @type {number}\n * @readOnly\n */\n\n this.axisIndex = axisIndex;\n};\n\nParallelAxis.prototype = {\n constructor: ParallelAxis,\n\n /**\n * Axis model\n * @param {module:echarts/coord/parallel/AxisModel}\n */\n model: null,\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.coordinateSystem.getModel().get('layout') !== 'horizontal';\n }\n};\nzrUtil.inherits(ParallelAxis, Axis);\nvar _default = ParallelAxis;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/ParallelAxis.js?")},D3Dy:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getZoomLevel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getTimeSinceLastZoomLevelChanged; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return onDidChangeZoomLevel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getPixelRatio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return isIE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isEdge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isEdgeOrIE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return isFirefox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return isWebKit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isChrome; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return isSafari; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return isWebkitWebView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return isIPad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return isEdgeWebView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return isStandalone; });\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MI8n");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar WindowManager = /** @class */ (function () {\r\n function WindowManager() {\r\n // --- Zoom Level\r\n this._zoomLevel = 0;\r\n this._lastZoomLevelChangeTime = 0;\r\n this._onDidChangeZoomLevel = new _common_event_js__WEBPACK_IMPORTED_MODULE_0__[/* Emitter */ "a"]();\r\n this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event;\r\n }\r\n WindowManager.prototype.getZoomLevel = function () {\r\n return this._zoomLevel;\r\n };\r\n WindowManager.prototype.getTimeSinceLastZoomLevelChanged = function () {\r\n return Date.now() - this._lastZoomLevelChangeTime;\r\n };\r\n // --- Pixel Ratio\r\n WindowManager.prototype.getPixelRatio = function () {\r\n var ctx = document.createElement(\'canvas\').getContext(\'2d\');\r\n var dpr = window.devicePixelRatio || 1;\r\n var bsr = ctx.webkitBackingStorePixelRatio ||\r\n ctx.mozBackingStorePixelRatio ||\r\n ctx.msBackingStorePixelRatio ||\r\n ctx.oBackingStorePixelRatio ||\r\n ctx.backingStorePixelRatio || 1;\r\n return dpr / bsr;\r\n };\r\n WindowManager.INSTANCE = new WindowManager();\r\n return WindowManager;\r\n}());\r\nfunction getZoomLevel() {\r\n return WindowManager.INSTANCE.getZoomLevel();\r\n}\r\n/** Returns the time (in ms) since the zoom level was changed */\r\nfunction getTimeSinceLastZoomLevelChanged() {\r\n return WindowManager.INSTANCE.getTimeSinceLastZoomLevelChanged();\r\n}\r\nfunction onDidChangeZoomLevel(callback) {\r\n return WindowManager.INSTANCE.onDidChangeZoomLevel(callback);\r\n}\r\nfunction getPixelRatio() {\r\n return WindowManager.INSTANCE.getPixelRatio();\r\n}\r\nvar userAgent = navigator.userAgent;\r\nvar isIE = (userAgent.indexOf(\'Trident\') >= 0);\r\nvar isEdge = (userAgent.indexOf(\'Edge/\') >= 0);\r\nvar isEdgeOrIE = isIE || isEdge;\r\nvar isFirefox = (userAgent.indexOf(\'Firefox\') >= 0);\r\nvar isWebKit = (userAgent.indexOf(\'AppleWebKit\') >= 0);\r\nvar isChrome = (userAgent.indexOf(\'Chrome\') >= 0);\r\nvar isSafari = (!isChrome && (userAgent.indexOf(\'Safari\') >= 0));\r\nvar isWebkitWebView = (!isChrome && !isSafari && isWebKit);\r\nvar isIPad = (userAgent.indexOf(\'iPad\') >= 0 || (isSafari && navigator.maxTouchPoints > 0));\r\nvar isEdgeWebView = isEdge && (userAgent.indexOf(\'WebView/\') >= 0);\r\nvar isStandalone = (window.matchMedia && window.matchMedia(\'(display-mode: standalone)\').matches);\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/browser.js?')},D5nY:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar makeInner = _model.makeInner;\nvar getDataItemValue = _model.getDataItemValue;\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar isString = _util.isString;\nvar isObject = _util.isObject;\nvar isTypedArray = _util.isTypedArray;\nvar isArrayLike = _util.isArrayLike;\nvar extend = _util.extend;\nvar assert = _util.assert;\n\nvar Source = __webpack_require__(\"7G+c\");\n\nvar _sourceType = __webpack_require__(\"k9D9\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SERIES_LAYOUT_BY_ROW = _sourceType.SERIES_LAYOUT_BY_ROW;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// The result of `guessOrdinal`.\nvar BE_ORDINAL = {\n Must: 1,\n // Encounter string but not '-' and not number-like.\n Might: 2,\n // Encounter string but number-like.\n Not: 3 // Other cases\n\n};\nvar inner = makeInner();\n/**\n * @see {module:echarts/data/Source}\n * @param {module:echarts/component/dataset/DatasetModel} datasetModel\n * @return {string} sourceFormat\n */\n\nfunction detectSourceFormat(datasetModel) {\n var data = datasetModel.option.source;\n var sourceFormat = SOURCE_FORMAT_UNKNOWN;\n\n if (isTypedArray(data)) {\n sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;\n } else if (isArray(data)) {\n // FIXME Whether tolerate null in top level array?\n if (data.length === 0) {\n sourceFormat = 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 (isArray(item)) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n break;\n } else if (isObject(item)) {\n sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;\n break;\n }\n }\n } else if (isObject(data)) {\n for (var key in data) {\n if (data.hasOwnProperty(key) && isArrayLike(data[key])) {\n sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;\n break;\n }\n }\n } else if (data != null) {\n throw new Error('Invalid data');\n }\n\n inner(datasetModel).sourceFormat = sourceFormat;\n}\n/**\n * [Scenarios]:\n * (1) Provide source data directly:\n * series: {\n * encode: {...},\n * dimensions: [...]\n * seriesLayoutBy: 'row',\n * data: [[...]]\n * }\n * (2) Refer to datasetModel.\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 * Get data from series itself or datset.\n * @return {module:echarts/data/Source} source\n */\n\n\nfunction getSource(seriesModel) {\n return inner(seriesModel).source;\n}\n/**\n * MUST be called before mergeOption of all series.\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction resetSourceDefaulter(ecModel) {\n // `datasetMap` is used to make default encode.\n inner(ecModel).datasetMap = createHashMap();\n}\n/**\n * [Caution]:\n * MUST be called after series option merged and\n * before \"series.getInitailData()\" called.\n *\n * [The rule of making default encode]:\n * Category axis (if exists) alway map to the first dimension.\n * Each other axis occupies a subsequent dimension.\n *\n * [Why make default encode]:\n * Simplify the typing of encode in option, avoiding the case like that:\n * series: [{encode: {x: 0, y: 1}}, {encode: {x: 0, y: 2}}, {encode: {x: 0, y: 3}}],\n * where the \"y\" have to be manually typed as \"1, 2, 3, ...\".\n *\n * @param {module:echarts/model/Series} seriesModel\n */\n\n\nfunction prepareSource(seriesModel) {\n var seriesOption = seriesModel.option;\n var data = seriesOption.data;\n var sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;\n var fromDataset = false;\n var seriesLayoutBy = seriesOption.seriesLayoutBy;\n var sourceHeader = seriesOption.sourceHeader;\n var dimensionsDefine = seriesOption.dimensions;\n var datasetModel = getDatasetModel(seriesModel);\n\n if (datasetModel) {\n var datasetOption = datasetModel.option;\n data = datasetOption.source;\n sourceFormat = inner(datasetModel).sourceFormat;\n fromDataset = true; // These settings from series has higher priority.\n\n seriesLayoutBy = seriesLayoutBy || datasetOption.seriesLayoutBy;\n sourceHeader == null && (sourceHeader = datasetOption.sourceHeader);\n dimensionsDefine = dimensionsDefine || datasetOption.dimensions;\n }\n\n var completeResult = completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine);\n inner(seriesModel).source = new Source({\n data: data,\n fromDataset: fromDataset,\n seriesLayoutBy: seriesLayoutBy,\n sourceFormat: sourceFormat,\n dimensionsDefine: completeResult.dimensionsDefine,\n startIndex: completeResult.startIndex,\n dimensionsDetectCount: completeResult.dimensionsDetectCount,\n // Note: dataset option does not have `encode`.\n encodeDefine: seriesOption.encode\n });\n} // return {startIndex, dimensionsDefine, dimensionsCount}\n\n\nfunction completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {\n if (!data) {\n return {\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine)\n };\n }\n\n var dimensionsDetectCount;\n var startIndex;\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n // 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 if (sourceHeader === 'auto' || sourceHeader == null) {\n arrayRowsTravelFirst(function (val) {\n // '-' is regarded as null/undefined.\n if (val != null && val !== '-') {\n if (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, data, 10);\n } else {\n startIndex = 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, data);\n }\n\n dimensionsDetectCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? data.length : data[0] ? data[0].length : null;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimensionsDefine) {\n dimensionsDefine = objectRowsCollectDimensions(data);\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimensionsDefine) {\n dimensionsDefine = [];\n each(data, function (colArr, key) {\n dimensionsDefine.push(key);\n });\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var value0 = getDataItemValue(data[0]);\n dimensionsDetectCount = isArray(value0) && value0.length || 1;\n } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {}\n\n return {\n startIndex: startIndex,\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine),\n dimensionsDetectCount: dimensionsDetectCount\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 normalizeDimensionsDefine(dimensionsDefine) {\n if (!dimensionsDefine) {\n // The meaning of null/undefined is different from empty array.\n return;\n }\n\n var nameMap = createHashMap();\n return map(dimensionsDefine, function (item, index) {\n item = extend({}, isObject(item) ? item : {\n name: item\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 maxLoop == null && (maxLoop = Infinity);\n\n if (seriesLayoutBy === 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 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 = [];\n each(obj, function (value, key) {\n dimensions.push(key);\n });\n return dimensions;\n }\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 * @param {Array.} coordDimensions [{name: , type: , dimsDef: }, ...]\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {\n var encode = {};\n var datasetModel = getDatasetModel(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 = inner(ecModel).datasetMap;\n var key = datasetModel.uid + '_' + source.seriesLayoutBy;\n var baseCategoryDimIndex;\n var categoryWayValueDimStart;\n coordDimensions = coordDimensions.slice();\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n !isObject(coordDimInfo) && (coordDimensions[coordDimIdx] = {\n name: coordDimInfo\n });\n\n if (coordDimInfo.type === 'ordinal' && baseCategoryDimIndex == null) {\n baseCategoryDimIndex = coordDimIdx;\n categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimensions[coordDimIdx]);\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 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 * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {\n var encode = {};\n var datasetModel = getDatasetModel(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 === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n each(dimensionsDefine, function (dim, idx) {\n if ((isObject(dim) ? dim.name : dim) === 'name') {\n potentialNameDimIndex = idx;\n }\n });\n } // idxResult: {v, 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 * If return null/undefined, indicate that should not use datasetModel.\n */\n\n\nfunction getDatasetModel(seriesModel) {\n var option = seriesModel.option; // 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\n var thisData = option.data;\n\n if (!thisData) {\n return seriesModel.ecModel.getComponent('dataset', option.datasetIndex || 0);\n }\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 * @param {module:echars/data/Source} source\n * @param {number} dimIndex\n * @return {BE_ORDINAL} guess result.\n */\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\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n var result; // Experience value.\n\n var maxLoop = 5;\n\n if (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 (isObject(dimDefItem)) {\n dimName = dimDefItem.name;\n dimType = dimDefItem.type;\n } else if (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 === SOURCE_FORMAT_ARRAY_ROWS) {\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n var sample = data[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 < data.length && i < maxLoop; i++) {\n var row = data[startIndex + i];\n\n if (row && (result = detectValue(row[dimIndex])) != null) {\n return result;\n }\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n\n if (item && (result = detectValue(item[dimName])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n var sample = data[dimName];\n\n if (!sample || 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 === SOURCE_FORMAT_ORIGINAL) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n var val = getDataItemValue(item);\n\n if (!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 = 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\nexports.BE_ORDINAL = BE_ORDINAL;\nexports.detectSourceFormat = detectSourceFormat;\nexports.getSource = getSource;\nexports.resetSourceDefaulter = resetSourceDefaulter;\nexports.prepareSource = prepareSource;\nexports.makeSeriesEncodeForAxisCoordSys = makeSeriesEncodeForAxisCoordSys;\nexports.makeSeriesEncodeForNameBased = makeSeriesEncodeForNameBased;\nexports.guessOrdinal = guessOrdinal;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/sourceHelper.js?")},D9ME:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 graphic = __webpack_require__(\"IwbS\");\n\nvar Line = __webpack_require__(\"fls0\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar _symbol = __webpack_require__(\"oVpE\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar vec2 = __webpack_require__(\"QBsz\");\n\nvar curveUtil = __webpack_require__(\"Sj9i\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 * @module echarts/chart/helper/EffectLine\n */\n\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Line}\n */\nfunction EffectLine(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n this.add(this.createLine(lineData, idx, seriesScope));\n\n this._updateEffectSymbol(lineData, idx);\n}\n\nvar effectLineProto = EffectLine.prototype;\n\neffectLineProto.createLine = function (lineData, idx, seriesScope) {\n return new Line(lineData, idx, seriesScope);\n};\n\neffectLineProto._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 (!zrUtil.isArray(size)) {\n size = [size, size];\n }\n\n var color = effectModel.get('color') || lineData.getItemVisual(idx, 'color');\n var symbol = this.childAt(1);\n\n if (this._symbolType !== symbolType) {\n // Remove previous\n this.remove(symbol);\n symbol = 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.attr('scale', size);\n symbol.setColor(color);\n symbol.attr('scale', size);\n this._symbolType = symbolType;\n this._symbolScale = size;\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\neffectLineProto._updateEffectAnimation = function (lineData, effectModel, idx) {\n var symbol = this.childAt(1);\n\n if (!symbol) {\n return;\n }\n\n var self = this;\n var points = lineData.getItemLayout(idx);\n var period = effectModel.get('period') * 1000;\n var loop = effectModel.get('loop');\n var constantSpeed = effectModel.get('constantSpeed');\n var delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {\n return idx / lineData.count() * period / 3;\n });\n var isDelayFunc = typeof delayExpr === 'function'; // Ignore when updating\n\n symbol.ignore = true;\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) {\n symbol.stopAnimation();\n var delay = delayExpr;\n\n if (isDelayFunc) {\n delay = delayExpr(idx);\n }\n\n if (symbol.__t > 0) {\n delay = -period * symbol.__t;\n }\n\n symbol.__t = 0;\n var animator = symbol.animate('', loop).when(period, {\n __t: 1\n }).delay(delay).during(function () {\n self.updateSymbolPosition(symbol);\n });\n\n if (!loop) {\n animator.done(function () {\n self.remove(symbol);\n });\n }\n\n animator.start();\n }\n\n this._period = period;\n this._loop = loop;\n};\n\neffectLineProto.getLineLength = function (symbol) {\n // Not so accurate\n return vec2.dist(symbol.__p1, symbol.__cp1) + vec2.dist(symbol.__cp1, symbol.__p2);\n};\n\neffectLineProto.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\neffectLineProto.updateData = function (lineData, idx, seriesScope) {\n this.childAt(0).updateData(lineData, idx, seriesScope);\n\n this._updateEffectSymbol(lineData, idx);\n};\n\neffectLineProto.updateSymbolPosition = function (symbol) {\n var p1 = symbol.__p1;\n var p2 = symbol.__p2;\n var cp1 = symbol.__cp1;\n var t = symbol.__t;\n var pos = symbol.position;\n var lastPos = [pos[0], pos[1]];\n var quadraticAt = curveUtil.quadraticAt;\n var quadraticDerivativeAt = curveUtil.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 = quadraticDerivativeAt(p1[0], cp1[0], p2[0], t);\n var ty = quadraticDerivativeAt(p1[1], cp1[1], p2[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 var scaleY = vec2.dist(lastPos, pos) * 1.05;\n symbol.attr('scale', [symbol.scale[0], scaleY]); // 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 var scaleY = 2 * vec2.dist(p1, pos);\n symbol.attr('scale', [symbol.scale[0], scaleY]);\n } else {\n symbol.attr('scale', this._symbolScale);\n }\n }\n\n symbol.__lastT = symbol.__t;\n symbol.ignore = false;\n};\n\neffectLineProto.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\nzrUtil.inherits(EffectLine, graphic.Group);\nvar _default = EffectLine;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/EffectLine.js?")},DBLp:function(module,exports){eval("// Myers' Diff Algorithm\n// Modified from https://github.com/kpdecker/jsdiff/blob/master/src/diff/base.js\nfunction Diff() {}\n\nDiff.prototype = {\n diff: function (oldArr, newArr, equals) {\n if (!equals) {\n equals = function (a, b) {\n return a === b;\n };\n }\n\n this.equals = equals;\n var self = this;\n oldArr = oldArr.slice();\n newArr = newArr.slice(); // Allow subclasses to massage the input prior to running\n\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n var indices = [];\n\n for (var i = 0; i < newArr.length; i++) {\n indices.push(i);\n } // Identity per the equality and tokenizer\n\n\n return [{\n indices: indices,\n count: newArr.length\n }];\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath;\n var addPath = bestPath[diagonalPath - 1];\n var removePath = bestPath[diagonalPath + 1];\n var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen;\n var canRemove = removePath && 0 <= oldPos && oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n oldPos = self.extractCommon(basePath, newArr, oldArr, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n return buildValues(self, basePath.components, newArr, oldArr);\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n }\n\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n },\n pushComponent: function (components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function (basePath, newArr, oldArr, diagonalPath) {\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var newPos = basePath.newPos;\n var oldPos = newPos - diagonalPath;\n var commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n tokenize: function (value) {\n return value.slice();\n },\n join: function (value) {\n return value.slice();\n }\n};\n\nfunction buildValues(diff, components, newArr, oldArr) {\n var componentPos = 0;\n var componentLen = components.length;\n var newPos = 0;\n var oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n var indices = [];\n\n for (var i = newPos; i < newPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n var indices = [];\n\n for (var i = oldPos; i < oldPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n oldPos += component.count;\n }\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar arrayDiff = new Diff();\n\nfunction _default(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/arrayDiff2.js?")},DEFe:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar RoamController = __webpack_require__(\"SgGq\");\n\nvar roamHelper = __webpack_require__(\"Ae+d\");\n\nvar _cursorHelper = __webpack_require__(\"xSat\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar geoSourceManager = __webpack_require__(\"W4dC\");\n\nvar _component = __webpack_require__(\"iRjW\");\n\nvar getUID = _component.getUID;\n\nvar Transformable = __webpack_require__(\"DN4a\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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}\n\nfunction updateMapSelectHandler(mapDraw, mapOrGeoModel, regionsGroup, api, fromView) {\n regionsGroup.off('click');\n regionsGroup.off('mousedown');\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 var el = e.target;\n\n while (!el.__regions) {\n el = el.parent;\n }\n\n if (!el) {\n return;\n }\n\n var action = {\n type: (mapOrGeoModel.mainType === 'geo' ? 'geo' : 'map') + 'ToggleSelect',\n batch: zrUtil.map(el.__regions, function (region) {\n return {\n name: region.name,\n from: fromView.uid\n };\n })\n };\n action[mapOrGeoModel.mainType + 'Id'] = mapOrGeoModel.id;\n api.dispatchAction(action);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n });\n }\n}\n\nfunction updateMapSelected(mapOrGeoModel, regionsGroup) {\n // FIXME\n regionsGroup.eachChild(function (otherRegionEl) {\n zrUtil.each(otherRegionEl.__regions, function (region) {\n otherRegionEl.trigger(mapOrGeoModel.isSelected(region.name) ? 'emphasis' : 'normal');\n });\n });\n}\n/**\n * @alias module:echarts/component/helper/MapDraw\n * @param {module:echarts/ExtensionAPI} api\n * @param {boolean} updateGroup\n */\n\n\nfunction MapDraw(api, updateGroup) {\n var group = new graphic.Group();\n /**\n * @type {string}\n * @private\n */\n\n this.uid = getUID('ec_map_draw');\n /**\n * @type {module:echarts/component/helper/RoamController}\n * @private\n */\n\n this._controller = new RoamController(api.getZr());\n /**\n * @type {Object} {target, zoom, zoomLimit}\n * @private\n */\n\n this._controllerHost = {\n target: updateGroup ? group : null\n };\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = group;\n /**\n * @type {boolean}\n * @private\n */\n\n this._updateGroup = updateGroup;\n /**\n * This flag is used to make sure that only one among\n * `pan`, `zoom`, `click` can occurs, otherwise 'selected'\n * action may be triggered when `pan`, which is unexpected.\n * @type {booelan}\n */\n\n this._mouseDownFlag;\n /**\n * @type {string}\n */\n\n this._mapName;\n /**\n * @type {boolean}\n */\n\n this._initialized;\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._regionsGroup = new graphic.Group());\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._backgroundGroup = new graphic.Group());\n}\n\nMapDraw.prototype = {\n constructor: MapDraw,\n 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\n this._updateBackground(geo);\n\n var regionsGroup = this._regionsGroup;\n var group = this.group;\n var transformInfo = geo.getTransformInfo(); // No animation when first draw or in action\n\n var isFirstDraw = !regionsGroup.childAt(0) || payload;\n var targetScale;\n\n if (isFirstDraw) {\n group.transform = transformInfo.roamTransform;\n group.decomposeTransform();\n group.dirty();\n } else {\n var target = new Transformable();\n target.transform = transformInfo.roamTransform;\n target.decomposeTransform();\n var props = {\n scale: target.scale,\n position: target.position\n };\n targetScale = target.scale;\n graphic.updateProps(group, props, mapOrGeoModel);\n }\n\n var scale = transformInfo.rawScale;\n var position = transformInfo.rawPosition;\n regionsGroup.removeAll();\n var itemStyleAccessPath = ['itemStyle'];\n var hoverItemStyleAccessPath = ['emphasis', 'itemStyle'];\n var labelAccessPath = ['label'];\n var hoverLabelAccessPath = ['emphasis', 'label'];\n var nameMap = zrUtil.createHashMap();\n zrUtil.each(geo.regions, function (region) {\n // 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 var regionGroup = nameMap.get(region.name) || nameMap.set(region.name, new graphic.Group());\n var compoundPath = new graphic.CompoundPath({\n segmentIgnoreThreshold: 1,\n shape: {\n paths: []\n }\n });\n regionGroup.add(compoundPath);\n var regionModel = mapOrGeoModel.getRegionModel(region.name) || mapOrGeoModel;\n var itemStyleModel = regionModel.getModel(itemStyleAccessPath);\n var hoverItemStyleModel = regionModel.getModel(hoverItemStyleAccessPath);\n var itemStyle = getFixedItemStyle(itemStyleModel);\n var hoverItemStyle = getFixedItemStyle(hoverItemStyleModel);\n var labelModel = regionModel.getModel(labelAccessPath);\n var hoverLabelModel = regionModel.getModel(hoverLabelAccessPath);\n var dataIdx; // Use the itemStyle in data if has data\n\n if (data) {\n dataIdx = data.indexOfName(region.name); // Only visual color of each item will be used. It can be encoded by dataRange\n // But visual color of series is used in symbol drawing\n //\n // Visual color for each series is for the symbol draw\n\n var visualColor = data.getItemVisual(dataIdx, 'color', true);\n\n if (visualColor) {\n itemStyle.fill = visualColor;\n }\n }\n\n var transformPoint = function (point) {\n return [point[0] * scale[0] + position[0], point[1] * scale[1] + position[1]];\n };\n\n zrUtil.each(region.geometries, function (geometry) {\n if (geometry.type !== 'polygon') {\n return;\n }\n\n var points = [];\n\n for (var i = 0; i < geometry.exterior.length; ++i) {\n points.push(transformPoint(geometry.exterior[i]));\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n segmentIgnoreThreshold: 1,\n shape: {\n points: points\n }\n }));\n\n for (var i = 0; i < (geometry.interiors ? geometry.interiors.length : 0); ++i) {\n var interior = geometry.interiors[i];\n var points = [];\n\n for (var j = 0; j < interior.length; ++j) {\n points.push(transformPoint(interior[j]));\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n segmentIgnoreThreshold: 1,\n shape: {\n points: points\n }\n }));\n }\n });\n compoundPath.setStyle(itemStyle);\n compoundPath.style.strokeNoScale = true;\n compoundPath.culling = true; // Label\n\n var showLabel = labelModel.get('show');\n var hoverShowLabel = hoverLabelModel.get('show');\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 // 4. Region has no series legendSymbol, which will be add a showLabel flag in mapSymbolLayout\n\n if (isGeo || isDataNaN && (showLabel || hoverShowLabel) || itemLayout && itemLayout.showLabel) {\n var query = !isGeo ? dataIdx : region.name;\n var labelFetcher; // Consider dataIdx not found.\n\n if (!data || dataIdx >= 0) {\n labelFetcher = mapOrGeoModel;\n }\n\n var textEl = new graphic.Text({\n position: transformPoint(region.center.slice()),\n // FIXME\n // label rotation is not support yet in geo or regions of series-map\n // that has no data. The rotation will be effected by this `scale`.\n // So needed to change to RectText?\n scale: [1 / group.scale[0], 1 / group.scale[1]],\n z2: 10,\n silent: true\n });\n graphic.setLabelStyle(textEl.style, textEl.hoverStyle = {}, labelModel, hoverLabelModel, {\n labelFetcher: labelFetcher,\n labelDataIndex: query,\n defaultText: region.name,\n useInsideStyle: false\n }, {\n textAlign: 'center',\n textVerticalAlign: 'middle'\n });\n\n if (!isFirstDraw) {\n // Text animation\n var textScale = [1 / targetScale[0], 1 / targetScale[1]];\n graphic.updateProps(textEl, {\n scale: textScale\n }, mapOrGeoModel);\n }\n\n regionGroup.add(textEl);\n } // setItemGraphicEl, setHoverStyle after all polygons and labels\n // are added to the rigionGroup\n\n\n if (data) {\n data.setItemGraphicEl(dataIdx, regionGroup);\n } else {\n var regionModel = mapOrGeoModel.getRegionModel(region.name); // Package custom mouse event for geo component\n\n compoundPath.eventData = {\n componentType: 'geo',\n componentIndex: mapOrGeoModel.componentIndex,\n geoIndex: mapOrGeoModel.componentIndex,\n name: region.name,\n region: regionModel && regionModel.option || {}\n };\n }\n\n var groupRegions = regionGroup.__regions || (regionGroup.__regions = []);\n groupRegions.push(region);\n regionGroup.highDownSilentOnTouch = !!mapOrGeoModel.get('selectedMode');\n graphic.setHoverStyle(regionGroup, hoverItemStyle);\n regionsGroup.add(regionGroup);\n });\n\n this._updateController(mapOrGeoModel, ecModel, api);\n\n updateMapSelectHandler(this, mapOrGeoModel, regionsGroup, api, fromView);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n },\n remove: function () {\n this._regionsGroup.removeAll();\n\n this._backgroundGroup.removeAll();\n\n this._controller.dispose();\n\n this._mapName && geoSourceManager.removeGraphic(this._mapName, this.uid);\n this._mapName = null;\n this._controllerHost = {};\n },\n _updateBackground: function (geo) {\n var mapName = geo.map;\n\n if (this._mapName !== mapName) {\n zrUtil.each(geoSourceManager.makeGraphic(mapName, this.uid), function (root) {\n this._backgroundGroup.add(root);\n }, this);\n }\n\n this._mapName = mapName;\n },\n _updateController: function (mapOrGeoModel, ecModel, api) {\n var geo = mapOrGeoModel.coordinateSystem;\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n controllerHost.zoomLimit = mapOrGeoModel.get('scaleLimit');\n controllerHost.zoom = geo.getZoom(); // roamType is will be set default true if it is null\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 roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n dx: e.dx,\n dy: e.dy\n }));\n }, this);\n controller.off('zoom').on('zoom', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n }));\n\n if (this._updateGroup) {\n var scale = this.group.scale;\n\n this._regionsGroup.traverse(function (el) {\n if (el.type === 'text') {\n el.attr('scale', [1 / scale[0], 1 / scale[1]]);\n }\n });\n }\n }, this);\n controller.setPointerChecker(function (e, x, y) {\n return geo.getViewRectAfterRoam().contain(x, y) && !onIrrelevantElement(e, api, mapOrGeoModel);\n });\n }\n};\nvar _default = MapDraw;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/helper/MapDraw.js?")},DFOY:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/rc-trigger/es/index.js + 10 modules\nvar es = __webpack_require__("uciX");\n\n// EXTERNAL MODULE: ./node_modules/warning/warning.js\nvar warning = __webpack_require__("2W6z");\nvar warning_default = /*#__PURE__*/__webpack_require__.n(warning);\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// EXTERNAL MODULE: ./node_modules/array-tree-filter/lib/index.js\nvar lib = __webpack_require__("uK0f");\nvar lib_default = /*#__PURE__*/__webpack_require__.n(lib);\n\n// CONCATENATED MODULE: ./node_modules/rc-cascader/es/utils.js\nfunction isEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n } // eslint-disable-next-line no-plusplus\n\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n// CONCATENATED MODULE: ./node_modules/rc-cascader/es/Menus.js\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar Menus_Menus =\n/** @class */\nfunction () {\n var Menus = /*#__PURE__*/function (_React$Component) {\n _inherits(Menus, _React$Component);\n\n var _super = _createSuper(Menus);\n\n function Menus() {\n var _this;\n\n _classCallCheck(this, Menus);\n\n _this = _super.apply(this, arguments);\n _this.menuItems = {};\n\n _this.saveMenuItem = function (index) {\n return function (node) {\n _this.menuItems[index] = node;\n };\n };\n\n return _this;\n }\n\n _createClass(Menus, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.scrollActiveItemToView();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n if (!prevProps.visible && this.props.visible) {\n this.scrollActiveItemToView();\n }\n }\n }, {\n key: "getFieldName",\n value: function getFieldName(name) {\n var _this$props = this.props,\n fieldNames = _this$props.fieldNames,\n defaultFieldNames = _this$props.defaultFieldNames; // \u9632\u6b62\u53ea\u8bbe\u7f6e\u5355\u4e2a\u5c5e\u6027\u7684\u540d\u5b57\n\n return fieldNames[name] || defaultFieldNames[name];\n }\n }, {\n key: "getOption",\n value: function getOption(option, menuIndex) {\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n expandTrigger = _this$props2.expandTrigger,\n expandIcon = _this$props2.expandIcon,\n loadingIcon = _this$props2.loadingIcon;\n var onSelect = this.props.onSelect.bind(this, option, menuIndex);\n var onItemDoubleClick = this.props.onItemDoubleClick.bind(this, option, menuIndex);\n var expandProps = {\n onClick: onSelect,\n onDoubleClick: onItemDoubleClick\n };\n var menuItemCls = "".concat(prefixCls, "-menu-item");\n var expandIconNode = null;\n var hasChildren = option[this.getFieldName(\'children\')] && option[this.getFieldName(\'children\')].length > 0;\n\n if (hasChildren || option.isLeaf === false) {\n menuItemCls += " ".concat(prefixCls, "-menu-item-expand");\n\n if (!option.loading) {\n expandIconNode = react["createElement"]("span", {\n className: "".concat(prefixCls, "-menu-item-expand-icon")\n }, expandIcon);\n }\n }\n\n if (expandTrigger === \'hover\' && (hasChildren || option.isLeaf === false)) {\n expandProps = {\n onMouseEnter: this.delayOnSelect.bind(this, onSelect),\n onMouseLeave: this.delayOnSelect.bind(this),\n onClick: onSelect\n };\n }\n\n if (this.isActiveOption(option, menuIndex)) {\n menuItemCls += " ".concat(prefixCls, "-menu-item-active");\n expandProps.ref = this.saveMenuItem(menuIndex);\n }\n\n if (option.disabled) {\n menuItemCls += " ".concat(prefixCls, "-menu-item-disabled");\n }\n\n var loadingIconNode = null;\n\n if (option.loading) {\n menuItemCls += " ".concat(prefixCls, "-menu-item-loading");\n loadingIconNode = loadingIcon || null;\n }\n\n var title = \'\';\n\n if (\'title\' in option) {\n // eslint-disable-next-line prefer-destructuring\n title = option.title;\n } else if (typeof option[this.getFieldName(\'label\')] === \'string\') {\n title = option[this.getFieldName(\'label\')];\n }\n\n return react["createElement"]("li", Object.assign({\n key: option[this.getFieldName(\'value\')],\n className: menuItemCls,\n title: title\n }, expandProps, {\n role: "menuitem",\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n }\n }), option[this.getFieldName(\'label\')], expandIconNode, loadingIconNode);\n }\n }, {\n key: "getActiveOptions",\n value: function getActiveOptions(values) {\n var _this2 = this;\n\n var options = this.props.options;\n var activeValue = values || this.props.activeValue;\n return lib_default()(options, function (o, level) {\n return o[_this2.getFieldName(\'value\')] === activeValue[level];\n }, {\n childrenKeyName: this.getFieldName(\'children\')\n });\n }\n }, {\n key: "getShowOptions",\n value: function getShowOptions() {\n var _this3 = this;\n\n var options = this.props.options;\n var result = this.getActiveOptions().map(function (activeOption) {\n return activeOption[_this3.getFieldName(\'children\')];\n }).filter(function (activeOption) {\n return !!activeOption;\n });\n result.unshift(options);\n return result;\n }\n }, {\n key: "delayOnSelect",\n value: function delayOnSelect(onSelect) {\n var _this4 = this;\n\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 if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n\n if (typeof onSelect === \'function\') {\n this.delayTimer = window.setTimeout(function () {\n onSelect(args);\n _this4.delayTimer = null;\n }, 150);\n }\n }\n }, {\n key: "scrollActiveItemToView",\n value: function scrollActiveItemToView() {\n // scroll into view\n var optionsLength = this.getShowOptions().length; // eslint-disable-next-line no-plusplus\n\n for (var i = 0; i < optionsLength; i++) {\n var itemComponent = this.menuItems[i];\n\n if (itemComponent && itemComponent.parentElement) {\n itemComponent.parentElement.scrollTop = itemComponent.offsetTop;\n }\n }\n }\n }, {\n key: "isActiveOption",\n value: function isActiveOption(option, menuIndex) {\n var _this$props$activeVal = this.props.activeValue,\n activeValue = _this$props$activeVal === void 0 ? [] : _this$props$activeVal;\n return activeValue[menuIndex] === option[this.getFieldName(\'value\')];\n }\n }, {\n key: "render",\n value: function render() {\n var _this5 = this;\n\n var _this$props3 = this.props,\n prefixCls = _this$props3.prefixCls,\n dropdownMenuColumnStyle = _this$props3.dropdownMenuColumnStyle;\n return react["createElement"]("div", null, this.getShowOptions().map(function (options, menuIndex) {\n return react["createElement"]("ul", {\n className: "".concat(prefixCls, "-menu"),\n key: menuIndex,\n style: dropdownMenuColumnStyle\n }, options.map(function (option) {\n return _this5.getOption(option, menuIndex);\n }));\n }));\n }\n }]);\n\n return Menus;\n }(react["Component"]);\n\n Menus.defaultProps = {\n options: [],\n value: [],\n activeValue: [],\n onSelect: function onSelect() {},\n prefixCls: \'rc-cascader-menus\',\n visible: false,\n expandTrigger: \'click\'\n };\n return Menus;\n}();\n\n/* harmony default export */ var es_Menus = (Menus_Menus);\n// CONCATENATED MODULE: ./node_modules/rc-cascader/es/placements.js\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: [\'tl\', \'bl\'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n topLeft: {\n points: [\'bl\', \'tl\'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n bottomRight: {\n points: [\'tr\', \'br\'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n topRight: {\n points: [\'br\', \'tr\'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n }\n};\n/* harmony default export */ var placements = (BUILT_IN_PLACEMENTS);\n// CONCATENATED MODULE: ./node_modules/rc-cascader/es/Cascader.js\nfunction Cascader_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Cascader_typeof = function _typeof(obj) { return typeof obj; }; } else { Cascader_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Cascader_typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction Cascader_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Cascader_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction Cascader_createClass(Constructor, protoProps, staticProps) { if (protoProps) Cascader_defineProperties(Constructor.prototype, protoProps); if (staticProps) Cascader_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction Cascader_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Cascader_setPrototypeOf(subClass, superClass); }\n\nfunction Cascader_setPrototypeOf(o, p) { Cascader_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Cascader_setPrototypeOf(o, p); }\n\nfunction Cascader_createSuper(Derived) { var hasNativeReflectConstruct = Cascader_isNativeReflectConstruct(); return function () { var Super = Cascader_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Cascader_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Cascader_possibleConstructorReturn(this, result); }; }\n\nfunction Cascader_possibleConstructorReturn(self, call) { if (call && (Cascader_typeof(call) === "object" || typeof call === "function")) { return call; } return Cascader_assertThisInitialized(self); }\n\nfunction Cascader_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Cascader_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Cascader_getPrototypeOf(o) { Cascader_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Cascader_getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\nvar Cascader_Cascader =\n/** @class */\nfunction () {\n var Cascader = /*#__PURE__*/function (_React$Component) {\n Cascader_inherits(Cascader, _React$Component);\n\n var _super = Cascader_createSuper(Cascader);\n\n function Cascader(props) {\n var _this;\n\n Cascader_classCallCheck(this, Cascader);\n\n _this = _super.call(this, props);\n\n _this.setPopupVisible = function (popupVisible) {\n var value = _this.state.value;\n\n if (!(\'popupVisible\' in _this.props)) {\n _this.setState({\n popupVisible: popupVisible\n });\n } // sync activeValue with value when panel open\n\n\n if (popupVisible && !_this.state.popupVisible) {\n _this.setState({\n activeValue: value\n });\n }\n\n _this.props.onPopupVisibleChange(popupVisible);\n };\n\n _this.handleChange = function (options, _ref, e) {\n var visible = _ref.visible;\n\n if (e.type !== \'keydown\' || e.keyCode === KeyCode["a" /* default */].ENTER) {\n _this.props.onChange(options.map(function (o) {\n return o[_this.getFieldName(\'value\')];\n }), options);\n\n _this.setPopupVisible(visible);\n }\n };\n\n _this.handlePopupVisibleChange = function (popupVisible) {\n _this.setPopupVisible(popupVisible);\n };\n\n _this.handleMenuSelect = function (targetOption, menuIndex, e) {\n // Keep focused state for keyboard support\n var triggerNode = _this.trigger.getRootDomNode();\n\n if (triggerNode && triggerNode.focus) {\n triggerNode.focus();\n }\n\n var _this$props = _this.props,\n changeOnSelect = _this$props.changeOnSelect,\n loadData = _this$props.loadData,\n expandTrigger = _this$props.expandTrigger;\n\n if (!targetOption || targetOption.disabled) {\n return;\n }\n\n var activeValue = _this.state.activeValue;\n activeValue = activeValue.slice(0, menuIndex + 1);\n activeValue[menuIndex] = targetOption[_this.getFieldName(\'value\')];\n\n var activeOptions = _this.getActiveOptions(activeValue);\n\n if (targetOption.isLeaf === false && !targetOption[_this.getFieldName(\'children\')] && loadData) {\n if (changeOnSelect) {\n _this.handleChange(activeOptions, {\n visible: true\n }, e);\n }\n\n _this.setState({\n activeValue: activeValue\n });\n\n loadData(activeOptions);\n return;\n }\n\n var newState = {};\n\n if (!targetOption[_this.getFieldName(\'children\')] || !targetOption[_this.getFieldName(\'children\')].length) {\n _this.handleChange(activeOptions, {\n visible: false\n }, e); // set value to activeValue when select leaf option\n\n\n newState.value = activeValue; // add e.type judgement to prevent `onChange` being triggered by mouseEnter\n } else if (changeOnSelect && (e.type === \'click\' || e.type === \'keydown\')) {\n if (expandTrigger === \'hover\') {\n _this.handleChange(activeOptions, {\n visible: false\n }, e);\n } else {\n _this.handleChange(activeOptions, {\n visible: true\n }, e);\n } // set value to activeValue on every select\n\n\n newState.value = activeValue;\n }\n\n newState.activeValue = activeValue; // not change the value by keyboard\n\n if (\'value\' in _this.props || e.type === \'keydown\' && e.keyCode !== KeyCode["a" /* default */].ENTER) {\n delete newState.value;\n }\n\n _this.setState(newState);\n };\n\n _this.handleItemDoubleClick = function () {\n var changeOnSelect = _this.props.changeOnSelect;\n\n if (changeOnSelect) {\n _this.setPopupVisible(false);\n }\n };\n\n _this.handleKeyDown = function (e) {\n var children = _this.props.children; // https://github.com/ant-design/ant-design/issues/6717\n // Don\'t bind keyboard support when children specify the onKeyDown\n\n if (children && children.props.onKeyDown) {\n children.props.onKeyDown(e);\n return;\n }\n\n var activeValue = _toConsumableArray(_this.state.activeValue);\n\n var currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n\n var currentOptions = _this.getCurrentLevelOptions();\n\n var currentIndex = currentOptions.map(function (o) {\n return o[_this.getFieldName(\'value\')];\n }).indexOf(activeValue[currentLevel]);\n\n if (e.keyCode !== KeyCode["a" /* default */].DOWN && e.keyCode !== KeyCode["a" /* default */].UP && e.keyCode !== KeyCode["a" /* default */].LEFT && e.keyCode !== KeyCode["a" /* default */].RIGHT && e.keyCode !== KeyCode["a" /* default */].ENTER && e.keyCode !== KeyCode["a" /* default */].SPACE && e.keyCode !== KeyCode["a" /* default */].BACKSPACE && e.keyCode !== KeyCode["a" /* default */].ESC && e.keyCode !== KeyCode["a" /* default */].TAB) {\n return;\n } // Press any keys above to reopen menu\n\n\n if (!_this.state.popupVisible && e.keyCode !== KeyCode["a" /* default */].BACKSPACE && e.keyCode !== KeyCode["a" /* default */].LEFT && e.keyCode !== KeyCode["a" /* default */].RIGHT && e.keyCode !== KeyCode["a" /* default */].ESC && e.keyCode !== KeyCode["a" /* default */].TAB) {\n _this.setPopupVisible(true);\n\n return;\n }\n\n if (e.keyCode === KeyCode["a" /* default */].DOWN || e.keyCode === KeyCode["a" /* default */].UP) {\n e.preventDefault();\n var nextIndex = currentIndex;\n\n if (nextIndex !== -1) {\n if (e.keyCode === KeyCode["a" /* default */].DOWN) {\n nextIndex += 1;\n nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;\n } else {\n nextIndex -= 1;\n nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;\n }\n } else {\n nextIndex = 0;\n }\n\n activeValue[currentLevel] = currentOptions[nextIndex][_this.getFieldName(\'value\')];\n } else if (e.keyCode === KeyCode["a" /* default */].LEFT || e.keyCode === KeyCode["a" /* default */].BACKSPACE) {\n e.preventDefault();\n activeValue.splice(activeValue.length - 1, 1);\n } else if (e.keyCode === KeyCode["a" /* default */].RIGHT) {\n e.preventDefault();\n\n if (currentOptions[currentIndex] && currentOptions[currentIndex][_this.getFieldName(\'children\')]) {\n activeValue.push(currentOptions[currentIndex][_this.getFieldName(\'children\')][0][_this.getFieldName(\'value\')]);\n }\n } else if (e.keyCode === KeyCode["a" /* default */].ESC || e.keyCode === KeyCode["a" /* default */].TAB) {\n _this.setPopupVisible(false);\n\n return;\n }\n\n if (!activeValue || activeValue.length === 0) {\n _this.setPopupVisible(false);\n }\n\n var activeOptions = _this.getActiveOptions(activeValue);\n\n var targetOption = activeOptions[activeOptions.length - 1];\n\n _this.handleMenuSelect(targetOption, activeOptions.length - 1, e);\n\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(e);\n }\n };\n\n _this.saveTrigger = function (node) {\n _this.trigger = node;\n };\n\n var initialValue = [];\n\n if (\'value\' in props) {\n initialValue = props.value || [];\n } else if (\'defaultValue\' in props) {\n initialValue = props.defaultValue || [];\n }\n\n warning_default()(!(\'filedNames\' in props), \'`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.\');\n _this.state = {\n popupVisible: props.popupVisible,\n activeValue: initialValue,\n value: initialValue,\n prevProps: props\n };\n _this.defaultFieldNames = {\n label: \'label\',\n value: \'value\',\n children: \'children\'\n };\n return _this;\n }\n\n Cascader_createClass(Cascader, [{\n key: "getPopupDOMNode",\n value: function getPopupDOMNode() {\n return this.trigger.getPopupDomNode();\n }\n }, {\n key: "getFieldName",\n value: function getFieldName(name) {\n var defaultFieldNames = this.defaultFieldNames;\n var _this$props2 = this.props,\n fieldNames = _this$props2.fieldNames,\n filedNames = _this$props2.filedNames;\n\n if (\'filedNames\' in this.props) {\n return filedNames[name] || defaultFieldNames[name]; // For old compatibility\n }\n\n return fieldNames[name] || defaultFieldNames[name];\n }\n }, {\n key: "getFieldNames",\n value: function getFieldNames() {\n var _this$props3 = this.props,\n fieldNames = _this$props3.fieldNames,\n filedNames = _this$props3.filedNames;\n\n if (\'filedNames\' in this.props) {\n return filedNames; // For old compatibility\n }\n\n return fieldNames;\n }\n }, {\n key: "getCurrentLevelOptions",\n value: function getCurrentLevelOptions() {\n var _this2 = this;\n\n var _this$props$options = this.props.options,\n options = _this$props$options === void 0 ? [] : _this$props$options;\n var _this$state$activeVal = this.state.activeValue,\n activeValue = _this$state$activeVal === void 0 ? [] : _this$state$activeVal;\n var result = lib_default()(options, function (o, level) {\n return o[_this2.getFieldName(\'value\')] === activeValue[level];\n }, {\n childrenKeyName: this.getFieldName(\'children\')\n });\n\n if (result[result.length - 2]) {\n return result[result.length - 2][this.getFieldName(\'children\')];\n }\n\n return _toConsumableArray(options).filter(function (o) {\n return !o.disabled;\n });\n }\n }, {\n key: "getActiveOptions",\n value: function getActiveOptions(activeValue) {\n var _this3 = this;\n\n return lib_default()(this.props.options || [], function (o, level) {\n return o[_this3.getFieldName(\'value\')] === activeValue[level];\n }, {\n childrenKeyName: this.getFieldName(\'children\')\n });\n }\n }, {\n key: "render",\n value: function render() {\n var _this$props4 = this.props,\n prefixCls = _this$props4.prefixCls,\n transitionName = _this$props4.transitionName,\n popupClassName = _this$props4.popupClassName,\n _this$props4$options = _this$props4.options,\n options = _this$props4$options === void 0 ? [] : _this$props4$options,\n disabled = _this$props4.disabled,\n builtinPlacements = _this$props4.builtinPlacements,\n popupPlacement = _this$props4.popupPlacement,\n children = _this$props4.children,\n restProps = _objectWithoutProperties(_this$props4, ["prefixCls", "transitionName", "popupClassName", "options", "disabled", "builtinPlacements", "popupPlacement", "children"]); // Did not show popup when there is no options\n\n\n var menus = react["createElement"]("div", null);\n var emptyMenuClassName = \'\';\n\n if (options && options.length > 0) {\n menus = react["createElement"](es_Menus, Object.assign({}, this.props, {\n fieldNames: this.getFieldNames(),\n defaultFieldNames: this.defaultFieldNames,\n activeValue: this.state.activeValue,\n onSelect: this.handleMenuSelect,\n onItemDoubleClick: this.handleItemDoubleClick,\n visible: this.state.popupVisible\n }));\n } else {\n emptyMenuClassName = " ".concat(prefixCls, "-menus-empty");\n }\n\n return react["createElement"](es["a" /* default */], Object.assign({\n ref: this.saveTrigger\n }, restProps, {\n popupPlacement: popupPlacement,\n builtinPlacements: builtinPlacements,\n popupTransitionName: transitionName,\n action: disabled ? [] : [\'click\'],\n popupVisible: disabled ? false : this.state.popupVisible,\n onPopupVisibleChange: this.handlePopupVisibleChange,\n prefixCls: "".concat(prefixCls, "-menus"),\n popupClassName: popupClassName + emptyMenuClassName,\n popup: menus\n }), react["cloneElement"](children, {\n onKeyDown: this.handleKeyDown,\n tabIndex: disabled ? undefined : 0\n }));\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var _prevState$prevProps = prevState.prevProps,\n prevProps = _prevState$prevProps === void 0 ? {} : _prevState$prevProps;\n var newState = {\n prevProps: nextProps\n };\n\n if (\'value\' in nextProps && !isEqualArrays(prevProps.value, nextProps.value)) {\n newState.value = nextProps.value || []; // allow activeValue diff from value\n // https://github.com/ant-design/ant-design/issues/2767\n\n if (!(\'loadData\' in nextProps)) {\n newState.activeValue = nextProps.value || [];\n }\n }\n\n if (\'popupVisible\' in nextProps) {\n newState.popupVisible = nextProps.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Cascader;\n }(react["Component"]);\n\n Cascader.defaultProps = {\n onChange: function onChange() {},\n onPopupVisibleChange: function onPopupVisibleChange() {},\n disabled: false,\n transitionName: \'\',\n prefixCls: \'rc-cascader\',\n popupClassName: \'\',\n popupPlacement: \'bottomLeft\',\n builtinPlacements: placements,\n expandTrigger: \'click\',\n fieldNames: {\n label: \'label\',\n value: \'value\',\n children: \'children\'\n },\n expandIcon: \'>\'\n };\n return Cascader;\n}();\n\n/* harmony default export */ var es_Cascader = (Cascader_Cascader);\n// CONCATENATED MODULE: ./node_modules/rc-cascader/es/index.js\n\n/* harmony default export */ var rc_cascader_es = (es_Cascader);\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar omit_js_es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/CloseCircleFilled.js\nvar CloseCircleFilled = __webpack_require__("kbBi");\nvar CloseCircleFilled_default = /*#__PURE__*/__webpack_require__.n(CloseCircleFilled);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/DownOutlined.js\nvar DownOutlined = __webpack_require__("HQEm");\nvar DownOutlined_default = /*#__PURE__*/__webpack_require__.n(DownOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/RightOutlined.js\nvar RightOutlined = __webpack_require__("fEPi");\nvar RightOutlined_default = /*#__PURE__*/__webpack_require__.n(RightOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/RedoOutlined.js\nvar RedoOutlined = __webpack_require__("5YOS");\nvar RedoOutlined_default = /*#__PURE__*/__webpack_require__.n(RedoOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/LeftOutlined.js\nvar LeftOutlined = __webpack_require__("DFhj");\nvar LeftOutlined_default = /*#__PURE__*/__webpack_require__.n(LeftOutlined);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 8 modules\nvar es_input = __webpack_require__("5rEg");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/locale-provider/LocaleReceiver.js + 1 modules\nvar LocaleReceiver = __webpack_require__("YMnH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/devWarning.js\nvar devWarning = __webpack_require__("uaoM");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/SizeContext.js\nvar SizeContext = __webpack_require__("3Nzz");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__("0n0R");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/cascader/index.js\nfunction cascader_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { cascader_typeof = function _typeof(obj) { return typeof obj; }; } else { cascader_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return cascader_typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction cascader_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction cascader_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction cascader_createClass(Constructor, protoProps, staticProps) { if (protoProps) cascader_defineProperties(Constructor.prototype, protoProps); if (staticProps) cascader_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction cascader_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) cascader_setPrototypeOf(subClass, superClass); }\n\nfunction cascader_setPrototypeOf(o, p) { cascader_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return cascader_setPrototypeOf(o, p); }\n\nfunction cascader_createSuper(Derived) { var hasNativeReflectConstruct = cascader_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = cascader_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = cascader_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return cascader_possibleConstructorReturn(this, result); }; }\n\nfunction cascader_possibleConstructorReturn(self, call) { if (call && (cascader_typeof(call) === "object" || typeof call === "function")) { return call; } return cascader_assertThisInitialized(self); }\n\nfunction cascader_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction cascader_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction cascader_getPrototypeOf(o) { cascader_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return cascader_getPrototypeOf(o); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // We limit the filtered item count by default\n\nvar defaultLimit = 50;\n\nfunction highlightKeyword(str, keyword, prefixCls) {\n return str.split(keyword).map(function (node, index) {\n return index === 0 ? node : [/*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-menu-item-keyword"),\n key: "seperator"\n }, keyword), node];\n });\n}\n\nfunction defaultFilterOption(inputValue, path, names) {\n return path.some(function (option) {\n return option[names.label].indexOf(inputValue) > -1;\n });\n}\n\nfunction defaultRenderFilteredOption(inputValue, path, prefixCls, names) {\n return path.map(function (option, index) {\n var label = option[names.label];\n var node = label.indexOf(inputValue) > -1 ? highlightKeyword(label, inputValue, prefixCls) : label;\n return index === 0 ? node : [\' / \', node];\n });\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n function callback(elem) {\n return elem[names.label].indexOf(inputValue) > -1;\n }\n\n return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFieldNames(_ref) {\n var fieldNames = _ref.fieldNames;\n return fieldNames;\n}\n\nfunction getFilledFieldNames(props) {\n var fieldNames = getFieldNames(props) || {};\n var names = {\n children: fieldNames.children || \'children\',\n label: fieldNames.label || \'label\',\n value: fieldNames.value || \'value\'\n };\n return names;\n}\n\nfunction flattenTree(options, props) {\n var ancestor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var names = getFilledFieldNames(props);\n var flattenOptions = [];\n var childrenName = names.children;\n options.forEach(function (option) {\n var path = ancestor.concat(option);\n\n if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n flattenOptions.push(path);\n }\n\n if (option[childrenName]) {\n flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n }\n });\n return flattenOptions;\n}\n\nvar defaultDisplayRender = function defaultDisplayRender(label) {\n return label.join(\' / \');\n};\n\nfunction warningValueNotExist(list) {\n var fieldNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n (list || []).forEach(function (item) {\n var valueFieldName = fieldNames.value || \'value\';\n Object(devWarning["a" /* default */])(valueFieldName in item, \'Cascader\', \'Not found `value` in `options`.\');\n warningValueNotExist(item[fieldNames.children || \'children\'], fieldNames);\n });\n}\n\nvar cascader_Cascader = /*#__PURE__*/function (_React$Component) {\n cascader_inherits(Cascader, _React$Component);\n\n var _super = cascader_createSuper(Cascader);\n\n function Cascader(props) {\n var _this;\n\n cascader_classCallCheck(this, Cascader);\n\n _this = _super.call(this, props);\n _this.cachedOptions = [];\n\n _this.setValue = function (value) {\n var selectedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (!(\'value\' in _this.props)) {\n _this.setState({\n value: value\n });\n }\n\n var onChange = _this.props.onChange;\n\n if (onChange) {\n onChange(value, selectedOptions);\n }\n };\n\n _this.saveInput = function (node) {\n _this.input = node;\n };\n\n _this.handleChange = function (value, selectedOptions) {\n _this.setState({\n inputValue: \'\'\n });\n\n if (selectedOptions[0].__IS_FILTERED_OPTION) {\n var unwrappedValue = value[0];\n var unwrappedSelectedOptions = selectedOptions[0].path;\n\n _this.setValue(unwrappedValue, unwrappedSelectedOptions);\n\n return;\n }\n\n _this.setValue(value, selectedOptions);\n };\n\n _this.handlePopupVisibleChange = function (popupVisible) {\n if (!(\'popupVisible\' in _this.props)) {\n _this.setState(function (state) {\n return {\n popupVisible: popupVisible,\n inputFocused: popupVisible,\n inputValue: popupVisible ? state.inputValue : \'\'\n };\n });\n }\n\n var onPopupVisibleChange = _this.props.onPopupVisibleChange;\n\n if (onPopupVisibleChange) {\n onPopupVisibleChange(popupVisible);\n }\n };\n\n _this.handleInputBlur = function () {\n _this.setState({\n inputFocused: false\n });\n };\n\n _this.handleInputClick = function (e) {\n var _this$state = _this.state,\n inputFocused = _this$state.inputFocused,\n popupVisible = _this$state.popupVisible; // Prevent `Trigger` behaviour.\n\n if (inputFocused || popupVisible) {\n e.stopPropagation();\n }\n };\n\n _this.handleKeyDown = function (e) {\n // SPACE => https://github.com/ant-design/ant-design/issues/16871\n if (e.keyCode === KeyCode["a" /* default */].BACKSPACE || e.keyCode === KeyCode["a" /* default */].SPACE) {\n e.stopPropagation();\n }\n };\n\n _this.handleInputChange = function (e) {\n var inputValue = e.target.value;\n\n _this.setState({\n inputValue: inputValue\n });\n };\n\n _this.clearSelection = function (e) {\n var inputValue = _this.state.inputValue;\n e.preventDefault();\n e.stopPropagation();\n\n if (!inputValue) {\n _this.setValue([]);\n\n _this.handlePopupVisibleChange(false);\n } else {\n _this.setState({\n inputValue: \'\'\n });\n }\n };\n\n _this.renderCascader = function (_ref2, locale) {\n var getContextPopupContainer = _ref2.getPopupContainer,\n getPrefixCls = _ref2.getPrefixCls,\n renderEmpty = _ref2.renderEmpty,\n direction = _ref2.direction;\n return /*#__PURE__*/react["createElement"](SizeContext["b" /* default */].Consumer, null, function (size) {\n var _classNames, _classNames2, _classNames3, _classNames5;\n\n var _assertThisInitialize = cascader_assertThisInitialized(_this),\n props = _assertThisInitialize.props,\n state = _assertThisInitialize.state;\n\n var customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n children = props.children,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? locale.placeholder || \'Please select\' : _props$placeholder,\n customizeSize = props.size,\n disabled = props.disabled,\n className = props.className,\n style = props.style,\n allowClear = props.allowClear,\n _props$showSearch = props.showSearch,\n showSearch = _props$showSearch === void 0 ? false : _props$showSearch,\n suffixIcon = props.suffixIcon,\n notFoundContent = props.notFoundContent,\n popupClassName = props.popupClassName,\n bordered = props.bordered,\n otherProps = __rest(props, ["prefixCls", "inputPrefixCls", "children", "placeholder", "size", "disabled", "className", "style", "allowClear", "showSearch", "suffixIcon", "notFoundContent", "popupClassName", "bordered"]);\n\n var mergedSize = customizeSize || size;\n var value = state.value,\n inputFocused = state.inputFocused;\n var isRtlLayout = direction === \'rtl\';\n var prefixCls = getPrefixCls(\'cascader\', customizePrefixCls);\n var inputPrefixCls = getPrefixCls(\'input\', customizeInputPrefixCls);\n var sizeCls = classnames_default()((_classNames = {}, _defineProperty(_classNames, "".concat(inputPrefixCls, "-lg"), mergedSize === \'large\'), _defineProperty(_classNames, "".concat(inputPrefixCls, "-sm"), mergedSize === \'small\'), _classNames));\n var clearIcon = allowClear && !disabled && value.length > 0 || state.inputValue ? /*#__PURE__*/react["createElement"](CloseCircleFilled_default.a, {\n className: "".concat(prefixCls, "-picker-clear"),\n onClick: _this.clearSelection\n }) : null;\n var arrowCls = classnames_default()((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-picker-arrow"), true), _defineProperty(_classNames2, "".concat(prefixCls, "-picker-arrow-expand"), state.popupVisible), _classNames2));\n var pickerCls = classnames_default()(className, "".concat(prefixCls, "-picker"), (_classNames3 = {}, _defineProperty(_classNames3, "".concat(prefixCls, "-picker-rtl"), isRtlLayout), _defineProperty(_classNames3, "".concat(prefixCls, "-picker-with-value"), state.inputValue), _defineProperty(_classNames3, "".concat(prefixCls, "-picker-disabled"), disabled), _defineProperty(_classNames3, "".concat(prefixCls, "-picker-").concat(mergedSize), !!mergedSize), _defineProperty(_classNames3, "".concat(prefixCls, "-picker-show-search"), !!showSearch), _defineProperty(_classNames3, "".concat(prefixCls, "-picker-focused"), inputFocused), _defineProperty(_classNames3, "".concat(prefixCls, "-picker-borderless"), !bordered), _classNames3)); // Fix bug of https://github.com/facebook/react/pull/5004\n // and https://fb.me/react-unknown-prop\n\n var inputProps = Object(omit_js_es["a" /* default */])(otherProps, [\'onChange\', \'options\', \'popupPlacement\', \'transitionName\', \'displayRender\', \'onPopupVisibleChange\', \'changeOnSelect\', \'expandTrigger\', \'popupVisible\', \'getPopupContainer\', \'loadData\', \'popupClassName\', \'filterOption\', \'renderFilteredOption\', \'sortFilteredOption\', \'notFoundContent\', \'fieldNames\', \'bordered\']);\n var options = props.options;\n var names = getFilledFieldNames(_this.props);\n\n if (options && options.length > 0) {\n if (state.inputValue) {\n options = _this.generateFilteredOptions(prefixCls, renderEmpty);\n }\n } else {\n var _ref3;\n\n options = [(_ref3 = {}, _defineProperty(_ref3, names.label, notFoundContent || renderEmpty(\'Cascader\')), _defineProperty(_ref3, names.value, \'ANT_CASCADER_NOT_FOUND\'), _ref3)];\n } // Dropdown menu should keep previous status until it is fully closed.\n\n\n if (!state.popupVisible) {\n options = _this.cachedOptions;\n } else {\n _this.cachedOptions = options;\n }\n\n var dropdownMenuColumnStyle = {};\n var isNotFound = (options || []).length === 1 && options[0].isEmptyNode;\n\n if (isNotFound) {\n dropdownMenuColumnStyle.height = \'auto\'; // Height of one row.\n } // The default value of `matchInputWidth` is `true`\n\n\n var resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n\n if (resultListMatchInputWidth && (state.inputValue || isNotFound) && _this.input) {\n dropdownMenuColumnStyle.width = _this.input.input.offsetWidth;\n }\n\n var inputIcon;\n\n if (suffixIcon) {\n inputIcon = Object(reactNode["c" /* replaceElement */])(suffixIcon, /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-picker-arrow")\n }, suffixIcon), function () {\n var _classNames4;\n\n return {\n className: classnames_default()((_classNames4 = {}, _defineProperty(_classNames4, suffixIcon.props.className, suffixIcon.props.className), _defineProperty(_classNames4, "".concat(prefixCls, "-picker-arrow"), true), _classNames4))\n };\n });\n } else {\n inputIcon = /*#__PURE__*/react["createElement"](DownOutlined_default.a, {\n className: arrowCls\n });\n }\n\n var input = children || /*#__PURE__*/react["createElement"]("span", {\n style: style,\n className: pickerCls\n }, /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-picker-label")\n }, _this.getLabel()), /*#__PURE__*/react["createElement"](es_input["a" /* default */], _extends({}, inputProps, {\n tabIndex: "-1",\n ref: _this.saveInput,\n prefixCls: inputPrefixCls,\n placeholder: value && value.length > 0 ? undefined : placeholder,\n className: "".concat(prefixCls, "-input ").concat(sizeCls),\n value: state.inputValue,\n disabled: disabled,\n readOnly: !showSearch,\n autoComplete: inputProps.autoComplete || \'off\',\n onClick: showSearch ? _this.handleInputClick : undefined,\n onBlur: showSearch ? _this.handleInputBlur : undefined,\n onKeyDown: _this.handleKeyDown,\n onChange: showSearch ? _this.handleInputChange : undefined\n })), clearIcon, inputIcon);\n var expandIcon = /*#__PURE__*/react["createElement"](RightOutlined_default.a, null);\n\n if (isRtlLayout) {\n expandIcon = /*#__PURE__*/react["createElement"](LeftOutlined_default.a, null);\n }\n\n var loadingIcon = /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-menu-item-loading-icon")\n }, /*#__PURE__*/react["createElement"](RedoOutlined_default.a, {\n spin: true\n }));\n var getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n var rest = Object(omit_js_es["a" /* default */])(props, [\'inputIcon\', \'expandIcon\', \'loadingIcon\', \'bordered\']);\n var rcCascaderPopupClassName = classnames_default()(popupClassName, (_classNames5 = {}, _defineProperty(_classNames5, "".concat(prefixCls, "-menu-").concat(direction), direction === \'rtl\'), _defineProperty(_classNames5, "".concat(prefixCls, "-menu-empty"), options.length === 1 && options[0].value === \'ANT_CASCADER_NOT_FOUND\'), _classNames5));\n return /*#__PURE__*/react["createElement"](rc_cascader_es, _extends({}, rest, {\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer,\n options: options,\n value: value,\n popupVisible: state.popupVisible,\n onPopupVisibleChange: _this.handlePopupVisibleChange,\n onChange: _this.handleChange,\n dropdownMenuColumnStyle: dropdownMenuColumnStyle,\n expandIcon: expandIcon,\n loadingIcon: loadingIcon,\n popupClassName: rcCascaderPopupClassName,\n popupPlacement: _this.getPopupPlacement(direction)\n }), input);\n });\n };\n\n _this.state = {\n value: props.value || props.defaultValue || [],\n inputValue: \'\',\n inputFocused: false,\n popupVisible: props.popupVisible,\n flattenOptions: props.showSearch ? flattenTree(props.options, props) : undefined,\n prevProps: props\n };\n return _this;\n }\n\n cascader_createClass(Cascader, [{\n key: "getLabel",\n value: function getLabel() {\n var _this$props = this.props,\n options = _this$props.options,\n _this$props$displayRe = _this$props.displayRender,\n displayRender = _this$props$displayRe === void 0 ? defaultDisplayRender : _this$props$displayRe;\n var names = getFilledFieldNames(this.props);\n var value = this.state.value;\n var unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n var selectedOptions = lib_default()(options, function (o, level) {\n return o[names.value] === unwrappedValue[level];\n }, {\n childrenKeyName: names.children\n });\n var label = selectedOptions.length ? selectedOptions.map(function (o) {\n return o[names.label];\n }) : value;\n return displayRender(label, selectedOptions);\n }\n }, {\n key: "generateFilteredOptions",\n value: function generateFilteredOptions(prefixCls, renderEmpty) {\n var _this2 = this,\n _ref5;\n\n var _this$props2 = this.props,\n showSearch = _this$props2.showSearch,\n notFoundContent = _this$props2.notFoundContent;\n var names = getFilledFieldNames(this.props);\n var _showSearch$filter = showSearch.filter,\n filter = _showSearch$filter === void 0 ? defaultFilterOption : _showSearch$filter,\n _showSearch$render = showSearch.render,\n render = _showSearch$render === void 0 ? defaultRenderFilteredOption : _showSearch$render,\n _showSearch$sort = showSearch.sort,\n sort = _showSearch$sort === void 0 ? defaultSortFilteredOption : _showSearch$sort,\n _showSearch$limit = showSearch.limit,\n limit = _showSearch$limit === void 0 ? defaultLimit : _showSearch$limit;\n var _this$state2 = this.state,\n _this$state2$flattenO = _this$state2.flattenOptions,\n flattenOptions = _this$state2$flattenO === void 0 ? [] : _this$state2$flattenO,\n inputValue = _this$state2.inputValue; // Limit the filter if needed\n\n var filtered;\n\n if (limit > 0) {\n filtered = [];\n var matchCount = 0; // Perf optimization to filter items only below the limit\n\n flattenOptions.some(function (path) {\n var match = filter(_this2.state.inputValue, path, names);\n\n if (match) {\n filtered.push(path);\n matchCount += 1;\n }\n\n return matchCount >= limit;\n });\n } else {\n Object(devWarning["a" /* default */])(typeof limit !== \'number\', \'Cascader\', "\'limit\' of showSearch should be positive number or false.");\n filtered = flattenOptions.filter(function (path) {\n return filter(_this2.state.inputValue, path, names);\n });\n }\n\n filtered = filtered.sort(function (a, b) {\n return sort(a, b, inputValue, names);\n });\n\n if (filtered.length > 0) {\n return filtered.map(function (path) {\n var _ref4;\n\n return _ref4 = {\n __IS_FILTERED_OPTION: true,\n path: path\n }, _defineProperty(_ref4, names.value, path.map(function (o) {\n return o[names.value];\n })), _defineProperty(_ref4, names.label, render(inputValue, path, prefixCls, names)), _defineProperty(_ref4, "disabled", path.some(function (o) {\n return !!o.disabled;\n })), _defineProperty(_ref4, "isEmptyNode", true), _ref4;\n });\n }\n\n return [(_ref5 = {}, _defineProperty(_ref5, names.value, \'ANT_CASCADER_NOT_FOUND\'), _defineProperty(_ref5, names.label, notFoundContent || renderEmpty(\'Cascader\')), _defineProperty(_ref5, "disabled", true), _defineProperty(_ref5, "isEmptyNode", true), _ref5)];\n }\n }, {\n key: "focus",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: "blur",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: "getPopupPlacement",\n value: function getPopupPlacement() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \'ltr\';\n var popupPlacement = this.props.popupPlacement;\n\n if (popupPlacement !== undefined) {\n return popupPlacement;\n }\n\n return direction === \'rtl\' ? \'bottomRight\' : \'bottomLeft\';\n }\n }, {\n key: "render",\n value: function render() {\n var _this3 = this;\n\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, function (configArgument) {\n return /*#__PURE__*/react["createElement"](LocaleReceiver["a" /* default */], null, function (locale) {\n return _this3.renderCascader(configArgument, locale);\n });\n });\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps, _ref6) {\n var prevProps = _ref6.prevProps;\n var newState = {\n prevProps: nextProps\n };\n\n if (\'value\' in nextProps) {\n newState.value = nextProps.value || [];\n }\n\n if (\'popupVisible\' in nextProps) {\n newState.popupVisible = nextProps.popupVisible;\n }\n\n if (nextProps.showSearch && prevProps.options !== nextProps.options) {\n newState.flattenOptions = flattenTree(nextProps.options, nextProps);\n }\n\n if (false) {}\n\n return newState;\n }\n }]);\n\n return Cascader;\n}(react["Component"]);\n\ncascader_Cascader.defaultProps = {\n transitionName: \'slide-up\',\n options: [],\n disabled: false,\n allowClear: true,\n bordered: true\n};\n/* harmony default export */ var cascader = __webpack_exports__["a"] = (cascader_Cascader);\n\n//# sourceURL=webpack:///./node_modules/antd/es/cascader/index.js_+_5_modules?')},DFhj:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _LeftOutlined = _interopRequireDefault(__webpack_require__("GGyF"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _LeftOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/LeftOutlined.js?')},DL4k:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar CaretDownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z" } }] }, "name": "caret-down", "theme": "outlined" };\nexports.default = CaretDownOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/CaretDownOutlined.js?')},DN4a:function(module,exports,__webpack_require__){eval('var matrix = __webpack_require__("Fofx");\n\nvar vector = __webpack_require__("QBsz");\n\n/**\n * \u63d0\u4f9b\u53d8\u6362\u6269\u5c55\n * @module zrender/mixin/Transformable\n * @author pissang (https://www.github.com/pissang)\n */\nvar mIdentity = matrix.identity;\nvar EPSILON = 5e-5;\n\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\n/**\n * @alias module:zrender/mixin/Transformable\n * @constructor\n */\n\n\nvar Transformable = function (opts) {\n opts = opts || {}; // If there are no given position, rotation, scale\n\n if (!opts.position) {\n /**\n * \u5e73\u79fb\n * @type {Array.}\n * @default [0, 0]\n */\n this.position = [0, 0];\n }\n\n if (opts.rotation == null) {\n /**\n * \u65cb\u8f6c\n * @type {Array.}\n * @default 0\n */\n this.rotation = 0;\n }\n\n if (!opts.scale) {\n /**\n * \u7f29\u653e\n * @type {Array.}\n * @default [1, 1]\n */\n this.scale = [1, 1];\n }\n /**\n * \u65cb\u8f6c\u548c\u7f29\u653e\u7684\u539f\u70b9\n * @type {Array.}\n * @default null\n */\n\n\n this.origin = this.origin || null;\n};\n\nvar transformableProto = Transformable.prototype;\ntransformableProto.transform = null;\n/**\n * \u5224\u65ad\u662f\u5426\u9700\u8981\u6709\u5750\u6807\u53d8\u6362\n * \u5982\u679c\u6709\u5750\u6807\u53d8\u6362, \u5219\u4eceposition, rotation, scale\u4ee5\u53ca\u7236\u8282\u70b9\u7684transform\u8ba1\u7b97\u51fa\u81ea\u8eab\u7684transform\u77e9\u9635\n */\n\ntransformableProto.needLocalTransform = function () {\n return isNotAroundZero(this.rotation) || isNotAroundZero(this.position[0]) || isNotAroundZero(this.position[1]) || isNotAroundZero(this.scale[0] - 1) || isNotAroundZero(this.scale[1] - 1);\n};\n\nvar scaleTmp = [];\n\ntransformableProto.updateTransform = function () {\n var parent = this.parent;\n var parentHasTransform = parent && parent.transform;\n var needLocalTransform = this.needLocalTransform();\n var m = this.transform;\n\n if (!(needLocalTransform || parentHasTransform)) {\n m && mIdentity(m);\n return;\n }\n\n m = m || matrix.create();\n\n if (needLocalTransform) {\n this.getLocalTransform(m);\n } else {\n mIdentity(m);\n } // \u5e94\u7528\u7236\u8282\u70b9\u53d8\u6362\n\n\n if (parentHasTransform) {\n if (needLocalTransform) {\n matrix.mul(m, parent.transform, m);\n } else {\n matrix.copy(m, parent.transform);\n }\n } // \u4fdd\u5b58\u8fd9\u4e2a\u53d8\u6362\u77e9\u9635\n\n\n this.transform = m;\n var globalScaleRatio = this.globalScaleRatio;\n\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\n this.invTransform = this.invTransform || matrix.create();\n matrix.invert(this.invTransform, m);\n};\n\ntransformableProto.getLocalTransform = function (m) {\n return Transformable.getLocalTransform(this, m);\n};\n/**\n * \u5c06\u81ea\u5df1\u7684transform\u5e94\u7528\u5230context\u4e0a\n * @param {CanvasRenderingContext2D} ctx\n */\n\n\ntransformableProto.setTransform = function (ctx) {\n var m = this.transform;\n var dpr = ctx.dpr || 1;\n\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 } else {\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n }\n};\n\ntransformableProto.restoreTransform = function (ctx) {\n var dpr = ctx.dpr || 1;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n};\n\nvar tmpTransform = [];\nvar originTransform = matrix.create();\n\ntransformableProto.setLocalTransform = function (m) {\n if (!m) {\n // TODO return or set identity?\n return;\n }\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 position = this.position;\n var scale = this.scale;\n\n if (isNotAroundZero(sx - 1)) {\n sx = Math.sqrt(sx);\n }\n\n if (isNotAroundZero(sy - 1)) {\n sy = Math.sqrt(sy);\n }\n\n if (m[0] < 0) {\n sx = -sx;\n }\n\n if (m[3] < 0) {\n sy = -sy;\n }\n\n position[0] = m[4];\n position[1] = m[5];\n scale[0] = sx;\n scale[1] = sy;\n this.rotation = Math.atan2(-m[1] / sy, m[0] / sx);\n};\n/**\n * \u5206\u89e3`transform`\u77e9\u9635\u5230`position`, `rotation`, `scale`\n */\n\n\ntransformableProto.decomposeTransform = function () {\n if (!this.transform) {\n return;\n }\n\n var parent = this.parent;\n var m = this.transform;\n\n if (parent && parent.transform) {\n // Get local transform and decompose them to position, scale, rotation\n matrix.mul(tmpTransform, parent.invTransform, m);\n m = tmpTransform;\n }\n\n var origin = this.origin;\n\n if (origin && (origin[0] || origin[1])) {\n originTransform[4] = origin[0];\n originTransform[5] = origin[1];\n matrix.mul(tmpTransform, m, originTransform);\n tmpTransform[4] -= origin[0];\n tmpTransform[5] -= origin[1];\n m = tmpTransform;\n }\n\n this.setLocalTransform(m);\n};\n/**\n * Get global scale\n * @return {Array.}\n */\n\n\ntransformableProto.getGlobalScale = function (out) {\n var m = this.transform;\n out = out || [];\n\n if (!m) {\n out[0] = 1;\n out[1] = 1;\n return out;\n }\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\n if (m[0] < 0) {\n out[0] = -out[0];\n }\n\n if (m[3] < 0) {\n out[1] = -out[1];\n }\n\n return out;\n};\n/**\n * \u53d8\u6362\u5750\u6807\u4f4d\u7f6e\u5230 shape \u7684\u5c40\u90e8\u5750\u6807\u7a7a\u95f4\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToLocal = function (x, y) {\n var v2 = [x, y];\n var invTransform = this.invTransform;\n\n if (invTransform) {\n vector.applyTransform(v2, v2, invTransform);\n }\n\n return v2;\n};\n/**\n * \u53d8\u6362\u5c40\u90e8\u5750\u6807\u4f4d\u7f6e\u5230\u5168\u5c40\u5750\u6807\u7a7a\u95f4\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToGlobal = function (x, y) {\n var v2 = [x, y];\n var transform = this.transform;\n\n if (transform) {\n vector.applyTransform(v2, v2, transform);\n }\n\n return v2;\n};\n/**\n * @static\n * @param {Object} target\n * @param {Array.} target.origin\n * @param {number} target.rotation\n * @param {Array.} target.position\n * @param {Array.} [m]\n */\n\n\nTransformable.getLocalTransform = function (target, m) {\n m = m || [];\n mIdentity(m);\n var origin = target.origin;\n var scale = target.scale || [1, 1];\n var rotation = target.rotation || 0;\n var position = target.position || [0, 0];\n\n if (origin) {\n // Translate to origin\n m[4] -= origin[0];\n m[5] -= origin[1];\n }\n\n matrix.scale(m, m, scale);\n\n if (rotation) {\n matrix.rotate(m, m, rotation);\n }\n\n if (origin) {\n // Translate back from origin\n m[4] += origin[0];\n m[5] += origin[1];\n }\n\n m[4] += position[0];\n m[5] += position[1];\n return m;\n};\n\nvar _default = Transformable;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/mixin/Transformable.js?')},DO2E:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar DeleteOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z" } }] }, "name": "delete", "theme": "outlined" };\nexports.default = DeleteOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/DeleteOutlined.js?')},DSRE:function(module,exports,__webpack_require__){eval('/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__("Kz5y"),\n stubFalse = __webpack_require__("B8du");\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == \'object\' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module)))\n\n//# sourceURL=webpack:///./node_modules/lodash/isBuffer.js?')},DTDp:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.css?")},DYRE:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("OPEp");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/space/style/index.js?')},DZo9:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("JGo8");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("+L6B");\n/* harmony import */ var _progress_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("MXD1");\n/* harmony import */ var _tooltip_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("5Dmo");\n\n // style dependencies\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/upload/style/index.js?')},Dagg:function(module,exports,__webpack_require__){eval('var Displayable = __webpack_require__("Gev7");\n\nvar BoundingRect = __webpack_require__("mFDi");\n\nvar zrUtil = __webpack_require__("bYtY");\n\nvar imageHelper = __webpack_require__("Xnb7");\n\n/**\n * @alias zrender/graphic/Image\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nfunction ZImage(opts) {\n Displayable.call(this, opts);\n}\n\nZImage.prototype = {\n constructor: ZImage,\n type: \'image\',\n brush: function (ctx, prevEl) {\n var style = this.style;\n var src = style.image; // Must bind each time\n\n style.bind(ctx, this, prevEl);\n var image = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);\n\n if (!image || !imageHelper.isImageReady(image)) {\n return;\n } // \u56fe\u7247\u5df2\u7ecf\u52a0\u8f7d\u5b8c\u6210\n // if (image.nodeName.toUpperCase() == \'IMG\') {\n // if (!image.complete) {\n // return;\n // }\n // }\n // Else is canvas\n\n\n var x = style.x || 0;\n var y = style.y || 0;\n var width = style.width;\n var height = style.height;\n var aspect = image.width / image.height;\n\n if (width == null && height != null) {\n // Keep image/height ratio\n width = height * aspect;\n } else if (height == null && width != null) {\n height = width / aspect;\n } else if (width == null && height == null) {\n width = image.width;\n height = image.height;\n } // \u8bbe\u7f6etransform\n\n\n this.setTransform(ctx);\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 } 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 } else {\n ctx.drawImage(image, x, y, width, height);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n getBoundingRect: function () {\n var style = this.style;\n\n if (!this._rect) {\n this._rect = new BoundingRect(style.x || 0, style.y || 0, style.width || 0, style.height || 0);\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(ZImage, Displayable);\nvar _default = ZImage;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/Image.js?')},Dg8C:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 VisualMapping = __webpack_require__(\"XxSj\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default(ecModel, payload) {\n ecModel.eachSeriesByType('sankey', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var nodes = graph.nodes;\n\n if (nodes.length) {\n var minValue = Infinity;\n var maxValue = -Infinity;\n zrUtil.each(nodes, function (node) {\n var nodeValue = node.getLayout().value;\n\n if (nodeValue < minValue) {\n minValue = nodeValue;\n }\n\n if (nodeValue > maxValue) {\n maxValue = nodeValue;\n }\n });\n zrUtil.each(nodes, function (node) {\n var mapping = new VisualMapping({\n type: 'color',\n mappingMethod: 'linear',\n dataExtent: [minValue, maxValue],\n visual: seriesModel.get('color')\n });\n var mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);\n var customColor = node.getModel().get('itemStyle.color');\n customColor != null ? node.setVisual('color', customColor) : node.setVisual('color', mapValueToColor);\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey/sankeyVisual.js?")},DjyN:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Urep");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _select_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("OaEy");\n\n // style dependencies\n// deps-lint-skip: grid\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/pagination/style/index.js?')},DlQD:function(module,exports,__webpack_require__){eval("/**\n * marked - a markdown parser\n * Copyright (c) 2011-2020, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () { 'use strict';\n\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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _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\n function _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\n function _createForOfIteratorHelperLoose(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 return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\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 it = o[Symbol.iterator]();\n return it.next.bind(it);\n }\n\n function createCommonjsModule(fn, module) {\n \treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n }\n\n var defaults = createCommonjsModule(function (module) {\n function getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n function changeDefaults(newDefaults) {\n module.exports.defaults = newDefaults;\n }\n\n module.exports = {\n defaults: getDefaults(),\n getDefaults: getDefaults,\n changeDefaults: changeDefaults\n };\n });\n var defaults_1 = defaults.defaults;\n var defaults_2 = defaults.getDefaults;\n var defaults_3 = defaults.changeDefaults;\n\n /**\n * Helpers\n */\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest = {\n exec: function noopTest() {}\n };\n\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n // /c*$/ is vulnerable to REDOS.\n // invert: Remove suffix of non-c chars instead. Default falsey.\n\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n }\n\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n }\n\n var helpers = {\n escape: escape,\n unescape: unescape,\n edit: edit,\n cleanUrl: cleanUrl,\n resolveUrl: resolveUrl,\n noopTest: noopTest,\n merge: merge,\n splitCells: splitCells,\n rtrim: rtrim,\n findClosingBracket: findClosingBracket,\n checkSanitizeDeprecation: checkSanitizeDeprecation\n };\n\n var defaults$1 = defaults.defaults;\n var rtrim$1 = helpers.rtrim,\n splitCells$1 = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket$1 = helpers.findClosingBracket;\n\n function outputLink(cap, link, raw) {\n var href = link.href;\n var title = link.title ? _escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n return {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text\n };\n } else {\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: _escape(text)\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer_1 = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || defaults$1;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap) {\n if (cap[0].length > 1) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n\n return {\n raw: '\\n'\n };\n }\n };\n\n _proto.code = function code(src, tokens) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && lastToken.type === 'paragraph') {\n return {\n raw: cap[0],\n text: cap[0].trimRight()\n };\n }\n\n var text = cap[0].replace(/^ {4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim$1(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: cap[2]\n };\n }\n };\n\n _proto.nptable = function nptable(src) {\n var cap = this.rules.block.nptable.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : [],\n raw: cap[0]\n };\n\n if (item.header.length === item.align.length) {\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i], item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var bull = cap[2];\n var isordered = bull.length > 1;\n var isparen = bull[bull.length - 1] === ')';\n var list = {\n type: 'list',\n raw: raw,\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n }; // Get each top-level item.\n\n var itemMatch = cap[0].match(this.rules.block.item);\n var next = false,\n item,\n space,\n b,\n addBack,\n loose,\n istask,\n ischecked;\n var l = itemMatch.length;\n\n for (var i = 0; i < l; i++) {\n item = itemMatch[i];\n raw = item; // Remove the list item's bullet\n // so it is seen as the next token.\n\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+[.)]) */, ''); // Outdent whatever the\n // list item contains. Hacky.\n\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');\n } // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n\n\n if (i !== l - 1) {\n b = this.rules.block.bullet.exec(itemMatch[i + 1])[0];\n\n if (isordered ? b.length === 1 || !isparen && b[b.length - 1] === ')' : b.length > 1 || this.options.smartLists && b !== bull) {\n addBack = itemMatch.slice(i + 1).join('\\n');\n list.raw = list.raw.substring(0, list.raw.length - addBack.length);\n i = l - 1;\n }\n } // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n\n\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n list.loose = true;\n } // Check for task list items\n\n\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: istask,\n checked: ischecked,\n loose: loose,\n text: item\n });\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n return {\n type: this.options.sanitize ? 'paragraph' : 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''), item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n return {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1]\n };\n }\n };\n\n _proto.text = function text(src, tokens) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n var lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n return {\n raw: cap[0],\n text: cap[0]\n };\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0]\n };\n }\n };\n\n _proto.escape = function escape(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: _escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src, inLink, inRawBlock) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!inLink && /^/i.test(cap[0])) {\n inLink = false;\n }\n\n if (!inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = true;\n } else if (inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: inLink,\n inRawBlock: inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var lastParenIndex = findClosingBracket$1(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n var token = outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0]);\n return token;\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n var token = outputLink(cap, link, cap[0]);\n return token;\n }\n };\n\n _proto.strong = function strong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.strong.start.exec(src);\n\n if (match && (!match[1] || match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n maskedSrc = maskedSrc.slice(-1 * src.length);\n var endReg = match[0] === '**' ? this.rules.inline.strong.endAst : this.rules.inline.strong.endUnd;\n endReg.lastIndex = 0;\n var cap;\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n cap = this.rules.inline.strong.middle.exec(maskedSrc.slice(0, match.index + 3));\n\n if (cap) {\n return {\n type: 'strong',\n raw: src.slice(0, cap[0].length),\n text: src.slice(2, cap[0].length - 2)\n };\n }\n }\n }\n };\n\n _proto.em = function em(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.em.start.exec(src);\n\n if (match && (!match[1] || match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n maskedSrc = maskedSrc.slice(-1 * src.length);\n var endReg = match[0] === '*' ? this.rules.inline.em.endAst : this.rules.inline.em.endUnd;\n endReg.lastIndex = 0;\n var cap;\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n cap = this.rules.inline.em.middle.exec(maskedSrc.slice(0, match.index + 2));\n\n if (cap) {\n return {\n type: 'em',\n raw: src.slice(0, cap[0].length),\n text: src.slice(1, cap[0].length - 1)\n };\n }\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = text.startsWith(' ') && text.endsWith(' ');\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = _escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[1]\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = _escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = _escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, inRawBlock, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];\n } else {\n text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n var noopTest$1 = helpers.noopTest,\n edit$1 = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest$1,\n table: noopTest$1,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\n block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = '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|h[1-6]|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';\n block._comment = /\x3c!--(?!-?>)[\\s\\S]*?--\x3e/;\n block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit$1(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge$1({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge$1({}, block.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' *([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)',\n // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' *\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.nptable = edit$1(block.gfm.nptable).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.table = edit$1(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge$1({}, block.normal, {\n html: edit$1('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noopTest$1,\n // fences not supported\n paragraph: edit$1(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest$1,\n tag: '^comment' + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n strong: {\n start: /^(?:(\\*\\*(?=[*punctuation]))|\\*\\*)(?![\\s])|__/,\n // (1) returns if starts w/ punctuation\n middle: /^\\*\\*(?:(?:(?!overlapSkip)(?:[^*]|\\\\\\*)|overlapSkip)|\\*(?:(?!overlapSkip)(?:[^*]|\\\\\\*)|overlapSkip)*?\\*)+?\\*\\*$|^__(?![\\s])((?:(?:(?!overlapSkip)(?:[^_]|\\\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\\\_)|overlapSkip)*?_)+?)__$/,\n endAst: /[^punctuation\\s]\\*\\*(?!\\*)|[punctuation]\\*\\*(?!\\*)(?:(?=[punctuation\\s]|$))/,\n // last char can't be punct, or final * must also be followed by punct (or endline)\n endUnd: /[^\\s]__(?!_)(?:(?=[punctuation\\s])|$)/ // last char can't be a space, and final _ must preceed punct or \\s (or endline)\n\n },\n em: {\n start: /^(?:(\\*(?=[punctuation]))|\\*)(?![*\\s])|_/,\n // (1) returns if starts w/ punctuation\n middle: /^\\*(?:(?:(?!overlapSkip)(?:[^*]|\\\\\\*)|overlapSkip)|\\*(?:(?!overlapSkip)(?:[^*]|\\\\\\*)|overlapSkip)*?\\*)+?\\*$|^_(?![_\\s])(?:(?:(?!overlapSkip)(?:[^_]|\\\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\\\_)|overlapSkip)*?_)+?_$/,\n endAst: /[^punctuation\\s]\\*(?!\\*)|[punctuation]\\*(?!\\*)(?:(?=[punctuation\\s]|$))/,\n // last char can't be punct, or final * must also be followed by punct (or endline)\n endUnd: /[^\\s]_(?!_)(?:(?=[punctuation\\s])|$)/ // last char can't be a space, and final _ must preceed punct or \\s (or endline)\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest$1,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline.punctuation = edit$1(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline._blockSkip = '\\\\[[^\\\\]]*?\\\\]\\\\([^\\\\)]*?\\\\)|`[^`]*?`|<[^>]*?>';\n inline._overlapSkip = '__[^_]*?__|\\\\*\\\\*\\\\[^\\\\*\\\\]*?\\\\*\\\\*';\n inline.em.start = edit$1(inline.em.start).replace(/punctuation/g, inline._punctuation).getRegex();\n inline.em.middle = edit$1(inline.em.middle).replace(/punctuation/g, inline._punctuation).replace(/overlapSkip/g, inline._overlapSkip).getRegex();\n inline.em.endAst = edit$1(inline.em.endAst, 'g').replace(/punctuation/g, inline._punctuation).getRegex();\n inline.em.endUnd = edit$1(inline.em.endUnd, 'g').replace(/punctuation/g, inline._punctuation).getRegex();\n inline.strong.start = edit$1(inline.strong.start).replace(/punctuation/g, inline._punctuation).getRegex();\n inline.strong.middle = edit$1(inline.strong.middle).replace(/punctuation/g, inline._punctuation).replace(/blockSkip/g, inline._blockSkip).getRegex();\n inline.strong.endAst = edit$1(inline.strong.endAst, 'g').replace(/punctuation/g, inline._punctuation).getRegex();\n inline.strong.endUnd = edit$1(inline.strong.endUnd, 'g').replace(/punctuation/g, inline._punctuation).getRegex();\n inline.blockSkip = edit$1(inline._blockSkip, 'g').getRegex();\n inline.overlapSkip = edit$1(inline._overlapSkip, 'g').getRegex();\n inline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline._email = /[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])?)+(?![-_])/;\n inline.autolink = edit$1(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();\n inline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline.tag = edit$1(inline.tag).replace('comment', block._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\n inline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline.link = edit$1(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();\n inline.reflink = edit$1(inline.reflink).replace('label', inline._label).getRegex();\n inline.reflinkSearch = edit$1(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge$1({}, inline);\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge$1({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit$1(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline._label).getRegex(),\n reflink: edit$1(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge$1({}, inline.normal, {\n escape: edit$1(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '&#' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer_1 = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults$2;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer_1();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n var rules = {\n block: block$1.normal,\n inline: inline$1.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block$1.pedantic;\n rules.inline = inline$1.pedantic;\n } else if (this.options.gfm) {\n rules.block = block$1.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline$1.breaks;\n } else {\n rules.inline = inline$1.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n\n /**\n * Static Lex Method\n */\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n').replace(/\\t/g, ' ');\n this.blockTokens(src, this.tokens, true);\n this.inline(this.tokens);\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens, top) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (top === void 0) {\n top = true;\n }\n\n src = src.replace(/^ +$/gm, '');\n var token, i, l, lastToken;\n\n while (src) {\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src, tokens)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n } else {\n lastToken = tokens[tokens.length - 1];\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // table no leading pipe (gfm)\n\n\n if (token = this.tokenizer.nptable(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.blockTokens(token.text, [], top);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n l = token.items.length;\n\n for (i = 0; i < l; i++) {\n token.items[i].tokens = this.blockTokens(token.items[i].text, [], false);\n }\n\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (top && (token = this.tokenizer.def(src))) {\n src = src.substring(token.raw.length);\n\n if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n\n\n if (top && (token = this.tokenizer.paragraph(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src, tokens)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n } else {\n lastToken = tokens[tokens.length - 1];\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _proto.inline = function inline(tokens) {\n var i, j, k, l2, row, token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'paragraph':\n case 'text':\n case 'heading':\n {\n token.tokens = [];\n this.inlineTokens(token.text, token.tokens);\n break;\n }\n\n case 'table':\n {\n token.tokens = {\n header: [],\n cells: []\n }; // header\n\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n token.tokens.header[j] = [];\n this.inlineTokens(token.header[j], token.tokens.header[j]);\n } // cells\n\n\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.cells[j];\n token.tokens.cells[j] = [];\n\n for (k = 0; k < row.length; k++) {\n token.tokens.cells[j][k] = [];\n this.inlineTokens(row[k], token.tokens.cells[j][k]);\n }\n }\n\n break;\n }\n\n case 'blockquote':\n {\n this.inline(token.tokens);\n break;\n }\n\n case 'list':\n {\n l2 = token.items.length;\n\n for (j = 0; j < l2; j++) {\n this.inline(token.items[j].tokens);\n }\n\n break;\n }\n }\n }\n\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens, inLink, inRawBlock, prevChar) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (inLink === void 0) {\n inLink = false;\n }\n\n if (inRawBlock === void 0) {\n inRawBlock = false;\n }\n\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var token; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match; // Mask out reflinks\n\n if (this.tokens.links) {\n var links = Object.keys(this.tokens.links);\n\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n } // Mask out other blocks\n\n\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n\n while (src) {\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src, inLink, inRawBlock)) {\n src = src.substring(token.raw.length);\n inLink = token.inLink;\n inRawBlock = token.inRawBlock;\n tokens.push(token);\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n }\n\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n }\n\n tokens.push(token);\n continue;\n } // strong\n\n\n if (token = this.tokenizer.strong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // em\n\n\n if (token = this.tokenizer.em(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.inlineText(src, inRawBlock, smartypants)) {\n src = src.substring(token.raw.length);\n prevChar = token.raw.slice(-1);\n tokens.push(token);\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block$1,\n inline: inline$1\n };\n }\n }]);\n\n return Lexer;\n }();\n\n var defaults$3 = defaults.defaults;\n var cleanUrl$1 = helpers.cleanUrl,\n escape$1 = helpers.escape;\n /**\n * Renderer\n */\n\n var Renderer_1 = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || defaults$3;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n if (!lang) {\n return '
    ' + (escaped ? _code : escape$1(_code, true)) + '
    \\n';\n }\n\n return '
    ' + (escaped ? _code : escape$1(_code, true)) + '
    \\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '
    \\n' + quote + '
    \\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '' + text + '\\n';\n } // ignore IDs\n\n\n return '' + text + '\\n';\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '
  • ' + text + '
  • \\n';\n };\n\n _proto.checkbox = function checkbox(checked) {\n return ' ';\n };\n\n _proto.paragraph = function paragraph(text) {\n return '

    ' + text + '

    \\n';\n };\n\n _proto.table = function table(header, body) {\n if (body) body = '' + body + '';\n return '\\n' + '\\n' + header + '\\n' + body + '
    \\n';\n };\n\n _proto.tablerow = function tablerow(content) {\n return '\\n' + content + '\\n';\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? '<' + type + ' align=\"' + flags.align + '\">' : '<' + type + '>';\n return tag + content + '\\n';\n } // span level renderer\n ;\n\n _proto.strong = function strong(text) {\n return '' + text + '';\n };\n\n _proto.em = function em(text) {\n return '' + text + '';\n };\n\n _proto.codespan = function codespan(text) {\n return '' + text + '';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n\n _proto.del = function del(text) {\n return '' + text + '';\n };\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '
    ';\n return out;\n };\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n var TextRenderer_1 = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype;\n\n // no need for block level renderers\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n\n /**\n * Slugger generates header id\n */\n var Slugger_1 = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n /**\n * Convert string to unique id\n */\n\n\n var _proto = Slugger.prototype;\n\n _proto.slug = function slug(value) {\n var slug = value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n\n this.seen[slug] = 0;\n return slug;\n };\n\n return Slugger;\n }();\n\n var defaults$4 = defaults.defaults;\n var unescape$1 = helpers.unescape;\n /**\n * Parsing & Compiling\n */\n\n var Parser_1 = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || defaults$4;\n this.options.renderer = this.options.renderer || new Renderer_1();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer_1();\n this.slugger = new Slugger_1();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape$1(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.tokens.header[j]), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.tokens.cells[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k]), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'text') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n var merge$2 = helpers.merge,\n checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation,\n escape$2 = helpers.escape;\n var getDefaults = defaults.getDefaults,\n changeDefaults = defaults.changeDefaults,\n defaults$5 = defaults.defaults;\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer_1.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n out = Parser_1.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(function () {\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n var _tokens = Lexer_1.lex(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser_1.parse(_tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape$2(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge$2(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults$5;\n /**\n * Use Extension\n */\n\n marked.use = function (extension) {\n var opts = merge$2({}, extension);\n\n if (extension.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer_1();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop];\n\n renderer[prop] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var ret = extension.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (extension.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer_1();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop];\n\n tokenizer[prop] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = extension.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n }\n\n if (extension.walkTokens) {\n var walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n extension.walkTokens(token);\n\n if (walkTokens) {\n walkTokens(token);\n }\n };\n }\n\n marked.setOptions(opts);\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n callback(token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.tokens.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.tokens.cells), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser_1;\n marked.parser = Parser_1.parse;\n marked.Renderer = Renderer_1;\n marked.TextRenderer = TextRenderer_1;\n marked.Lexer = Lexer_1;\n marked.lexer = Lexer_1.lex;\n marked.Tokenizer = Tokenizer_1;\n marked.Slugger = Slugger_1;\n marked.parse = marked;\n var marked_1 = marked;\n\n return marked_1;\n\n})));\n\n\n//# sourceURL=webpack:///./node_modules/marked/lib/marked.js?")},"DlR+":function(module,exports,__webpack_require__){eval('// cookieStorage is useful Safari private browser mode, where localStorage\n// doesn\'t work but cookies do. This implementation is adopted from\n// https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage\n\nvar util = __webpack_require__("MFOe")\nvar Global = util.Global\nvar trim = util.trim\n\nmodule.exports = {\n\tname: \'cookieStorage\',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar doc = Global.document\n\nfunction read(key) {\n\tif (!key || !_has(key)) { return null }\n\tvar regexpStr = "(?:^|.*;\\\\s*)" +\n\t\tescape(key).replace(/[\\-\\.\\+\\*]/g, "\\\\$&") +\n\t\t"\\\\s*\\\\=\\\\s*((?:[^;](?!;))*[^;]?).*"\n\treturn unescape(doc.cookie.replace(new RegExp(regexpStr), "$1"))\n}\n\nfunction each(callback) {\n\tvar cookies = doc.cookie.split(/; ?/g)\n\tfor (var i = cookies.length - 1; i >= 0; i--) {\n\t\tif (!trim(cookies[i])) {\n\t\t\tcontinue\n\t\t}\n\t\tvar kvp = cookies[i].split(\'=\')\n\t\tvar key = unescape(kvp[0])\n\t\tvar val = unescape(kvp[1])\n\t\tcallback(val, key)\n\t}\n}\n\nfunction write(key, data) {\n\tif(!key) { return }\n\tdoc.cookie = escape(key) + "=" + escape(data) + "; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"\n}\n\nfunction remove(key) {\n\tif (!key || !_has(key)) {\n\t\treturn\n\t}\n\tdoc.cookie = escape(key) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"\n}\n\nfunction clearAll() {\n\teach(function(_, key) {\n\t\tremove(key)\n\t})\n}\n\nfunction _has(key) {\n\treturn (new RegExp("(?:^|;\\\\s*)" + escape(key).replace(/[\\-\\.\\+\\*]/g, "\\\\$&") + "\\\\s*\\\\=")).test(doc.cookie)\n}\n\n\n//# sourceURL=webpack:///./node_modules/store/storages/cookieStorage.js?')},Ducp:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar layoutUtil = __webpack_require__(\"+TT/\");\n\nvar LegendView = __webpack_require__(\"XpcN\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 */\nvar Group = graphic.Group;\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\nvar ScrollableLegendView = LegendView.extend({\n type: 'legend.scroll',\n newlineDisabled: true,\n init: function () {\n ScrollableLegendView.superCall(this, 'init');\n /**\n * @private\n * @type {number} For `scroll`.\n */\n\n this._currentIndex = 0;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this.group.add(this._containerGroup = new Group());\n\n this._containerGroup.add(this.getContentGroup());\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n\n this.group.add(this._controllerGroup = new Group());\n /**\n *\n * @private\n */\n\n this._showController;\n },\n\n /**\n * @override\n */\n resetInner: function () {\n ScrollableLegendView.superCall(this, 'resetInner');\n\n this._controllerGroup.removeAll();\n\n this._containerGroup.removeClipPath();\n\n this._containerGroup.__rectSize = null;\n },\n\n /**\n * @override\n */\n renderInner: function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n var me = this; // Render content items.\n\n ScrollableLegendView.superCall(this, 'renderInner', itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition);\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\n if (!zrUtil.isArray(pageIconSize)) {\n pageIconSize = [pageIconSize, pageIconSize];\n }\n\n createPageButton('pagePrev', 0);\n var pageTextStyleModel = legendModel.getModel('pageTextStyle');\n controllerGroup.add(new graphic.Text({\n name: 'pageText',\n style: {\n textFill: pageTextStyleModel.getTextColor(),\n font: pageTextStyleModel.getFont(),\n textVerticalAlign: 'middle',\n textAlign: 'center'\n },\n silent: true\n }));\n createPageButton('pageNext', 1);\n\n function createPageButton(name, iconIdx) {\n var pageDataIndexName = name + 'DataIndex';\n var icon = graphic.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: zrUtil.bind(me._pageGo, me, pageDataIndexName, legendModel, api)\n }, {\n x: -pageIconSize[0] / 2,\n y: -pageIconSize[1] / 2,\n width: pageIconSize[0],\n height: pageIconSize[1]\n });\n icon.name = name;\n controllerGroup.add(icon);\n }\n },\n\n /**\n * @override\n */\n 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 && layoutUtil.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 = zrUtil.clone(maxSize);\n selector && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);\n\n var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx);\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.attr('position', selectorPos);\n }\n\n return mainRect;\n },\n _layoutContentAndController: function (legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx) {\n var contentGroup = this.getContentGroup();\n var containerGroup = this._containerGroup;\n var controllerGroup = this._controllerGroup; // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);\n layoutUtil.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];\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.position[orientIdx];\n } // Layout container group based on 0.\n\n\n var containerPos = [0, 0];\n var controllerPos = [-controllerRect.x, -controllerRect.y];\n var pageButtonGap = zrUtil.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.attr('position', contentPos);\n containerGroup.attr('position', containerPos);\n controllerGroup.attr('position', 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 graphic.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 && graphic.updateProps(contentGroup, {\n position: pageInfo.contentPosition\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 : false);\n\n this._updatePageInfoView(legendModel, pageInfo);\n\n return mainRect;\n },\n _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 _updatePageInfoView: function (legendModel, pageInfo) {\n var controllerGroup = this._controllerGroup;\n zrUtil.each(['pagePrev', 'pageNext'], function (name) {\n var canJump = pageInfo[name + 'DataIndex'] != 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', zrUtil.isString(pageFormatter) ? pageFormatter.replace('{current}', current).replace('{total}', total) : pageFormatter({\n current: current,\n total: total\n }));\n },\n\n /**\n * @param {module:echarts/model/Model} legendModel\n * @return {Object} {\n * contentPosition: Array., 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 _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.position.slice(),\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.position[orientIdx];\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 _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 defualtIndex. 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});\nvar _default = ScrollableLegendView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendView.js?")},Dvnd:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'kotlin',\r\n extensions: ['.kt'],\r\n aliases: ['Kotlin', 'kotlin'],\r\n mimetypes: ['text/x-kotlin-source', 'text/x-kotlin'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 183).then(__webpack_require__.bind(null, \"y0OK\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js?")},"E+ie":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'csp',\r\n extensions: [],\r\n aliases: ['CSP', 'csp'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 173).then(__webpack_require__.bind(null, \"p+q7\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js?")},"E/ki":function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar ClockCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z" } }] }, "name": "clock-circle", "theme": "outlined" };\nexports.default = ClockCircleOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/ClockCircleOutlined.js?')},E2jh:function(module,exports,__webpack_require__){eval("var coreJsData = __webpack_require__(\"2gN3\");\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_isMasked.js?")},E4kL:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'yaml',\r\n extensions: ['.yaml', '.yml'],\r\n aliases: ['YAML', 'yaml', 'YML', 'yml'],\r\n mimetypes: ['application/x-yaml'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 222).then(__webpack_require__.bind(null, \"EaLm\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js?")},E9nw:function(module,exports){eval("\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n\n\n//# sourceURL=webpack:///./node_modules/toggle-selection/index.js?")},EIAu:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export RichEditBracket */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return RichEditBrackets; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BracketsUtils; });\n/* harmony import */ var _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("N0LK");\n/* harmony import */ var _core_range_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("aokT");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nvar RichEditBracket = /** @class */ (function () {\r\n function RichEditBracket(languageIdentifier, index, open, close, forwardRegex, reversedRegex) {\r\n this.languageIdentifier = languageIdentifier;\r\n this.index = index;\r\n this.open = open;\r\n this.close = close;\r\n this.forwardRegex = forwardRegex;\r\n this.reversedRegex = reversedRegex;\r\n this._openSet = RichEditBracket._toSet(this.open);\r\n this._closeSet = RichEditBracket._toSet(this.close);\r\n }\r\n RichEditBracket.prototype.isOpen = function (text) {\r\n return this._openSet.has(text);\r\n };\r\n RichEditBracket.prototype.isClose = function (text) {\r\n return this._closeSet.has(text);\r\n };\r\n RichEditBracket._toSet = function (arr) {\r\n var result = new Set();\r\n for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {\r\n var element = arr_1[_i];\r\n result.add(element);\r\n }\r\n return result;\r\n };\r\n return RichEditBracket;\r\n}());\r\n\r\nfunction groupFuzzyBrackets(brackets) {\r\n var N = brackets.length;\r\n brackets = brackets.map(function (b) { return [b[0].toLowerCase(), b[1].toLowerCase()]; });\r\n var group = [];\r\n for (var i = 0; i < N; i++) {\r\n group[i] = i;\r\n }\r\n var areOverlapping = function (a, b) {\r\n var aOpen = a[0], aClose = a[1];\r\n var bOpen = b[0], bClose = b[1];\r\n return (aOpen === bOpen || aOpen === bClose || aClose === bOpen || aClose === bClose);\r\n };\r\n var mergeGroups = function (g1, g2) {\r\n var newG = Math.min(g1, g2);\r\n var oldG = Math.max(g1, g2);\r\n for (var i = 0; i < N; i++) {\r\n if (group[i] === oldG) {\r\n group[i] = newG;\r\n }\r\n }\r\n };\r\n // group together brackets that have the same open or the same close sequence\r\n for (var i = 0; i < N; i++) {\r\n var a = brackets[i];\r\n for (var j = i + 1; j < N; j++) {\r\n var b = brackets[j];\r\n if (areOverlapping(a, b)) {\r\n mergeGroups(group[i], group[j]);\r\n }\r\n }\r\n }\r\n var result = [];\r\n for (var g = 0; g < N; g++) {\r\n var currentOpen = [];\r\n var currentClose = [];\r\n for (var i = 0; i < N; i++) {\r\n if (group[i] === g) {\r\n var _a = brackets[i], open_1 = _a[0], close_1 = _a[1];\r\n currentOpen.push(open_1);\r\n currentClose.push(close_1);\r\n }\r\n }\r\n if (currentOpen.length > 0) {\r\n result.push({\r\n open: currentOpen,\r\n close: currentClose\r\n });\r\n }\r\n }\r\n return result;\r\n}\r\nvar RichEditBrackets = /** @class */ (function () {\r\n function RichEditBrackets(languageIdentifier, _brackets) {\r\n var brackets = groupFuzzyBrackets(_brackets);\r\n this.brackets = brackets.map(function (b, index) {\r\n return new RichEditBracket(languageIdentifier, index, b.open, b.close, getRegexForBracketPair(b.open, b.close, brackets, index), getReversedRegexForBracketPair(b.open, b.close, brackets, index));\r\n });\r\n this.forwardRegex = getRegexForBrackets(this.brackets);\r\n this.reversedRegex = getReversedRegexForBrackets(this.brackets);\r\n this.textIsBracket = {};\r\n this.textIsOpenBracket = {};\r\n this.maxBracketLength = 0;\r\n for (var _i = 0, _a = this.brackets; _i < _a.length; _i++) {\r\n var bracket = _a[_i];\r\n for (var _b = 0, _c = bracket.open; _b < _c.length; _b++) {\r\n var open_2 = _c[_b];\r\n this.textIsBracket[open_2] = bracket;\r\n this.textIsOpenBracket[open_2] = true;\r\n this.maxBracketLength = Math.max(this.maxBracketLength, open_2.length);\r\n }\r\n for (var _d = 0, _e = bracket.close; _d < _e.length; _d++) {\r\n var close_2 = _e[_d];\r\n this.textIsBracket[close_2] = bracket;\r\n this.textIsOpenBracket[close_2] = false;\r\n this.maxBracketLength = Math.max(this.maxBracketLength, close_2.length);\r\n }\r\n }\r\n }\r\n return RichEditBrackets;\r\n}());\r\n\r\nfunction collectSuperstrings(str, brackets, currentIndex, dest) {\r\n for (var i = 0, len = brackets.length; i < len; i++) {\r\n if (i === currentIndex) {\r\n continue;\r\n }\r\n var bracket = brackets[i];\r\n for (var _i = 0, _a = bracket.open; _i < _a.length; _i++) {\r\n var open_3 = _a[_i];\r\n if (open_3.indexOf(str) >= 0) {\r\n dest.push(open_3);\r\n }\r\n }\r\n for (var _b = 0, _c = bracket.close; _b < _c.length; _b++) {\r\n var close_3 = _c[_b];\r\n if (close_3.indexOf(str) >= 0) {\r\n dest.push(close_3);\r\n }\r\n }\r\n }\r\n}\r\nfunction lengthcmp(a, b) {\r\n return a.length - b.length;\r\n}\r\nfunction unique(arr) {\r\n if (arr.length <= 1) {\r\n return arr;\r\n }\r\n var result = [];\r\n var seen = new Set();\r\n for (var _i = 0, arr_2 = arr; _i < arr_2.length; _i++) {\r\n var element = arr_2[_i];\r\n if (seen.has(element)) {\r\n continue;\r\n }\r\n result.push(element);\r\n seen.add(element);\r\n }\r\n return result;\r\n}\r\nfunction getRegexForBracketPair(open, close, brackets, currentIndex) {\r\n // search in all brackets for other brackets that are a superstring of these brackets\r\n var pieces = [];\r\n pieces = pieces.concat(open);\r\n pieces = pieces.concat(close);\r\n for (var i = 0, len = pieces.length; i < len; i++) {\r\n collectSuperstrings(pieces[i], brackets, currentIndex, pieces);\r\n }\r\n pieces = unique(pieces);\r\n pieces.sort(lengthcmp);\r\n pieces.reverse();\r\n return createBracketOrRegExp(pieces);\r\n}\r\nfunction getReversedRegexForBracketPair(open, close, brackets, currentIndex) {\r\n // search in all brackets for other brackets that are a superstring of these brackets\r\n var pieces = [];\r\n pieces = pieces.concat(open);\r\n pieces = pieces.concat(close);\r\n for (var i = 0, len = pieces.length; i < len; i++) {\r\n collectSuperstrings(pieces[i], brackets, currentIndex, pieces);\r\n }\r\n pieces = unique(pieces);\r\n pieces.sort(lengthcmp);\r\n pieces.reverse();\r\n return createBracketOrRegExp(pieces.map(toReversedString));\r\n}\r\nfunction getRegexForBrackets(brackets) {\r\n var pieces = [];\r\n for (var _i = 0, brackets_1 = brackets; _i < brackets_1.length; _i++) {\r\n var bracket = brackets_1[_i];\r\n for (var _a = 0, _b = bracket.open; _a < _b.length; _a++) {\r\n var open_4 = _b[_a];\r\n pieces.push(open_4);\r\n }\r\n for (var _c = 0, _d = bracket.close; _c < _d.length; _c++) {\r\n var close_4 = _d[_c];\r\n pieces.push(close_4);\r\n }\r\n }\r\n pieces = unique(pieces);\r\n return createBracketOrRegExp(pieces);\r\n}\r\nfunction getReversedRegexForBrackets(brackets) {\r\n var pieces = [];\r\n for (var _i = 0, brackets_2 = brackets; _i < brackets_2.length; _i++) {\r\n var bracket = brackets_2[_i];\r\n for (var _a = 0, _b = bracket.open; _a < _b.length; _a++) {\r\n var open_5 = _b[_a];\r\n pieces.push(open_5);\r\n }\r\n for (var _c = 0, _d = bracket.close; _c < _d.length; _c++) {\r\n var close_5 = _d[_c];\r\n pieces.push(close_5);\r\n }\r\n }\r\n pieces = unique(pieces);\r\n return createBracketOrRegExp(pieces.map(toReversedString));\r\n}\r\nfunction prepareBracketForRegExp(str) {\r\n // This bracket pair uses letters like e.g. "begin" - "end"\r\n var insertWordBoundaries = (/^[\\w ]+$/.test(str));\r\n str = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* escapeRegExpCharacters */ "p"](str);\r\n return (insertWordBoundaries ? "\\\\b" + str + "\\\\b" : str);\r\n}\r\nfunction createBracketOrRegExp(pieces) {\r\n var regexStr = "(" + pieces.map(prepareBracketForRegExp).join(\')|(\') + ")";\r\n return _base_common_strings_js__WEBPACK_IMPORTED_MODULE_0__[/* createRegExp */ "l"](regexStr, true);\r\n}\r\nvar toReversedString = (function () {\r\n function reverse(str) {\r\n var reversedStr = \'\';\r\n for (var i = str.length - 1; i >= 0; i--) {\r\n reversedStr += str.charAt(i);\r\n }\r\n return reversedStr;\r\n }\r\n var lastInput = null;\r\n var lastOutput = null;\r\n return function toReversedString(str) {\r\n if (lastInput !== str) {\r\n lastInput = str;\r\n lastOutput = reverse(lastInput);\r\n }\r\n return lastOutput;\r\n };\r\n})();\r\nvar BracketsUtils = /** @class */ (function () {\r\n function BracketsUtils() {\r\n }\r\n BracketsUtils._findPrevBracketInText = function (reversedBracketRegex, lineNumber, reversedText, offset) {\r\n var m = reversedText.match(reversedBracketRegex);\r\n if (!m) {\r\n return null;\r\n }\r\n var matchOffset = reversedText.length - (m.index || 0);\r\n var matchLength = m[0].length;\r\n var absoluteMatchOffset = offset + matchOffset;\r\n return new _core_range_js__WEBPACK_IMPORTED_MODULE_1__[/* Range */ "a"](lineNumber, absoluteMatchOffset - matchLength + 1, lineNumber, absoluteMatchOffset + 1);\r\n };\r\n BracketsUtils.findPrevBracketInRange = function (reversedBracketRegex, lineNumber, lineText, startOffset, endOffset) {\r\n // Because JS does not support backwards regex search, we search forwards in a reversed string with a reversed regex ;)\r\n var reversedLineText = toReversedString(lineText);\r\n var reversedSubstr = reversedLineText.substring(lineText.length - endOffset, lineText.length - startOffset);\r\n return this._findPrevBracketInText(reversedBracketRegex, lineNumber, reversedSubstr, startOffset);\r\n };\r\n BracketsUtils.findNextBracketInText = function (bracketRegex, lineNumber, text, offset) {\r\n var m = text.match(bracketRegex);\r\n if (!m) {\r\n return null;\r\n }\r\n var matchOffset = m.index || 0;\r\n var matchLength = m[0].length;\r\n if (matchLength === 0) {\r\n return null;\r\n }\r\n var absoluteMatchOffset = offset + matchOffset;\r\n return new _core_range_js__WEBPACK_IMPORTED_MODULE_1__[/* Range */ "a"](lineNumber, absoluteMatchOffset + 1, lineNumber, absoluteMatchOffset + 1 + matchLength);\r\n };\r\n BracketsUtils.findNextBracketInRange = function (bracketRegex, lineNumber, lineText, startOffset, endOffset) {\r\n var substr = lineText.substring(startOffset, endOffset);\r\n return this.findNextBracketInText(bracketRegex, lineNumber, substr, startOffset);\r\n };\r\n return BracketsUtils;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/modes/supports/richEditBrackets.js?')},EJiy:function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__("F+2o");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__("+JPL");\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?')},ELLl:function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__("VrN/"));\n else {}\n})(function(CodeMirror) {\n var defaults = {\n pairs: "()[]{}\'\'\\"\\"",\n closeBefore: ")]}\'\\":;>",\n triples: "",\n explode: "[]{}"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, "pairs"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == "pairs" && typeof conf == "string") return conf;\n if (typeof conf == "object" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = "\'" + ch + "\'"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + "`")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, "pairs");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange("", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), "+delete");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, "explode");\n if (!explode || cm.getOption("disableInput")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || "\\n";\n cm.replaceSelection(linesep + linesep, null);\n cm.execCommand("goCharLeft");\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, "pairs");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,"closeBefore");\n\n var triples = getOption(conf, "triples");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = "surround";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = "both";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = "skipThree";\n else\n curType = "skip";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = "addFour";\n } else if (identical) {\n var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = "both";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = "both";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == "skip") {\n cm.execCommand("goCharRight");\n } else if (type == "skipThree") {\n for (var i = 0; i < 3; i++)\n cm.execCommand("goCharRight");\n } else if (type == "surround") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, "around");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == "both") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n cm.execCommand("goCharLeft");\n } else if (type == "addFour") {\n cm.replaceSelection(left + left + left + left, "before");\n cm.execCommand("goCharRight");\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/edit/closebrackets.js?')},EMyp:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\nvar visualSolution = __webpack_require__(\"K4ya\");\n\nvar selector = __webpack_require__(\"qJCg\");\n\nvar throttleUtil = __webpack_require__(\"iLNv\");\n\nvar BrushTargetManager = __webpack_require__(\"vZ6x\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\nvar PRIORITY_BRUSH = echarts.PRIORITY.VISUAL.BRUSH;\n/**\n * Layout for visual, the priority higher than other layout, and before brush visual.\n */\n\necharts.registerLayout(PRIORITY_BRUSH, function (ecModel, api, payload) {\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});\n\nfunction layoutCovers(ecModel) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);\n brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n });\n}\n/**\n * Register the visual encoding if this modules required.\n */\n\n\necharts.registerVisual(PRIORITY_BRUSH, function (ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\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: zrUtil.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 = 0;\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 = zrUtil.map(brushModel.areas, function (area) {\n return bindSelector(zrUtil.defaults({\n boundingRect: boundingRectBuilders[area.brushType](area)\n }, area));\n });\n var visualMappings = visualSolution.createVisualMappings(brushModel.option, STATE_LIST, function (mappingOption) {\n mappingOption.mappingMethod = 'fixed';\n });\n zrUtil.isArray(brushLink) && zrUtil.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 \u252c && \u252chasBrushExist \u252c && linkOthers ) => StepA: \u252crecord, \u252c StepB: \u252cvisualByRecord.\n * !brushed\u2518 \u251chasBrushExist \u2524 \u2514nothing,\u2518 \u251cvisualByRecord.\n * \u2514!hasBrushExist\u2518 \u2514nothing.\n * ( !brushed && \u252chasBrushExist \u252c && linkOthers ) => StepA: nothing, StepB: \u252cvisualByRecord.\n * \u2514!hasBrushExist\u2518 \u2514nothing.\n * ( brushed \u252c && !linkOthers ) => StepA: nothing, StepB: \u252cvisualByCheck.\n * !brushed\u2518 \u2514nothing.\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, rangeInfoList) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n 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 var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n\n if (!selectorsByBrushType || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n selectorsByBrushType[area.brushType] && brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel) && rangeInfoList.push(area);\n hasBrushExists |= brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data = seriesModel.getData();\n data.each(function (dataIndex) {\n if (checkInRange(selectorsByBrushType, rangeInfoList, data, 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 selectorsByBrushType = getSelectorsByBrushType(seriesModel);\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(selectorsByBrushType, 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)) && visualSolution.applyVisual(STATE_LIST, visualMappings, data, getValueState);\n });\n });\n dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\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 = throttleUtil.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(selectorsByBrushType, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (selectorsByBrushType[area.brushType](dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction getSelectorsByBrushType(seriesModel) {\n var brushSelector = seriesModel.brushSelector;\n\n if (zrUtil.isString(brushSelector)) {\n var sels = [];\n zrUtil.each(selector, function (selectorsByElementType, brushType) {\n sels[brushType] = function (dataIndex, data, selectors, area) {\n var itemLayout = data.getItemLayout(dataIndex);\n return selectorsByElementType[brushSelector](itemLayout, selectors, area);\n };\n });\n return sels;\n } else if (zrUtil.isFunction(brushSelector)) {\n var bSelector = {};\n zrUtil.each(selector, function (sel, brushType) {\n bSelector[brushType] = brushSelector;\n });\n return bSelector;\n }\n\n return brushSelector;\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n var seriesIndices = brushModel.option.seriesIndex;\n return seriesIndices != null && seriesIndices !== 'all' && (zrUtil.isArray(seriesIndices) ? zrUtil.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nfunction bindSelector(area) {\n var selectors = area.selectors = {};\n zrUtil.each(selector[area.brushType], function (selFn, elType) {\n // Do not use function binding or curry for performance.\n selectors[elType] = function (itemLayout) {\n return selFn(itemLayout, selectors, area);\n };\n });\n return area;\n}\n\nvar boundingRectBuilders = {\n lineX: zrUtil.noop,\n lineY: zrUtil.noop,\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 BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}\n\nexports.layoutCovers = layoutCovers;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush/visualEncoding.js?")},EOst:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'typescript',\r\n extensions: ['.ts', '.tsx'],\r\n aliases: ['TypeScript', 'ts', 'typescript'],\r\n mimetypes: ['text/typescript'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 219).then(__webpack_require__.bind(null, \"87dK\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js?")},"EPS+":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/colorPicker.css?")},ERHi:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("Z6js");\n\n__webpack_require__("R4Th");\n\nvar visualSymbol = __webpack_require__("f5Yq");\n\nvar layoutPoints = __webpack_require__("h8O9");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol(\'effectScatter\', \'circle\'));\necharts.registerLayout(layoutPoints(\'effectScatter\'));\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/effectScatter.js?')},EWX2:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IWorkspaceContextService; });\n/* unused harmony export IWorkspace */\n/* unused harmony export IWorkspaceFolder */\n/* unused harmony export Workspace */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return WorkspaceFolder; });\n/* harmony import */ var _base_common_uri_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bY76");\n/* harmony import */ var _base_common_resources_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("gslv");\n/* harmony import */ var _instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("Cg/j");\n/* harmony import */ var _base_common_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("QDVR");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\nvar IWorkspaceContextService = Object(_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_2__[/* createDecorator */ "c"])(\'contextService\');\r\nvar IWorkspace;\r\n(function (IWorkspace) {\r\n function isIWorkspace(thing) {\r\n return thing && typeof thing === \'object\'\r\n && typeof thing.id === \'string\'\r\n && Array.isArray(thing.folders);\r\n }\r\n IWorkspace.isIWorkspace = isIWorkspace;\r\n})(IWorkspace || (IWorkspace = {}));\r\nvar IWorkspaceFolder;\r\n(function (IWorkspaceFolder) {\r\n function isIWorkspaceFolder(thing) {\r\n return thing && typeof thing === \'object\'\r\n && _base_common_uri_js__WEBPACK_IMPORTED_MODULE_0__[/* URI */ "a"].isUri(thing.uri)\r\n && typeof thing.name === \'string\'\r\n && typeof thing.toResource === \'function\';\r\n }\r\n IWorkspaceFolder.isIWorkspaceFolder = isIWorkspaceFolder;\r\n})(IWorkspaceFolder || (IWorkspaceFolder = {}));\r\nvar Workspace = /** @class */ (function () {\r\n function Workspace(_id, folders, _configuration) {\r\n if (folders === void 0) { folders = []; }\r\n if (_configuration === void 0) { _configuration = null; }\r\n this._id = _id;\r\n this._configuration = _configuration;\r\n this._foldersMap = _base_common_map_js__WEBPACK_IMPORTED_MODULE_3__[/* TernarySearchTree */ "c"].forPaths();\r\n this.folders = folders;\r\n }\r\n Object.defineProperty(Workspace.prototype, "folders", {\r\n get: function () {\r\n return this._folders;\r\n },\r\n set: function (folders) {\r\n this._folders = folders;\r\n this.updateFoldersMap();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Workspace.prototype, "id", {\r\n get: function () {\r\n return this._id;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Workspace.prototype, "configuration", {\r\n get: function () {\r\n return this._configuration;\r\n },\r\n set: function (configuration) {\r\n this._configuration = configuration;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Workspace.prototype.getFolder = function (resource) {\r\n if (!resource) {\r\n return null;\r\n }\r\n return this._foldersMap.findSubstr(resource.with({\r\n scheme: resource.scheme,\r\n authority: resource.authority,\r\n path: resource.path\r\n }).toString()) || null;\r\n };\r\n Workspace.prototype.updateFoldersMap = function () {\r\n this._foldersMap = _base_common_map_js__WEBPACK_IMPORTED_MODULE_3__[/* TernarySearchTree */ "c"].forPaths();\r\n for (var _i = 0, _a = this.folders; _i < _a.length; _i++) {\r\n var folder = _a[_i];\r\n this._foldersMap.set(folder.uri.toString(), folder);\r\n }\r\n };\r\n Workspace.prototype.toJSON = function () {\r\n return { id: this.id, folders: this.folders, configuration: this.configuration };\r\n };\r\n return Workspace;\r\n}());\r\n\r\nvar WorkspaceFolder = /** @class */ (function () {\r\n function WorkspaceFolder(data, raw) {\r\n this.raw = raw;\r\n this.uri = data.uri;\r\n this.index = data.index;\r\n this.name = data.name;\r\n }\r\n WorkspaceFolder.prototype.toResource = function (relativePath) {\r\n return _base_common_resources_js__WEBPACK_IMPORTED_MODULE_1__[/* joinPath */ "f"](this.uri, relativePath);\r\n };\r\n WorkspaceFolder.prototype.toJSON = function () {\r\n return { uri: this.uri, name: this.name, index: this.index };\r\n };\r\n return WorkspaceFolder;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.js?')},EXcs:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("// ================== Collapse Motion ==================\nvar getCollapsedHeight = function getCollapsedHeight() {\n return {\n height: 0,\n opacity: 0\n };\n};\n\nvar getRealHeight = function getRealHeight(node) {\n return {\n height: node.scrollHeight,\n opacity: 1\n };\n};\n\nvar getCurrentHeight = function getCurrentHeight(node) {\n return {\n height: node.offsetHeight\n };\n};\n\nvar collapseMotion = {\n motionName: 'ant-motion-collapse',\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n motionDeadline: 500\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (collapseMotion);\n\n//# sourceURL=webpack:///./node_modules/antd/es/_util/motion.js?")},EffR:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return clearNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return removeNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return isInDOM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return hasClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return addClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return addClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return removeClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return removeClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return toggleClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return addDisposableListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return addStandardDisposableListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return addStandardDisposableGenericMouseDownListner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return addDisposableGenericMouseDownListner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return addDisposableGenericMouseUpListner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return addDisposableNonBubblingMouseOutListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return addDisposableNonBubblingPointerOutListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return runAtThisOrScheduleAtNextAnimationFrame; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"V\", function() { return scheduleAtNextAnimationFrame; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return addDisposableThrottledListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return getComputedStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return getClientArea; });\n/* unused harmony export Dimension */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return getTopLeftOffset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return getDomNodePagePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return StandardWindow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return getTotalWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return getContentWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return getContentHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return getTotalHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return isAncestor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return findParentWithClass; });\n/* unused harmony export isShadowRoot */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return isInShadowDOM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return getShadowRoot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return createStyleSheet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return createCSSRule; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return removeCSSRulesContainingSelector; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return isHTMLElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return EventType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return EventHelper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"U\", function() { return saveParentsScrollTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return restoreParentsScrollTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return trackFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return append; });\n/* unused harmony export Namespace */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return $; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"W\", function() { return show; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return hide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return removeTabIndexAndUpdateFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return getElementsByTagName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return computeScreenAwareSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z\", function() { return windowOpenNoOpener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return animate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return asDomUri; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return asCSSUrl; });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"D3Dy\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"4y0V\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"uDWl\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"XSiN\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"X+cX\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"/cxE\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"MI8n\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"pmY6\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"MNsG\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(\"6OMU\");\n/* harmony import */ var _common_network_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(\"tYmi\");\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(\"CjF5\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(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))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __spreadArrays = (undefined && undefined.__spreadArrays) || function () {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction clearNode(node) {\r\n while (node.firstChild) {\r\n node.removeChild(node.firstChild);\r\n }\r\n}\r\nfunction removeNode(node) {\r\n if (node.parentNode) {\r\n node.parentNode.removeChild(node);\r\n }\r\n}\r\nfunction isInDOM(node) {\r\n while (node) {\r\n if (node === document.body) {\r\n return true;\r\n }\r\n node = node.parentNode || node.host;\r\n }\r\n return false;\r\n}\r\nvar _manualClassList = new /** @class */ (function () {\r\n function class_1() {\r\n this._lastStart = -1;\r\n this._lastEnd = -1;\r\n }\r\n class_1.prototype._findClassName = function (node, className) {\r\n var classes = node.className;\r\n if (!classes) {\r\n this._lastStart = -1;\r\n return;\r\n }\r\n className = className.trim();\r\n var classesLen = classes.length, classLen = className.length;\r\n if (classLen === 0) {\r\n this._lastStart = -1;\r\n return;\r\n }\r\n if (classesLen < classLen) {\r\n this._lastStart = -1;\r\n return;\r\n }\r\n if (classes === className) {\r\n this._lastStart = 0;\r\n this._lastEnd = classesLen;\r\n return;\r\n }\r\n var idx = -1, idxEnd;\r\n while ((idx = classes.indexOf(className, idx + 1)) >= 0) {\r\n idxEnd = idx + classLen;\r\n // a class that is followed by another class\r\n if ((idx === 0 || classes.charCodeAt(idx - 1) === 32 /* Space */) && classes.charCodeAt(idxEnd) === 32 /* Space */) {\r\n this._lastStart = idx;\r\n this._lastEnd = idxEnd + 1;\r\n return;\r\n }\r\n // last class\r\n if (idx > 0 && classes.charCodeAt(idx - 1) === 32 /* Space */ && idxEnd === classesLen) {\r\n this._lastStart = idx - 1;\r\n this._lastEnd = idxEnd;\r\n return;\r\n }\r\n // equal - duplicate of cmp above\r\n if (idx === 0 && idxEnd === classesLen) {\r\n this._lastStart = 0;\r\n this._lastEnd = idxEnd;\r\n return;\r\n }\r\n }\r\n this._lastStart = -1;\r\n };\r\n class_1.prototype.hasClass = function (node, className) {\r\n this._findClassName(node, className);\r\n return this._lastStart !== -1;\r\n };\r\n class_1.prototype.addClasses = function (node) {\r\n var _this = this;\r\n var classNames = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n classNames[_i - 1] = arguments[_i];\r\n }\r\n classNames.forEach(function (nameValue) { return nameValue.split(' ').forEach(function (name) { return _this.addClass(node, name); }); });\r\n };\r\n class_1.prototype.addClass = function (node, className) {\r\n if (!node.className) { // doesn't have it for sure\r\n node.className = className;\r\n }\r\n else {\r\n this._findClassName(node, className); // see if it's already there\r\n if (this._lastStart === -1) {\r\n node.className = node.className + ' ' + className;\r\n }\r\n }\r\n };\r\n class_1.prototype.removeClass = function (node, className) {\r\n this._findClassName(node, className);\r\n if (this._lastStart === -1) {\r\n return; // Prevent styles invalidation if not necessary\r\n }\r\n else {\r\n node.className = node.className.substring(0, this._lastStart) + node.className.substring(this._lastEnd);\r\n }\r\n };\r\n class_1.prototype.removeClasses = function (node) {\r\n var _this = this;\r\n var classNames = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n classNames[_i - 1] = arguments[_i];\r\n }\r\n classNames.forEach(function (nameValue) { return nameValue.split(' ').forEach(function (name) { return _this.removeClass(node, name); }); });\r\n };\r\n class_1.prototype.toggleClass = function (node, className, shouldHaveIt) {\r\n this._findClassName(node, className);\r\n if (this._lastStart !== -1 && (shouldHaveIt === undefined || !shouldHaveIt)) {\r\n this.removeClass(node, className);\r\n }\r\n if (this._lastStart === -1 && (shouldHaveIt === undefined || shouldHaveIt)) {\r\n this.addClass(node, className);\r\n }\r\n };\r\n return class_1;\r\n}());\r\nvar _nativeClassList = new /** @class */ (function () {\r\n function class_2() {\r\n }\r\n class_2.prototype.hasClass = function (node, className) {\r\n return Boolean(className) && node.classList && node.classList.contains(className);\r\n };\r\n class_2.prototype.addClasses = function (node) {\r\n var _this = this;\r\n var classNames = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n classNames[_i - 1] = arguments[_i];\r\n }\r\n classNames.forEach(function (nameValue) { return nameValue.split(' ').forEach(function (name) { return _this.addClass(node, name); }); });\r\n };\r\n class_2.prototype.addClass = function (node, className) {\r\n if (className && node.classList) {\r\n node.classList.add(className);\r\n }\r\n };\r\n class_2.prototype.removeClass = function (node, className) {\r\n if (className && node.classList) {\r\n node.classList.remove(className);\r\n }\r\n };\r\n class_2.prototype.removeClasses = function (node) {\r\n var _this = this;\r\n var classNames = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n classNames[_i - 1] = arguments[_i];\r\n }\r\n classNames.forEach(function (nameValue) { return nameValue.split(' ').forEach(function (name) { return _this.removeClass(node, name); }); });\r\n };\r\n class_2.prototype.toggleClass = function (node, className, shouldHaveIt) {\r\n if (node.classList) {\r\n node.classList.toggle(className, shouldHaveIt);\r\n }\r\n };\r\n return class_2;\r\n}());\r\n// In IE11 there is only partial support for `classList` which makes us keep our\r\n// custom implementation. Otherwise use the native implementation, see: http://caniuse.com/#search=classlist\r\nvar _classList = _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isIE */ \"i\"] ? _manualClassList : _nativeClassList;\r\nvar hasClass = _classList.hasClass.bind(_classList);\r\nvar addClass = _classList.addClass.bind(_classList);\r\nvar addClasses = _classList.addClasses.bind(_classList);\r\nvar removeClass = _classList.removeClass.bind(_classList);\r\nvar removeClasses = _classList.removeClasses.bind(_classList);\r\nvar toggleClass = _classList.toggleClass.bind(_classList);\r\nvar DomListener = /** @class */ (function () {\r\n function DomListener(node, type, handler, options) {\r\n this._node = node;\r\n this._type = type;\r\n this._handler = handler;\r\n this._options = (options || false);\r\n this._node.addEventListener(this._type, this._handler, this._options);\r\n }\r\n DomListener.prototype.dispose = function () {\r\n if (!this._handler) {\r\n // Already disposed\r\n return;\r\n }\r\n this._node.removeEventListener(this._type, this._handler, this._options);\r\n // Prevent leakers from holding on to the dom or handler func\r\n this._node = null;\r\n this._handler = null;\r\n };\r\n return DomListener;\r\n}());\r\nfunction addDisposableListener(node, type, handler, useCaptureOrOptions) {\r\n return new DomListener(node, type, handler, useCaptureOrOptions);\r\n}\r\nfunction _wrapAsStandardMouseEvent(handler) {\r\n return function (e) {\r\n return handler(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__[/* StandardMouseEvent */ \"a\"](e));\r\n };\r\n}\r\nfunction _wrapAsStandardKeyboardEvent(handler) {\r\n return function (e) {\r\n return handler(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__[/* StandardKeyboardEvent */ \"a\"](e));\r\n };\r\n}\r\nvar addStandardDisposableListener = function addStandardDisposableListener(node, type, handler, useCapture) {\r\n var wrapHandler = handler;\r\n if (type === 'click' || type === 'mousedown') {\r\n wrapHandler = _wrapAsStandardMouseEvent(handler);\r\n }\r\n else if (type === 'keydown' || type === 'keypress' || type === 'keyup') {\r\n wrapHandler = _wrapAsStandardKeyboardEvent(handler);\r\n }\r\n return addDisposableListener(node, type, wrapHandler, useCapture);\r\n};\r\nvar addStandardDisposableGenericMouseDownListner = function addStandardDisposableListener(node, handler, useCapture) {\r\n var wrapHandler = _wrapAsStandardMouseEvent(handler);\r\n return addDisposableGenericMouseDownListner(node, wrapHandler, useCapture);\r\n};\r\nfunction addDisposableGenericMouseDownListner(node, handler, useCapture) {\r\n return addDisposableListener(node, _common_platform_js__WEBPACK_IMPORTED_MODULE_8__[/* isIOS */ \"c\"] && _canIUse_js__WEBPACK_IMPORTED_MODULE_11__[/* BrowserFeatures */ \"a\"].pointerEvents ? EventType.POINTER_DOWN : EventType.MOUSE_DOWN, handler, useCapture);\r\n}\r\nfunction addDisposableGenericMouseUpListner(node, handler, useCapture) {\r\n return addDisposableListener(node, _common_platform_js__WEBPACK_IMPORTED_MODULE_8__[/* isIOS */ \"c\"] && _canIUse_js__WEBPACK_IMPORTED_MODULE_11__[/* BrowserFeatures */ \"a\"].pointerEvents ? EventType.POINTER_UP : EventType.MOUSE_UP, handler, useCapture);\r\n}\r\nfunction addDisposableNonBubblingMouseOutListener(node, handler) {\r\n return addDisposableListener(node, 'mouseout', function (e) {\r\n // Mouse out bubbles, so this is an attempt to ignore faux mouse outs coming from children elements\r\n var toElement = (e.relatedTarget);\r\n while (toElement && toElement !== node) {\r\n toElement = toElement.parentNode;\r\n }\r\n if (toElement === node) {\r\n return;\r\n }\r\n handler(e);\r\n });\r\n}\r\nfunction addDisposableNonBubblingPointerOutListener(node, handler) {\r\n return addDisposableListener(node, 'pointerout', function (e) {\r\n // Mouse out bubbles, so this is an attempt to ignore faux mouse outs coming from children elements\r\n var toElement = (e.relatedTarget);\r\n while (toElement && toElement !== node) {\r\n toElement = toElement.parentNode;\r\n }\r\n if (toElement === node) {\r\n return;\r\n }\r\n handler(e);\r\n });\r\n}\r\nvar _animationFrame = null;\r\nfunction doRequestAnimationFrame(callback) {\r\n if (!_animationFrame) {\r\n var emulatedRequestAnimationFrame = function (callback) {\r\n return setTimeout(function () { return callback(new Date().getTime()); }, 0);\r\n };\r\n _animationFrame = (self.requestAnimationFrame\r\n || self.msRequestAnimationFrame\r\n || self.webkitRequestAnimationFrame\r\n || self.mozRequestAnimationFrame\r\n || self.oRequestAnimationFrame\r\n || emulatedRequestAnimationFrame);\r\n }\r\n return _animationFrame.call(self, callback);\r\n}\r\n/**\r\n * Schedule a callback to be run at the next animation frame.\r\n * This allows multiple parties to register callbacks that should run at the next animation frame.\r\n * If currently in an animation frame, `runner` will be executed immediately.\r\n * @return token that can be used to cancel the scheduled runner (only if `runner` was not executed immediately).\r\n */\r\nvar runAtThisOrScheduleAtNextAnimationFrame;\r\n/**\r\n * Schedule a callback to be run at the next animation frame.\r\n * This allows multiple parties to register callbacks that should run at the next animation frame.\r\n * If currently in an animation frame, `runner` will be executed at the next animation frame.\r\n * @return token that can be used to cancel the scheduled runner.\r\n */\r\nvar scheduleAtNextAnimationFrame;\r\nvar AnimationFrameQueueItem = /** @class */ (function () {\r\n function AnimationFrameQueueItem(runner, priority) {\r\n if (priority === void 0) { priority = 0; }\r\n this._runner = runner;\r\n this.priority = priority;\r\n this._canceled = false;\r\n }\r\n AnimationFrameQueueItem.prototype.dispose = function () {\r\n this._canceled = true;\r\n };\r\n AnimationFrameQueueItem.prototype.execute = function () {\r\n if (this._canceled) {\r\n return;\r\n }\r\n try {\r\n this._runner();\r\n }\r\n catch (e) {\r\n Object(_common_errors_js__WEBPACK_IMPORTED_MODULE_5__[/* onUnexpectedError */ \"e\"])(e);\r\n }\r\n };\r\n // Sort by priority (largest to lowest)\r\n AnimationFrameQueueItem.sort = function (a, b) {\r\n return b.priority - a.priority;\r\n };\r\n return AnimationFrameQueueItem;\r\n}());\r\n(function () {\r\n /**\r\n * The runners scheduled at the next animation frame\r\n */\r\n var NEXT_QUEUE = [];\r\n /**\r\n * The runners scheduled at the current animation frame\r\n */\r\n var CURRENT_QUEUE = null;\r\n /**\r\n * A flag to keep track if the native requestAnimationFrame was already called\r\n */\r\n var animFrameRequested = false;\r\n /**\r\n * A flag to indicate if currently handling a native requestAnimationFrame callback\r\n */\r\n var inAnimationFrameRunner = false;\r\n var animationFrameRunner = function () {\r\n animFrameRequested = false;\r\n CURRENT_QUEUE = NEXT_QUEUE;\r\n NEXT_QUEUE = [];\r\n inAnimationFrameRunner = true;\r\n while (CURRENT_QUEUE.length > 0) {\r\n CURRENT_QUEUE.sort(AnimationFrameQueueItem.sort);\r\n var top_1 = CURRENT_QUEUE.shift();\r\n top_1.execute();\r\n }\r\n inAnimationFrameRunner = false;\r\n };\r\n scheduleAtNextAnimationFrame = function (runner, priority) {\r\n if (priority === void 0) { priority = 0; }\r\n var item = new AnimationFrameQueueItem(runner, priority);\r\n NEXT_QUEUE.push(item);\r\n if (!animFrameRequested) {\r\n animFrameRequested = true;\r\n doRequestAnimationFrame(animationFrameRunner);\r\n }\r\n return item;\r\n };\r\n runAtThisOrScheduleAtNextAnimationFrame = function (runner, priority) {\r\n if (inAnimationFrameRunner) {\r\n var item = new AnimationFrameQueueItem(runner, priority);\r\n CURRENT_QUEUE.push(item);\r\n return item;\r\n }\r\n else {\r\n return scheduleAtNextAnimationFrame(runner, priority);\r\n }\r\n };\r\n})();\r\nvar MINIMUM_TIME_MS = 16;\r\nvar DEFAULT_EVENT_MERGER = function (lastEvent, currentEvent) {\r\n return currentEvent;\r\n};\r\nvar TimeoutThrottledDomListener = /** @class */ (function (_super) {\r\n __extends(TimeoutThrottledDomListener, _super);\r\n function TimeoutThrottledDomListener(node, type, handler, eventMerger, minimumTimeMs) {\r\n if (eventMerger === void 0) { eventMerger = DEFAULT_EVENT_MERGER; }\r\n if (minimumTimeMs === void 0) { minimumTimeMs = MINIMUM_TIME_MS; }\r\n var _this = _super.call(this) || this;\r\n var lastEvent = null;\r\n var lastHandlerTime = 0;\r\n var timeout = _this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_4__[/* TimeoutTimer */ \"e\"]());\r\n var invokeHandler = function () {\r\n lastHandlerTime = (new Date()).getTime();\r\n handler(lastEvent);\r\n lastEvent = null;\r\n };\r\n _this._register(addDisposableListener(node, type, function (e) {\r\n lastEvent = eventMerger(lastEvent, e);\r\n var elapsedTime = (new Date()).getTime() - lastHandlerTime;\r\n if (elapsedTime >= minimumTimeMs) {\r\n timeout.cancel();\r\n invokeHandler();\r\n }\r\n else {\r\n timeout.setIfNotSet(invokeHandler, minimumTimeMs - elapsedTime);\r\n }\r\n }));\r\n return _this;\r\n }\r\n return TimeoutThrottledDomListener;\r\n}(_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__[/* Disposable */ \"a\"]));\r\nfunction addDisposableThrottledListener(node, type, handler, eventMerger, minimumTimeMs) {\r\n return new TimeoutThrottledDomListener(node, type, handler, eventMerger, minimumTimeMs);\r\n}\r\nfunction getComputedStyle(el) {\r\n return document.defaultView.getComputedStyle(el, null);\r\n}\r\nfunction getClientArea(element) {\r\n // Try with DOM clientWidth / clientHeight\r\n if (element !== document.body) {\r\n return new Dimension(element.clientWidth, element.clientHeight);\r\n }\r\n // If visual view port exits and it's on mobile, it should be used instead of window innerWidth / innerHeight, or document.body.clientWidth / document.body.clientHeight\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_8__[/* isIOS */ \"c\"] && window.visualViewport) {\r\n var width = window.visualViewport.width;\r\n var height = window.visualViewport.height - (_browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isStandalone */ \"l\"]\r\n // in PWA mode, the visual viewport always includes the safe-area-inset-bottom (which is for the home indicator)\r\n // even when you are using the onscreen monitor, the visual viewport will include the area between system statusbar and the onscreen keyboard\r\n // plus the area between onscreen keyboard and the bottom bezel, which is 20px on iOS.\r\n ? (20 + 4) // + 4px for body margin\r\n : 0);\r\n return new Dimension(width, height);\r\n }\r\n // Try innerWidth / innerHeight\r\n if (window.innerWidth && window.innerHeight) {\r\n return new Dimension(window.innerWidth, window.innerHeight);\r\n }\r\n // Try with document.body.clientWidth / document.body.clientHeight\r\n if (document.body && document.body.clientWidth && document.body.clientHeight) {\r\n return new Dimension(document.body.clientWidth, document.body.clientHeight);\r\n }\r\n // Try with document.documentElement.clientWidth / document.documentElement.clientHeight\r\n if (document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight) {\r\n return new Dimension(document.documentElement.clientWidth, document.documentElement.clientHeight);\r\n }\r\n throw new Error('Unable to figure out browser width and height');\r\n}\r\nvar SizeUtils = /** @class */ (function () {\r\n function SizeUtils() {\r\n }\r\n // Adapted from WinJS\r\n // Converts a CSS positioning string for the specified element to pixels.\r\n SizeUtils.convertToPixels = function (element, value) {\r\n return parseFloat(value) || 0;\r\n };\r\n SizeUtils.getDimension = function (element, cssPropertyName, jsPropertyName) {\r\n var computedStyle = getComputedStyle(element);\r\n var value = '0';\r\n if (computedStyle) {\r\n if (computedStyle.getPropertyValue) {\r\n value = computedStyle.getPropertyValue(cssPropertyName);\r\n }\r\n else {\r\n // IE8\r\n value = computedStyle.getAttribute(jsPropertyName);\r\n }\r\n }\r\n return SizeUtils.convertToPixels(element, value);\r\n };\r\n SizeUtils.getBorderLeftWidth = function (element) {\r\n return SizeUtils.getDimension(element, 'border-left-width', 'borderLeftWidth');\r\n };\r\n SizeUtils.getBorderRightWidth = function (element) {\r\n return SizeUtils.getDimension(element, 'border-right-width', 'borderRightWidth');\r\n };\r\n SizeUtils.getBorderTopWidth = function (element) {\r\n return SizeUtils.getDimension(element, 'border-top-width', 'borderTopWidth');\r\n };\r\n SizeUtils.getBorderBottomWidth = function (element) {\r\n return SizeUtils.getDimension(element, 'border-bottom-width', 'borderBottomWidth');\r\n };\r\n SizeUtils.getPaddingLeft = function (element) {\r\n return SizeUtils.getDimension(element, 'padding-left', 'paddingLeft');\r\n };\r\n SizeUtils.getPaddingRight = function (element) {\r\n return SizeUtils.getDimension(element, 'padding-right', 'paddingRight');\r\n };\r\n SizeUtils.getPaddingTop = function (element) {\r\n return SizeUtils.getDimension(element, 'padding-top', 'paddingTop');\r\n };\r\n SizeUtils.getPaddingBottom = function (element) {\r\n return SizeUtils.getDimension(element, 'padding-bottom', 'paddingBottom');\r\n };\r\n SizeUtils.getMarginLeft = function (element) {\r\n return SizeUtils.getDimension(element, 'margin-left', 'marginLeft');\r\n };\r\n SizeUtils.getMarginTop = function (element) {\r\n return SizeUtils.getDimension(element, 'margin-top', 'marginTop');\r\n };\r\n SizeUtils.getMarginRight = function (element) {\r\n return SizeUtils.getDimension(element, 'margin-right', 'marginRight');\r\n };\r\n SizeUtils.getMarginBottom = function (element) {\r\n return SizeUtils.getDimension(element, 'margin-bottom', 'marginBottom');\r\n };\r\n return SizeUtils;\r\n}());\r\n// ----------------------------------------------------------------------------------------\r\n// Position & Dimension\r\nvar Dimension = /** @class */ (function () {\r\n function Dimension(width, height) {\r\n this.width = width;\r\n this.height = height;\r\n }\r\n return Dimension;\r\n}());\r\n\r\nfunction getTopLeftOffset(element) {\r\n // Adapted from WinJS.Utilities.getPosition\r\n // and added borders to the mix\r\n var offsetParent = element.offsetParent;\r\n var top = element.offsetTop;\r\n var left = element.offsetLeft;\r\n while ((element = element.parentNode) !== null\r\n && element !== document.body\r\n && element !== document.documentElement) {\r\n top -= element.scrollTop;\r\n var c = isShadowRoot(element) ? null : getComputedStyle(element);\r\n if (c) {\r\n left -= c.direction !== 'rtl' ? element.scrollLeft : -element.scrollLeft;\r\n }\r\n if (element === offsetParent) {\r\n left += SizeUtils.getBorderLeftWidth(element);\r\n top += SizeUtils.getBorderTopWidth(element);\r\n top += element.offsetTop;\r\n left += element.offsetLeft;\r\n offsetParent = element.offsetParent;\r\n }\r\n }\r\n return {\r\n left: left,\r\n top: top\r\n };\r\n}\r\n/**\r\n * Returns the position of a dom node relative to the entire page.\r\n */\r\nfunction getDomNodePagePosition(domNode) {\r\n var bb = domNode.getBoundingClientRect();\r\n return {\r\n left: bb.left + StandardWindow.scrollX,\r\n top: bb.top + StandardWindow.scrollY,\r\n width: bb.width,\r\n height: bb.height\r\n };\r\n}\r\nvar StandardWindow = new /** @class */ (function () {\r\n function class_3() {\r\n }\r\n Object.defineProperty(class_3.prototype, \"scrollX\", {\r\n get: function () {\r\n if (typeof window.scrollX === 'number') {\r\n // modern browsers\r\n return window.scrollX;\r\n }\r\n else {\r\n return document.body.scrollLeft + document.documentElement.scrollLeft;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(class_3.prototype, \"scrollY\", {\r\n get: function () {\r\n if (typeof window.scrollY === 'number') {\r\n // modern browsers\r\n return window.scrollY;\r\n }\r\n else {\r\n return document.body.scrollTop + document.documentElement.scrollTop;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return class_3;\r\n}());\r\n// Adapted from WinJS\r\n// Gets the width of the element, including margins.\r\nfunction getTotalWidth(element) {\r\n var margin = SizeUtils.getMarginLeft(element) + SizeUtils.getMarginRight(element);\r\n return element.offsetWidth + margin;\r\n}\r\nfunction getContentWidth(element) {\r\n var border = SizeUtils.getBorderLeftWidth(element) + SizeUtils.getBorderRightWidth(element);\r\n var padding = SizeUtils.getPaddingLeft(element) + SizeUtils.getPaddingRight(element);\r\n return element.offsetWidth - border - padding;\r\n}\r\n// Adapted from WinJS\r\n// Gets the height of the content of the specified element. The content height does not include borders or padding.\r\nfunction getContentHeight(element) {\r\n var border = SizeUtils.getBorderTopWidth(element) + SizeUtils.getBorderBottomWidth(element);\r\n var padding = SizeUtils.getPaddingTop(element) + SizeUtils.getPaddingBottom(element);\r\n return element.offsetHeight - border - padding;\r\n}\r\n// Adapted from WinJS\r\n// Gets the height of the element, including its margins.\r\nfunction getTotalHeight(element) {\r\n var margin = SizeUtils.getMarginTop(element) + SizeUtils.getMarginBottom(element);\r\n return element.offsetHeight + margin;\r\n}\r\n// ----------------------------------------------------------------------------------------\r\nfunction isAncestor(testChild, testAncestor) {\r\n while (testChild) {\r\n if (testChild === testAncestor) {\r\n return true;\r\n }\r\n testChild = testChild.parentNode;\r\n }\r\n return false;\r\n}\r\nfunction findParentWithClass(node, clazz, stopAtClazzOrNode) {\r\n while (node && node.nodeType === node.ELEMENT_NODE) {\r\n if (hasClass(node, clazz)) {\r\n return node;\r\n }\r\n if (stopAtClazzOrNode) {\r\n if (typeof stopAtClazzOrNode === 'string') {\r\n if (hasClass(node, stopAtClazzOrNode)) {\r\n return null;\r\n }\r\n }\r\n else {\r\n if (node === stopAtClazzOrNode) {\r\n return null;\r\n }\r\n }\r\n }\r\n node = node.parentNode;\r\n }\r\n return null;\r\n}\r\nfunction isShadowRoot(node) {\r\n return (node && !!node.host && !!node.mode);\r\n}\r\nfunction isInShadowDOM(domNode) {\r\n return !!getShadowRoot(domNode);\r\n}\r\nfunction getShadowRoot(domNode) {\r\n while (domNode.parentNode) {\r\n if (domNode === document.body) {\r\n // reached the body\r\n return null;\r\n }\r\n domNode = domNode.parentNode;\r\n }\r\n return isShadowRoot(domNode) ? domNode : null;\r\n}\r\nfunction createStyleSheet(container) {\r\n if (container === void 0) { container = document.getElementsByTagName('head')[0]; }\r\n var style = document.createElement('style');\r\n style.type = 'text/css';\r\n style.media = 'screen';\r\n container.appendChild(style);\r\n return style;\r\n}\r\nvar _sharedStyleSheet = null;\r\nfunction getSharedStyleSheet() {\r\n if (!_sharedStyleSheet) {\r\n _sharedStyleSheet = createStyleSheet();\r\n }\r\n return _sharedStyleSheet;\r\n}\r\nfunction getDynamicStyleSheetRules(style) {\r\n if (style && style.sheet && style.sheet.rules) {\r\n // Chrome, IE\r\n return style.sheet.rules;\r\n }\r\n if (style && style.sheet && style.sheet.cssRules) {\r\n // FF\r\n return style.sheet.cssRules;\r\n }\r\n return [];\r\n}\r\nfunction createCSSRule(selector, cssText, style) {\r\n if (style === void 0) { style = getSharedStyleSheet(); }\r\n if (!style || !cssText) {\r\n return;\r\n }\r\n style.sheet.insertRule(selector + '{' + cssText + '}', 0);\r\n}\r\nfunction removeCSSRulesContainingSelector(ruleName, style) {\r\n if (style === void 0) { style = getSharedStyleSheet(); }\r\n if (!style) {\r\n return;\r\n }\r\n var rules = getDynamicStyleSheetRules(style);\r\n var toDelete = [];\r\n for (var i = 0; i < rules.length; i++) {\r\n var rule = rules[i];\r\n if (rule.selectorText.indexOf(ruleName) !== -1) {\r\n toDelete.push(i);\r\n }\r\n }\r\n for (var i = toDelete.length - 1; i >= 0; i--) {\r\n style.sheet.deleteRule(toDelete[i]);\r\n }\r\n}\r\nfunction isHTMLElement(o) {\r\n if (typeof HTMLElement === 'object') {\r\n return o instanceof HTMLElement;\r\n }\r\n return o && typeof o === 'object' && o.nodeType === 1 && typeof o.nodeName === 'string';\r\n}\r\nvar EventType = {\r\n // Mouse\r\n CLICK: 'click',\r\n DBLCLICK: 'dblclick',\r\n MOUSE_UP: 'mouseup',\r\n MOUSE_DOWN: 'mousedown',\r\n MOUSE_OVER: 'mouseover',\r\n MOUSE_MOVE: 'mousemove',\r\n MOUSE_OUT: 'mouseout',\r\n MOUSE_ENTER: 'mouseenter',\r\n MOUSE_LEAVE: 'mouseleave',\r\n POINTER_UP: 'pointerup',\r\n POINTER_DOWN: 'pointerdown',\r\n POINTER_MOVE: 'pointermove',\r\n CONTEXT_MENU: 'contextmenu',\r\n WHEEL: 'wheel',\r\n // Keyboard\r\n KEY_DOWN: 'keydown',\r\n KEY_PRESS: 'keypress',\r\n KEY_UP: 'keyup',\r\n // HTML Document\r\n LOAD: 'load',\r\n BEFORE_UNLOAD: 'beforeunload',\r\n UNLOAD: 'unload',\r\n ABORT: 'abort',\r\n ERROR: 'error',\r\n RESIZE: 'resize',\r\n SCROLL: 'scroll',\r\n FULLSCREEN_CHANGE: 'fullscreenchange',\r\n WK_FULLSCREEN_CHANGE: 'webkitfullscreenchange',\r\n // Form\r\n SELECT: 'select',\r\n CHANGE: 'change',\r\n SUBMIT: 'submit',\r\n RESET: 'reset',\r\n FOCUS: 'focus',\r\n FOCUS_IN: 'focusin',\r\n FOCUS_OUT: 'focusout',\r\n BLUR: 'blur',\r\n INPUT: 'input',\r\n // Local Storage\r\n STORAGE: 'storage',\r\n // Drag\r\n DRAG_START: 'dragstart',\r\n DRAG: 'drag',\r\n DRAG_ENTER: 'dragenter',\r\n DRAG_LEAVE: 'dragleave',\r\n DRAG_OVER: 'dragover',\r\n DROP: 'drop',\r\n DRAG_END: 'dragend',\r\n // Animation\r\n ANIMATION_START: _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isWebKit */ \"m\"] ? 'webkitAnimationStart' : 'animationstart',\r\n ANIMATION_END: _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isWebKit */ \"m\"] ? 'webkitAnimationEnd' : 'animationend',\r\n ANIMATION_ITERATION: _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isWebKit */ \"m\"] ? 'webkitAnimationIteration' : 'animationiteration'\r\n};\r\nvar EventHelper = {\r\n stop: function (e, cancelBubble) {\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n // IE8\r\n e.returnValue = false;\r\n }\r\n if (cancelBubble) {\r\n if (e.stopPropagation) {\r\n e.stopPropagation();\r\n }\r\n else {\r\n // IE8\r\n e.cancelBubble = true;\r\n }\r\n }\r\n }\r\n};\r\nfunction saveParentsScrollTop(node) {\r\n var r = [];\r\n for (var i = 0; node && node.nodeType === node.ELEMENT_NODE; i++) {\r\n r[i] = node.scrollTop;\r\n node = node.parentNode;\r\n }\r\n return r;\r\n}\r\nfunction restoreParentsScrollTop(node, state) {\r\n for (var i = 0; node && node.nodeType === node.ELEMENT_NODE; i++) {\r\n if (node.scrollTop !== state[i]) {\r\n node.scrollTop = state[i];\r\n }\r\n node = node.parentNode;\r\n }\r\n}\r\nvar FocusTracker = /** @class */ (function (_super) {\r\n __extends(FocusTracker, _super);\r\n function FocusTracker(element) {\r\n var _this = _super.call(this) || this;\r\n _this._onDidFocus = _this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__[/* Emitter */ \"a\"]());\r\n _this.onDidFocus = _this._onDidFocus.event;\r\n _this._onDidBlur = _this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__[/* Emitter */ \"a\"]());\r\n _this.onDidBlur = _this._onDidBlur.event;\r\n var hasFocus = isAncestor(document.activeElement, element);\r\n var loosingFocus = false;\r\n var onFocus = function () {\r\n loosingFocus = false;\r\n if (!hasFocus) {\r\n hasFocus = true;\r\n _this._onDidFocus.fire();\r\n }\r\n };\r\n var onBlur = function () {\r\n if (hasFocus) {\r\n loosingFocus = true;\r\n window.setTimeout(function () {\r\n if (loosingFocus) {\r\n loosingFocus = false;\r\n hasFocus = false;\r\n _this._onDidBlur.fire();\r\n }\r\n }, 0);\r\n }\r\n };\r\n _this._refreshStateHandler = function () {\r\n var currentNodeHasFocus = isAncestor(document.activeElement, element);\r\n if (currentNodeHasFocus !== hasFocus) {\r\n if (hasFocus) {\r\n onBlur();\r\n }\r\n else {\r\n onFocus();\r\n }\r\n }\r\n };\r\n _this._register(Object(_event_js__WEBPACK_IMPORTED_MODULE_1__[/* domEvent */ \"a\"])(element, EventType.FOCUS, true)(onFocus));\r\n _this._register(Object(_event_js__WEBPACK_IMPORTED_MODULE_1__[/* domEvent */ \"a\"])(element, EventType.BLUR, true)(onBlur));\r\n return _this;\r\n }\r\n return FocusTracker;\r\n}(_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__[/* Disposable */ \"a\"]));\r\nfunction trackFocus(element) {\r\n return new FocusTracker(element);\r\n}\r\nfunction append(parent) {\r\n var children = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n children[_i - 1] = arguments[_i];\r\n }\r\n children.forEach(function (child) { return parent.appendChild(child); });\r\n return children[children.length - 1];\r\n}\r\nvar SELECTOR_REGEX = /([\\w\\-]+)?(#([\\w\\-]+))?((.([\\w\\-]+))*)/;\r\nvar Namespace;\r\n(function (Namespace) {\r\n Namespace[\"HTML\"] = \"http://www.w3.org/1999/xhtml\";\r\n Namespace[\"SVG\"] = \"http://www.w3.org/2000/svg\";\r\n})(Namespace || (Namespace = {}));\r\nfunction _$(namespace, description, attrs) {\r\n var children = [];\r\n for (var _i = 3; _i < arguments.length; _i++) {\r\n children[_i - 3] = arguments[_i];\r\n }\r\n var match = SELECTOR_REGEX.exec(description);\r\n if (!match) {\r\n throw new Error('Bad use of emmet');\r\n }\r\n attrs = __assign({}, (attrs || {}));\r\n var tagName = match[1] || 'div';\r\n var result;\r\n if (namespace !== Namespace.HTML) {\r\n result = document.createElementNS(namespace, tagName);\r\n }\r\n else {\r\n result = document.createElement(tagName);\r\n }\r\n if (match[3]) {\r\n result.id = match[3];\r\n }\r\n if (match[4]) {\r\n result.className = match[4].replace(/\\./g, ' ').trim();\r\n }\r\n Object.keys(attrs).forEach(function (name) {\r\n var value = attrs[name];\r\n if (typeof value === 'undefined') {\r\n return;\r\n }\r\n if (/^on\\w+$/.test(name)) {\r\n result[name] = value;\r\n }\r\n else if (name === 'selected') {\r\n if (value) {\r\n result.setAttribute(name, 'true');\r\n }\r\n }\r\n else {\r\n result.setAttribute(name, value);\r\n }\r\n });\r\n Object(_common_arrays_js__WEBPACK_IMPORTED_MODULE_9__[/* coalesce */ \"d\"])(children)\r\n .forEach(function (child) {\r\n if (child instanceof Node) {\r\n result.appendChild(child);\r\n }\r\n else {\r\n result.appendChild(document.createTextNode(child));\r\n }\r\n });\r\n return result;\r\n}\r\nfunction $(description, attrs) {\r\n var children = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n children[_i - 2] = arguments[_i];\r\n }\r\n return _$.apply(void 0, __spreadArrays([Namespace.HTML, description, attrs], children));\r\n}\r\n$.SVG = function (description, attrs) {\r\n var children = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n children[_i - 2] = arguments[_i];\r\n }\r\n return _$.apply(void 0, __spreadArrays([Namespace.SVG, description, attrs], children));\r\n};\r\nfunction show() {\r\n var elements = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n elements[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, elements_1 = elements; _a < elements_1.length; _a++) {\r\n var element = elements_1[_a];\r\n element.style.display = '';\r\n element.removeAttribute('aria-hidden');\r\n }\r\n}\r\nfunction hide() {\r\n var elements = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n elements[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, elements_2 = elements; _a < elements_2.length; _a++) {\r\n var element = elements_2[_a];\r\n element.style.display = 'none';\r\n element.setAttribute('aria-hidden', 'true');\r\n }\r\n}\r\nfunction findParentWithAttribute(node, attribute) {\r\n while (node && node.nodeType === node.ELEMENT_NODE) {\r\n if (node instanceof HTMLElement && node.hasAttribute(attribute)) {\r\n return node;\r\n }\r\n node = node.parentNode;\r\n }\r\n return null;\r\n}\r\nfunction removeTabIndexAndUpdateFocus(node) {\r\n if (!node || !node.hasAttribute('tabIndex')) {\r\n return;\r\n }\r\n // If we are the currently focused element and tabIndex is removed,\r\n // standard DOM behavior is to move focus to the element. We\r\n // typically never want that, rather put focus to the closest element\r\n // in the hierarchy of the parent DOM nodes.\r\n if (document.activeElement === node) {\r\n var parentFocusable = findParentWithAttribute(node.parentElement, 'tabIndex');\r\n if (parentFocusable) {\r\n parentFocusable.focus();\r\n }\r\n }\r\n node.removeAttribute('tabindex');\r\n}\r\nfunction getElementsByTagName(tag) {\r\n return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);\r\n}\r\n/**\r\n * Find a value usable for a dom node size such that the likelihood that it would be\r\n * displayed with constant screen pixels size is as high as possible.\r\n *\r\n * e.g. We would desire for the cursors to be 2px (CSS px) wide. Under a devicePixelRatio\r\n * of 1.25, the cursor will be 2.5 screen pixels wide. Depending on how the dom node aligns/\"snaps\"\r\n * with the screen pixels, it will sometimes be rendered with 2 screen pixels, and sometimes with 3 screen pixels.\r\n */\r\nfunction computeScreenAwareSize(cssPx) {\r\n var screenPx = window.devicePixelRatio * cssPx;\r\n return Math.max(1, Math.floor(screenPx)) / window.devicePixelRatio;\r\n}\r\n/**\r\n * See https://github.com/Microsoft/monaco-editor/issues/601\r\n * To protect against malicious code in the linked site, particularly phishing attempts,\r\n * the window.opener should be set to null to prevent the linked site from having access\r\n * to change the location of the current page.\r\n * See https://mathiasbynens.github.io/rel-noopener/\r\n */\r\nfunction windowOpenNoOpener(url) {\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_8__[/* isNative */ \"f\"] || _browser_js__WEBPACK_IMPORTED_MODULE_0__[/* isEdgeWebView */ \"g\"]) {\r\n // In VSCode, window.open() always returns null...\r\n // The same is true for a WebView (see https://github.com/Microsoft/monaco-editor/issues/628)\r\n window.open(url);\r\n }\r\n else {\r\n var newTab = window.open();\r\n if (newTab) {\r\n newTab.opener = null;\r\n newTab.location.href = url;\r\n }\r\n }\r\n}\r\nfunction animate(fn) {\r\n var step = function () {\r\n fn();\r\n stepDisposable = scheduleAtNextAnimationFrame(step);\r\n };\r\n var stepDisposable = scheduleAtNextAnimationFrame(step);\r\n return Object(_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__[/* toDisposable */ \"h\"])(function () { return stepDisposable.dispose(); });\r\n}\r\n_common_network_js__WEBPACK_IMPORTED_MODULE_10__[/* RemoteAuthorities */ \"a\"].setPreferredWebSchema(/^https:/.test(window.location.href) ? 'https' : 'http');\r\nfunction asDomUri(uri) {\r\n if (!uri) {\r\n return uri;\r\n }\r\n if (_common_network_js__WEBPACK_IMPORTED_MODULE_10__[/* Schemas */ \"b\"].vscodeRemote === uri.scheme) {\r\n return _common_network_js__WEBPACK_IMPORTED_MODULE_10__[/* RemoteAuthorities */ \"a\"].rewrite(uri);\r\n }\r\n return uri;\r\n}\r\n/**\r\n * returns url('...')\r\n */\r\nfunction asCSSUrl(uri) {\r\n if (!uri) {\r\n return \"url('')\";\r\n }\r\n return \"url('\" + asDomUri(uri).toString(true).replace(/'/g, '%27') + \"')\";\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/dom.js?")},Em2t:function(module,exports,__webpack_require__){eval('var asciiToArray = __webpack_require__("bahg"),\n hasUnicode = __webpack_require__("quyA"),\n unicodeToArray = __webpack_require__("0JQy");\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_stringToArray.js?')},EpBk:function(module,exports){eval("/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_isKeyable.js?")},Ez2D:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar modelUtil = __webpack_require__("4NO4");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} finder contains {seriesIndex, dataIndex, dataIndexInside}\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} {point: [x, y], el: ...} point Will not be null.\n */\nfunction _default(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 = modelUtil.queryDataIndex(data, finder);\n\n if (dataIndex == null || dataIndex < 0 || zrUtil.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 point = coordSys.dataToPoint(data.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }), dataIndex, true)) || [];\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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js?')},"F+2o":function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__("2Nb0"), __esModule: true };\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js?')},F0hE:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar axisDefault = __webpack_require__(\"ca2m\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar axisModelCommonMixin = __webpack_require__(\"ICMv\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 valueAxisDefault = axisDefault.valueAxis;\n\nfunction defaultsShow(opt, show) {\n return zrUtil.defaults({\n show: show\n }, opt);\n}\n\nvar RadarModel = echarts.extendComponentModel({\n type: 'radar',\n 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');\n var axisType = this.get('axisType');\n var axisLabel = this.get('axisLabel');\n var nameTextStyle = this.get('name');\n var showName = this.get('name.show');\n var nameFormatter = this.get('name.formatter');\n var nameGap = this.get('nameGap');\n var triggerEvent = this.get('triggerEvent');\n var indicatorModels = zrUtil.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 = zrUtil.defaults({\n color: indicatorOpt.color\n }, nameTextStyle);\n } // Use same configuration\n\n\n indicatorOpt = zrUtil.merge(zrUtil.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 nameLocation: 'end',\n nameGap: nameGap,\n // min: 0,\n nameTextStyle: iNameTextStyle,\n triggerEvent: triggerEvent\n }, false);\n\n if (!showName) {\n indicatorOpt.name = '';\n }\n\n if (typeof nameFormatter === 'string') {\n var indName = indicatorOpt.name;\n indicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');\n } else if (typeof nameFormatter === 'function') {\n indicatorOpt.name = nameFormatter(indicatorOpt.name, indicatorOpt);\n }\n\n var model = zrUtil.extend(new Model(indicatorOpt, null, this.ecModel), axisModelCommonMixin); // For triggerEvent.\n\n model.mainType = 'radar';\n model.componentIndex = this.componentIndex;\n return model;\n }, this);\n\n this.getIndicatorModels = function () {\n return indicatorModels;\n };\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '75%',\n startAngle: 90,\n name: {\n show: true // formatter: null\n // textStyle: {}\n\n },\n boundaryGap: [0, 0],\n splitNumber: 5,\n nameGap: 15,\n scale: false,\n // Polygon or circle\n shape: 'polygon',\n axisLine: zrUtil.merge({\n lineStyle: {\n color: '#bbb'\n }\n }, valueAxisDefault.axisLine),\n axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),\n axisTick: defaultsShow(valueAxisDefault.axisTick, false),\n axisType: 'interval',\n splitLine: defaultsShow(valueAxisDefault.splitLine, true),\n splitArea: defaultsShow(valueAxisDefault.splitArea, true),\n // {text, min, max}\n indicator: []\n }\n});\nvar _default = RadarModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/radar/RadarModel.js?")},F5Ls:function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 '\u5357\u6d77\u8bf8\u5c9b': [32, 80],\n // \u5168\u56fd\n '\u5e7f\u4e1c': [0, -10],\n '\u9999\u6e2f': [10, 5],\n '\u6fb3\u95e8': [-10, 10],\n //'\u5317\u4eac': [-10, 0],\n '\u5929\u6d25': [5, 5]\n};\n\nfunction _default(mapType, region) {\n if (mapType === 'china') {\n var coordFix = coordsOffsetMap[region.name];\n\n if (coordFix) {\n var cp = region.center;\n cp[0] += coordFix[0] / 10.5;\n cp[1] += -coordFix[1] / (10.5 / 0.75);\n }\n }\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/fix/textCoord.js?")},F7hV:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 BaseBarSeries = __webpack_require__(\"MBQ8\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = BaseBarSeries.extend({\n type: 'series.bar',\n dependencies: ['grid', 'polar'],\n brushSelector: 'rect',\n\n /**\n * @override\n */\n getProgressive: function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n },\n\n /**\n * @override\n */\n 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 defaultOption: {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n // If use caps on two sides of bars\n // Only available on tangential polar bar\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 }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/BarSeries.js?")},F9bG:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar env = __webpack_require__(\"ItGF\");\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 inner = makeInner();\nvar each = zrUtil.each;\n/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n * @param {Function} handler\n * param: {string} currTrigger\n * param: {Array.} point\n */\n\nfunction register(key, api, handler) {\n if (env.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', zrUtil.curry(doEnter, 'click'));\n useHandler('mousemove', zrUtil.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/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction unregister(key, api) {\n if (env.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\nexports.register = register;\nexports.unregister = unregister;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axisPointer/globalListener.js?")},FBjb:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar _symbol = __webpack_require__(\"oVpE\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _labelHelper = __webpack_require__(\"x3X8\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/Symbol\n */\n\n/**\n * @constructor\n * @alias {module:echarts/chart/helper/Symbol}\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @extends {module:zrender/graphic/Group}\n */\nfunction SymbolClz(data, idx, seriesScope) {\n graphic.Group.call(this);\n this.updateData(data, idx, seriesScope);\n}\n\nvar symbolProto = SymbolClz.prototype;\n/**\n * @public\n * @static\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @return {Array.} [width, height]\n */\n\nvar getSymbolSize = SymbolClz.getSymbolSize = function (data, idx) {\n var symbolSize = data.getItemVisual(idx, 'symbolSize');\n return symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n};\n\nfunction getScale(symbolSize) {\n return [symbolSize[0] / 2, symbolSize[1] / 2];\n}\n\nfunction driftSymbol(dx, dy) {\n this.parent.drift(dx, dy);\n}\n\nsymbolProto._createSymbol = function (symbolType, data, idx, symbolSize, keepAspect) {\n // Remove paths created before\n this.removeAll();\n var color = data.getItemVisual(idx, 'color'); // var 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 = createSymbol(symbolType, -1, -1, 2, 2, color, keepAspect);\n symbolPath.attr({\n z2: 100,\n culling: true,\n scale: getScale(symbolSize)\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\nsymbolProto.stopSymbolAnimation = function (toLastFrame) {\n this.childAt(0).stopAnimation(toLastFrame);\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\nsymbolProto.getSymbolPath = function () {\n return this.childAt(0);\n};\n/**\n * Get scale(aka, current symbol size).\n * Including the change caused by animation\n */\n\n\nsymbolProto.getScale = function () {\n return this.childAt(0).scale;\n};\n/**\n * Highlight symbol\n */\n\n\nsymbolProto.highlight = function () {\n this.childAt(0).trigger('emphasis');\n};\n/**\n * Downplay symbol\n */\n\n\nsymbolProto.downplay = function () {\n this.childAt(0).trigger('normal');\n};\n/**\n * @param {number} zlevel\n * @param {number} z\n */\n\n\nsymbolProto.setZ = function (zlevel, z) {\n var symbolPath = this.childAt(0);\n symbolPath.zlevel = zlevel;\n symbolPath.z = z;\n};\n\nsymbolProto.setDraggable = function (draggable) {\n var symbolPath = this.childAt(0);\n symbolPath.draggable = draggable;\n symbolPath.cursor = draggable ? 'move' : symbolPath.cursor;\n};\n/**\n * Update symbol properties\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Object} [seriesScope]\n * @param {Object} [seriesScope.itemStyle]\n * @param {Object} [seriesScope.hoverItemStyle]\n * @param {Object} [seriesScope.symbolRotate]\n * @param {Object} [seriesScope.symbolOffset]\n * @param {module:echarts/model/Model} [seriesScope.labelModel]\n * @param {module:echarts/model/Model} [seriesScope.hoverLabelModel]\n * @param {boolean} [seriesScope.hoverAnimation]\n * @param {Object} [seriesScope.cursorStyle]\n * @param {module:echarts/model/Model} [seriesScope.itemModel]\n * @param {string} [seriesScope.symbolInnerColor]\n * @param {Object} [seriesScope.fadeIn=false]\n */\n\n\nsymbolProto.updateData = function (data, idx, seriesScope) {\n this.silent = false;\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var seriesModel = data.hostModel;\n var symbolSize = getSymbolSize(data, idx);\n var isInit = symbolType !== this._symbolType;\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 graphic.updateProps(symbolPath, {\n scale: getScale(symbolSize)\n }, seriesModel, idx);\n }\n\n this._updateCommon(data, idx, symbolSize, seriesScope);\n\n if (isInit) {\n var symbolPath = this.childAt(0);\n var fadeIn = seriesScope && seriesScope.fadeIn;\n var target = {\n scale: symbolPath.scale.slice()\n };\n fadeIn && (target.style = {\n opacity: symbolPath.style.opacity\n });\n symbolPath.scale = [0, 0];\n fadeIn && (symbolPath.style.opacity = 0);\n graphic.initProps(symbolPath, target, seriesModel, idx);\n }\n\n this._seriesModel = seriesModel;\n}; // Update common properties\n\n\nvar normalStyleAccessPath = ['itemStyle'];\nvar emphasisStyleAccessPath = ['emphasis', 'itemStyle'];\nvar normalLabelAccessPath = ['label'];\nvar emphasisLabelAccessPath = ['emphasis', 'label'];\n/**\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Array.} symbolSize\n * @param {Object} [seriesScope]\n */\n\nsymbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {\n var symbolPath = this.childAt(0);\n var seriesModel = data.hostModel;\n var color = data.getItemVisual(idx, 'color'); // Reset style\n\n if (symbolPath.type !== 'image') {\n symbolPath.useStyle({\n strokeNoScale: true\n });\n } else {\n symbolPath.setStyle({\n opacity: null,\n shadowBlur: null,\n shadowOffsetX: null,\n shadowOffsetY: null,\n shadowColor: null\n });\n }\n\n var itemStyle = seriesScope && seriesScope.itemStyle;\n var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;\n var symbolOffset = seriesScope && seriesScope.symbolOffset;\n var labelModel = seriesScope && seriesScope.labelModel;\n var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;\n var hoverAnimation = seriesScope && seriesScope.hoverAnimation;\n var cursorStyle = seriesScope && seriesScope.cursorStyle;\n\n if (!seriesScope || data.hasItemOption) {\n var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data.getItemModel(idx); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n itemStyle = itemModel.getModel(normalStyleAccessPath).getItemStyle(['color']);\n hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();\n symbolOffset = itemModel.getShallow('symbolOffset');\n labelModel = itemModel.getModel(normalLabelAccessPath);\n hoverLabelModel = itemModel.getModel(emphasisLabelAccessPath);\n hoverAnimation = itemModel.getShallow('hoverAnimation');\n cursorStyle = itemModel.getShallow('cursor');\n } else {\n hoverItemStyle = zrUtil.extend({}, hoverItemStyle);\n }\n\n var elStyle = symbolPath.style;\n var symbolRotate = data.getItemVisual(idx, 'symbolRotate');\n symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);\n\n if (symbolOffset) {\n symbolPath.attr('position', [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])]);\n }\n\n cursorStyle && symbolPath.attr('cursor', cursorStyle); // PENDING setColor before setStyle!!!\n\n symbolPath.setColor(color, seriesScope && seriesScope.symbolInnerColor);\n symbolPath.setStyle(itemStyle);\n var opacity = data.getItemVisual(idx, 'opacity');\n\n if (opacity != null) {\n elStyle.opacity = opacity;\n }\n\n var liftZ = data.getItemVisual(idx, 'liftZ');\n var z2Origin = symbolPath.__z2Origin;\n\n if (liftZ != null) {\n if (z2Origin == null) {\n symbolPath.__z2Origin = symbolPath.z2;\n symbolPath.z2 += liftZ;\n }\n } else if (z2Origin != null) {\n symbolPath.z2 = z2Origin;\n symbolPath.__z2Origin = null;\n }\n\n var useNameLabel = seriesScope && seriesScope.useNameLabel;\n graphic.setLabelStyle(elStyle, hoverItemStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: getLabelDefaultText,\n isRectText: true,\n autoColor: color\n }); // Do not execute util needed.\n\n function getLabelDefaultText(idx, opt) {\n return useNameLabel ? data.getName(idx) : getDefaultLabel(data, idx);\n }\n\n symbolPath.__symbolOriginalScale = getScale(symbolSize);\n symbolPath.hoverStyle = hoverItemStyle;\n symbolPath.highDownOnUpdate = hoverAnimation && seriesModel.isAnimationEnabled() ? highDownOnUpdate : null;\n graphic.setHoverStyle(symbolPath);\n};\n\nfunction highDownOnUpdate(fromState, toState) {\n // Do not support this hover animation util some scenario required.\n // Animation can only be supported in hover layer when using `el.incremetal`.\n if (this.incremental || this.useHoverLayer) {\n return;\n }\n\n if (toState === 'emphasis') {\n var scale = this.__symbolOriginalScale;\n var ratio = scale[1] / scale[0];\n var emphasisOpt = {\n scale: [Math.max(scale[0] * 1.1, scale[0] + 3), Math.max(scale[1] * 1.1, scale[1] + 3 * ratio)]\n }; // FIXME\n // modify it after support stop specified animation.\n // toState === fromState\n // ? (this.stopAnimation(), this.attr(emphasisOpt))\n\n this.animateTo(emphasisOpt, 400, 'elasticOut');\n } else if (toState === 'normal') {\n this.animateTo({\n scale: this.__symbolOriginalScale\n }, 400, 'elasticOut');\n }\n}\n/**\n * @param {Function} cb\n * @param {Object} [opt]\n * @param {Object} [opt.keepLabel=true]\n */\n\n\nsymbolProto.fadeOut = function (cb, opt) {\n var symbolPath = this.childAt(0); // Avoid mistaken hover when fading out\n\n this.silent = symbolPath.silent = true; // Not show text when animating\n\n !(opt && opt.keepLabel) && (symbolPath.style.text = null);\n graphic.updateProps(symbolPath, {\n style: {\n opacity: 0\n },\n scale: [0, 0]\n }, this._seriesModel, this.dataIndex, cb);\n};\n\nzrUtil.inherits(SymbolClz, graphic.Group);\nvar _default = SymbolClz;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/Symbol.js?")},FGaS:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar symbolUtil = __webpack_require__(\"oVpE\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 normalizeSymbolSize(symbolSize) {\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [+symbolSize, +symbolSize];\n }\n\n return symbolSize;\n}\n\nvar _default = echarts.extendChartView({\n type: 'radar',\n 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 var color = data.getItemVisual(idx, 'color');\n\n if (symbolType === 'none') {\n return;\n }\n\n var symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n var symbolPath = symbolUtil.createSymbol(symbolType, -1, -1, 2, 2, color);\n symbolPath.attr({\n style: {\n strokeNoScale: true\n },\n z2: 100,\n scale: [symbolSize[0] / 2, symbolSize[1] / 2]\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.attr('position', oldPoints[i]);\n graphic[isInit ? 'initProps' : 'updateProps'](symbolPath, {\n position: newPoints[i]\n }, seriesModel, idx);\n } else {\n symbolPath.attr('position', newPoints[i]);\n }\n\n symbolGroup.add(symbolPath);\n }\n }\n }\n\n function getInitialPoints(points) {\n return zrUtil.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 graphic.Polygon();\n var polyline = new graphic.Polyline();\n var target = {\n shape: {\n points: points\n }\n };\n polygon.shape.points = getInitialPoints(points);\n polyline.shape.points = getInitialPoints(points);\n graphic.initProps(polygon, target, seriesModel, idx);\n graphic.initProps(polyline, target, seriesModel, idx);\n var itemGroup = new graphic.Group();\n var symbolGroup = new graphic.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 graphic.updateProps(polyline, target, seriesModel);\n graphic.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);\n var color = data.getItemVisual(idx, 'color');\n group.add(itemGroup);\n polyline.useStyle(zrUtil.defaults(itemModel.getModel('lineStyle').getLineStyle(), {\n fill: 'none',\n stroke: color\n }));\n polyline.hoverStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n var areaStyleModel = itemModel.getModel('areaStyle');\n var hoverAreaStyleModel = itemModel.getModel('emphasis.areaStyle');\n var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();\n var hoverPolygonIgnore = hoverAreaStyleModel.isEmpty() && hoverAreaStyleModel.parentModel.isEmpty();\n hoverPolygonIgnore = hoverPolygonIgnore && polygonIgnore;\n polygon.ignore = polygonIgnore;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: color,\n opacity: 0.7\n }));\n polygon.hoverStyle = hoverAreaStyleModel.getAreaStyle();\n var itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var itemHoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n symbolGroup.eachChild(function (symbolPath) {\n symbolPath.setStyle(itemStyle);\n symbolPath.hoverStyle = zrUtil.clone(itemHoverStyle);\n var defaultText = data.get(data.dimensions[symbolPath.__dimIdx], idx);\n (defaultText == null || isNaN(defaultText)) && (defaultText = '');\n graphic.setLabelStyle(symbolPath.style, symbolPath.hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n labelDimIndex: symbolPath.__dimIdx,\n defaultText: defaultText,\n autoColor: color,\n isRectText: true\n });\n });\n\n itemGroup.highDownOnUpdate = function (fromState, toState) {\n polygon.attr('ignore', toState === 'emphasis' ? hoverPolygonIgnore : polygonIgnore);\n };\n\n graphic.setHoverStyle(itemGroup);\n });\n this._data = data;\n },\n remove: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/radar/RadarView.js?")},FH2Y:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _UpOutlined = _interopRequireDefault(__webpack_require__("ZMnZ"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _UpOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/UpOutlined.js?')},FIfw:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/grid/style/index.less?")},FNN5:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar AxisBuilder = __webpack_require__(\"+rIm\");\n\nvar AxisView = __webpack_require__(\"Znkb\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitLine', 'splitArea', 'minorSplitLine'];\n\nvar _default = AxisView.extend({\n type: 'radiusAxis',\n axisPointerClass: 'PolarAxisPointer',\n render: function (radiusAxisModel, ecModel) {\n this.group.removeAll();\n\n if (!radiusAxisModel.get('show')) {\n return;\n }\n\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(radiusAxisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (radiusAxisModel.get(name + '.show') && !radiusAxis.scale.isBlank()) {\n this['_' + name](radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);\n }\n }, this);\n },\n\n /**\n * @private\n */\n _splitLine: function (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 graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: ticksCoords[i].coord\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 this.group.add(graphic.mergePath(splitLines[i], {\n style: zrUtil.defaults({\n stroke: lineColors[i % lineColors.length],\n fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n }\n },\n\n /**\n * @private\n */\n _minorSplitLine: function (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 graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: minorTicksCoords[i][k].coord\n }\n }));\n }\n }\n\n this.group.add(graphic.mergePath(lines, {\n style: zrUtil.defaults({\n fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n },\n\n /**\n * @private\n */\n _splitArea: function (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 graphic.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 this.group.add(graphic.mergePath(splitAreas[i], {\n style: zrUtil.defaults({\n fill: areaColors[i % areaColors.length]\n }, areaStyleModel.getAreaStyle()),\n silent: true\n }));\n }\n }\n});\n/**\n * @inner\n */\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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/axis/RadiusAxisView.js?")},FUi9:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar createListFromArray = __webpack_require__("MwEJ");\n\nvar axisHelper = __webpack_require__("aX7z");\n\nvar axisModelCommonMixin = __webpack_require__("ICMv");\n\nvar Model = __webpack_require__("Qxkt");\n\nvar _layout = __webpack_require__("+TT/");\n\nvar getLayoutRect = _layout.getLayoutRect;\nexports.getLayoutRect = _layout.getLayoutRect;\n\nvar _dataStackHelper = __webpack_require__("7hqr");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nvar _completeDimensions = __webpack_require__("hi0g");\n\nexports.completeDimensions = _completeDimensions;\n\nvar _createDimensions = __webpack_require__("sdST");\n\nexports.createDimensions = _createDimensions;\n\nvar _symbol = __webpack_require__("oVpE");\n\nexports.createSymbol = _symbol.createSymbol;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 createGraphFromNodeEdge from \'./chart/helper/createGraphFromNodeEdge\';\n\n/**\n * Create a muti dimension List structure from seriesModel.\n * @param {module:echarts/model/Model} seriesModel\n * @return {module:echarts/data/List} list\n */\nfunction createList(seriesModel) {\n return createListFromArray(seriesModel.getSource(), seriesModel);\n} // export function createGraph(seriesModel) {\n// var nodes = seriesModel.get(\'data\');\n// var links = seriesModel.get(\'links\');\n// return createGraphFromNodeEdge(nodes, links, seriesModel);\n// }\n\n\nvar dataStack = {\n isDimensionStacked: isDimensionStacked,\n enableDataStack: enableDataStack,\n getStackedDimension: 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 * Create scale\n * @param {Array.} dataExtent\n * @param {Object|module:echarts/Model} option\n */\nfunction createScale(dataExtent, option) {\n var axisModel = option;\n\n if (!Model.isInstance(option)) {\n axisModel = new Model(option);\n zrUtil.mixin(axisModel, axisModelCommonMixin);\n }\n\n var scale = axisHelper.createScaleByModel(axisModel);\n scale.setExtent(dataExtent[0], dataExtent[1]);\n axisHelper.niceScaleExtent(scale, axisModel);\n return scale;\n}\n/**\n * Mixin common methods to axis model,\n *\n * Inlcude methods\n * `getFormattedLabels() => Array.`\n * `getCategories() => Array.`\n * `getMin(origin: boolean) => number`\n * `getMax(origin: boolean) => number`\n * `getNeedCrossZero() => boolean`\n * `setRange(start: number, end: number)`\n * `resetRange()`\n */\n\n\nfunction mixinAxisModelCommonMethods(Model) {\n zrUtil.mixin(Model, axisModelCommonMixin);\n}\n\nexports.createList = createList;\nexports.dataStack = dataStack;\nexports.createScale = createScale;\nexports.mixinAxisModelCommonMethods = mixinAxisModelCommonMethods;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/helper.js?')},FWmy:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ok; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * Throws an error with the provided message if the provided value does not evaluate to a true Javascript value.\r\n */\r\nfunction ok(value, message) {\r\n if (!value) {\r\n throw new Error(message ? 'Assertion failed (' + message + ')' : 'Assertion Failed');\r\n }\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/assert.js?")},FYw3:function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__("EJiy");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");\n }\n\n return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;\n};\n\n//# sourceURL=webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js?')},"Fa/5":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("y2l5");\n\n__webpack_require__("q/+u");\n\nvar visualSymbol = __webpack_require__("f5Yq");\n\nvar layoutPoints = __webpack_require__("h8O9");\n\n__webpack_require__("Ae16");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * as zrUtil from \'zrender/src/core/util\';\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol(\'scatter\', \'circle\'));\necharts.registerLayout(layoutPoints(\'scatter\')); // echarts.registerProcessor(function (ecModel, api) {\n// ecModel.eachSeriesByType(\'scatter\', function (seriesModel) {\n// var data = seriesModel.getData();\n// var coordSys = seriesModel.coordinateSystem;\n// if (coordSys.type !== \'geo\') {\n// return;\n// }\n// var startPt = coordSys.pointToData([0, 0]);\n// var endPt = coordSys.pointToData([api.getWidth(), api.getHeight()]);\n// var dims = zrUtil.map(coordSys.dimensions, function (dim) {\n// return data.mapDimension(dim);\n// });\n// var range = {};\n// range[dims[0]] = [Math.min(startPt[0], endPt[0]), Math.max(startPt[0], endPt[0])];\n// range[dims[1]] = [Math.min(startPt[1], endPt[1]), Math.max(startPt[1], endPt[1])];\n// data.selectRange(range);\n// });\n// });\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/scatter.js?')},FhB9:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar SwapRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z" } }] }, "name": "swap-right", "theme": "outlined" };\nexports.default = SwapRightOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/SwapRightOutlined.js?')},FhTr:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar RightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z" } }] }, "name": "right", "theme": "outlined" };\nexports.default = RightOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/RightOutlined.js?')},FlQf:function(module,exports,__webpack_require__){"use strict";eval('\nvar $at = __webpack_require__("ccE7")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__("MPFp")(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/core-js/library/modules/es6.string.iterator.js?')},"Fm1+":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _CaretUpOutlined = _interopRequireDefault(__webpack_require__("a7Wl"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CaretUpOutlined = function CaretUpOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _CaretUpOutlined.default\n }));\n};\n\nCaretUpOutlined.displayName = \'CaretUpOutlined\';\n\nvar _default = React.forwardRef(CaretUpOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/CaretUpOutlined.js?')},Fofx:function(module,exports){eval("/**\n * 3x2\u77e9\u9635\u64cd\u4f5c\u7c7b\n * @exports zrender/tool/matrix\n */\n\n/* global Float32Array */\nvar ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * Create a identity matrix.\n * @return {Float32Array|Array.}\n */\n\nfunction create() {\n var out = new ArrayCtor(6);\n identity(out);\n return out;\n}\n/**\n * \u8bbe\u7f6e\u77e9\u9635\u4e3a\u5355\u4f4d\u77e9\u9635\n * @param {Float32Array|Array.} out\n */\n\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}\n/**\n * \u590d\u5236\u77e9\u9635\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m\n */\n\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}\n/**\n * \u77e9\u9635\u76f8\u4e58\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m1\n * @param {Float32Array|Array.} m2\n */\n\n\nfunction mul(out, m1, m2) {\n // Consider matrix.mul(m, m2, m);\n // where out is the same as m2.\n // So use temp variable to escape error.\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}\n/**\n * \u5e73\u79fb\u53d8\u6362\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\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}\n/**\n * \u65cb\u8f6c\u53d8\u6362\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {number} rad\n */\n\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}\n/**\n * \u7f29\u653e\u53d8\u6362\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\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}\n/**\n * \u6c42\u9006\u77e9\u9635\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n */\n\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\n if (!det) {\n return null;\n }\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}\n/**\n * Clone a new matrix.\n * @param {Float32Array|Array.} a\n */\n\n\nfunction clone(a) {\n var b = create();\n copy(b, a);\n return b;\n}\n\nexports.create = create;\nexports.identity = identity;\nexports.copy = copy;\nexports.mul = mul;\nexports.translate = translate;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.invert = invert;\nexports.clone = clone;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/matrix.js?")},FvUK:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'less',\r\n extensions: ['.less'],\r\n aliases: ['Less', 'less'],\r\n mimetypes: ['text/x-less', 'text/less'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 184).then(__webpack_require__.bind(null, \"OfHX\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js?")},FxDU:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.createSensor = void 0;\n\nvar _object = __webpack_require__("QO+J");\n\nvar _resizeObserver = __webpack_require__("j5sG");\n\n/**\n * Created by hustcc on 18/7/5.\n * Contract: i@hust.cc\n */\n\n/**\n * sensor strategies\n */\n// export const createSensor = createObjectSensor;\nvar createSensor = typeof ResizeObserver !== \'undefined\' ? _resizeObserver.createSensor : _object.createSensor;\nexports.createSensor = createSensor;\n\n//# sourceURL=webpack:///./node_modules/size-sensor/lib/sensors/index.js?')},G2kB:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IModelService; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return shouldSynchronizeModel; });\n/* harmony import */ var _platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cg/j");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar IModelService = Object(_platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_0__[/* createDecorator */ "c"])(\'modelService\');\r\nfunction shouldSynchronizeModel(model) {\r\n return (!model.isTooLargeForSyncing() && !model.isForSimpleWidget);\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/services/modelService.js?')},G300:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Widget; });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("EffR");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("uDWl");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("XSiN");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("pmY6");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("pg8w");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\nvar Widget = /** @class */ (function (_super) {\r\n __extends(Widget, _super);\r\n function Widget() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Widget.prototype.onclick = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].CLICK, function (e) { return listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__[/* StandardMouseEvent */ "a"](e)); }));\r\n };\r\n Widget.prototype.onmousedown = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].MOUSE_DOWN, function (e) { return listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__[/* StandardMouseEvent */ "a"](e)); }));\r\n };\r\n Widget.prototype.onmouseover = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].MOUSE_OVER, function (e) { return listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__[/* StandardMouseEvent */ "a"](e)); }));\r\n };\r\n Widget.prototype.onnonbubblingmouseout = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableNonBubblingMouseOutListener */ "j"](domNode, function (e) { return listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__[/* StandardMouseEvent */ "a"](e)); }));\r\n };\r\n Widget.prototype.onkeydown = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].KEY_DOWN, function (e) { return listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__[/* StandardKeyboardEvent */ "a"](e)); }));\r\n };\r\n Widget.prototype.onkeyup = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].KEY_UP, function (e) { return listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__[/* StandardKeyboardEvent */ "a"](e)); }));\r\n };\r\n Widget.prototype.oninput = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].INPUT, listener));\r\n };\r\n Widget.prototype.onblur = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].BLUR, listener));\r\n };\r\n Widget.prototype.onfocus = function (domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addDisposableListener */ "i"](domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__[/* EventType */ "c"].FOCUS, listener));\r\n };\r\n Widget.prototype.ignoreGesture = function (domNode) {\r\n _touch_js__WEBPACK_IMPORTED_MODULE_4__[/* Gesture */ "b"].ignoreTarget(domNode);\r\n };\r\n return Widget;\r\n}(_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__[/* Disposable */ "a"]));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js?')},GGyF:function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _LeftOutlined = _interopRequireDefault(__webpack_require__("wgjA"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _LeftOutlined.default\n }));\n};\n\nLeftOutlined.displayName = \'LeftOutlined\';\n\nvar _default = React.forwardRef(LeftOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/LeftOutlined.js?')},GIiI:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/PoweroffOutlined.js\n// This icon file is generated automatically.\nvar PoweroffOutlined_PoweroffOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M705.6 124.9a8 8 0 00-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0162.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0127.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 01-76.3 113.3 353.06 353.06 0 01-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 01-113.2-76.4A355.92 355.92 0 01184 650.4a355 355 0 01-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z" } }] }, "name": "poweroff", "theme": "outlined" };\n/* harmony default export */ var asn_PoweroffOutlined = (PoweroffOutlined_PoweroffOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/PoweroffOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_PoweroffOutlined_PoweroffOutlined = function PoweroffOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_PoweroffOutlined\n }));\n};\n\nicons_PoweroffOutlined_PoweroffOutlined.displayName = \'PoweroffOutlined\';\n/* harmony default export */ var icons_PoweroffOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_PoweroffOutlined_PoweroffOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/PoweroffOutlined.js_+_1_modules?')},GJhM:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"b\", function() { return /* binding */ scrollableElement_ScrollableElement; });\n__webpack_require__.d(__webpack_exports__, \"c\", function() { return /* binding */ SmoothScrollableElement; });\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* binding */ DomScrollableElement; });\n\n// UNUSED EXPORTS: MouseWheelClassifier, AbstractScrollableElement\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css\nvar scrollbars = __webpack_require__(\"eq1K\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/browser.js\nvar browser = __webpack_require__(\"D3Dy\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/dom.js\nvar dom = __webpack_require__(\"EffR\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\nvar fastDomNode = __webpack_require__(\"ZlPH\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\nvar mouseEvent = __webpack_require__(\"XSiN\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js\nvar globalMouseMoveMonitor = __webpack_require__(\"AKMP\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\nvar widget = __webpack_require__(\"G300\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/async.js\nvar common_async = __webpack_require__(\"X+cX\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n/**\r\n * The arrow image size.\r\n */\r\nvar ARROW_IMG_SIZE = 11;\r\nvar scrollbarArrow_ScrollbarArrow = /** @class */ (function (_super) {\r\n __extends(ScrollbarArrow, _super);\r\n function ScrollbarArrow(opts) {\r\n var _this = _super.call(this) || this;\r\n _this._onActivate = opts.onActivate;\r\n _this.bgDomNode = document.createElement('div');\r\n _this.bgDomNode.className = 'arrow-background';\r\n _this.bgDomNode.style.position = 'absolute';\r\n _this.bgDomNode.style.width = opts.bgWidth + 'px';\r\n _this.bgDomNode.style.height = opts.bgHeight + 'px';\r\n if (typeof opts.top !== 'undefined') {\r\n _this.bgDomNode.style.top = '0px';\r\n }\r\n if (typeof opts.left !== 'undefined') {\r\n _this.bgDomNode.style.left = '0px';\r\n }\r\n if (typeof opts.bottom !== 'undefined') {\r\n _this.bgDomNode.style.bottom = '0px';\r\n }\r\n if (typeof opts.right !== 'undefined') {\r\n _this.bgDomNode.style.right = '0px';\r\n }\r\n _this.domNode = document.createElement('div');\r\n _this.domNode.className = opts.className;\r\n _this.domNode.style.position = 'absolute';\r\n _this.domNode.style.width = ARROW_IMG_SIZE + 'px';\r\n _this.domNode.style.height = ARROW_IMG_SIZE + 'px';\r\n if (typeof opts.top !== 'undefined') {\r\n _this.domNode.style.top = opts.top + 'px';\r\n }\r\n if (typeof opts.left !== 'undefined') {\r\n _this.domNode.style.left = opts.left + 'px';\r\n }\r\n if (typeof opts.bottom !== 'undefined') {\r\n _this.domNode.style.bottom = opts.bottom + 'px';\r\n }\r\n if (typeof opts.right !== 'undefined') {\r\n _this.domNode.style.right = opts.right + 'px';\r\n }\r\n _this._mouseMoveMonitor = _this._register(new globalMouseMoveMonitor[\"a\" /* GlobalMouseMoveMonitor */]());\r\n _this.onmousedown(_this.bgDomNode, function (e) { return _this._arrowMouseDown(e); });\r\n _this.onmousedown(_this.domNode, function (e) { return _this._arrowMouseDown(e); });\r\n _this._mousedownRepeatTimer = _this._register(new common_async[\"c\" /* IntervalTimer */]());\r\n _this._mousedownScheduleRepeatTimer = _this._register(new common_async[\"e\" /* TimeoutTimer */]());\r\n return _this;\r\n }\r\n ScrollbarArrow.prototype._arrowMouseDown = function (e) {\r\n var _this = this;\r\n var scheduleRepeater = function () {\r\n _this._mousedownRepeatTimer.cancelAndSet(function () { return _this._onActivate(); }, 1000 / 24);\r\n };\r\n this._onActivate();\r\n this._mousedownRepeatTimer.cancel();\r\n this._mousedownScheduleRepeatTimer.cancelAndSet(scheduleRepeater, 200);\r\n this._mouseMoveMonitor.startMonitoring(e.target, e.buttons, globalMouseMoveMonitor[\"b\" /* standardMouseMoveMerger */], function (mouseMoveData) {\r\n /* Intentional empty */\r\n }, function () {\r\n _this._mousedownRepeatTimer.cancel();\r\n _this._mousedownScheduleRepeatTimer.cancel();\r\n });\r\n e.preventDefault();\r\n };\r\n return ScrollbarArrow;\r\n}(widget[\"a\" /* Widget */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\nvar lifecycle = __webpack_require__(\"pmY6\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar scrollbarVisibilityController_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\nvar scrollbarVisibilityController_ScrollbarVisibilityController = /** @class */ (function (_super) {\r\n scrollbarVisibilityController_extends(ScrollbarVisibilityController, _super);\r\n function ScrollbarVisibilityController(visibility, visibleClassName, invisibleClassName) {\r\n var _this = _super.call(this) || this;\r\n _this._visibility = visibility;\r\n _this._visibleClassName = visibleClassName;\r\n _this._invisibleClassName = invisibleClassName;\r\n _this._domNode = null;\r\n _this._isVisible = false;\r\n _this._isNeeded = false;\r\n _this._shouldBeVisible = false;\r\n _this._revealTimer = _this._register(new common_async[\"e\" /* TimeoutTimer */]());\r\n return _this;\r\n }\r\n // ----------------- Hide / Reveal\r\n ScrollbarVisibilityController.prototype.applyVisibilitySetting = function (shouldBeVisible) {\r\n if (this._visibility === 2 /* Hidden */) {\r\n return false;\r\n }\r\n if (this._visibility === 3 /* Visible */) {\r\n return true;\r\n }\r\n return shouldBeVisible;\r\n };\r\n ScrollbarVisibilityController.prototype.setShouldBeVisible = function (rawShouldBeVisible) {\r\n var shouldBeVisible = this.applyVisibilitySetting(rawShouldBeVisible);\r\n if (this._shouldBeVisible !== shouldBeVisible) {\r\n this._shouldBeVisible = shouldBeVisible;\r\n this.ensureVisibility();\r\n }\r\n };\r\n ScrollbarVisibilityController.prototype.setIsNeeded = function (isNeeded) {\r\n if (this._isNeeded !== isNeeded) {\r\n this._isNeeded = isNeeded;\r\n this.ensureVisibility();\r\n }\r\n };\r\n ScrollbarVisibilityController.prototype.setDomNode = function (domNode) {\r\n this._domNode = domNode;\r\n this._domNode.setClassName(this._invisibleClassName);\r\n // Now that the flags & the dom node are in a consistent state, ensure the Hidden/Visible configuration\r\n this.setShouldBeVisible(false);\r\n };\r\n ScrollbarVisibilityController.prototype.ensureVisibility = function () {\r\n if (!this._isNeeded) {\r\n // Nothing to be rendered\r\n this._hide(false);\r\n return;\r\n }\r\n if (this._shouldBeVisible) {\r\n this._reveal();\r\n }\r\n else {\r\n this._hide(true);\r\n }\r\n };\r\n ScrollbarVisibilityController.prototype._reveal = function () {\r\n var _this = this;\r\n if (this._isVisible) {\r\n return;\r\n }\r\n this._isVisible = true;\r\n // The CSS animation doesn't play otherwise\r\n this._revealTimer.setIfNotSet(function () {\r\n if (_this._domNode) {\r\n _this._domNode.setClassName(_this._visibleClassName);\r\n }\r\n }, 0);\r\n };\r\n ScrollbarVisibilityController.prototype._hide = function (withFadeAway) {\r\n this._revealTimer.cancel();\r\n if (!this._isVisible) {\r\n return;\r\n }\r\n this._isVisible = false;\r\n if (this._domNode) {\r\n this._domNode.setClassName(this._invisibleClassName + (withFadeAway ? ' fade' : ''));\r\n }\r\n };\r\n return ScrollbarVisibilityController;\r\n}(lifecycle[\"a\" /* Disposable */]));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/platform.js\nvar platform = __webpack_require__(\"MNsG\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar abstractScrollbar_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * The orthogonal distance to the slider at which dragging \"resets\". This implements \"snapping\"\r\n */\r\nvar MOUSE_DRAG_RESET_DISTANCE = 140;\r\nvar abstractScrollbar_AbstractScrollbar = /** @class */ (function (_super) {\r\n abstractScrollbar_extends(AbstractScrollbar, _super);\r\n function AbstractScrollbar(opts) {\r\n var _this = _super.call(this) || this;\r\n _this._lazyRender = opts.lazyRender;\r\n _this._host = opts.host;\r\n _this._scrollable = opts.scrollable;\r\n _this._scrollbarState = opts.scrollbarState;\r\n _this._visibilityController = _this._register(new scrollbarVisibilityController_ScrollbarVisibilityController(opts.visibility, 'visible scrollbar ' + opts.extraScrollbarClassName, 'invisible scrollbar ' + opts.extraScrollbarClassName));\r\n _this._visibilityController.setIsNeeded(_this._scrollbarState.isNeeded());\r\n _this._mouseMoveMonitor = _this._register(new globalMouseMoveMonitor[\"a\" /* GlobalMouseMoveMonitor */]());\r\n _this._shouldRender = true;\r\n _this.domNode = Object(fastDomNode[\"b\" /* createFastDomNode */])(document.createElement('div'));\r\n _this.domNode.setAttribute('role', 'presentation');\r\n _this.domNode.setAttribute('aria-hidden', 'true');\r\n _this._visibilityController.setDomNode(_this.domNode);\r\n _this.domNode.setPosition('absolute');\r\n _this.onmousedown(_this.domNode.domNode, function (e) { return _this._domNodeMouseDown(e); });\r\n return _this;\r\n }\r\n // ----------------- creation\r\n /**\r\n * Creates the dom node for an arrow & adds it to the container\r\n */\r\n AbstractScrollbar.prototype._createArrow = function (opts) {\r\n var arrow = this._register(new scrollbarArrow_ScrollbarArrow(opts));\r\n this.domNode.domNode.appendChild(arrow.bgDomNode);\r\n this.domNode.domNode.appendChild(arrow.domNode);\r\n };\r\n /**\r\n * Creates the slider dom node, adds it to the container & hooks up the events\r\n */\r\n AbstractScrollbar.prototype._createSlider = function (top, left, width, height) {\r\n var _this = this;\r\n this.slider = Object(fastDomNode[\"b\" /* createFastDomNode */])(document.createElement('div'));\r\n this.slider.setClassName('slider');\r\n this.slider.setPosition('absolute');\r\n this.slider.setTop(top);\r\n this.slider.setLeft(left);\r\n if (typeof width === 'number') {\r\n this.slider.setWidth(width);\r\n }\r\n if (typeof height === 'number') {\r\n this.slider.setHeight(height);\r\n }\r\n this.slider.setLayerHinting(true);\r\n this.slider.setContain('strict');\r\n this.domNode.domNode.appendChild(this.slider.domNode);\r\n this.onmousedown(this.slider.domNode, function (e) {\r\n if (e.leftButton) {\r\n e.preventDefault();\r\n _this._sliderMouseDown(e, function () { });\r\n }\r\n });\r\n this.onclick(this.slider.domNode, function (e) {\r\n if (e.leftButton) {\r\n e.stopPropagation();\r\n }\r\n });\r\n };\r\n // ----------------- Update state\r\n AbstractScrollbar.prototype._onElementSize = function (visibleSize) {\r\n if (this._scrollbarState.setVisibleSize(visibleSize)) {\r\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\r\n this._shouldRender = true;\r\n if (!this._lazyRender) {\r\n this.render();\r\n }\r\n }\r\n return this._shouldRender;\r\n };\r\n AbstractScrollbar.prototype._onElementScrollSize = function (elementScrollSize) {\r\n if (this._scrollbarState.setScrollSize(elementScrollSize)) {\r\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\r\n this._shouldRender = true;\r\n if (!this._lazyRender) {\r\n this.render();\r\n }\r\n }\r\n return this._shouldRender;\r\n };\r\n AbstractScrollbar.prototype._onElementScrollPosition = function (elementScrollPosition) {\r\n if (this._scrollbarState.setScrollPosition(elementScrollPosition)) {\r\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\r\n this._shouldRender = true;\r\n if (!this._lazyRender) {\r\n this.render();\r\n }\r\n }\r\n return this._shouldRender;\r\n };\r\n // ----------------- rendering\r\n AbstractScrollbar.prototype.beginReveal = function () {\r\n this._visibilityController.setShouldBeVisible(true);\r\n };\r\n AbstractScrollbar.prototype.beginHide = function () {\r\n this._visibilityController.setShouldBeVisible(false);\r\n };\r\n AbstractScrollbar.prototype.render = function () {\r\n if (!this._shouldRender) {\r\n return;\r\n }\r\n this._shouldRender = false;\r\n this._renderDomNode(this._scrollbarState.getRectangleLargeSize(), this._scrollbarState.getRectangleSmallSize());\r\n this._updateSlider(this._scrollbarState.getSliderSize(), this._scrollbarState.getArrowSize() + this._scrollbarState.getSliderPosition());\r\n };\r\n // ----------------- DOM events\r\n AbstractScrollbar.prototype._domNodeMouseDown = function (e) {\r\n if (e.target !== this.domNode.domNode) {\r\n return;\r\n }\r\n this._onMouseDown(e);\r\n };\r\n AbstractScrollbar.prototype.delegateMouseDown = function (e) {\r\n var domTop = this.domNode.domNode.getClientRects()[0].top;\r\n var sliderStart = domTop + this._scrollbarState.getSliderPosition();\r\n var sliderStop = domTop + this._scrollbarState.getSliderPosition() + this._scrollbarState.getSliderSize();\r\n var mousePos = this._sliderMousePosition(e);\r\n if (sliderStart <= mousePos && mousePos <= sliderStop) {\r\n // Act as if it was a mouse down on the slider\r\n if (e.leftButton) {\r\n e.preventDefault();\r\n this._sliderMouseDown(e, function () { });\r\n }\r\n }\r\n else {\r\n // Act as if it was a mouse down on the scrollbar\r\n this._onMouseDown(e);\r\n }\r\n };\r\n AbstractScrollbar.prototype._onMouseDown = function (e) {\r\n var offsetX;\r\n var offsetY;\r\n if (e.target === this.domNode.domNode && typeof e.browserEvent.offsetX === 'number' && typeof e.browserEvent.offsetY === 'number') {\r\n offsetX = e.browserEvent.offsetX;\r\n offsetY = e.browserEvent.offsetY;\r\n }\r\n else {\r\n var domNodePosition = dom[\"B\" /* getDomNodePagePosition */](this.domNode.domNode);\r\n offsetX = e.posx - domNodePosition.left;\r\n offsetY = e.posy - domNodePosition.top;\r\n }\r\n this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(offsetX, offsetY)));\r\n if (e.leftButton) {\r\n e.preventDefault();\r\n this._sliderMouseDown(e, function () { });\r\n }\r\n };\r\n AbstractScrollbar.prototype._sliderMouseDown = function (e, onDragFinished) {\r\n var _this = this;\r\n var initialMousePosition = this._sliderMousePosition(e);\r\n var initialMouseOrthogonalPosition = this._sliderOrthogonalMousePosition(e);\r\n var initialScrollbarState = this._scrollbarState.clone();\r\n this.slider.toggleClassName('active', true);\r\n this._mouseMoveMonitor.startMonitoring(e.target, e.buttons, globalMouseMoveMonitor[\"b\" /* standardMouseMoveMerger */], function (mouseMoveData) {\r\n var mouseOrthogonalPosition = _this._sliderOrthogonalMousePosition(mouseMoveData);\r\n var mouseOrthogonalDelta = Math.abs(mouseOrthogonalPosition - initialMouseOrthogonalPosition);\r\n if (platform[\"h\" /* isWindows */] && mouseOrthogonalDelta > MOUSE_DRAG_RESET_DISTANCE) {\r\n // The mouse has wondered away from the scrollbar => reset dragging\r\n _this._setDesiredScrollPositionNow(initialScrollbarState.getScrollPosition());\r\n return;\r\n }\r\n var mousePosition = _this._sliderMousePosition(mouseMoveData);\r\n var mouseDelta = mousePosition - initialMousePosition;\r\n _this._setDesiredScrollPositionNow(initialScrollbarState.getDesiredScrollPositionFromDelta(mouseDelta));\r\n }, function () {\r\n _this.slider.toggleClassName('active', false);\r\n _this._host.onDragEnd();\r\n onDragFinished();\r\n });\r\n this._host.onDragStart();\r\n };\r\n AbstractScrollbar.prototype._setDesiredScrollPositionNow = function (_desiredScrollPosition) {\r\n var desiredScrollPosition = {};\r\n this.writeScrollPosition(desiredScrollPosition, _desiredScrollPosition);\r\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\r\n };\r\n return AbstractScrollbar;\r\n}(widget[\"a\" /* Widget */]));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * The minimal size of the slider (such that it can still be clickable) -- it is artificially enlarged.\r\n */\r\nvar MINIMUM_SLIDER_SIZE = 20;\r\nvar ScrollbarState = /** @class */ (function () {\r\n function ScrollbarState(arrowSize, scrollbarSize, oppositeScrollbarSize, visibleSize, scrollSize, scrollPosition) {\r\n this._scrollbarSize = Math.round(scrollbarSize);\r\n this._oppositeScrollbarSize = Math.round(oppositeScrollbarSize);\r\n this._arrowSize = Math.round(arrowSize);\r\n this._visibleSize = visibleSize;\r\n this._scrollSize = scrollSize;\r\n this._scrollPosition = scrollPosition;\r\n this._computedAvailableSize = 0;\r\n this._computedIsNeeded = false;\r\n this._computedSliderSize = 0;\r\n this._computedSliderRatio = 0;\r\n this._computedSliderPosition = 0;\r\n this._refreshComputedValues();\r\n }\r\n ScrollbarState.prototype.clone = function () {\r\n return new ScrollbarState(this._arrowSize, this._scrollbarSize, this._oppositeScrollbarSize, this._visibleSize, this._scrollSize, this._scrollPosition);\r\n };\r\n ScrollbarState.prototype.setVisibleSize = function (visibleSize) {\r\n var iVisibleSize = Math.round(visibleSize);\r\n if (this._visibleSize !== iVisibleSize) {\r\n this._visibleSize = iVisibleSize;\r\n this._refreshComputedValues();\r\n return true;\r\n }\r\n return false;\r\n };\r\n ScrollbarState.prototype.setScrollSize = function (scrollSize) {\r\n var iScrollSize = Math.round(scrollSize);\r\n if (this._scrollSize !== iScrollSize) {\r\n this._scrollSize = iScrollSize;\r\n this._refreshComputedValues();\r\n return true;\r\n }\r\n return false;\r\n };\r\n ScrollbarState.prototype.setScrollPosition = function (scrollPosition) {\r\n var iScrollPosition = Math.round(scrollPosition);\r\n if (this._scrollPosition !== iScrollPosition) {\r\n this._scrollPosition = iScrollPosition;\r\n this._refreshComputedValues();\r\n return true;\r\n }\r\n return false;\r\n };\r\n ScrollbarState._computeValues = function (oppositeScrollbarSize, arrowSize, visibleSize, scrollSize, scrollPosition) {\r\n var computedAvailableSize = Math.max(0, visibleSize - oppositeScrollbarSize);\r\n var computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * arrowSize);\r\n var computedIsNeeded = (scrollSize > 0 && scrollSize > visibleSize);\r\n if (!computedIsNeeded) {\r\n // There is no need for a slider\r\n return {\r\n computedAvailableSize: Math.round(computedAvailableSize),\r\n computedIsNeeded: computedIsNeeded,\r\n computedSliderSize: Math.round(computedRepresentableSize),\r\n computedSliderRatio: 0,\r\n computedSliderPosition: 0,\r\n };\r\n }\r\n // We must artificially increase the size of the slider if needed, since the slider would be too small to grab with the mouse otherwise\r\n var computedSliderSize = Math.round(Math.max(MINIMUM_SLIDER_SIZE, Math.floor(visibleSize * computedRepresentableSize / scrollSize)));\r\n // The slider can move from 0 to `computedRepresentableSize` - `computedSliderSize`\r\n // in the same way `scrollPosition` can move from 0 to `scrollSize` - `visibleSize`.\r\n var computedSliderRatio = (computedRepresentableSize - computedSliderSize) / (scrollSize - visibleSize);\r\n var computedSliderPosition = (scrollPosition * computedSliderRatio);\r\n return {\r\n computedAvailableSize: Math.round(computedAvailableSize),\r\n computedIsNeeded: computedIsNeeded,\r\n computedSliderSize: Math.round(computedSliderSize),\r\n computedSliderRatio: computedSliderRatio,\r\n computedSliderPosition: Math.round(computedSliderPosition),\r\n };\r\n };\r\n ScrollbarState.prototype._refreshComputedValues = function () {\r\n var r = ScrollbarState._computeValues(this._oppositeScrollbarSize, this._arrowSize, this._visibleSize, this._scrollSize, this._scrollPosition);\r\n this._computedAvailableSize = r.computedAvailableSize;\r\n this._computedIsNeeded = r.computedIsNeeded;\r\n this._computedSliderSize = r.computedSliderSize;\r\n this._computedSliderRatio = r.computedSliderRatio;\r\n this._computedSliderPosition = r.computedSliderPosition;\r\n };\r\n ScrollbarState.prototype.getArrowSize = function () {\r\n return this._arrowSize;\r\n };\r\n ScrollbarState.prototype.getScrollPosition = function () {\r\n return this._scrollPosition;\r\n };\r\n ScrollbarState.prototype.getRectangleLargeSize = function () {\r\n return this._computedAvailableSize;\r\n };\r\n ScrollbarState.prototype.getRectangleSmallSize = function () {\r\n return this._scrollbarSize;\r\n };\r\n ScrollbarState.prototype.isNeeded = function () {\r\n return this._computedIsNeeded;\r\n };\r\n ScrollbarState.prototype.getSliderSize = function () {\r\n return this._computedSliderSize;\r\n };\r\n ScrollbarState.prototype.getSliderPosition = function () {\r\n return this._computedSliderPosition;\r\n };\r\n /**\r\n * Compute a desired `scrollPosition` such that `offset` ends up in the center of the slider.\r\n * `offset` is based on the same coordinate system as the `sliderPosition`.\r\n */\r\n ScrollbarState.prototype.getDesiredScrollPositionFromOffset = function (offset) {\r\n if (!this._computedIsNeeded) {\r\n // no need for a slider\r\n return 0;\r\n }\r\n var desiredSliderPosition = offset - this._arrowSize - this._computedSliderSize / 2;\r\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\r\n };\r\n /**\r\n * Compute a desired `scrollPosition` such that the slider moves by `delta`.\r\n */\r\n ScrollbarState.prototype.getDesiredScrollPositionFromDelta = function (delta) {\r\n if (!this._computedIsNeeded) {\r\n // no need for a slider\r\n return 0;\r\n }\r\n var desiredSliderPosition = this._computedSliderPosition + delta;\r\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\r\n };\r\n return ScrollbarState;\r\n}());\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar horizontalScrollbar_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar horizontalScrollbar_HorizontalScrollbar = /** @class */ (function (_super) {\r\n horizontalScrollbar_extends(HorizontalScrollbar, _super);\r\n function HorizontalScrollbar(scrollable, options, host) {\r\n var _this = this;\r\n var scrollDimensions = scrollable.getScrollDimensions();\r\n var scrollPosition = scrollable.getCurrentScrollPosition();\r\n _this = _super.call(this, {\r\n lazyRender: options.lazyRender,\r\n host: host,\r\n scrollbarState: new ScrollbarState((options.horizontalHasArrows ? options.arrowSize : 0), (options.horizontal === 2 /* Hidden */ ? 0 : options.horizontalScrollbarSize), (options.vertical === 2 /* Hidden */ ? 0 : options.verticalScrollbarSize), scrollDimensions.width, scrollDimensions.scrollWidth, scrollPosition.scrollLeft),\r\n visibility: options.horizontal,\r\n extraScrollbarClassName: 'horizontal',\r\n scrollable: scrollable\r\n }) || this;\r\n if (options.horizontalHasArrows) {\r\n var arrowDelta = (options.arrowSize - ARROW_IMG_SIZE) / 2;\r\n var scrollbarDelta = (options.horizontalScrollbarSize - ARROW_IMG_SIZE) / 2;\r\n _this._createArrow({\r\n className: 'left-arrow',\r\n top: scrollbarDelta,\r\n left: arrowDelta,\r\n bottom: undefined,\r\n right: undefined,\r\n bgWidth: options.arrowSize,\r\n bgHeight: options.horizontalScrollbarSize,\r\n onActivate: function () { return _this._host.onMouseWheel(new mouseEvent[\"b\" /* StandardWheelEvent */](null, 1, 0)); },\r\n });\r\n _this._createArrow({\r\n className: 'right-arrow',\r\n top: scrollbarDelta,\r\n left: undefined,\r\n bottom: undefined,\r\n right: arrowDelta,\r\n bgWidth: options.arrowSize,\r\n bgHeight: options.horizontalScrollbarSize,\r\n onActivate: function () { return _this._host.onMouseWheel(new mouseEvent[\"b\" /* StandardWheelEvent */](null, -1, 0)); },\r\n });\r\n }\r\n _this._createSlider(Math.floor((options.horizontalScrollbarSize - options.horizontalSliderSize) / 2), 0, undefined, options.horizontalSliderSize);\r\n return _this;\r\n }\r\n HorizontalScrollbar.prototype._updateSlider = function (sliderSize, sliderPosition) {\r\n this.slider.setWidth(sliderSize);\r\n this.slider.setLeft(sliderPosition);\r\n };\r\n HorizontalScrollbar.prototype._renderDomNode = function (largeSize, smallSize) {\r\n this.domNode.setWidth(largeSize);\r\n this.domNode.setHeight(smallSize);\r\n this.domNode.setLeft(0);\r\n this.domNode.setBottom(0);\r\n };\r\n HorizontalScrollbar.prototype.onDidScroll = function (e) {\r\n this._shouldRender = this._onElementScrollSize(e.scrollWidth) || this._shouldRender;\r\n this._shouldRender = this._onElementScrollPosition(e.scrollLeft) || this._shouldRender;\r\n this._shouldRender = this._onElementSize(e.width) || this._shouldRender;\r\n return this._shouldRender;\r\n };\r\n HorizontalScrollbar.prototype._mouseDownRelativePosition = function (offsetX, offsetY) {\r\n return offsetX;\r\n };\r\n HorizontalScrollbar.prototype._sliderMousePosition = function (e) {\r\n return e.posx;\r\n };\r\n HorizontalScrollbar.prototype._sliderOrthogonalMousePosition = function (e) {\r\n return e.posy;\r\n };\r\n HorizontalScrollbar.prototype.writeScrollPosition = function (target, scrollPosition) {\r\n target.scrollLeft = scrollPosition;\r\n };\r\n return HorizontalScrollbar;\r\n}(abstractScrollbar_AbstractScrollbar));\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar verticalScrollbar_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar verticalScrollbar_VerticalScrollbar = /** @class */ (function (_super) {\r\n verticalScrollbar_extends(VerticalScrollbar, _super);\r\n function VerticalScrollbar(scrollable, options, host) {\r\n var _this = this;\r\n var scrollDimensions = scrollable.getScrollDimensions();\r\n var scrollPosition = scrollable.getCurrentScrollPosition();\r\n _this = _super.call(this, {\r\n lazyRender: options.lazyRender,\r\n host: host,\r\n scrollbarState: new ScrollbarState((options.verticalHasArrows ? options.arrowSize : 0), (options.vertical === 2 /* Hidden */ ? 0 : options.verticalScrollbarSize), \r\n // give priority to vertical scroll bar over horizontal and let it scroll all the way to the bottom\r\n 0, scrollDimensions.height, scrollDimensions.scrollHeight, scrollPosition.scrollTop),\r\n visibility: options.vertical,\r\n extraScrollbarClassName: 'vertical',\r\n scrollable: scrollable\r\n }) || this;\r\n if (options.verticalHasArrows) {\r\n var arrowDelta = (options.arrowSize - ARROW_IMG_SIZE) / 2;\r\n var scrollbarDelta = (options.verticalScrollbarSize - ARROW_IMG_SIZE) / 2;\r\n _this._createArrow({\r\n className: 'up-arrow',\r\n top: arrowDelta,\r\n left: scrollbarDelta,\r\n bottom: undefined,\r\n right: undefined,\r\n bgWidth: options.verticalScrollbarSize,\r\n bgHeight: options.arrowSize,\r\n onActivate: function () { return _this._host.onMouseWheel(new mouseEvent[\"b\" /* StandardWheelEvent */](null, 0, 1)); },\r\n });\r\n _this._createArrow({\r\n className: 'down-arrow',\r\n top: undefined,\r\n left: scrollbarDelta,\r\n bottom: arrowDelta,\r\n right: undefined,\r\n bgWidth: options.verticalScrollbarSize,\r\n bgHeight: options.arrowSize,\r\n onActivate: function () { return _this._host.onMouseWheel(new mouseEvent[\"b\" /* StandardWheelEvent */](null, 0, -1)); },\r\n });\r\n }\r\n _this._createSlider(0, Math.floor((options.verticalScrollbarSize - options.verticalSliderSize) / 2), options.verticalSliderSize, undefined);\r\n return _this;\r\n }\r\n VerticalScrollbar.prototype._updateSlider = function (sliderSize, sliderPosition) {\r\n this.slider.setHeight(sliderSize);\r\n this.slider.setTop(sliderPosition);\r\n };\r\n VerticalScrollbar.prototype._renderDomNode = function (largeSize, smallSize) {\r\n this.domNode.setWidth(smallSize);\r\n this.domNode.setHeight(largeSize);\r\n this.domNode.setRight(0);\r\n this.domNode.setTop(0);\r\n };\r\n VerticalScrollbar.prototype.onDidScroll = function (e) {\r\n this._shouldRender = this._onElementScrollSize(e.scrollHeight) || this._shouldRender;\r\n this._shouldRender = this._onElementScrollPosition(e.scrollTop) || this._shouldRender;\r\n this._shouldRender = this._onElementSize(e.height) || this._shouldRender;\r\n return this._shouldRender;\r\n };\r\n VerticalScrollbar.prototype._mouseDownRelativePosition = function (offsetX, offsetY) {\r\n return offsetY;\r\n };\r\n VerticalScrollbar.prototype._sliderMousePosition = function (e) {\r\n return e.posy;\r\n };\r\n VerticalScrollbar.prototype._sliderOrthogonalMousePosition = function (e) {\r\n return e.posx;\r\n };\r\n VerticalScrollbar.prototype.writeScrollPosition = function (target, scrollPosition) {\r\n target.scrollTop = scrollPosition;\r\n };\r\n return VerticalScrollbar;\r\n}(abstractScrollbar_AbstractScrollbar));\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/event.js\nvar common_event = __webpack_require__(\"MI8n\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\nvar common_scrollable = __webpack_require__(\"QuOb\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar scrollableElement_extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar HIDE_TIMEOUT = 500;\r\nvar SCROLL_WHEEL_SENSITIVITY = 50;\r\nvar SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED = true;\r\nvar MouseWheelClassifierItem = /** @class */ (function () {\r\n function MouseWheelClassifierItem(timestamp, deltaX, deltaY) {\r\n this.timestamp = timestamp;\r\n this.deltaX = deltaX;\r\n this.deltaY = deltaY;\r\n this.score = 0;\r\n }\r\n return MouseWheelClassifierItem;\r\n}());\r\nvar MouseWheelClassifier = /** @class */ (function () {\r\n function MouseWheelClassifier() {\r\n this._capacity = 5;\r\n this._memory = [];\r\n this._front = -1;\r\n this._rear = -1;\r\n }\r\n MouseWheelClassifier.prototype.isPhysicalMouseWheel = function () {\r\n if (this._front === -1 && this._rear === -1) {\r\n // no elements\r\n return false;\r\n }\r\n // 0.5 * last + 0.25 * 2nd last + 0.125 * 3rd last + ...\r\n var remainingInfluence = 1;\r\n var score = 0;\r\n var iteration = 1;\r\n var index = this._rear;\r\n do {\r\n var influence = (index === this._front ? remainingInfluence : Math.pow(2, -iteration));\r\n remainingInfluence -= influence;\r\n score += this._memory[index].score * influence;\r\n if (index === this._front) {\r\n break;\r\n }\r\n index = (this._capacity + index - 1) % this._capacity;\r\n iteration++;\r\n } while (true);\r\n return (score <= 0.5);\r\n };\r\n MouseWheelClassifier.prototype.accept = function (timestamp, deltaX, deltaY) {\r\n var item = new MouseWheelClassifierItem(timestamp, deltaX, deltaY);\r\n item.score = this._computeScore(item);\r\n if (this._front === -1 && this._rear === -1) {\r\n this._memory[0] = item;\r\n this._front = 0;\r\n this._rear = 0;\r\n }\r\n else {\r\n this._rear = (this._rear + 1) % this._capacity;\r\n if (this._rear === this._front) {\r\n // Drop oldest\r\n this._front = (this._front + 1) % this._capacity;\r\n }\r\n this._memory[this._rear] = item;\r\n }\r\n };\r\n /**\r\n * A score between 0 and 1 for `item`.\r\n * - a score towards 0 indicates that the source appears to be a physical mouse wheel\r\n * - a score towards 1 indicates that the source appears to be a touchpad or magic mouse, etc.\r\n */\r\n MouseWheelClassifier.prototype._computeScore = function (item) {\r\n if (Math.abs(item.deltaX) > 0 && Math.abs(item.deltaY) > 0) {\r\n // both axes exercised => definitely not a physical mouse wheel\r\n return 1;\r\n }\r\n var score = 0.5;\r\n var prev = (this._front === -1 && this._rear === -1 ? null : this._memory[this._rear]);\r\n if (prev) {\r\n // const deltaT = item.timestamp - prev.timestamp;\r\n // if (deltaT < 1000 / 30) {\r\n // \t// sooner than X times per second => indicator that this is not a physical mouse wheel\r\n // \tscore += 0.25;\r\n // }\r\n // if (item.deltaX === prev.deltaX && item.deltaY === prev.deltaY) {\r\n // \t// equal amplitude => indicator that this is a physical mouse wheel\r\n // \tscore -= 0.25;\r\n // }\r\n }\r\n if (Math.abs(item.deltaX - Math.round(item.deltaX)) > 0 || Math.abs(item.deltaY - Math.round(item.deltaY)) > 0) {\r\n // non-integer deltas => indicator that this is not a physical mouse wheel\r\n score += 0.25;\r\n }\r\n return Math.min(Math.max(score, 0), 1);\r\n };\r\n MouseWheelClassifier.INSTANCE = new MouseWheelClassifier();\r\n return MouseWheelClassifier;\r\n}());\r\n\r\nvar scrollableElement_AbstractScrollableElement = /** @class */ (function (_super) {\r\n scrollableElement_extends(AbstractScrollableElement, _super);\r\n function AbstractScrollableElement(element, options, scrollable) {\r\n var _this = _super.call(this) || this;\r\n _this._onScroll = _this._register(new common_event[\"a\" /* Emitter */]());\r\n _this.onScroll = _this._onScroll.event;\r\n element.style.overflow = 'hidden';\r\n _this._options = resolveOptions(options);\r\n _this._scrollable = scrollable;\r\n _this._register(_this._scrollable.onScroll(function (e) {\r\n _this._onDidScroll(e);\r\n _this._onScroll.fire(e);\r\n }));\r\n var scrollbarHost = {\r\n onMouseWheel: function (mouseWheelEvent) { return _this._onMouseWheel(mouseWheelEvent); },\r\n onDragStart: function () { return _this._onDragStart(); },\r\n onDragEnd: function () { return _this._onDragEnd(); },\r\n };\r\n _this._verticalScrollbar = _this._register(new verticalScrollbar_VerticalScrollbar(_this._scrollable, _this._options, scrollbarHost));\r\n _this._horizontalScrollbar = _this._register(new horizontalScrollbar_HorizontalScrollbar(_this._scrollable, _this._options, scrollbarHost));\r\n _this._domNode = document.createElement('div');\r\n _this._domNode.className = 'monaco-scrollable-element ' + _this._options.className;\r\n _this._domNode.setAttribute('role', 'presentation');\r\n _this._domNode.style.position = 'relative';\r\n _this._domNode.style.overflow = 'hidden';\r\n _this._domNode.appendChild(element);\r\n _this._domNode.appendChild(_this._horizontalScrollbar.domNode.domNode);\r\n _this._domNode.appendChild(_this._verticalScrollbar.domNode.domNode);\r\n if (_this._options.useShadows) {\r\n _this._leftShadowDomNode = Object(fastDomNode[\"b\" /* createFastDomNode */])(document.createElement('div'));\r\n _this._leftShadowDomNode.setClassName('shadow');\r\n _this._domNode.appendChild(_this._leftShadowDomNode.domNode);\r\n _this._topShadowDomNode = Object(fastDomNode[\"b\" /* createFastDomNode */])(document.createElement('div'));\r\n _this._topShadowDomNode.setClassName('shadow');\r\n _this._domNode.appendChild(_this._topShadowDomNode.domNode);\r\n _this._topLeftShadowDomNode = Object(fastDomNode[\"b\" /* createFastDomNode */])(document.createElement('div'));\r\n _this._topLeftShadowDomNode.setClassName('shadow top-left-corner');\r\n _this._domNode.appendChild(_this._topLeftShadowDomNode.domNode);\r\n }\r\n else {\r\n _this._leftShadowDomNode = null;\r\n _this._topShadowDomNode = null;\r\n _this._topLeftShadowDomNode = null;\r\n }\r\n _this._listenOnDomNode = _this._options.listenOnDomNode || _this._domNode;\r\n _this._mouseWheelToDispose = [];\r\n _this._setListeningToMouseWheel(_this._options.handleMouseWheel);\r\n _this.onmouseover(_this._listenOnDomNode, function (e) { return _this._onMouseOver(e); });\r\n _this.onnonbubblingmouseout(_this._listenOnDomNode, function (e) { return _this._onMouseOut(e); });\r\n _this._hideTimeout = _this._register(new common_async[\"e\" /* TimeoutTimer */]());\r\n _this._isDragging = false;\r\n _this._mouseIsOver = false;\r\n _this._shouldRender = true;\r\n _this._revealOnScroll = true;\r\n return _this;\r\n }\r\n AbstractScrollableElement.prototype.dispose = function () {\r\n this._mouseWheelToDispose = Object(lifecycle[\"f\" /* dispose */])(this._mouseWheelToDispose);\r\n _super.prototype.dispose.call(this);\r\n };\r\n /**\r\n * Get the generated 'scrollable' dom node\r\n */\r\n AbstractScrollableElement.prototype.getDomNode = function () {\r\n return this._domNode;\r\n };\r\n AbstractScrollableElement.prototype.getOverviewRulerLayoutInfo = function () {\r\n return {\r\n parent: this._domNode,\r\n insertBefore: this._verticalScrollbar.domNode.domNode,\r\n };\r\n };\r\n /**\r\n * Delegate a mouse down event to the vertical scrollbar.\r\n * This is to help with clicking somewhere else and having the scrollbar react.\r\n */\r\n AbstractScrollableElement.prototype.delegateVerticalScrollbarMouseDown = function (browserEvent) {\r\n this._verticalScrollbar.delegateMouseDown(browserEvent);\r\n };\r\n AbstractScrollableElement.prototype.getScrollDimensions = function () {\r\n return this._scrollable.getScrollDimensions();\r\n };\r\n AbstractScrollableElement.prototype.setScrollDimensions = function (dimensions) {\r\n this._scrollable.setScrollDimensions(dimensions);\r\n };\r\n /**\r\n * Update the class name of the scrollable element.\r\n */\r\n AbstractScrollableElement.prototype.updateClassName = function (newClassName) {\r\n this._options.className = newClassName;\r\n // Defaults are different on Macs\r\n if (platform[\"e\" /* isMacintosh */]) {\r\n this._options.className += ' mac';\r\n }\r\n this._domNode.className = 'monaco-scrollable-element ' + this._options.className;\r\n };\r\n /**\r\n * Update configuration options for the scrollbar.\r\n * Really this is Editor.IEditorScrollbarOptions, but base shouldn't\r\n * depend on Editor.\r\n */\r\n AbstractScrollableElement.prototype.updateOptions = function (newOptions) {\r\n var massagedOptions = resolveOptions(newOptions);\r\n this._options.handleMouseWheel = massagedOptions.handleMouseWheel;\r\n this._options.mouseWheelScrollSensitivity = massagedOptions.mouseWheelScrollSensitivity;\r\n this._options.fastScrollSensitivity = massagedOptions.fastScrollSensitivity;\r\n this._setListeningToMouseWheel(this._options.handleMouseWheel);\r\n if (!this._options.lazyRender) {\r\n this._render();\r\n }\r\n };\r\n // -------------------- mouse wheel scrolling --------------------\r\n AbstractScrollableElement.prototype._setListeningToMouseWheel = function (shouldListen) {\r\n var _this = this;\r\n var isListening = (this._mouseWheelToDispose.length > 0);\r\n if (isListening === shouldListen) {\r\n // No change\r\n return;\r\n }\r\n // Stop listening (if necessary)\r\n this._mouseWheelToDispose = Object(lifecycle[\"f\" /* dispose */])(this._mouseWheelToDispose);\r\n // Start listening (if necessary)\r\n if (shouldListen) {\r\n var onMouseWheel = function (browserEvent) {\r\n _this._onMouseWheel(new mouseEvent[\"b\" /* StandardWheelEvent */](browserEvent));\r\n };\r\n this._mouseWheelToDispose.push(dom[\"i\" /* addDisposableListener */](this._listenOnDomNode, browser[\"f\" /* isEdgeOrIE */] ? 'mousewheel' : 'wheel', onMouseWheel, { passive: false }));\r\n }\r\n };\r\n AbstractScrollableElement.prototype._onMouseWheel = function (e) {\r\n var _a;\r\n var classifier = MouseWheelClassifier.INSTANCE;\r\n if (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED) {\r\n classifier.accept(Date.now(), e.deltaX, e.deltaY);\r\n }\r\n // console.log(`${Date.now()}, ${e.deltaY}, ${e.deltaX}`);\r\n if (e.deltaY || e.deltaX) {\r\n var deltaY = e.deltaY * this._options.mouseWheelScrollSensitivity;\r\n var deltaX = e.deltaX * this._options.mouseWheelScrollSensitivity;\r\n if (this._options.flipAxes) {\r\n _a = [deltaX, deltaY], deltaY = _a[0], deltaX = _a[1];\r\n }\r\n // Convert vertical scrolling to horizontal if shift is held, this\r\n // is handled at a higher level on Mac\r\n var shiftConvert = !platform[\"e\" /* isMacintosh */] && e.browserEvent && e.browserEvent.shiftKey;\r\n if ((this._options.scrollYToX || shiftConvert) && !deltaX) {\r\n deltaX = deltaY;\r\n deltaY = 0;\r\n }\r\n if (e.browserEvent && e.browserEvent.altKey) {\r\n // fastScrolling\r\n deltaX = deltaX * this._options.fastScrollSensitivity;\r\n deltaY = deltaY * this._options.fastScrollSensitivity;\r\n }\r\n var futureScrollPosition = this._scrollable.getFutureScrollPosition();\r\n var desiredScrollPosition = {};\r\n if (deltaY) {\r\n var desiredScrollTop = futureScrollPosition.scrollTop - SCROLL_WHEEL_SENSITIVITY * deltaY;\r\n this._verticalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollTop);\r\n }\r\n if (deltaX) {\r\n var desiredScrollLeft = futureScrollPosition.scrollLeft - SCROLL_WHEEL_SENSITIVITY * deltaX;\r\n this._horizontalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollLeft);\r\n }\r\n // Check that we are scrolling towards a location which is valid\r\n desiredScrollPosition = this._scrollable.validateScrollPosition(desiredScrollPosition);\r\n if (futureScrollPosition.scrollLeft !== desiredScrollPosition.scrollLeft || futureScrollPosition.scrollTop !== desiredScrollPosition.scrollTop) {\r\n var canPerformSmoothScroll = (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED\r\n && this._options.mouseWheelSmoothScroll\r\n && classifier.isPhysicalMouseWheel());\r\n if (canPerformSmoothScroll) {\r\n this._scrollable.setScrollPositionSmooth(desiredScrollPosition);\r\n }\r\n else {\r\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\r\n }\r\n this._shouldRender = true;\r\n }\r\n }\r\n if (this._options.alwaysConsumeMouseWheel || this._shouldRender) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n AbstractScrollableElement.prototype._onDidScroll = function (e) {\r\n this._shouldRender = this._horizontalScrollbar.onDidScroll(e) || this._shouldRender;\r\n this._shouldRender = this._verticalScrollbar.onDidScroll(e) || this._shouldRender;\r\n if (this._options.useShadows) {\r\n this._shouldRender = true;\r\n }\r\n if (this._revealOnScroll) {\r\n this._reveal();\r\n }\r\n if (!this._options.lazyRender) {\r\n this._render();\r\n }\r\n };\r\n /**\r\n * Render / mutate the DOM now.\r\n * Should be used together with the ctor option `lazyRender`.\r\n */\r\n AbstractScrollableElement.prototype.renderNow = function () {\r\n if (!this._options.lazyRender) {\r\n throw new Error('Please use `lazyRender` together with `renderNow`!');\r\n }\r\n this._render();\r\n };\r\n AbstractScrollableElement.prototype._render = function () {\r\n if (!this._shouldRender) {\r\n return;\r\n }\r\n this._shouldRender = false;\r\n this._horizontalScrollbar.render();\r\n this._verticalScrollbar.render();\r\n if (this._options.useShadows) {\r\n var scrollState = this._scrollable.getCurrentScrollPosition();\r\n var enableTop = scrollState.scrollTop > 0;\r\n var enableLeft = scrollState.scrollLeft > 0;\r\n this._leftShadowDomNode.setClassName('shadow' + (enableLeft ? ' left' : ''));\r\n this._topShadowDomNode.setClassName('shadow' + (enableTop ? ' top' : ''));\r\n this._topLeftShadowDomNode.setClassName('shadow top-left-corner' + (enableTop ? ' top' : '') + (enableLeft ? ' left' : ''));\r\n }\r\n };\r\n // -------------------- fade in / fade out --------------------\r\n AbstractScrollableElement.prototype._onDragStart = function () {\r\n this._isDragging = true;\r\n this._reveal();\r\n };\r\n AbstractScrollableElement.prototype._onDragEnd = function () {\r\n this._isDragging = false;\r\n this._hide();\r\n };\r\n AbstractScrollableElement.prototype._onMouseOut = function (e) {\r\n this._mouseIsOver = false;\r\n this._hide();\r\n };\r\n AbstractScrollableElement.prototype._onMouseOver = function (e) {\r\n this._mouseIsOver = true;\r\n this._reveal();\r\n };\r\n AbstractScrollableElement.prototype._reveal = function () {\r\n this._verticalScrollbar.beginReveal();\r\n this._horizontalScrollbar.beginReveal();\r\n this._scheduleHide();\r\n };\r\n AbstractScrollableElement.prototype._hide = function () {\r\n if (!this._mouseIsOver && !this._isDragging) {\r\n this._verticalScrollbar.beginHide();\r\n this._horizontalScrollbar.beginHide();\r\n }\r\n };\r\n AbstractScrollableElement.prototype._scheduleHide = function () {\r\n var _this = this;\r\n if (!this._mouseIsOver && !this._isDragging) {\r\n this._hideTimeout.cancelAndSet(function () { return _this._hide(); }, HIDE_TIMEOUT);\r\n }\r\n };\r\n return AbstractScrollableElement;\r\n}(widget[\"a\" /* Widget */]));\r\n\r\nvar scrollableElement_ScrollableElement = /** @class */ (function (_super) {\r\n scrollableElement_extends(ScrollableElement, _super);\r\n function ScrollableElement(element, options) {\r\n var _this = this;\r\n options = options || {};\r\n options.mouseWheelSmoothScroll = false;\r\n var scrollable = new common_scrollable[\"a\" /* Scrollable */](0, function (callback) { return dom[\"V\" /* scheduleAtNextAnimationFrame */](callback); });\r\n _this = _super.call(this, element, options, scrollable) || this;\r\n _this._register(scrollable);\r\n return _this;\r\n }\r\n ScrollableElement.prototype.setScrollPosition = function (update) {\r\n this._scrollable.setScrollPositionNow(update);\r\n };\r\n ScrollableElement.prototype.getScrollPosition = function () {\r\n return this._scrollable.getCurrentScrollPosition();\r\n };\r\n return ScrollableElement;\r\n}(scrollableElement_AbstractScrollableElement));\r\n\r\nvar SmoothScrollableElement = /** @class */ (function (_super) {\r\n scrollableElement_extends(SmoothScrollableElement, _super);\r\n function SmoothScrollableElement(element, options, scrollable) {\r\n return _super.call(this, element, options, scrollable) || this;\r\n }\r\n return SmoothScrollableElement;\r\n}(scrollableElement_AbstractScrollableElement));\r\n\r\nvar DomScrollableElement = /** @class */ (function (_super) {\r\n scrollableElement_extends(DomScrollableElement, _super);\r\n function DomScrollableElement(element, options) {\r\n var _this = _super.call(this, element, options) || this;\r\n _this._element = element;\r\n _this.onScroll(function (e) {\r\n if (e.scrollTopChanged) {\r\n _this._element.scrollTop = e.scrollTop;\r\n }\r\n if (e.scrollLeftChanged) {\r\n _this._element.scrollLeft = e.scrollLeft;\r\n }\r\n });\r\n _this.scanDomNode();\r\n return _this;\r\n }\r\n DomScrollableElement.prototype.scanDomNode = function () {\r\n // width, scrollLeft, scrollWidth, height, scrollTop, scrollHeight\r\n this.setScrollDimensions({\r\n width: this._element.clientWidth,\r\n scrollWidth: this._element.scrollWidth,\r\n height: this._element.clientHeight,\r\n scrollHeight: this._element.scrollHeight\r\n });\r\n this.setScrollPosition({\r\n scrollLeft: this._element.scrollLeft,\r\n scrollTop: this._element.scrollTop,\r\n });\r\n };\r\n return DomScrollableElement;\r\n}(scrollableElement_ScrollableElement));\r\n\r\nfunction resolveOptions(opts) {\r\n var result = {\r\n lazyRender: (typeof opts.lazyRender !== 'undefined' ? opts.lazyRender : false),\r\n className: (typeof opts.className !== 'undefined' ? opts.className : ''),\r\n useShadows: (typeof opts.useShadows !== 'undefined' ? opts.useShadows : true),\r\n handleMouseWheel: (typeof opts.handleMouseWheel !== 'undefined' ? opts.handleMouseWheel : true),\r\n flipAxes: (typeof opts.flipAxes !== 'undefined' ? opts.flipAxes : false),\r\n alwaysConsumeMouseWheel: (typeof opts.alwaysConsumeMouseWheel !== 'undefined' ? opts.alwaysConsumeMouseWheel : false),\r\n scrollYToX: (typeof opts.scrollYToX !== 'undefined' ? opts.scrollYToX : false),\r\n mouseWheelScrollSensitivity: (typeof opts.mouseWheelScrollSensitivity !== 'undefined' ? opts.mouseWheelScrollSensitivity : 1),\r\n fastScrollSensitivity: (typeof opts.fastScrollSensitivity !== 'undefined' ? opts.fastScrollSensitivity : 5),\r\n mouseWheelSmoothScroll: (typeof opts.mouseWheelSmoothScroll !== 'undefined' ? opts.mouseWheelSmoothScroll : true),\r\n arrowSize: (typeof opts.arrowSize !== 'undefined' ? opts.arrowSize : 11),\r\n listenOnDomNode: (typeof opts.listenOnDomNode !== 'undefined' ? opts.listenOnDomNode : null),\r\n horizontal: (typeof opts.horizontal !== 'undefined' ? opts.horizontal : 1 /* Auto */),\r\n horizontalScrollbarSize: (typeof opts.horizontalScrollbarSize !== 'undefined' ? opts.horizontalScrollbarSize : 10),\r\n horizontalSliderSize: (typeof opts.horizontalSliderSize !== 'undefined' ? opts.horizontalSliderSize : 0),\r\n horizontalHasArrows: (typeof opts.horizontalHasArrows !== 'undefined' ? opts.horizontalHasArrows : false),\r\n vertical: (typeof opts.vertical !== 'undefined' ? opts.vertical : 1 /* Auto */),\r\n verticalScrollbarSize: (typeof opts.verticalScrollbarSize !== 'undefined' ? opts.verticalScrollbarSize : 10),\r\n verticalHasArrows: (typeof opts.verticalHasArrows !== 'undefined' ? opts.verticalHasArrows : false),\r\n verticalSliderSize: (typeof opts.verticalSliderSize !== 'undefined' ? opts.verticalSliderSize : 0)\r\n };\r\n result.horizontalSliderSize = (typeof opts.horizontalSliderSize !== 'undefined' ? opts.horizontalSliderSize : result.horizontalScrollbarSize);\r\n result.verticalSliderSize = (typeof opts.verticalSliderSize !== 'undefined' ? opts.verticalSliderSize : result.verticalScrollbarSize);\r\n // Defaults are different on Macs\r\n if (platform[\"e\" /* isMacintosh */]) {\r\n result.className += ' mac';\r\n }\r\n return result;\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js_+_6_modules?")},GMDS:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar Scale = __webpack_require__("4NgU");\n\nvar OrdinalMeta = __webpack_require__("jkPA");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 * @module echarts/coord/scale/Ordinal\n *\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\nvar scaleProto = Scale.prototype;\nvar OrdinalScale = Scale.extend({\n type: \'ordinal\',\n\n /**\n * @param {module:echarts/data/OrdianlMeta|Array.} ordinalMeta\n */\n init: function (ordinalMeta, extent) {\n // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n if (!ordinalMeta || zrUtil.isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: ordinalMeta\n });\n }\n\n this._ordinalMeta = ordinalMeta;\n this._extent = extent || [0, ordinalMeta.categories.length - 1];\n },\n parse: function (val) {\n return typeof val === \'string\' ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n },\n contain: function (rank) {\n rank = this.parse(rank);\n return scaleProto.contain.call(this, rank) && this._ordinalMeta.categories[rank] != null;\n },\n\n /**\n * Normalize given rank or name to linear [0, 1]\n * @param {number|string} [val]\n * @return {number}\n */\n normalize: function (val) {\n return scaleProto.normalize.call(this, this.parse(val));\n },\n scale: function (val) {\n return Math.round(scaleProto.scale.call(this, val));\n },\n\n /**\n * @return {Array}\n */\n getTicks: function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push(rank);\n rank++;\n }\n\n return ticks;\n },\n\n /**\n * Get item on rank n\n * @param {number} n\n * @return {string}\n */\n getLabel: function (n) {\n if (!this.isBlank()) {\n // Note that if no data, ordinalMeta.categories is an empty array.\n return this._ordinalMeta.categories[n];\n }\n },\n\n /**\n * @return {number}\n */\n count: function () {\n return this._extent[1] - this._extent[0] + 1;\n },\n\n /**\n * @override\n */\n unionExtentFromData: function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n },\n getOrdinalMeta: function () {\n return this._ordinalMeta;\n },\n niceTicks: zrUtil.noop,\n niceExtent: zrUtil.noop\n});\n/**\n * @return {module:echarts/scale/Time}\n */\n\nOrdinalScale.create = function () {\n return new OrdinalScale();\n};\n\nvar _default = OrdinalScale;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Ordinal.js?')},"GR/f":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ cursorTypeOperations_TypeOperations; });\n__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ cursorTypeOperations_TypeWithAutoClosingCommand; });\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/errors.js\nvar errors = __webpack_require__("/cxE");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/strings.js\nvar strings = __webpack_require__("N0LK");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.js\nvar replaceCommand = __webpack_require__("LCkn");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorCommon.js\nvar cursorCommon = __webpack_require__("Ll0s");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\nvar core_range = __webpack_require__("aokT");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/selection.js\nvar core_selection = __webpack_require__("gCVg");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/languageConfigurationRegistry.js + 4 modules\nvar languageConfigurationRegistry = __webpack_require__("cMvZ");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/commands/shiftCommand.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\nvar repeatCache = Object.create(null);\r\nfunction cachedStringRepeat(str, count) {\r\n if (!repeatCache[str]) {\r\n repeatCache[str] = [\'\', str];\r\n }\r\n var cache = repeatCache[str];\r\n for (var i = cache.length; i <= count; i++) {\r\n cache[i] = cache[i - 1] + str;\r\n }\r\n return cache[count];\r\n}\r\nvar shiftCommand_ShiftCommand = /** @class */ (function () {\r\n function ShiftCommand(range, opts) {\r\n this._opts = opts;\r\n this._selection = range;\r\n this._selectionId = null;\r\n this._useLastEditRangeForCursorEndPosition = false;\r\n this._selectionStartColumnStaysPut = false;\r\n }\r\n ShiftCommand.unshiftIndent = function (line, column, tabSize, indentSize, insertSpaces) {\r\n // Determine the visible column where the content starts\r\n var contentStartVisibleColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn(line, column, tabSize);\r\n if (insertSpaces) {\r\n var indent = cachedStringRepeat(\' \', indentSize);\r\n var desiredTabStop = cursorCommon["a" /* CursorColumns */].prevIndentTabStop(contentStartVisibleColumn, indentSize);\r\n var indentCount = desiredTabStop / indentSize; // will be an integer\r\n return cachedStringRepeat(indent, indentCount);\r\n }\r\n else {\r\n var indent = \'\\t\';\r\n var desiredTabStop = cursorCommon["a" /* CursorColumns */].prevRenderTabStop(contentStartVisibleColumn, tabSize);\r\n var indentCount = desiredTabStop / tabSize; // will be an integer\r\n return cachedStringRepeat(indent, indentCount);\r\n }\r\n };\r\n ShiftCommand.shiftIndent = function (line, column, tabSize, indentSize, insertSpaces) {\r\n // Determine the visible column where the content starts\r\n var contentStartVisibleColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn(line, column, tabSize);\r\n if (insertSpaces) {\r\n var indent = cachedStringRepeat(\' \', indentSize);\r\n var desiredTabStop = cursorCommon["a" /* CursorColumns */].nextIndentTabStop(contentStartVisibleColumn, indentSize);\r\n var indentCount = desiredTabStop / indentSize; // will be an integer\r\n return cachedStringRepeat(indent, indentCount);\r\n }\r\n else {\r\n var indent = \'\\t\';\r\n var desiredTabStop = cursorCommon["a" /* CursorColumns */].nextRenderTabStop(contentStartVisibleColumn, tabSize);\r\n var indentCount = desiredTabStop / tabSize; // will be an integer\r\n return cachedStringRepeat(indent, indentCount);\r\n }\r\n };\r\n ShiftCommand.prototype._addEditOperation = function (builder, range, text) {\r\n if (this._useLastEditRangeForCursorEndPosition) {\r\n builder.addTrackedEditOperation(range, text);\r\n }\r\n else {\r\n builder.addEditOperation(range, text);\r\n }\r\n };\r\n ShiftCommand.prototype.getEditOperations = function (model, builder) {\r\n var startLine = this._selection.startLineNumber;\r\n var endLine = this._selection.endLineNumber;\r\n if (this._selection.endColumn === 1 && startLine !== endLine) {\r\n endLine = endLine - 1;\r\n }\r\n var _a = this._opts, tabSize = _a.tabSize, indentSize = _a.indentSize, insertSpaces = _a.insertSpaces;\r\n var shouldIndentEmptyLines = (startLine === endLine);\r\n // if indenting or outdenting on a whitespace only line\r\n if (this._selection.isEmpty()) {\r\n if (/^\\s*$/.test(model.getLineContent(startLine))) {\r\n this._useLastEditRangeForCursorEndPosition = true;\r\n }\r\n }\r\n if (this._opts.useTabStops) {\r\n // keep track of previous line\'s "miss-alignment"\r\n var previousLineExtraSpaces = 0, extraSpaces = 0;\r\n for (var lineNumber = startLine; lineNumber <= endLine; lineNumber++, previousLineExtraSpaces = extraSpaces) {\r\n extraSpaces = 0;\r\n var lineText = model.getLineContent(lineNumber);\r\n var indentationEndIndex = strings["q" /* firstNonWhitespaceIndex */](lineText);\r\n if (this._opts.isUnshift && (lineText.length === 0 || indentationEndIndex === 0)) {\r\n // empty line or line with no leading whitespace => nothing to do\r\n continue;\r\n }\r\n if (!shouldIndentEmptyLines && !this._opts.isUnshift && lineText.length === 0) {\r\n // do not indent empty lines => nothing to do\r\n continue;\r\n }\r\n if (indentationEndIndex === -1) {\r\n // the entire line is whitespace\r\n indentationEndIndex = lineText.length;\r\n }\r\n if (lineNumber > 1) {\r\n var contentStartVisibleColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn(lineText, indentationEndIndex + 1, tabSize);\r\n if (contentStartVisibleColumn % indentSize !== 0) {\r\n // The current line is "miss-aligned", so let\'s see if this is expected...\r\n // This can only happen when it has trailing commas in the indent\r\n if (model.isCheapToTokenize(lineNumber - 1)) {\r\n var enterAction = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getEnterAction(this._opts.autoIndent, model, new core_range["a" /* Range */](lineNumber - 1, model.getLineMaxColumn(lineNumber - 1), lineNumber - 1, model.getLineMaxColumn(lineNumber - 1)));\r\n if (enterAction) {\r\n extraSpaces = previousLineExtraSpaces;\r\n if (enterAction.appendText) {\r\n for (var j = 0, lenJ = enterAction.appendText.length; j < lenJ && extraSpaces < indentSize; j++) {\r\n if (enterAction.appendText.charCodeAt(j) === 32 /* Space */) {\r\n extraSpaces++;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n if (enterAction.removeText) {\r\n extraSpaces = Math.max(0, extraSpaces - enterAction.removeText);\r\n }\r\n // Act as if `prefixSpaces` is not part of the indentation\r\n for (var j = 0; j < extraSpaces; j++) {\r\n if (indentationEndIndex === 0 || lineText.charCodeAt(indentationEndIndex - 1) !== 32 /* Space */) {\r\n break;\r\n }\r\n indentationEndIndex--;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (this._opts.isUnshift && indentationEndIndex === 0) {\r\n // line with no leading whitespace => nothing to do\r\n continue;\r\n }\r\n var desiredIndent = void 0;\r\n if (this._opts.isUnshift) {\r\n desiredIndent = ShiftCommand.unshiftIndent(lineText, indentationEndIndex + 1, tabSize, indentSize, insertSpaces);\r\n }\r\n else {\r\n desiredIndent = ShiftCommand.shiftIndent(lineText, indentationEndIndex + 1, tabSize, indentSize, insertSpaces);\r\n }\r\n this._addEditOperation(builder, new core_range["a" /* Range */](lineNumber, 1, lineNumber, indentationEndIndex + 1), desiredIndent);\r\n if (lineNumber === startLine && !this._selection.isEmpty()) {\r\n // Force the startColumn to stay put because we\'re inserting after it\r\n this._selectionStartColumnStaysPut = (this._selection.startColumn <= indentationEndIndex + 1);\r\n }\r\n }\r\n }\r\n else {\r\n var oneIndent = (insertSpaces ? cachedStringRepeat(\' \', indentSize) : \'\\t\');\r\n for (var lineNumber = startLine; lineNumber <= endLine; lineNumber++) {\r\n var lineText = model.getLineContent(lineNumber);\r\n var indentationEndIndex = strings["q" /* firstNonWhitespaceIndex */](lineText);\r\n if (this._opts.isUnshift && (lineText.length === 0 || indentationEndIndex === 0)) {\r\n // empty line or line with no leading whitespace => nothing to do\r\n continue;\r\n }\r\n if (!shouldIndentEmptyLines && !this._opts.isUnshift && lineText.length === 0) {\r\n // do not indent empty lines => nothing to do\r\n continue;\r\n }\r\n if (indentationEndIndex === -1) {\r\n // the entire line is whitespace\r\n indentationEndIndex = lineText.length;\r\n }\r\n if (this._opts.isUnshift && indentationEndIndex === 0) {\r\n // line with no leading whitespace => nothing to do\r\n continue;\r\n }\r\n if (this._opts.isUnshift) {\r\n indentationEndIndex = Math.min(indentationEndIndex, indentSize);\r\n for (var i = 0; i < indentationEndIndex; i++) {\r\n var chr = lineText.charCodeAt(i);\r\n if (chr === 9 /* Tab */) {\r\n indentationEndIndex = i + 1;\r\n break;\r\n }\r\n }\r\n this._addEditOperation(builder, new core_range["a" /* Range */](lineNumber, 1, lineNumber, indentationEndIndex + 1), \'\');\r\n }\r\n else {\r\n this._addEditOperation(builder, new core_range["a" /* Range */](lineNumber, 1, lineNumber, 1), oneIndent);\r\n if (lineNumber === startLine && !this._selection.isEmpty()) {\r\n // Force the startColumn to stay put because we\'re inserting after it\r\n this._selectionStartColumnStaysPut = (this._selection.startColumn === 1);\r\n }\r\n }\r\n }\r\n }\r\n this._selectionId = builder.trackSelection(this._selection);\r\n };\r\n ShiftCommand.prototype.computeCursorState = function (model, helper) {\r\n if (this._useLastEditRangeForCursorEndPosition) {\r\n var lastOp = helper.getInverseEditOperations()[0];\r\n return new core_selection["a" /* Selection */](lastOp.range.endLineNumber, lastOp.range.endColumn, lastOp.range.endLineNumber, lastOp.range.endColumn);\r\n }\r\n var result = helper.getTrackedSelection(this._selectionId);\r\n if (this._selectionStartColumnStaysPut) {\r\n // The selection start should not move\r\n var initialStartColumn = this._selection.startColumn;\r\n var resultStartColumn = result.startColumn;\r\n if (resultStartColumn <= initialStartColumn) {\r\n return result;\r\n }\r\n if (result.getDirection() === 0 /* LTR */) {\r\n return new core_selection["a" /* Selection */](result.startLineNumber, initialStartColumn, result.endLineNumber, result.endColumn);\r\n }\r\n return new core_selection["a" /* Selection */](result.endLineNumber, result.endColumn, result.startLineNumber, initialStartColumn);\r\n }\r\n return result;\r\n };\r\n return ShiftCommand;\r\n}());\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/commands/surroundSelectionCommand.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nvar surroundSelectionCommand_SurroundSelectionCommand = /** @class */ (function () {\r\n function SurroundSelectionCommand(range, charBeforeSelection, charAfterSelection) {\r\n this._range = range;\r\n this._charBeforeSelection = charBeforeSelection;\r\n this._charAfterSelection = charAfterSelection;\r\n }\r\n SurroundSelectionCommand.prototype.getEditOperations = function (model, builder) {\r\n builder.addTrackedEditOperation(new core_range["a" /* Range */](this._range.startLineNumber, this._range.startColumn, this._range.startLineNumber, this._range.startColumn), this._charBeforeSelection);\r\n builder.addTrackedEditOperation(new core_range["a" /* Range */](this._range.endLineNumber, this._range.endColumn, this._range.endLineNumber, this._range.endColumn), this._charAfterSelection);\r\n };\r\n SurroundSelectionCommand.prototype.computeCursorState = function (model, helper) {\r\n var inverseEditOperations = helper.getInverseEditOperations();\r\n var firstOperationRange = inverseEditOperations[0].range;\r\n var secondOperationRange = inverseEditOperations[1].range;\r\n return new core_selection["a" /* Selection */](firstOperationRange.endLineNumber, firstOperationRange.endColumn, secondOperationRange.endLineNumber, secondOperationRange.endColumn - this._charAfterSelection.length);\r\n };\r\n return SurroundSelectionCommand;\r\n}());\r\n\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/wordCharacterClassifier.js\nvar wordCharacterClassifier = __webpack_require__("5v8Y");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/modes/languageConfiguration.js\nvar languageConfiguration = __webpack_require__("KDc4");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorTypeOperations.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar cursorTypeOperations_TypeOperations = /** @class */ (function () {\r\n function TypeOperations() {\r\n }\r\n TypeOperations.indent = function (config, model, selections) {\r\n if (model === null || selections === null) {\r\n return [];\r\n }\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands[i] = new shiftCommand_ShiftCommand(selections[i], {\r\n isUnshift: false,\r\n tabSize: config.tabSize,\r\n indentSize: config.indentSize,\r\n insertSpaces: config.insertSpaces,\r\n useTabStops: config.useTabStops,\r\n autoIndent: config.autoIndent\r\n });\r\n }\r\n return commands;\r\n };\r\n TypeOperations.outdent = function (config, model, selections) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands[i] = new shiftCommand_ShiftCommand(selections[i], {\r\n isUnshift: true,\r\n tabSize: config.tabSize,\r\n indentSize: config.indentSize,\r\n insertSpaces: config.insertSpaces,\r\n useTabStops: config.useTabStops,\r\n autoIndent: config.autoIndent\r\n });\r\n }\r\n return commands;\r\n };\r\n TypeOperations.shiftIndent = function (config, indentation, count) {\r\n count = count || 1;\r\n return shiftCommand_ShiftCommand.shiftIndent(indentation, indentation.length + count, config.tabSize, config.indentSize, config.insertSpaces);\r\n };\r\n TypeOperations.unshiftIndent = function (config, indentation, count) {\r\n count = count || 1;\r\n return shiftCommand_ShiftCommand.unshiftIndent(indentation, indentation.length + count, config.tabSize, config.indentSize, config.insertSpaces);\r\n };\r\n TypeOperations._distributedPaste = function (config, model, selections, text) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](selections[i], text[i]);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](0 /* Other */, commands, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: true\r\n });\r\n };\r\n TypeOperations._simplePaste = function (config, model, selections, text, pasteOnNewLine) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n var position = selection.getPosition();\r\n if (pasteOnNewLine && !selection.isEmpty()) {\r\n pasteOnNewLine = false;\r\n }\r\n if (pasteOnNewLine && text.indexOf(\'\\n\') !== text.length - 1) {\r\n pasteOnNewLine = false;\r\n }\r\n if (pasteOnNewLine) {\r\n // Paste entire line at the beginning of line\r\n var typeSelection = new core_range["a" /* Range */](position.lineNumber, 1, position.lineNumber, 1);\r\n commands[i] = new replaceCommand["b" /* ReplaceCommandThatPreservesSelection */](typeSelection, text, selection, true);\r\n }\r\n else {\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](selection, text);\r\n }\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](0 /* Other */, commands, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: true\r\n });\r\n };\r\n TypeOperations._distributePasteToCursors = function (config, selections, text, pasteOnNewLine, multicursorText) {\r\n if (pasteOnNewLine) {\r\n return null;\r\n }\r\n if (selections.length === 1) {\r\n return null;\r\n }\r\n if (multicursorText && multicursorText.length === selections.length) {\r\n return multicursorText;\r\n }\r\n if (config.multiCursorPaste === \'spread\') {\r\n // Try to spread the pasted text in case the line count matches the cursor count\r\n // Remove trailing \\n if present\r\n if (text.charCodeAt(text.length - 1) === 10 /* LineFeed */) {\r\n text = text.substr(0, text.length - 1);\r\n }\r\n // Remove trailing \\r if present\r\n if (text.charCodeAt(text.length - 1) === 13 /* CarriageReturn */) {\r\n text = text.substr(0, text.length - 1);\r\n }\r\n var lines = text.split(/\\r\\n|\\r|\\n/);\r\n if (lines.length === selections.length) {\r\n return lines;\r\n }\r\n }\r\n return null;\r\n };\r\n TypeOperations.paste = function (config, model, selections, text, pasteOnNewLine, multicursorText) {\r\n var distributedPaste = this._distributePasteToCursors(config, selections, text, pasteOnNewLine, multicursorText);\r\n if (distributedPaste) {\r\n selections = selections.sort(core_range["a" /* Range */].compareRangesUsingStarts);\r\n return this._distributedPaste(config, model, selections, distributedPaste);\r\n }\r\n else {\r\n return this._simplePaste(config, model, selections, text, pasteOnNewLine);\r\n }\r\n };\r\n TypeOperations._goodIndentForLine = function (config, model, lineNumber) {\r\n var action = null;\r\n var indentation = \'\';\r\n var expectedIndentAction = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getInheritIndentForLine(config.autoIndent, model, lineNumber, false);\r\n if (expectedIndentAction) {\r\n action = expectedIndentAction.action;\r\n indentation = expectedIndentAction.indentation;\r\n }\r\n else if (lineNumber > 1) {\r\n var lastLineNumber = void 0;\r\n for (lastLineNumber = lineNumber - 1; lastLineNumber >= 1; lastLineNumber--) {\r\n var lineText = model.getLineContent(lastLineNumber);\r\n var nonWhitespaceIdx = strings["D" /* lastNonWhitespaceIndex */](lineText);\r\n if (nonWhitespaceIdx >= 0) {\r\n break;\r\n }\r\n }\r\n if (lastLineNumber < 1) {\r\n // No previous line with content found\r\n return null;\r\n }\r\n var maxColumn = model.getLineMaxColumn(lastLineNumber);\r\n var expectedEnterAction = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getEnterAction(config.autoIndent, model, new core_range["a" /* Range */](lastLineNumber, maxColumn, lastLineNumber, maxColumn));\r\n if (expectedEnterAction) {\r\n indentation = expectedEnterAction.indentation + expectedEnterAction.appendText;\r\n }\r\n }\r\n if (action) {\r\n if (action === languageConfiguration["a" /* IndentAction */].Indent) {\r\n indentation = TypeOperations.shiftIndent(config, indentation);\r\n }\r\n if (action === languageConfiguration["a" /* IndentAction */].Outdent) {\r\n indentation = TypeOperations.unshiftIndent(config, indentation);\r\n }\r\n indentation = config.normalizeIndentation(indentation);\r\n }\r\n if (!indentation) {\r\n return null;\r\n }\r\n return indentation;\r\n };\r\n TypeOperations._replaceJumpToNextIndent = function (config, model, selection, insertsAutoWhitespace) {\r\n var typeText = \'\';\r\n var position = selection.getStartPosition();\r\n if (config.insertSpaces) {\r\n var visibleColumnFromColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn2(config, model, position);\r\n var indentSize = config.indentSize;\r\n var spacesCnt = indentSize - (visibleColumnFromColumn % indentSize);\r\n for (var i = 0; i < spacesCnt; i++) {\r\n typeText += \' \';\r\n }\r\n }\r\n else {\r\n typeText = \'\\t\';\r\n }\r\n return new replaceCommand["a" /* ReplaceCommand */](selection, typeText, insertsAutoWhitespace);\r\n };\r\n TypeOperations.tab = function (config, model, selections) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n if (selection.isEmpty()) {\r\n var lineText = model.getLineContent(selection.startLineNumber);\r\n if (/^\\s*$/.test(lineText) && model.isCheapToTokenize(selection.startLineNumber)) {\r\n var goodIndent = this._goodIndentForLine(config, model, selection.startLineNumber);\r\n goodIndent = goodIndent || \'\\t\';\r\n var possibleTypeText = config.normalizeIndentation(goodIndent);\r\n if (!strings["M" /* startsWith */](lineText, possibleTypeText)) {\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](new core_range["a" /* Range */](selection.startLineNumber, 1, selection.startLineNumber, lineText.length + 1), possibleTypeText, true);\r\n continue;\r\n }\r\n }\r\n commands[i] = this._replaceJumpToNextIndent(config, model, selection, true);\r\n }\r\n else {\r\n if (selection.startLineNumber === selection.endLineNumber) {\r\n var lineMaxColumn = model.getLineMaxColumn(selection.startLineNumber);\r\n if (selection.startColumn !== 1 || selection.endColumn !== lineMaxColumn) {\r\n // This is a single line selection that is not the entire line\r\n commands[i] = this._replaceJumpToNextIndent(config, model, selection, false);\r\n continue;\r\n }\r\n }\r\n commands[i] = new shiftCommand_ShiftCommand(selection, {\r\n isUnshift: false,\r\n tabSize: config.tabSize,\r\n indentSize: config.indentSize,\r\n insertSpaces: config.insertSpaces,\r\n useTabStops: config.useTabStops,\r\n autoIndent: config.autoIndent\r\n });\r\n }\r\n }\r\n return commands;\r\n };\r\n TypeOperations.replacePreviousChar = function (prevEditOperationType, config, model, selections, txt, replaceCharCnt) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n if (!selection.isEmpty()) {\r\n // looks like https://github.com/Microsoft/vscode/issues/2773\r\n // where a cursor operation occurred before a canceled composition\r\n // => ignore composition\r\n commands[i] = null;\r\n continue;\r\n }\r\n var pos = selection.getPosition();\r\n var startColumn = Math.max(1, pos.column - replaceCharCnt);\r\n var range = new core_range["a" /* Range */](pos.lineNumber, startColumn, pos.lineNumber, pos.column);\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](range, txt);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands, {\r\n shouldPushStackElementBefore: (prevEditOperationType !== 1 /* Typing */),\r\n shouldPushStackElementAfter: false\r\n });\r\n };\r\n TypeOperations._typeCommand = function (range, text, keepPosition) {\r\n if (keepPosition) {\r\n return new replaceCommand["d" /* ReplaceCommandWithoutChangingPosition */](range, text, true);\r\n }\r\n else {\r\n return new replaceCommand["a" /* ReplaceCommand */](range, text, true);\r\n }\r\n };\r\n TypeOperations._enter = function (config, model, keepPosition, range) {\r\n if (config.autoIndent === 0 /* None */) {\r\n return TypeOperations._typeCommand(range, \'\\n\', keepPosition);\r\n }\r\n if (!model.isCheapToTokenize(range.getStartPosition().lineNumber) || config.autoIndent === 1 /* Keep */) {\r\n var lineText_1 = model.getLineContent(range.startLineNumber);\r\n var indentation_1 = strings["t" /* getLeadingWhitespace */](lineText_1).substring(0, range.startColumn - 1);\r\n return TypeOperations._typeCommand(range, \'\\n\' + config.normalizeIndentation(indentation_1), keepPosition);\r\n }\r\n var r = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getEnterAction(config.autoIndent, model, range);\r\n if (r) {\r\n if (r.indentAction === languageConfiguration["a" /* IndentAction */].None) {\r\n // Nothing special\r\n return TypeOperations._typeCommand(range, \'\\n\' + config.normalizeIndentation(r.indentation + r.appendText), keepPosition);\r\n }\r\n else if (r.indentAction === languageConfiguration["a" /* IndentAction */].Indent) {\r\n // Indent once\r\n return TypeOperations._typeCommand(range, \'\\n\' + config.normalizeIndentation(r.indentation + r.appendText), keepPosition);\r\n }\r\n else if (r.indentAction === languageConfiguration["a" /* IndentAction */].IndentOutdent) {\r\n // Ultra special\r\n var normalIndent = config.normalizeIndentation(r.indentation);\r\n var increasedIndent = config.normalizeIndentation(r.indentation + r.appendText);\r\n var typeText = \'\\n\' + increasedIndent + \'\\n\' + normalIndent;\r\n if (keepPosition) {\r\n return new replaceCommand["d" /* ReplaceCommandWithoutChangingPosition */](range, typeText, true);\r\n }\r\n else {\r\n return new replaceCommand["c" /* ReplaceCommandWithOffsetCursorState */](range, typeText, -1, increasedIndent.length - normalIndent.length, true);\r\n }\r\n }\r\n else if (r.indentAction === languageConfiguration["a" /* IndentAction */].Outdent) {\r\n var actualIndentation = TypeOperations.unshiftIndent(config, r.indentation);\r\n return TypeOperations._typeCommand(range, \'\\n\' + config.normalizeIndentation(actualIndentation + r.appendText), keepPosition);\r\n }\r\n }\r\n var lineText = model.getLineContent(range.startLineNumber);\r\n var indentation = strings["t" /* getLeadingWhitespace */](lineText).substring(0, range.startColumn - 1);\r\n if (config.autoIndent >= 4 /* Full */) {\r\n var ir = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getIndentForEnter(config.autoIndent, model, range, {\r\n unshiftIndent: function (indent) {\r\n return TypeOperations.unshiftIndent(config, indent);\r\n },\r\n shiftIndent: function (indent) {\r\n return TypeOperations.shiftIndent(config, indent);\r\n },\r\n normalizeIndentation: function (indent) {\r\n return config.normalizeIndentation(indent);\r\n }\r\n });\r\n if (ir) {\r\n var oldEndViewColumn = cursorCommon["a" /* CursorColumns */].visibleColumnFromColumn2(config, model, range.getEndPosition());\r\n var oldEndColumn = range.endColumn;\r\n var beforeText = \'\\n\';\r\n if (indentation !== config.normalizeIndentation(ir.beforeEnter)) {\r\n beforeText = config.normalizeIndentation(ir.beforeEnter) + lineText.substring(indentation.length, range.startColumn - 1) + \'\\n\';\r\n range = new core_range["a" /* Range */](range.startLineNumber, 1, range.endLineNumber, range.endColumn);\r\n }\r\n var newLineContent = model.getLineContent(range.endLineNumber);\r\n var firstNonWhitespace = strings["q" /* firstNonWhitespaceIndex */](newLineContent);\r\n if (firstNonWhitespace >= 0) {\r\n range = range.setEndPosition(range.endLineNumber, Math.max(range.endColumn, firstNonWhitespace + 1));\r\n }\r\n else {\r\n range = range.setEndPosition(range.endLineNumber, model.getLineMaxColumn(range.endLineNumber));\r\n }\r\n if (keepPosition) {\r\n return new replaceCommand["d" /* ReplaceCommandWithoutChangingPosition */](range, beforeText + config.normalizeIndentation(ir.afterEnter), true);\r\n }\r\n else {\r\n var offset = 0;\r\n if (oldEndColumn <= firstNonWhitespace + 1) {\r\n if (!config.insertSpaces) {\r\n oldEndViewColumn = Math.ceil(oldEndViewColumn / config.indentSize);\r\n }\r\n offset = Math.min(oldEndViewColumn + 1 - config.normalizeIndentation(ir.afterEnter).length - 1, 0);\r\n }\r\n return new replaceCommand["c" /* ReplaceCommandWithOffsetCursorState */](range, beforeText + config.normalizeIndentation(ir.afterEnter), 0, offset, true);\r\n }\r\n }\r\n }\r\n return TypeOperations._typeCommand(range, \'\\n\' + config.normalizeIndentation(indentation), keepPosition);\r\n };\r\n TypeOperations._isAutoIndentType = function (config, model, selections) {\r\n if (config.autoIndent < 4 /* Full */) {\r\n return false;\r\n }\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n if (!model.isCheapToTokenize(selections[i].getEndPosition().lineNumber)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n TypeOperations._runAutoIndentType = function (config, model, range, ch) {\r\n var currentIndentation = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getIndentationAtPosition(model, range.startLineNumber, range.startColumn);\r\n var actualIndentation = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].getIndentActionForType(config.autoIndent, model, range, ch, {\r\n shiftIndent: function (indentation) {\r\n return TypeOperations.shiftIndent(config, indentation);\r\n },\r\n unshiftIndent: function (indentation) {\r\n return TypeOperations.unshiftIndent(config, indentation);\r\n },\r\n });\r\n if (actualIndentation === null) {\r\n return null;\r\n }\r\n if (actualIndentation !== config.normalizeIndentation(currentIndentation)) {\r\n var firstNonWhitespace = model.getLineFirstNonWhitespaceColumn(range.startLineNumber);\r\n if (firstNonWhitespace === 0) {\r\n return TypeOperations._typeCommand(new core_range["a" /* Range */](range.startLineNumber, 0, range.endLineNumber, range.endColumn), config.normalizeIndentation(actualIndentation) + ch, false);\r\n }\r\n else {\r\n return TypeOperations._typeCommand(new core_range["a" /* Range */](range.startLineNumber, 0, range.endLineNumber, range.endColumn), config.normalizeIndentation(actualIndentation) +\r\n model.getLineContent(range.startLineNumber).substring(firstNonWhitespace - 1, range.startColumn - 1) + ch, false);\r\n }\r\n }\r\n return null;\r\n };\r\n TypeOperations._isAutoClosingOvertype = function (config, model, selections, autoClosedCharacters, ch) {\r\n if (config.autoClosingOvertype === \'never\') {\r\n return false;\r\n }\r\n if (!config.autoClosingPairsClose2.has(ch)) {\r\n return false;\r\n }\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n if (!selection.isEmpty()) {\r\n return false;\r\n }\r\n var position = selection.getPosition();\r\n var lineText = model.getLineContent(position.lineNumber);\r\n var afterCharacter = lineText.charAt(position.column - 1);\r\n if (afterCharacter !== ch) {\r\n return false;\r\n }\r\n // Do not over-type quotes after a backslash\r\n var chIsQuote = Object(cursorCommon["g" /* isQuote */])(ch);\r\n var beforeCharacter = position.column > 2 ? lineText.charCodeAt(position.column - 2) : 0 /* Null */;\r\n if (beforeCharacter === 92 /* Backslash */ && chIsQuote) {\r\n return false;\r\n }\r\n // Must over-type a closing character typed by the editor\r\n if (config.autoClosingOvertype === \'auto\') {\r\n var found = false;\r\n for (var j = 0, lenJ = autoClosedCharacters.length; j < lenJ; j++) {\r\n var autoClosedCharacter = autoClosedCharacters[j];\r\n if (position.lineNumber === autoClosedCharacter.startLineNumber && position.column === autoClosedCharacter.startColumn) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n if (!found) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n TypeOperations._runAutoClosingOvertype = function (prevEditOperationType, config, model, selections, ch) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n var position = selection.getPosition();\r\n var typeSelection = new core_range["a" /* Range */](position.lineNumber, position.column, position.lineNumber, position.column + 1);\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](typeSelection, ch);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands, {\r\n shouldPushStackElementBefore: (prevEditOperationType !== 1 /* Typing */),\r\n shouldPushStackElementAfter: false\r\n });\r\n };\r\n TypeOperations._autoClosingPairIsSymmetric = function (autoClosingPair) {\r\n var open = autoClosingPair.open, close = autoClosingPair.close;\r\n return (open.indexOf(close) >= 0 || close.indexOf(open) >= 0);\r\n };\r\n TypeOperations._isBeforeClosingBrace = function (config, autoClosingPair, characterAfter) {\r\n var otherAutoClosingPairs = config.autoClosingPairsClose2.get(characterAfter);\r\n if (!otherAutoClosingPairs) {\r\n return false;\r\n }\r\n var thisBraceIsSymmetric = TypeOperations._autoClosingPairIsSymmetric(autoClosingPair);\r\n for (var _i = 0, otherAutoClosingPairs_1 = otherAutoClosingPairs; _i < otherAutoClosingPairs_1.length; _i++) {\r\n var otherAutoClosingPair = otherAutoClosingPairs_1[_i];\r\n var otherBraceIsSymmetric = TypeOperations._autoClosingPairIsSymmetric(otherAutoClosingPair);\r\n if (!thisBraceIsSymmetric && otherBraceIsSymmetric) {\r\n continue;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n TypeOperations._findAutoClosingPairOpen = function (config, model, positions, ch) {\r\n var autoClosingPairCandidates = config.autoClosingPairsOpen2.get(ch);\r\n if (!autoClosingPairCandidates) {\r\n return null;\r\n }\r\n // Determine which auto-closing pair it is\r\n var autoClosingPair = null;\r\n for (var _i = 0, autoClosingPairCandidates_1 = autoClosingPairCandidates; _i < autoClosingPairCandidates_1.length; _i++) {\r\n var autoClosingPairCandidate = autoClosingPairCandidates_1[_i];\r\n if (autoClosingPair === null || autoClosingPairCandidate.open.length > autoClosingPair.open.length) {\r\n var candidateIsMatch = true;\r\n for (var _a = 0, positions_1 = positions; _a < positions_1.length; _a++) {\r\n var position = positions_1[_a];\r\n var relevantText = model.getValueInRange(new core_range["a" /* Range */](position.lineNumber, position.column - autoClosingPairCandidate.open.length + 1, position.lineNumber, position.column));\r\n if (relevantText + ch !== autoClosingPairCandidate.open) {\r\n candidateIsMatch = false;\r\n break;\r\n }\r\n }\r\n if (candidateIsMatch) {\r\n autoClosingPair = autoClosingPairCandidate;\r\n }\r\n }\r\n }\r\n return autoClosingPair;\r\n };\r\n TypeOperations._isAutoClosingOpenCharType = function (config, model, selections, ch, insertOpenCharacter) {\r\n var chIsQuote = Object(cursorCommon["g" /* isQuote */])(ch);\r\n var autoCloseConfig = chIsQuote ? config.autoClosingQuotes : config.autoClosingBrackets;\r\n if (autoCloseConfig === \'never\') {\r\n return null;\r\n }\r\n var autoClosingPair = this._findAutoClosingPairOpen(config, model, selections.map(function (s) { return s.getPosition(); }), ch);\r\n if (!autoClosingPair) {\r\n return null;\r\n }\r\n var shouldAutoCloseBefore = chIsQuote ? config.shouldAutoCloseBefore.quote : config.shouldAutoCloseBefore.bracket;\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n if (!selection.isEmpty()) {\r\n return null;\r\n }\r\n var position = selection.getPosition();\r\n var lineText = model.getLineContent(position.lineNumber);\r\n // Only consider auto closing the pair if a space follows or if another autoclosed pair follows\r\n if (lineText.length > position.column - 1) {\r\n var characterAfter = lineText.charAt(position.column - 1);\r\n var isBeforeCloseBrace = TypeOperations._isBeforeClosingBrace(config, autoClosingPair, characterAfter);\r\n if (!isBeforeCloseBrace && !shouldAutoCloseBefore(characterAfter)) {\r\n return null;\r\n }\r\n }\r\n if (!model.isCheapToTokenize(position.lineNumber)) {\r\n // Do not force tokenization\r\n return null;\r\n }\r\n // Do not auto-close \' or " after a word character\r\n if (autoClosingPair.open.length === 1 && chIsQuote && autoCloseConfig !== \'always\') {\r\n var wordSeparators = Object(wordCharacterClassifier["a" /* getMapForWordSeparators */])(config.wordSeparators);\r\n if (insertOpenCharacter && position.column > 1 && wordSeparators.get(lineText.charCodeAt(position.column - 2)) === 0 /* Regular */) {\r\n return null;\r\n }\r\n if (!insertOpenCharacter && position.column > 2 && wordSeparators.get(lineText.charCodeAt(position.column - 3)) === 0 /* Regular */) {\r\n return null;\r\n }\r\n }\r\n model.forceTokenization(position.lineNumber);\r\n var lineTokens = model.getLineTokens(position.lineNumber);\r\n var shouldAutoClosePair = false;\r\n try {\r\n shouldAutoClosePair = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].shouldAutoClosePair(autoClosingPair, lineTokens, insertOpenCharacter ? position.column : position.column - 1);\r\n }\r\n catch (e) {\r\n Object(errors["e" /* onUnexpectedError */])(e);\r\n }\r\n if (!shouldAutoClosePair) {\r\n return null;\r\n }\r\n }\r\n return autoClosingPair;\r\n };\r\n TypeOperations._runAutoClosingOpenCharType = function (prevEditOperationType, config, model, selections, ch, insertOpenCharacter, autoClosingPair) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n commands[i] = new cursorTypeOperations_TypeWithAutoClosingCommand(selection, ch, insertOpenCharacter, autoClosingPair.close);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: false\r\n });\r\n };\r\n TypeOperations._shouldSurroundChar = function (config, ch) {\r\n if (Object(cursorCommon["g" /* isQuote */])(ch)) {\r\n return (config.autoSurround === \'quotes\' || config.autoSurround === \'languageDefined\');\r\n }\r\n else {\r\n // Character is a bracket\r\n return (config.autoSurround === \'brackets\' || config.autoSurround === \'languageDefined\');\r\n }\r\n };\r\n TypeOperations._isSurroundSelectionType = function (config, model, selections, ch) {\r\n if (!TypeOperations._shouldSurroundChar(config, ch) || !config.surroundingPairs.hasOwnProperty(ch)) {\r\n return false;\r\n }\r\n var isTypingAQuoteCharacter = Object(cursorCommon["g" /* isQuote */])(ch);\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n if (selection.isEmpty()) {\r\n return false;\r\n }\r\n var selectionContainsOnlyWhitespace = true;\r\n for (var lineNumber = selection.startLineNumber; lineNumber <= selection.endLineNumber; lineNumber++) {\r\n var lineText = model.getLineContent(lineNumber);\r\n var startIndex = (lineNumber === selection.startLineNumber ? selection.startColumn - 1 : 0);\r\n var endIndex = (lineNumber === selection.endLineNumber ? selection.endColumn - 1 : lineText.length);\r\n var selectedText = lineText.substring(startIndex, endIndex);\r\n if (/[^ \\t]/.test(selectedText)) {\r\n // this selected text contains something other than whitespace\r\n selectionContainsOnlyWhitespace = false;\r\n break;\r\n }\r\n }\r\n if (selectionContainsOnlyWhitespace) {\r\n return false;\r\n }\r\n if (isTypingAQuoteCharacter && selection.startLineNumber === selection.endLineNumber && selection.startColumn + 1 === selection.endColumn) {\r\n var selectionText = model.getValueInRange(selection);\r\n if (Object(cursorCommon["g" /* isQuote */])(selectionText)) {\r\n // Typing a quote character on top of another quote character\r\n // => disable surround selection type\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n TypeOperations._runSurroundSelectionType = function (prevEditOperationType, config, model, selections, ch) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var selection = selections[i];\r\n var closeCharacter = config.surroundingPairs[ch];\r\n commands[i] = new surroundSelectionCommand_SurroundSelectionCommand(selection, ch, closeCharacter);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](0 /* Other */, commands, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: true\r\n });\r\n };\r\n TypeOperations._isTypeInterceptorElectricChar = function (config, model, selections) {\r\n if (selections.length === 1 && model.isCheapToTokenize(selections[0].getEndPosition().lineNumber)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n TypeOperations._typeInterceptorElectricChar = function (prevEditOperationType, config, model, selection, ch) {\r\n if (!config.electricChars.hasOwnProperty(ch) || !selection.isEmpty()) {\r\n return null;\r\n }\r\n var position = selection.getPosition();\r\n model.forceTokenization(position.lineNumber);\r\n var lineTokens = model.getLineTokens(position.lineNumber);\r\n var electricAction;\r\n try {\r\n electricAction = languageConfigurationRegistry["a" /* LanguageConfigurationRegistry */].onElectricCharacter(ch, lineTokens, position.column);\r\n }\r\n catch (e) {\r\n Object(errors["e" /* onUnexpectedError */])(e);\r\n return null;\r\n }\r\n if (!electricAction) {\r\n return null;\r\n }\r\n if (electricAction.matchOpenBracket) {\r\n var endColumn = (lineTokens.getLineContent() + ch).lastIndexOf(electricAction.matchOpenBracket) + 1;\r\n var match = model.findMatchingBracketUp(electricAction.matchOpenBracket, {\r\n lineNumber: position.lineNumber,\r\n column: endColumn\r\n });\r\n if (match) {\r\n if (match.startLineNumber === position.lineNumber) {\r\n // matched something on the same line => no change in indentation\r\n return null;\r\n }\r\n var matchLine = model.getLineContent(match.startLineNumber);\r\n var matchLineIndentation = strings["t" /* getLeadingWhitespace */](matchLine);\r\n var newIndentation = config.normalizeIndentation(matchLineIndentation);\r\n var lineText = model.getLineContent(position.lineNumber);\r\n var lineFirstNonBlankColumn = model.getLineFirstNonWhitespaceColumn(position.lineNumber) || position.column;\r\n var prefix = lineText.substring(lineFirstNonBlankColumn - 1, position.column - 1);\r\n var typeText = newIndentation + prefix + ch;\r\n var typeSelection = new core_range["a" /* Range */](position.lineNumber, 1, position.lineNumber, position.column);\r\n var command = new replaceCommand["a" /* ReplaceCommand */](typeSelection, typeText);\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, [command], {\r\n shouldPushStackElementBefore: false,\r\n shouldPushStackElementAfter: true\r\n });\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * This is very similar with typing, but the character is already in the text buffer!\r\n */\r\n TypeOperations.compositionEndWithInterceptors = function (prevEditOperationType, config, model, selectionsWhenCompositionStarted, selections, autoClosedCharacters) {\r\n if (!selectionsWhenCompositionStarted || core_selection["a" /* Selection */].selectionsArrEqual(selectionsWhenCompositionStarted, selections)) {\r\n // no content was typed\r\n return null;\r\n }\r\n var ch = null;\r\n // extract last typed character\r\n for (var _i = 0, selections_1 = selections; _i < selections_1.length; _i++) {\r\n var selection = selections_1[_i];\r\n if (!selection.isEmpty()) {\r\n return null;\r\n }\r\n var position = selection.getPosition();\r\n var currentChar = model.getValueInRange(new core_range["a" /* Range */](position.lineNumber, position.column - 1, position.lineNumber, position.column));\r\n if (ch === null) {\r\n ch = currentChar;\r\n }\r\n else if (ch !== currentChar) {\r\n return null;\r\n }\r\n }\r\n if (!ch) {\r\n return null;\r\n }\r\n if (this._isAutoClosingOvertype(config, model, selections, autoClosedCharacters, ch)) {\r\n // Unfortunately, the close character is at this point "doubled", so we need to delete it...\r\n var commands = selections.map(function (s) { return new replaceCommand["a" /* ReplaceCommand */](new core_range["a" /* Range */](s.positionLineNumber, s.positionColumn, s.positionLineNumber, s.positionColumn + 1), \'\', false); });\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: false\r\n });\r\n }\r\n var autoClosingPairOpenCharType = this._isAutoClosingOpenCharType(config, model, selections, ch, false);\r\n if (autoClosingPairOpenCharType) {\r\n return this._runAutoClosingOpenCharType(prevEditOperationType, config, model, selections, ch, false, autoClosingPairOpenCharType);\r\n }\r\n return null;\r\n };\r\n TypeOperations.typeWithInterceptors = function (prevEditOperationType, config, model, selections, autoClosedCharacters, ch) {\r\n if (ch === \'\\n\') {\r\n var commands_1 = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands_1[i] = TypeOperations._enter(config, model, false, selections[i]);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands_1, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: false,\r\n });\r\n }\r\n if (this._isAutoIndentType(config, model, selections)) {\r\n var commands_2 = [];\r\n var autoIndentFails = false;\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands_2[i] = this._runAutoIndentType(config, model, selections[i], ch);\r\n if (!commands_2[i]) {\r\n autoIndentFails = true;\r\n break;\r\n }\r\n }\r\n if (!autoIndentFails) {\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands_2, {\r\n shouldPushStackElementBefore: true,\r\n shouldPushStackElementAfter: false,\r\n });\r\n }\r\n }\r\n if (this._isAutoClosingOvertype(config, model, selections, autoClosedCharacters, ch)) {\r\n return this._runAutoClosingOvertype(prevEditOperationType, config, model, selections, ch);\r\n }\r\n var autoClosingPairOpenCharType = this._isAutoClosingOpenCharType(config, model, selections, ch, true);\r\n if (autoClosingPairOpenCharType) {\r\n return this._runAutoClosingOpenCharType(prevEditOperationType, config, model, selections, ch, true, autoClosingPairOpenCharType);\r\n }\r\n if (this._isSurroundSelectionType(config, model, selections, ch)) {\r\n return this._runSurroundSelectionType(prevEditOperationType, config, model, selections, ch);\r\n }\r\n // Electric characters make sense only when dealing with a single cursor,\r\n // as multiple cursors typing brackets for example would interfer with bracket matching\r\n if (this._isTypeInterceptorElectricChar(config, model, selections)) {\r\n var r = this._typeInterceptorElectricChar(prevEditOperationType, config, model, selections[0], ch);\r\n if (r) {\r\n return r;\r\n }\r\n }\r\n // A simple character type\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](selections[i], ch);\r\n }\r\n var shouldPushStackElementBefore = (prevEditOperationType !== 1 /* Typing */);\r\n if (ch === \' \') {\r\n shouldPushStackElementBefore = true;\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands, {\r\n shouldPushStackElementBefore: shouldPushStackElementBefore,\r\n shouldPushStackElementAfter: false\r\n });\r\n };\r\n TypeOperations.typeWithoutInterceptors = function (prevEditOperationType, config, model, selections, str) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands[i] = new replaceCommand["a" /* ReplaceCommand */](selections[i], str);\r\n }\r\n return new cursorCommon["e" /* EditOperationResult */](1 /* Typing */, commands, {\r\n shouldPushStackElementBefore: (prevEditOperationType !== 1 /* Typing */),\r\n shouldPushStackElementAfter: false\r\n });\r\n };\r\n TypeOperations.lineInsertBefore = function (config, model, selections) {\r\n if (model === null || selections === null) {\r\n return [];\r\n }\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var lineNumber = selections[i].positionLineNumber;\r\n if (lineNumber === 1) {\r\n commands[i] = new replaceCommand["d" /* ReplaceCommandWithoutChangingPosition */](new core_range["a" /* Range */](1, 1, 1, 1), \'\\n\');\r\n }\r\n else {\r\n lineNumber--;\r\n var column = model.getLineMaxColumn(lineNumber);\r\n commands[i] = this._enter(config, model, false, new core_range["a" /* Range */](lineNumber, column, lineNumber, column));\r\n }\r\n }\r\n return commands;\r\n };\r\n TypeOperations.lineInsertAfter = function (config, model, selections) {\r\n if (model === null || selections === null) {\r\n return [];\r\n }\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n var lineNumber = selections[i].positionLineNumber;\r\n var column = model.getLineMaxColumn(lineNumber);\r\n commands[i] = this._enter(config, model, false, new core_range["a" /* Range */](lineNumber, column, lineNumber, column));\r\n }\r\n return commands;\r\n };\r\n TypeOperations.lineBreakInsert = function (config, model, selections) {\r\n var commands = [];\r\n for (var i = 0, len = selections.length; i < len; i++) {\r\n commands[i] = this._enter(config, model, true, selections[i]);\r\n }\r\n return commands;\r\n };\r\n return TypeOperations;\r\n}());\r\n\r\nvar cursorTypeOperations_TypeWithAutoClosingCommand = /** @class */ (function (_super) {\r\n __extends(TypeWithAutoClosingCommand, _super);\r\n function TypeWithAutoClosingCommand(selection, openCharacter, insertOpenCharacter, closeCharacter) {\r\n var _this = _super.call(this, selection, (insertOpenCharacter ? openCharacter : \'\') + closeCharacter, 0, -closeCharacter.length) || this;\r\n _this._openCharacter = openCharacter;\r\n _this._closeCharacter = closeCharacter;\r\n _this.closeCharacterRange = null;\r\n _this.enclosingRange = null;\r\n return _this;\r\n }\r\n TypeWithAutoClosingCommand.prototype.computeCursorState = function (model, helper) {\r\n var inverseEditOperations = helper.getInverseEditOperations();\r\n var range = inverseEditOperations[0].range;\r\n this.closeCharacterRange = new core_range["a" /* Range */](range.startLineNumber, range.endColumn - this._closeCharacter.length, range.endLineNumber, range.endColumn);\r\n this.enclosingRange = new core_range["a" /* Range */](range.startLineNumber, range.endColumn - this._openCharacter.length - this._closeCharacter.length, range.endLineNumber, range.endColumn);\r\n return _super.prototype.computeCursorState.call(this, model, helper);\r\n };\r\n return TypeWithAutoClosingCommand;\r\n}(replaceCommand["c" /* ReplaceCommandWithOffsetCursorState */]));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorTypeOperations.js_+_2_modules?')},GVMX:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 MarkerModel = __webpack_require__(\"JEkh\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = MarkerModel.extend({\n type: 'markLine',\n defaultOption: {\n zlevel: 0,\n z: 5,\n symbol: ['circle', 'arrow'],\n symbolSize: [8, 16],\n //symbolRotate: 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});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkLineModel.js?")},GZrW:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'sol',\r\n extensions: ['.sol'],\r\n aliases: ['sol', 'solidity', 'Solidity'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 212).then(__webpack_require__.bind(null, \"Csoz\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js?")},Gb1F:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'sb',\r\n extensions: ['.sb'],\r\n aliases: ['Small Basic', 'sb'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 208).then(__webpack_require__.bind(null, \"ynbn\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js?")},GeKi:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar ChartView = __webpack_require__(\"6Ic6\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar Path = __webpack_require__(\"y+Vt\");\n\nvar _createClipPathFromCoordSys = __webpack_require__(\"sK/D\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar SKIP_PROPS = ['color', 'color0', 'borderColor', 'borderColor0'];\nvar CandlestickView = ChartView.extend({\n type: 'candlestick',\n render: function (seriesModel, ecModel, api) {\n // If there is clipPath created in large mode. Remove it.\n this.group.removeClipPath();\n\n this._updateDrawMode(seriesModel);\n\n this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._clear();\n\n this._updateDrawMode(seriesModel);\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n this._isLargeDraw ? this._incrementalRenderLarge(params, seriesModel) : this._incrementalRenderNormal(params, seriesModel);\n },\n _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 _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 el;\n var itemLayout = data.getItemLayout(newIdx);\n\n if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n return;\n }\n\n el = createNormalBox(itemLayout, newIdx, true);\n graphic.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 graphic.updateProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\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 _renderLarge: function (seriesModel) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n var clipPath = seriesModel.get('clip', true) ? createClipPath(seriesModel.coordinateSystem, false, seriesModel) : null;\n\n if (clipPath) {\n this.group.setClipPath(clipPath);\n } else {\n this.group.removeClipPath();\n }\n },\n _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 el;\n var itemLayout = data.getItemLayout(dataIndex);\n el = createNormalBox(itemLayout, dataIndex);\n setBoxCommon(el, data, dataIndex, isSimpleBox);\n el.incremental = true;\n this.group.add(el);\n }\n },\n _incrementalRenderLarge: function (params, seriesModel) {\n createLarge(seriesModel, this.group, true);\n },\n remove: function (ecModel) {\n this._clear();\n },\n _clear: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: zrUtil.noop\n});\nvar NormalBoxPath = Path.extend({\n type: 'normalCandlestickBox',\n shape: {},\n 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\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 var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor') || color; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = normalItemStyleModel.getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.strokeNoScale = true;\n el.style.fill = color;\n el.style.stroke = borderColor;\n el.__simpleBox = isSimpleBox;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[1] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar LargeBoxPath = Path.extend({\n type: 'largeCandlestickBox',\n shape: {},\n 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\nfunction createLarge(seriesModel, group, 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 });\n group.add(elP);\n var elN = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: -1\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\nfunction setLargeStyle(sign, el, seriesModel, data) {\n var suffix = sign > 0 ? 'P' : 'N';\n var borderColor = data.getVisual('borderColor' + suffix) || data.getVisual('color' + suffix); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = seriesModel.getModel(NORMAL_ITEM_STYLE_PATH).getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor; // No different\n // el.style.lineWidth = .5;\n}\n\nvar _default = CandlestickView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickView.js?")},Gev7:function(module,exports,__webpack_require__){eval("var zrUtil = __webpack_require__(\"bYtY\");\n\nvar Style = __webpack_require__(\"K2GJ\");\n\nvar Element = __webpack_require__(\"1bdT\");\n\nvar RectText = __webpack_require__(\"ni6a\");\n\n/**\n * Base class of all displayable graphic objects\n * @module zrender/graphic/Displayable\n */\n\n/**\n * @alias module:zrender/graphic/Displayable\n * @extends module:zrender/Element\n * @extends module:zrender/graphic/mixin/RectText\n */\nfunction Displayable(opts) {\n opts = opts || {};\n Element.call(this, opts); // Extend properties\n\n for (var name in opts) {\n if (opts.hasOwnProperty(name) && name !== 'style') {\n this[name] = opts[name];\n }\n }\n /**\n * @type {module:zrender/graphic/Style}\n */\n\n\n this.style = new Style(opts.style, this);\n this._rect = null; // Shapes for cascade clipping.\n // Can only be `null`/`undefined` or an non-empty array, MUST NOT be an empty array.\n // because it is easy to only using null to check whether clipPaths changed.\n\n this.__clipPaths = null; // FIXME Stateful must be mixined after style is setted\n // Stateful.call(this, opts);\n}\n\nDisplayable.prototype = {\n constructor: Displayable,\n type: 'displayable',\n\n /**\n * Dirty flag. From which painter will determine if this displayable object needs brush.\n * @name module:zrender/graphic/Displayable#__dirty\n * @type {boolean}\n */\n __dirty: true,\n\n /**\n * Whether the displayable object is visible. when it is true, the displayable object\n * is not drawn, but the mouse event can still trigger the object.\n * @name module:/zrender/graphic/Displayable#invisible\n * @type {boolean}\n * @default false\n */\n invisible: false,\n\n /**\n * @name module:/zrender/graphic/Displayable#z\n * @type {number}\n * @default 0\n */\n z: 0,\n\n /**\n * @name module:/zrender/graphic/Displayable#z\n * @type {number}\n * @default 0\n */\n z2: 0,\n\n /**\n * The z level determines the displayable object can be drawn in which layer canvas.\n * @name module:/zrender/graphic/Displayable#zlevel\n * @type {number}\n * @default 0\n */\n zlevel: 0,\n\n /**\n * Whether it can be dragged.\n * @name module:/zrender/graphic/Displayable#draggable\n * @type {boolean}\n * @default false\n */\n draggable: false,\n\n /**\n * Whether is it dragging.\n * @name module:/zrender/graphic/Displayable#draggable\n * @type {boolean}\n * @default false\n */\n dragging: false,\n\n /**\n * Whether to respond to mouse events.\n * @name module:/zrender/graphic/Displayable#silent\n * @type {boolean}\n * @default false\n */\n silent: false,\n\n /**\n * If enable culling\n * @type {boolean}\n * @default false\n */\n culling: false,\n\n /**\n * Mouse cursor when hovered\n * @name module:/zrender/graphic/Displayable#cursor\n * @type {string}\n */\n cursor: 'pointer',\n\n /**\n * If hover area is bounding rect\n * @name module:/zrender/graphic/Displayable#rectHover\n * @type {string}\n */\n rectHover: false,\n\n /**\n * Render the element progressively when the value >= 0,\n * usefull for large data.\n * @type {boolean}\n */\n progressive: false,\n\n /**\n * @type {boolean}\n */\n incremental: false,\n\n /**\n * Scale ratio for global scale.\n * @type {boolean}\n */\n globalScaleRatio: 1,\n beforeBrush: function (ctx) {},\n afterBrush: function (ctx) {},\n\n /**\n * Graphic drawing method.\n * @param {CanvasRenderingContext2D} ctx\n */\n // Interface\n brush: function (ctx, prevEl) {},\n\n /**\n * Get the minimum bounding box.\n * @return {module:zrender/core/BoundingRect}\n */\n // Interface\n getBoundingRect: function () {},\n\n /**\n * If displayable element contain coord x, y\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n contain: function (x, y) {\n return this.rectContain(x, y);\n },\n\n /**\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {\n cb.call(context, this);\n },\n\n /**\n * If bounding rect of element contain coord x, y\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n 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\n /**\n * Mark displayable element dirty and refresh next frame\n */\n dirty: function () {\n this.__dirty = this.__dirtyText = true;\n this._rect = null;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * If displayable object binded any event\n * @return {boolean}\n */\n // TODO, events bound by bind\n // isSilent: function () {\n // return !(\n // this.hoverable || this.draggable\n // || this.onmousemove || this.onmouseover || this.onmouseout\n // || this.onmousedown || this.onmouseup || this.onclick\n // || this.ondragenter || this.ondragover || this.ondragleave\n // || this.ondrop\n // );\n // },\n\n /**\n * Alias for animate('style')\n * @param {boolean} loop\n */\n animateStyle: function (loop) {\n return this.animate('style', loop);\n },\n attrKV: function (key, value) {\n if (key !== 'style') {\n Element.prototype.attrKV.call(this, key, value);\n } else {\n this.style.set(value);\n }\n },\n\n /**\n * @param {Object|string} key\n * @param {*} value\n */\n setStyle: function (key, value) {\n this.style.set(key, value);\n this.dirty(false);\n return this;\n },\n\n /**\n * Use given style object\n * @param {Object} obj\n */\n useStyle: function (obj) {\n this.style = new Style(obj, this);\n this.dirty(false);\n return this;\n },\n\n /**\n * The string value of `textPosition` needs to be calculated to a real postion.\n * For example, `'inside'` is calculated to `[rect.width/2, rect.height/2]`\n * by default. See `contain/text.js#calculateTextPosition` for more details.\n * But some coutom shapes like \"pin\", \"flag\" have center that is not exactly\n * `[width/2, height/2]`. So we provide this hook to customize the calculation\n * for those shapes. It will be called if the `style.textPosition` is a string.\n * @param {Obejct} [out] Prepared out object. If not provided, this method should\n * be responsible for creating one.\n * @param {module:zrender/graphic/Style} style\n * @param {Object} rect {x, y, width, height}\n * @return {Obejct} out The same as the input out.\n * {\n * x: number. mandatory.\n * y: number. mandatory.\n * textAlign: string. optional. use style.textAlign by default.\n * textVerticalAlign: string. optional. use style.textVerticalAlign by default.\n * }\n */\n calculateTextPosition: null\n};\nzrUtil.inherits(Displayable, Element);\nzrUtil.mixin(Displayable, RectText); // zrUtil.mixin(Displayable, Stateful);\n\nvar _default = Displayable;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/Displayable.js?")},GrNh:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar ChartView = __webpack_require__(\"6Ic6\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/model/Series} seriesModel\n * @param {boolean} hasAnimation\n * @inner\n */\nfunction updateDataSelected(uid, seriesModel, hasAnimation, api) {\n var data = seriesModel.getData();\n var dataIndex = this.dataIndex;\n var name = data.getName(dataIndex);\n var selectedOffset = seriesModel.get('selectedOffset');\n api.dispatchAction({\n type: 'pieToggleSelect',\n from: uid,\n name: name,\n seriesId: seriesModel.id\n });\n data.each(function (idx) {\n toggleItemSelected(data.getItemGraphicEl(idx), data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), selectedOffset, hasAnimation);\n });\n}\n/**\n * @param {module:zrender/graphic/Sector} el\n * @param {Object} layout\n * @param {boolean} isSelected\n * @param {number} selectedOffset\n * @param {boolean} hasAnimation\n * @inner\n */\n\n\nfunction toggleItemSelected(el, layout, isSelected, selectedOffset, hasAnimation) {\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var offset = isSelected ? selectedOffset : 0;\n var position = [dx * offset, dy * offset];\n hasAnimation // animateTo will stop revious animation like update transition\n ? el.animate().when(200, {\n position: position\n }).start('bounceOut') : el.attr('position', position);\n}\n/**\n * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\n\nfunction PiePiece(data, idx) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: 2\n });\n var polyline = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(sector);\n this.add(polyline);\n this.add(text);\n this.updateData(data, idx, true);\n}\n\nvar piePieceProto = PiePiece.prototype;\n\npiePieceProto.updateData = function (data, idx, firstCreate) {\n var sector = this.childAt(0);\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var animationTypeUpdate = seriesModel.getShallow('animationTypeUpdate');\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n } else {\n if (animationTypeUpdate === 'expansion') {\n // Sectors are set to be target shape and an overlaying clipPath is used for animation\n sector.setShape(sectorShape);\n } else {\n // Transition animation from the old shape\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n } // Update common style\n\n\n var visualColor = data.getItemVisual(idx, 'color');\n sector.useStyle(zrUtil.defaults({\n lineJoin: 'bevel',\n fill: visualColor\n }, itemModel.getModel('itemStyle').getItemStyle()));\n sector.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle); // Toggle selected\n\n toggleItemSelected(this, data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), seriesModel.get('selectedOffset'), seriesModel.get('animation')); // Label and text animation should be applied only for transition type animation when update\n\n var withAnimation = !firstCreate && animationTypeUpdate === 'transition';\n\n this._updateLabel(data, idx, withAnimation);\n\n this.highDownOnUpdate = !seriesModel.get('silent') ? function (fromState, toState) {\n var hasAnimation = seriesModel.isAnimationEnabled() && itemModel.get('hoverAnimation');\n\n if (toState === 'emphasis') {\n labelLine.ignore = labelLine.hoverIgnore;\n labelText.ignore = labelText.hoverIgnore; // Sector may has animation of updating data. Force to move to the last frame\n // Or it may stopped on the wrong shape\n\n if (hasAnimation) {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r + seriesModel.get('hoverOffset')\n }\n }, 300, 'elasticOut');\n }\n } else {\n labelLine.ignore = labelLine.normalIgnore;\n labelText.ignore = labelText.normalIgnore;\n\n if (hasAnimation) {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r\n }\n }, 300, 'elasticOut');\n }\n }\n } : null;\n graphic.setHoverStyle(this);\n};\n\npiePieceProto._updateLabel = function (data, idx, withAnimation) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n\n if (!labelLayout || isNaN(labelLayout.x) || isNaN(labelLayout.y)) {\n labelText.ignore = labelText.normalIgnore = labelText.hoverIgnore = labelLine.ignore = labelLine.normalIgnore = labelLine.hoverIgnore = true;\n return;\n }\n\n var targetLineShape = {\n points: labelLayout.linePoints || [[labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y]]\n };\n var targetTextStyle = {\n x: labelLayout.x,\n y: labelLayout.y\n };\n\n if (withAnimation) {\n graphic.updateProps(labelLine, {\n shape: targetLineShape\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: targetTextStyle\n }, seriesModel, idx);\n } else {\n labelLine.attr({\n shape: targetLineShape\n });\n labelText.attr({\n style: targetTextStyle\n });\n }\n\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: labelLayout.text,\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n var smooth = labelLineModel.get('smooth');\n\n if (smooth && smooth === true) {\n smooth = 0.4;\n }\n\n labelLine.setShape({\n smooth: smooth\n });\n};\n\nzrUtil.inherits(PiePiece, graphic.Group); // Pie view\n\nvar PieView = ChartView.extend({\n type: 'pie',\n init: function () {\n var sectorGroup = new graphic.Group();\n this._sectorGroup = sectorGroup;\n },\n render: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from === this.uid) {\n return;\n }\n\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var hasAnimation = ecModel.get('animation');\n var isFirstRender = !oldData;\n var animationType = seriesModel.get('animationType');\n var animationTypeUpdate = seriesModel.get('animationTypeUpdate');\n var onSectorClick = zrUtil.curry(updateDataSelected, this.uid, seriesModel, hasAnimation, api);\n var selectedMode = seriesModel.get('selectedMode');\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx); // Default expansion animation\n\n if (isFirstRender && animationType !== 'scale') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n selectedMode && piePiece.on('click', onSectorClick);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n\n if (!isFirstRender && animationTypeUpdate !== 'transition') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n piePiece.updateData(data, newIdx);\n piePiece.off('click');\n selectedMode && piePiece.on('click', onSectorClick);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n\n if (hasAnimation && data.count() > 0 && (isFirstRender ? animationType !== 'scale' : animationTypeUpdate !== 'transition')) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n var r = Math.max(api.getWidth(), api.getHeight()) / 2;\n var removeClipPath = zrUtil.bind(group.removeClipPath, group);\n group.setClipPath(this._createClipPath(shape.cx, shape.cy, r, shape.startAngle, shape.clockwise, removeClipPath, seriesModel, isFirstRender));\n } else {\n // clipPath is used in first-time animation, so remove it when otherwise. See: #8994\n group.removeClipPath();\n }\n\n this._data = data;\n },\n dispose: function () {},\n _createClipPath: function (cx, cy, r, startAngle, clockwise, cb, seriesModel, isFirstRender) {\n var clipPath = new graphic.Sector({\n shape: {\n cx: cx,\n cy: cy,\n r0: 0,\n r: r,\n startAngle: startAngle,\n endAngle: startAngle,\n clockwise: clockwise\n }\n });\n var initOrUpdate = isFirstRender ? graphic.initProps : graphic.updateProps;\n initOrUpdate(clipPath, {\n shape: {\n endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2\n }\n }, seriesModel, cb);\n return clipPath;\n },\n\n /**\n * @implement\n */\n 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});\nvar _default = PieView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/PieView.js?")},Gytx:function(module,exports){eval('//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A\'s keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n\n\n//# sourceURL=webpack:///./node_modules/shallowequal/index.js?')},GzdX:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Dom/findDOMNode.js\nvar findDOMNode = __webpack_require__("m+aA");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js\nvar KeyCode = __webpack_require__("4IlW");\n\n// CONCATENATED MODULE: ./node_modules/rc-rate/es/util.js\n/* eslint-disable import/prefer-default-export */\nfunction getScroll(w) {\n var ret = w.pageXOffset;\n var method = \'scrollLeft\';\n\n if (typeof ret !== \'number\') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== \'number\') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getClientPosition(elem) {\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n var box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getOffsetLeft(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument; // Only IE use `parentWindow`\n\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n// CONCATENATED MODULE: ./node_modules/rc-rate/es/Star.js\n\n\n\n\n\n\nfunction _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\nvar Star_Star = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Star, _React$Component);\n\n var _super = _createSuper(Star);\n\n function Star() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Star);\n\n _this = _super.apply(this, arguments);\n\n _this.onHover = function (e) {\n var _this$props = _this.props,\n onHover = _this$props.onHover,\n index = _this$props.index;\n onHover(e, index);\n };\n\n _this.onClick = function (e) {\n var _this$props2 = _this.props,\n onClick = _this$props2.onClick,\n index = _this$props2.index;\n onClick(e, index);\n };\n\n _this.onKeyDown = function (e) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n index = _this$props3.index;\n\n if (e.keyCode === 13) {\n onClick(e, index);\n }\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(Star, [{\n key: "getClassName",\n value: function getClassName() {\n var _this$props4 = this.props,\n prefixCls = _this$props4.prefixCls,\n index = _this$props4.index,\n value = _this$props4.value,\n allowHalf = _this$props4.allowHalf,\n focused = _this$props4.focused;\n var starValue = index + 1;\n var className = prefixCls;\n\n if (value === 0 && index === 0 && focused) {\n className += " ".concat(prefixCls, "-focused");\n } else if (allowHalf && value + 0.5 === starValue) {\n className += " ".concat(prefixCls, "-half ").concat(prefixCls, "-active");\n\n if (focused) {\n className += " ".concat(prefixCls, "-focused");\n }\n } else {\n className += starValue <= value ? " ".concat(prefixCls, "-full") : " ".concat(prefixCls, "-zero");\n\n if (starValue === value && focused) {\n className += " ".concat(prefixCls, "-focused");\n }\n }\n\n return className;\n }\n }, {\n key: "render",\n value: function render() {\n var onHover = this.onHover,\n onClick = this.onClick,\n onKeyDown = this.onKeyDown;\n var _this$props5 = this.props,\n disabled = _this$props5.disabled,\n prefixCls = _this$props5.prefixCls,\n character = _this$props5.character,\n characterRender = _this$props5.characterRender,\n index = _this$props5.index,\n count = _this$props5.count,\n value = _this$props5.value;\n var start = react_default.a.createElement("li", {\n className: this.getClassName()\n }, react_default.a.createElement("div", {\n onClick: disabled ? null : onClick,\n onKeyDown: disabled ? null : onKeyDown,\n onMouseMove: disabled ? null : onHover,\n role: "radio",\n "aria-checked": value > index ? \'true\' : \'false\',\n "aria-posinset": index + 1,\n "aria-setsize": count,\n tabIndex: 0\n }, react_default.a.createElement("div", {\n className: "".concat(prefixCls, "-first")\n }, character), react_default.a.createElement("div", {\n className: "".concat(prefixCls, "-second")\n }, character)));\n\n if (characterRender) {\n start = characterRender(start, this.props);\n }\n\n return start;\n }\n }]);\n\n return Star;\n}(react_default.a.Component);\n\n\n// CONCATENATED MODULE: ./node_modules/rc-rate/es/Rate.js\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction Rate_createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (Rate_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction Rate_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nvar Rate_Rate = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Rate, _React$Component);\n\n var _super = Rate_createSuper(Rate);\n\n function Rate(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Rate);\n\n _this = _super.call(this, props);\n\n _this.onHover = function (event, index) {\n var onHoverChange = _this.props.onHoverChange;\n\n var hoverValue = _this.getStarValue(index, event.pageX);\n\n var cleanedValue = _this.state.cleanedValue;\n\n if (hoverValue !== cleanedValue) {\n _this.setState({\n hoverValue: hoverValue,\n cleanedValue: null\n });\n }\n\n onHoverChange(hoverValue);\n };\n\n _this.onMouseLeave = function () {\n var onHoverChange = _this.props.onHoverChange;\n\n _this.setState({\n hoverValue: undefined,\n cleanedValue: null\n });\n\n onHoverChange(undefined);\n };\n\n _this.onClick = function (event, index) {\n var allowClear = _this.props.allowClear;\n var value = _this.state.value;\n\n var newValue = _this.getStarValue(index, event.pageX);\n\n var isReset = false;\n\n if (allowClear) {\n isReset = newValue === value;\n }\n\n _this.onMouseLeave();\n\n _this.changeValue(isReset ? 0 : newValue);\n\n _this.setState({\n cleanedValue: isReset ? newValue : null\n });\n };\n\n _this.onFocus = function () {\n var onFocus = _this.props.onFocus;\n\n _this.setState({\n focused: true\n });\n\n if (onFocus) {\n onFocus();\n }\n };\n\n _this.onBlur = function () {\n var onBlur = _this.props.onBlur;\n\n _this.setState({\n focused: false\n });\n\n if (onBlur) {\n onBlur();\n }\n };\n\n _this.onKeyDown = function (event) {\n var keyCode = event.keyCode;\n var _this$props = _this.props,\n count = _this$props.count,\n allowHalf = _this$props.allowHalf,\n onKeyDown = _this$props.onKeyDown,\n direction = _this$props.direction;\n var reverse = direction === \'rtl\';\n var value = _this.state.value;\n\n if (keyCode === KeyCode["a" /* default */].RIGHT && value < count && !reverse) {\n if (allowHalf) {\n value += 0.5;\n } else {\n value += 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n } else if (keyCode === KeyCode["a" /* default */].LEFT && value > 0 && !reverse) {\n if (allowHalf) {\n value -= 0.5;\n } else {\n value -= 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n } else if (keyCode === KeyCode["a" /* default */].RIGHT && value > 0 && reverse) {\n if (allowHalf) {\n value -= 0.5;\n } else {\n value -= 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n } else if (keyCode === KeyCode["a" /* default */].LEFT && value < count && reverse) {\n if (allowHalf) {\n value += 0.5;\n } else {\n value += 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n _this.saveRef = function (index) {\n return function (node) {\n _this.stars[index] = node;\n };\n };\n\n _this.saveRate = function (node) {\n _this.rate = node;\n };\n\n var value = props.value;\n\n if (value === undefined) {\n value = props.defaultValue;\n }\n\n _this.stars = {};\n _this.state = {\n value: value,\n focused: false,\n cleanedValue: null\n };\n return _this;\n }\n\n Object(createClass["a" /* default */])(Rate, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n autoFocus = _this$props2.autoFocus,\n disabled = _this$props2.disabled;\n\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n }, {\n key: "getStarDOM",\n value: function getStarDOM(index) {\n return Object(findDOMNode["a" /* default */])(this.stars[index]);\n }\n }, {\n key: "getStarValue",\n value: function getStarValue(index, x) {\n var _this$props3 = this.props,\n allowHalf = _this$props3.allowHalf,\n direction = _this$props3.direction;\n var reverse = direction === \'rtl\';\n var value = index + 1;\n\n if (allowHalf) {\n var starEle = this.getStarDOM(index);\n var leftDis = getOffsetLeft(starEle);\n var width = starEle.clientWidth;\n\n if (reverse && x - leftDis > width / 2) {\n value -= 0.5;\n } else if (!reverse && x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n\n return value;\n }\n }, {\n key: "focus",\n value: function focus() {\n var disabled = this.props.disabled;\n\n if (!disabled) {\n this.rate.focus();\n }\n }\n }, {\n key: "blur",\n value: function blur() {\n var disabled = this.props.disabled;\n\n if (!disabled) {\n this.rate.blur();\n }\n }\n }, {\n key: "changeValue",\n value: function changeValue(value) {\n var onChange = this.props.onChange;\n\n if (!(\'value\' in this.props)) {\n this.setState({\n value: value\n });\n }\n\n onChange(value);\n }\n }, {\n key: "render",\n value: function render() {\n var _this$props4 = this.props,\n count = _this$props4.count,\n allowHalf = _this$props4.allowHalf,\n style = _this$props4.style,\n prefixCls = _this$props4.prefixCls,\n disabled = _this$props4.disabled,\n className = _this$props4.className,\n character = _this$props4.character,\n characterRender = _this$props4.characterRender,\n tabIndex = _this$props4.tabIndex,\n direction = _this$props4.direction;\n var _this$state = this.state,\n value = _this$state.value,\n hoverValue = _this$state.hoverValue,\n focused = _this$state.focused;\n var stars = [];\n var disabledClass = disabled ? "".concat(prefixCls, "-disabled") : \'\';\n\n for (var index = 0; index < count; index += 1) {\n stars.push(react_default.a.createElement(Star_Star, {\n ref: this.saveRef(index),\n index: index,\n count: count,\n disabled: disabled,\n prefixCls: "".concat(prefixCls, "-star"),\n allowHalf: allowHalf,\n value: hoverValue === undefined ? value : hoverValue,\n onClick: this.onClick,\n onHover: this.onHover,\n key: index,\n character: character,\n characterRender: characterRender,\n focused: focused\n }));\n }\n\n var rateClassName = classnames_default()(prefixCls, disabledClass, className, Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-rtl"), direction === \'rtl\'));\n return react_default.a.createElement("ul", {\n className: rateClassName,\n style: style,\n onMouseLeave: disabled ? null : this.onMouseLeave,\n tabIndex: disabled ? -1 : tabIndex,\n onFocus: disabled ? null : this.onFocus,\n onBlur: disabled ? null : this.onBlur,\n onKeyDown: disabled ? null : this.onKeyDown,\n ref: this.saveRate,\n role: "radiogroup"\n }, stars);\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(nextProps, state) {\n if (\'value\' in nextProps && nextProps.value !== undefined) {\n return _objectSpread({}, state, {\n value: nextProps.value\n });\n }\n\n return state;\n }\n }]);\n\n return Rate;\n}(react_default.a.Component);\n\nRate_Rate.defaultProps = {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n style: {},\n prefixCls: \'rc-rate\',\n onChange: noop,\n character: \'\u2605\',\n onHoverChange: noop,\n tabIndex: 0,\n direction: \'ltr\'\n};\n/* harmony default export */ var es_Rate = (Rate_Rate);\n// CONCATENATED MODULE: ./node_modules/rc-rate/es/index.js\n\n/* harmony default export */ var es = (es_Rate);\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/StarFilled.js\nvar StarFilled = __webpack_require__("Lerx");\nvar StarFilled_default = /*#__PURE__*/__webpack_require__.n(StarFilled);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 5 modules\nvar tooltip = __webpack_require__("3S7+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/rate/index.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\nvar rate_Rate = /*#__PURE__*/react["forwardRef"](function (_a, ref) {\n var prefixCls = _a.prefixCls,\n tooltips = _a.tooltips,\n props = __rest(_a, ["prefixCls", "tooltips"]);\n\n var characterRender = function characterRender(node, _ref) {\n var index = _ref.index;\n if (!tooltips) return node;\n return /*#__PURE__*/react["createElement"](tooltip["a" /* default */], {\n title: tooltips[index]\n }, node);\n };\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var ratePrefixCls = getPrefixCls(\'rate\', prefixCls);\n return /*#__PURE__*/react["createElement"](es, _extends({\n ref: ref,\n characterRender: characterRender\n }, props, {\n prefixCls: ratePrefixCls,\n direction: direction\n }));\n});\nrate_Rate.displayName = \'Rate\';\nrate_Rate.defaultProps = {\n character: /*#__PURE__*/react["createElement"](StarFilled_default.a, null)\n};\n/* harmony default export */ var rate = __webpack_exports__["a"] = (rate_Rate);\n\n//# sourceURL=webpack:///./node_modules/antd/es/rate/index.js_+_4_modules?')},H6Gb:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'php',\r\n extensions: ['.php', '.php4', '.php5', '.phtml', '.ctp'],\r\n aliases: ['PHP', 'php'],\r\n mimetypes: ['application/x-php'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 195).then(__webpack_require__.bind(null, \"lXEz\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js?")},H6uX:function(module,exports){eval('/**\n * Event Mixin\n * @module zrender/mixin/Eventful\n * @author Kener (@Kener-\u6797\u5cf0, kener.linfeng@gmail.com)\n * pissang (https://www.github.com/pissang)\n */\nvar arrySlice = Array.prototype.slice;\n/**\n * Event dispatcher.\n *\n * @alias module:zrender/mixin/Eventful\n * @constructor\n * @param {Object} [eventProcessor] The object eventProcessor is the scope when\n * `eventProcessor.xxx` called.\n * @param {Function} [eventProcessor.normalizeQuery]\n * param: {string|Object} Raw query.\n * return: {string|Object} Normalized query.\n * @param {Function} [eventProcessor.filter] Event will be dispatched only\n * if it returns `true`.\n * param: {string} eventType\n * param: {string|Object} query\n * return: {boolean}\n * @param {Function} [eventProcessor.afterTrigger] Called after all handlers called.\n * param: {string} eventType\n */\n\nvar Eventful = function (eventProcessor) {\n this._$handlers = {};\n this._$eventProcessor = eventProcessor;\n};\n\nEventful.prototype = {\n constructor: Eventful,\n\n /**\n * The handler can only be triggered once, then removed.\n *\n * @param {string} event The event name.\n * @param {string|Object} [query] Condition used on event filter.\n * @param {Function} handler The event handler.\n * @param {Object} context\n */\n one: function (event, query, handler, context) {\n return on(this, event, query, handler, context, true);\n },\n\n /**\n * Bind a handler.\n *\n * @param {string} event The event name.\n * @param {string|Object} [query] Condition used on event filter.\n * @param {Function} handler The event handler.\n * @param {Object} [context]\n */\n on: function (event, query, handler, context) {\n return on(this, event, query, handler, context, false);\n },\n\n /**\n * Whether any handler has bound.\n *\n * @param {string} event\n * @return {boolean}\n */\n isSilent: function (event) {\n var _h = this._$handlers;\n return !_h[event] || !_h[event].length;\n },\n\n /**\n * Unbind a event.\n *\n * @param {string} [event] The event name.\n * If no `event` input, "off" all listeners.\n * @param {Function} [handler] The event handler.\n * If no `handler` input, "off" all listeners of the `event`.\n */\n off: function (event, handler) {\n var _h = this._$handlers;\n\n if (!event) {\n this._$handlers = {};\n return this;\n }\n\n if (handler) {\n if (_h[event]) {\n var newList = [];\n\n for (var i = 0, l = _h[event].length; i < l; i++) {\n if (_h[event][i].h !== handler) {\n newList.push(_h[event][i]);\n }\n }\n\n _h[event] = newList;\n }\n\n if (_h[event] && _h[event].length === 0) {\n delete _h[event];\n }\n } else {\n delete _h[event];\n }\n\n return this;\n },\n\n /**\n * Dispatch a event.\n *\n * @param {string} type The event name.\n */\n trigger: function (type) {\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n\n if (_h) {\n var args = arguments;\n var argLen = args.length;\n\n if (argLen > 3) {\n args = arrySlice.call(args, 1);\n }\n\n var len = _h.length;\n\n for (var i = 0; i < len;) {\n var hItem = _h[i];\n\n if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {\n i++;\n continue;\n } // Optimize advise from backbone\n\n\n switch (argLen) {\n case 1:\n hItem.h.call(hItem.ctx);\n break;\n\n case 2:\n hItem.h.call(hItem.ctx, args[1]);\n break;\n\n case 3:\n hItem.h.call(hItem.ctx, args[1], args[2]);\n break;\n\n default:\n // have more than 2 given arguments\n hItem.h.apply(hItem.ctx, args);\n break;\n }\n\n if (hItem.one) {\n _h.splice(i, 1);\n\n len--;\n } else {\n i++;\n }\n }\n }\n\n eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);\n return this;\n },\n\n /**\n * Dispatch a event with context, which is specified at the last parameter.\n *\n * @param {string} type The event name.\n */\n triggerWithContext: function (type) {\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n\n if (_h) {\n var args = arguments;\n var argLen = args.length;\n\n if (argLen > 4) {\n args = arrySlice.call(args, 1, args.length - 1);\n }\n\n var ctx = args[args.length - 1];\n var len = _h.length;\n\n for (var i = 0; i < len;) {\n var hItem = _h[i];\n\n if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {\n i++;\n continue;\n } // Optimize advise from backbone\n\n\n switch (argLen) {\n case 1:\n hItem.h.call(ctx);\n break;\n\n case 2:\n hItem.h.call(ctx, args[1]);\n break;\n\n case 3:\n hItem.h.call(ctx, args[1], args[2]);\n break;\n\n default:\n // have more than 2 given arguments\n hItem.h.apply(ctx, args);\n break;\n }\n\n if (hItem.one) {\n _h.splice(i, 1);\n\n len--;\n } else {\n i++;\n }\n }\n }\n\n eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);\n return this;\n }\n};\n\nfunction normalizeQuery(host, query) {\n var eventProcessor = host._$eventProcessor;\n\n if (query != null && eventProcessor && eventProcessor.normalizeQuery) {\n query = eventProcessor.normalizeQuery(query);\n }\n\n return query;\n}\n\nfunction on(eventful, event, query, handler, context, isOnce) {\n var _h = eventful._$handlers;\n\n if (typeof query === \'function\') {\n context = handler;\n handler = query;\n query = null;\n }\n\n if (!handler || !event) {\n return eventful;\n }\n\n query = normalizeQuery(eventful, query);\n\n if (!_h[event]) {\n _h[event] = [];\n }\n\n for (var i = 0; i < _h[event].length; i++) {\n if (_h[event][i].h === handler) {\n return eventful;\n }\n }\n\n var wrap = {\n h: handler,\n one: isOnce,\n query: query,\n ctx: context || eventful,\n // FIXME\n // Do not publish this feature util it is proved that it makes sense.\n callAtLast: handler.zrEventfulCallAtLast\n };\n var lastIndex = _h[event].length - 1;\n var lastWrap = _h[event][lastIndex];\n lastWrap && lastWrap.callAtLast ? _h[event].splice(lastIndex, 0, wrap) : _h[event].push(wrap);\n return eventful;\n} // ----------------------\n// The events in zrender\n// ----------------------\n\n/**\n * @event module:zrender/mixin/Eventful#onclick\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseover\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseout\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousemove\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousewheel\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousedown\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseup\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondrag\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragstart\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragend\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragenter\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragleave\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragover\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondrop\n * @type {Function}\n * @default null\n */\n\n\nvar _default = Eventful;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/mixin/Eventful.js?')},H8j4:function(module,exports,__webpack_require__){eval('var getMapData = __webpack_require__("QkVE");\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_mapCacheSet.js?')},HBhm:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar PaperClipOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z" } }] }, "name": "paper-clip", "theme": "outlined" };\nexports.default = PaperClipOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/PaperClipOutlined.js?')},HDyB:function(module,exports,__webpack_require__){eval("var Symbol = __webpack_require__(\"nmnc\"),\n Uint8Array = __webpack_require__(\"JHRd\"),\n eq = __webpack_require__(\"ljhN\"),\n equalArrays = __webpack_require__(\"or5M\"),\n mapToArray = __webpack_require__(\"7fqy\"),\n setToArray = __webpack_require__(\"rEGp\");\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_equalByTag.js?")},"HF/U":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 vec2 = __webpack_require__("QBsz");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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);\n}\n\nfunction simpleLayoutEdge(graph) {\n graph.eachEdge(function (edge) {\n var curveness = edge.getModel().get(\'lineStyle.curveness\') || 0;\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.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\nexports.simpleLayout = simpleLayout;\nexports.simpleLayoutEdge = simpleLayoutEdge;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js?')},"HM/N":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar Polar = __webpack_require__(\"/SeX\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _axisHelper = __webpack_require__(\"aX7z\");\n\nvar createScaleByModel = _axisHelper.createScaleByModel;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = __webpack_require__(\"IDmD\");\n\nvar _dataStackHelper = __webpack_require__(\"7hqr\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\n__webpack_require__(\"ePAk\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Resize method bound to the polar\n * @param {module:echarts/coord/polar/PolarModel} polarModel\n * @param {module:echarts/ExtensionAPI} api\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 = parsePercent(center[0], width);\n polar.cy = 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 (!zrUtil.isArray(radius)) {\n // r0 = 0\n radius = [0, radius];\n }\n\n radius = [parsePercent(radius[0], size), parsePercent(radius[1], size)];\n radiusAxis.inverse ? radiusAxis.setExtent(radius[1], radius[0]) : radiusAxis.setExtent(radius[0], radius[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 = seriesModel.getData();\n zrUtil.each(data.mapDimension('radius', true), function (dim) {\n radiusAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n zrUtil.each(data.mapDimension('angle', true), function (dim) {\n angleAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n }\n });\n niceScaleExtent(angleAxis.scale, angleAxis.model);\n 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/**\n * Set common axis properties\n * @param {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n * @param {module:echarts/coord/polar/AxisModel}\n * @inner\n */\n\n\nfunction setAxis(axis, axisModel) {\n axis.type = axisModel.get('type');\n axis.scale = createScaleByModel(axisModel);\n axis.onBand = axisModel.get('boundaryGap') && axis.type === 'category';\n axis.inverse = axisModel.get('inverse');\n\n if (axisModel.mainType === 'angleAxis') {\n 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.prototype.dimensions,\n create: function (ecModel, api) {\n var polarList = [];\n ecModel.eachComponent('polar', function (polarModel, idx) {\n var polar = new Polar(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 = ecModel.queryComponents({\n mainType: 'polar',\n index: seriesModel.get('polarIndex'),\n id: seriesModel.get('polarId')\n })[0];\n seriesModel.coordinateSystem = polarModel.coordinateSystem;\n }\n });\n return polarList;\n }\n};\nCoordinateSystem.register('polar', polarCreator);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/polar/polarCreator.js?")},HOxn:function(module,exports,__webpack_require__){eval('var getNative = __webpack_require__("Cwc5"),\n root = __webpack_require__("Kz5y");\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, \'Promise\');\n\nmodule.exports = Promise;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_Promise.js?')},HQEm:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _DownOutlined = _interopRequireDefault(__webpack_require__("Sj0X"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _DownOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/DownOutlined.js?')},HdwC:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"b\", function() { return /* binding */ clearAllFontInfos; });\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* binding */ configuration_Configuration; });\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/browser/browser.js\nvar browser = __webpack_require__(\"D3Dy\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/event.js\nvar common_event = __webpack_require__(\"MI8n\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\nvar lifecycle = __webpack_require__(\"pmY6\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/platform.js\nvar platform = __webpack_require__(\"MNsG\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar CharWidthRequest = /** @class */ (function () {\r\n function CharWidthRequest(chr, type) {\r\n this.chr = chr;\r\n this.type = type;\r\n this.width = 0;\r\n }\r\n CharWidthRequest.prototype.fulfill = function (width) {\r\n this.width = width;\r\n };\r\n return CharWidthRequest;\r\n}());\r\n\r\nvar DomCharWidthReader = /** @class */ (function () {\r\n function DomCharWidthReader(bareFontInfo, requests) {\r\n this._bareFontInfo = bareFontInfo;\r\n this._requests = requests;\r\n this._container = null;\r\n this._testElements = null;\r\n }\r\n DomCharWidthReader.prototype.read = function () {\r\n // Create a test container with all these test elements\r\n this._createDomElements();\r\n // Add the container to the DOM\r\n document.body.appendChild(this._container);\r\n // Read character widths\r\n this._readFromDomElements();\r\n // Remove the container from the DOM\r\n document.body.removeChild(this._container);\r\n this._container = null;\r\n this._testElements = null;\r\n };\r\n DomCharWidthReader.prototype._createDomElements = function () {\r\n var container = document.createElement('div');\r\n container.style.position = 'absolute';\r\n container.style.top = '-50000px';\r\n container.style.width = '50000px';\r\n var regularDomNode = document.createElement('div');\r\n regularDomNode.style.fontFamily = this._bareFontInfo.getMassagedFontFamily();\r\n regularDomNode.style.fontWeight = this._bareFontInfo.fontWeight;\r\n regularDomNode.style.fontSize = this._bareFontInfo.fontSize + 'px';\r\n regularDomNode.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings;\r\n regularDomNode.style.lineHeight = this._bareFontInfo.lineHeight + 'px';\r\n regularDomNode.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px';\r\n container.appendChild(regularDomNode);\r\n var boldDomNode = document.createElement('div');\r\n boldDomNode.style.fontFamily = this._bareFontInfo.getMassagedFontFamily();\r\n boldDomNode.style.fontWeight = 'bold';\r\n boldDomNode.style.fontSize = this._bareFontInfo.fontSize + 'px';\r\n boldDomNode.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings;\r\n boldDomNode.style.lineHeight = this._bareFontInfo.lineHeight + 'px';\r\n boldDomNode.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px';\r\n container.appendChild(boldDomNode);\r\n var italicDomNode = document.createElement('div');\r\n italicDomNode.style.fontFamily = this._bareFontInfo.getMassagedFontFamily();\r\n italicDomNode.style.fontWeight = this._bareFontInfo.fontWeight;\r\n italicDomNode.style.fontSize = this._bareFontInfo.fontSize + 'px';\r\n italicDomNode.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings;\r\n italicDomNode.style.lineHeight = this._bareFontInfo.lineHeight + 'px';\r\n italicDomNode.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px';\r\n italicDomNode.style.fontStyle = 'italic';\r\n container.appendChild(italicDomNode);\r\n var testElements = [];\r\n for (var _i = 0, _a = this._requests; _i < _a.length; _i++) {\r\n var request = _a[_i];\r\n var parent_1 = void 0;\r\n if (request.type === 0 /* Regular */) {\r\n parent_1 = regularDomNode;\r\n }\r\n if (request.type === 2 /* Bold */) {\r\n parent_1 = boldDomNode;\r\n }\r\n if (request.type === 1 /* Italic */) {\r\n parent_1 = italicDomNode;\r\n }\r\n parent_1.appendChild(document.createElement('br'));\r\n var testElement = document.createElement('span');\r\n DomCharWidthReader._render(testElement, request);\r\n parent_1.appendChild(testElement);\r\n testElements.push(testElement);\r\n }\r\n this._container = container;\r\n this._testElements = testElements;\r\n };\r\n DomCharWidthReader._render = function (testElement, request) {\r\n if (request.chr === ' ') {\r\n var htmlString = ' ';\r\n // Repeat character 256 (2^8) times\r\n for (var i = 0; i < 8; i++) {\r\n htmlString += htmlString;\r\n }\r\n testElement.innerHTML = htmlString;\r\n }\r\n else {\r\n var testString = request.chr;\r\n // Repeat character 256 (2^8) times\r\n for (var i = 0; i < 8; i++) {\r\n testString += testString;\r\n }\r\n testElement.textContent = testString;\r\n }\r\n };\r\n DomCharWidthReader.prototype._readFromDomElements = function () {\r\n for (var i = 0, len = this._requests.length; i < len; i++) {\r\n var request = this._requests[i];\r\n var testElement = this._testElements[i];\r\n request.fulfill(testElement.offsetWidth / 256);\r\n }\r\n };\r\n return DomCharWidthReader;\r\n}());\r\nfunction readCharWidths(bareFontInfo, requests) {\r\n var reader = new DomCharWidthReader(bareFontInfo, requests);\r\n reader.read();\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js\nvar elementSizeObserver = __webpack_require__(\"o39E\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/config/commonEditorConfig.js\nvar commonEditorConfig = __webpack_require__(\"iDAx\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js\nvar editorOptions = __webpack_require__(\"/UlZ\");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.js\nvar fontInfo = __webpack_require__(\"+3Gp\");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/config/configuration.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar CSSBasedConfigurationCache = /** @class */ (function () {\r\n function CSSBasedConfigurationCache() {\r\n this._keys = Object.create(null);\r\n this._values = Object.create(null);\r\n }\r\n CSSBasedConfigurationCache.prototype.has = function (item) {\r\n var itemId = item.getId();\r\n return !!this._values[itemId];\r\n };\r\n CSSBasedConfigurationCache.prototype.get = function (item) {\r\n var itemId = item.getId();\r\n return this._values[itemId];\r\n };\r\n CSSBasedConfigurationCache.prototype.put = function (item, value) {\r\n var itemId = item.getId();\r\n this._keys[itemId] = item;\r\n this._values[itemId] = value;\r\n };\r\n CSSBasedConfigurationCache.prototype.remove = function (item) {\r\n var itemId = item.getId();\r\n delete this._keys[itemId];\r\n delete this._values[itemId];\r\n };\r\n CSSBasedConfigurationCache.prototype.getValues = function () {\r\n var _this = this;\r\n return Object.keys(this._keys).map(function (id) { return _this._values[id]; });\r\n };\r\n return CSSBasedConfigurationCache;\r\n}());\r\nfunction clearAllFontInfos() {\r\n configuration_CSSBasedConfiguration.INSTANCE.clearCache();\r\n}\r\nvar configuration_CSSBasedConfiguration = /** @class */ (function (_super) {\r\n __extends(CSSBasedConfiguration, _super);\r\n function CSSBasedConfiguration() {\r\n var _this = _super.call(this) || this;\r\n _this._onDidChange = _this._register(new common_event[\"a\" /* Emitter */]());\r\n _this.onDidChange = _this._onDidChange.event;\r\n _this._cache = new CSSBasedConfigurationCache();\r\n _this._evictUntrustedReadingsTimeout = -1;\r\n return _this;\r\n }\r\n CSSBasedConfiguration.prototype.dispose = function () {\r\n if (this._evictUntrustedReadingsTimeout !== -1) {\r\n clearTimeout(this._evictUntrustedReadingsTimeout);\r\n this._evictUntrustedReadingsTimeout = -1;\r\n }\r\n _super.prototype.dispose.call(this);\r\n };\r\n CSSBasedConfiguration.prototype.clearCache = function () {\r\n this._cache = new CSSBasedConfigurationCache();\r\n this._onDidChange.fire();\r\n };\r\n CSSBasedConfiguration.prototype._writeToCache = function (item, value) {\r\n var _this = this;\r\n this._cache.put(item, value);\r\n if (!value.isTrusted && this._evictUntrustedReadingsTimeout === -1) {\r\n // Try reading again after some time\r\n this._evictUntrustedReadingsTimeout = setTimeout(function () {\r\n _this._evictUntrustedReadingsTimeout = -1;\r\n _this._evictUntrustedReadings();\r\n }, 5000);\r\n }\r\n };\r\n CSSBasedConfiguration.prototype._evictUntrustedReadings = function () {\r\n var values = this._cache.getValues();\r\n var somethingRemoved = false;\r\n for (var i = 0, len = values.length; i < len; i++) {\r\n var item = values[i];\r\n if (!item.isTrusted) {\r\n somethingRemoved = true;\r\n this._cache.remove(item);\r\n }\r\n }\r\n if (somethingRemoved) {\r\n this._onDidChange.fire();\r\n }\r\n };\r\n CSSBasedConfiguration.prototype.readConfiguration = function (bareFontInfo) {\r\n if (!this._cache.has(bareFontInfo)) {\r\n var readConfig = CSSBasedConfiguration._actualReadConfiguration(bareFontInfo);\r\n if (readConfig.typicalHalfwidthCharacterWidth <= 2 || readConfig.typicalFullwidthCharacterWidth <= 2 || readConfig.spaceWidth <= 2 || readConfig.maxDigitWidth <= 2) {\r\n // Hey, it's Bug 14341 ... we couldn't read\r\n readConfig = new fontInfo[\"b\" /* FontInfo */]({\r\n zoomLevel: browser[\"c\" /* getZoomLevel */](),\r\n fontFamily: readConfig.fontFamily,\r\n fontWeight: readConfig.fontWeight,\r\n fontSize: readConfig.fontSize,\r\n fontFeatureSettings: readConfig.fontFeatureSettings,\r\n lineHeight: readConfig.lineHeight,\r\n letterSpacing: readConfig.letterSpacing,\r\n isMonospace: readConfig.isMonospace,\r\n typicalHalfwidthCharacterWidth: Math.max(readConfig.typicalHalfwidthCharacterWidth, 5),\r\n typicalFullwidthCharacterWidth: Math.max(readConfig.typicalFullwidthCharacterWidth, 5),\r\n canUseHalfwidthRightwardsArrow: readConfig.canUseHalfwidthRightwardsArrow,\r\n spaceWidth: Math.max(readConfig.spaceWidth, 5),\r\n middotWidth: Math.max(readConfig.middotWidth, 5),\r\n maxDigitWidth: Math.max(readConfig.maxDigitWidth, 5),\r\n }, false);\r\n }\r\n this._writeToCache(bareFontInfo, readConfig);\r\n }\r\n return this._cache.get(bareFontInfo);\r\n };\r\n CSSBasedConfiguration.createRequest = function (chr, type, all, monospace) {\r\n var result = new CharWidthRequest(chr, type);\r\n all.push(result);\r\n if (monospace) {\r\n monospace.push(result);\r\n }\r\n return result;\r\n };\r\n CSSBasedConfiguration._actualReadConfiguration = function (bareFontInfo) {\r\n var all = [];\r\n var monospace = [];\r\n var typicalHalfwidthCharacter = this.createRequest('n', 0 /* Regular */, all, monospace);\r\n var typicalFullwidthCharacter = this.createRequest('\\uff4d', 0 /* Regular */, all, null);\r\n var space = this.createRequest(' ', 0 /* Regular */, all, monospace);\r\n var digit0 = this.createRequest('0', 0 /* Regular */, all, monospace);\r\n var digit1 = this.createRequest('1', 0 /* Regular */, all, monospace);\r\n var digit2 = this.createRequest('2', 0 /* Regular */, all, monospace);\r\n var digit3 = this.createRequest('3', 0 /* Regular */, all, monospace);\r\n var digit4 = this.createRequest('4', 0 /* Regular */, all, monospace);\r\n var digit5 = this.createRequest('5', 0 /* Regular */, all, monospace);\r\n var digit6 = this.createRequest('6', 0 /* Regular */, all, monospace);\r\n var digit7 = this.createRequest('7', 0 /* Regular */, all, monospace);\r\n var digit8 = this.createRequest('8', 0 /* Regular */, all, monospace);\r\n var digit9 = this.createRequest('9', 0 /* Regular */, all, monospace);\r\n // monospace test: used for whitespace rendering\r\n var rightwardsArrow = this.createRequest('\u2192', 0 /* Regular */, all, monospace);\r\n var halfwidthRightwardsArrow = this.createRequest('\uffeb', 0 /* Regular */, all, null);\r\n // middle dot character\r\n var middot = this.createRequest('\xb7', 0 /* Regular */, all, monospace);\r\n // monospace test: some characters\r\n this.createRequest('|', 0 /* Regular */, all, monospace);\r\n this.createRequest('/', 0 /* Regular */, all, monospace);\r\n this.createRequest('-', 0 /* Regular */, all, monospace);\r\n this.createRequest('_', 0 /* Regular */, all, monospace);\r\n this.createRequest('i', 0 /* Regular */, all, monospace);\r\n this.createRequest('l', 0 /* Regular */, all, monospace);\r\n this.createRequest('m', 0 /* Regular */, all, monospace);\r\n // monospace italic test\r\n this.createRequest('|', 1 /* Italic */, all, monospace);\r\n this.createRequest('_', 1 /* Italic */, all, monospace);\r\n this.createRequest('i', 1 /* Italic */, all, monospace);\r\n this.createRequest('l', 1 /* Italic */, all, monospace);\r\n this.createRequest('m', 1 /* Italic */, all, monospace);\r\n this.createRequest('n', 1 /* Italic */, all, monospace);\r\n // monospace bold test\r\n this.createRequest('|', 2 /* Bold */, all, monospace);\r\n this.createRequest('_', 2 /* Bold */, all, monospace);\r\n this.createRequest('i', 2 /* Bold */, all, monospace);\r\n this.createRequest('l', 2 /* Bold */, all, monospace);\r\n this.createRequest('m', 2 /* Bold */, all, monospace);\r\n this.createRequest('n', 2 /* Bold */, all, monospace);\r\n readCharWidths(bareFontInfo, all);\r\n var maxDigitWidth = Math.max(digit0.width, digit1.width, digit2.width, digit3.width, digit4.width, digit5.width, digit6.width, digit7.width, digit8.width, digit9.width);\r\n var isMonospace = (bareFontInfo.fontFeatureSettings === editorOptions[\"d\" /* EditorFontLigatures */].OFF);\r\n var referenceWidth = monospace[0].width;\r\n for (var i = 1, len = monospace.length; isMonospace && i < len; i++) {\r\n var diff = referenceWidth - monospace[i].width;\r\n if (diff < -0.001 || diff > 0.001) {\r\n isMonospace = false;\r\n break;\r\n }\r\n }\r\n var canUseHalfwidthRightwardsArrow = true;\r\n if (isMonospace && halfwidthRightwardsArrow.width !== referenceWidth) {\r\n // using a halfwidth rightwards arrow would break monospace...\r\n canUseHalfwidthRightwardsArrow = false;\r\n }\r\n if (halfwidthRightwardsArrow.width > rightwardsArrow.width) {\r\n // using a halfwidth rightwards arrow would paint a larger arrow than a regular rightwards arrow\r\n canUseHalfwidthRightwardsArrow = false;\r\n }\r\n // let's trust the zoom level only 2s after it was changed.\r\n var canTrustBrowserZoomLevel = (browser[\"b\" /* getTimeSinceLastZoomLevelChanged */]() > 2000);\r\n return new fontInfo[\"b\" /* FontInfo */]({\r\n zoomLevel: browser[\"c\" /* getZoomLevel */](),\r\n fontFamily: bareFontInfo.fontFamily,\r\n fontWeight: bareFontInfo.fontWeight,\r\n fontSize: bareFontInfo.fontSize,\r\n fontFeatureSettings: bareFontInfo.fontFeatureSettings,\r\n lineHeight: bareFontInfo.lineHeight,\r\n letterSpacing: bareFontInfo.letterSpacing,\r\n isMonospace: isMonospace,\r\n typicalHalfwidthCharacterWidth: typicalHalfwidthCharacter.width,\r\n typicalFullwidthCharacterWidth: typicalFullwidthCharacter.width,\r\n canUseHalfwidthRightwardsArrow: canUseHalfwidthRightwardsArrow,\r\n spaceWidth: space.width,\r\n middotWidth: middot.width,\r\n maxDigitWidth: maxDigitWidth\r\n }, canTrustBrowserZoomLevel);\r\n };\r\n CSSBasedConfiguration.INSTANCE = new CSSBasedConfiguration();\r\n return CSSBasedConfiguration;\r\n}(lifecycle[\"a\" /* Disposable */]));\r\nvar configuration_Configuration = /** @class */ (function (_super) {\r\n __extends(Configuration, _super);\r\n function Configuration(isSimpleWidget, options, referenceDomElement, accessibilityService) {\r\n if (referenceDomElement === void 0) { referenceDomElement = null; }\r\n var _this = _super.call(this, isSimpleWidget, options) || this;\r\n _this.accessibilityService = accessibilityService;\r\n _this._elementSizeObserver = _this._register(new elementSizeObserver[\"a\" /* ElementSizeObserver */](referenceDomElement, options.dimension, function () { return _this._onReferenceDomElementSizeChanged(); }));\r\n _this._register(configuration_CSSBasedConfiguration.INSTANCE.onDidChange(function () { return _this._onCSSBasedConfigurationChanged(); }));\r\n if (_this._validatedOptions.get(9 /* automaticLayout */)) {\r\n _this._elementSizeObserver.startObserving();\r\n }\r\n _this._register(browser[\"o\" /* onDidChangeZoomLevel */](function (_) { return _this._recomputeOptions(); }));\r\n _this._register(_this.accessibilityService.onDidChangeScreenReaderOptimized(function () { return _this._recomputeOptions(); }));\r\n _this._recomputeOptions();\r\n return _this;\r\n }\r\n Configuration.applyFontInfoSlow = function (domNode, fontInfo) {\r\n domNode.style.fontFamily = fontInfo.getMassagedFontFamily();\r\n domNode.style.fontWeight = fontInfo.fontWeight;\r\n domNode.style.fontSize = fontInfo.fontSize + 'px';\r\n domNode.style.fontFeatureSettings = fontInfo.fontFeatureSettings;\r\n domNode.style.lineHeight = fontInfo.lineHeight + 'px';\r\n domNode.style.letterSpacing = fontInfo.letterSpacing + 'px';\r\n };\r\n Configuration.applyFontInfo = function (domNode, fontInfo) {\r\n domNode.setFontFamily(fontInfo.getMassagedFontFamily());\r\n domNode.setFontWeight(fontInfo.fontWeight);\r\n domNode.setFontSize(fontInfo.fontSize);\r\n domNode.setFontFeatureSettings(fontInfo.fontFeatureSettings);\r\n domNode.setLineHeight(fontInfo.lineHeight);\r\n domNode.setLetterSpacing(fontInfo.letterSpacing);\r\n };\r\n Configuration.prototype._onReferenceDomElementSizeChanged = function () {\r\n this._recomputeOptions();\r\n };\r\n Configuration.prototype._onCSSBasedConfigurationChanged = function () {\r\n this._recomputeOptions();\r\n };\r\n Configuration.prototype.observeReferenceElement = function (dimension) {\r\n this._elementSizeObserver.observe(dimension);\r\n };\r\n Configuration.prototype.dispose = function () {\r\n _super.prototype.dispose.call(this);\r\n };\r\n Configuration.prototype._getExtraEditorClassName = function () {\r\n var extra = '';\r\n if (!browser[\"k\" /* isSafari */] && !browser[\"n\" /* isWebkitWebView */]) {\r\n // Use user-select: none in all browsers except Safari and native macOS WebView\r\n extra += 'no-user-select ';\r\n }\r\n if (platform[\"e\" /* isMacintosh */]) {\r\n extra += 'mac ';\r\n }\r\n return extra;\r\n };\r\n Configuration.prototype._getEnvConfiguration = function () {\r\n return {\r\n extraEditorClassName: this._getExtraEditorClassName(),\r\n outerWidth: this._elementSizeObserver.getWidth(),\r\n outerHeight: this._elementSizeObserver.getHeight(),\r\n emptySelectionClipboard: browser[\"m\" /* isWebKit */] || browser[\"h\" /* isFirefox */],\r\n pixelRatio: browser[\"a\" /* getPixelRatio */](),\r\n zoomLevel: browser[\"c\" /* getZoomLevel */](),\r\n accessibilitySupport: (this.accessibilityService.isScreenReaderOptimized()\r\n ? 2 /* Enabled */\r\n : this.accessibilityService.getAccessibilitySupport())\r\n };\r\n };\r\n Configuration.prototype.readConfiguration = function (bareFontInfo) {\r\n return configuration_CSSBasedConfiguration.INSTANCE.readConfiguration(bareFontInfo);\r\n };\r\n return Configuration;\r\n}(commonEditorConfig[\"a\" /* CommonEditorConfiguration */]));\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/config/configuration.js_+_1_modules?")},Hfiw:function(module,exports,__webpack_require__){eval('// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__("Y7ZC");\n$export($export.S, \'Object\', { setPrototypeOf: __webpack_require__("6tYh").set });\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js?')},HjIi:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _dataStackHelper = __webpack_require__(\"7hqr\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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/**\n * @param {string} seriesType\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction barLayoutPolar(seriesType, ecModel, api) {\n var lastStackCoords = {};\n var barWidthAndOffset = calRadialBar(zrUtil.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 = isDimensionStacked(data, valueDim\n /*, baseDim*/\n );\n var clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true);\n var valueAxisStart = valueAxis.getExtent()[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 // Positive stack\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;\n var r;\n var startAngle;\n var endAngle; // radial sector\n\n if (valueAxis.dim === 'radius') {\n var radiusSpan = valueAxis.dataToRadius(value) - valueAxisStart;\n var angle = baseAxis.dataToAngle(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.dataToAngle(value, clampLayout) - valueAxisStart;\n var radius = baseAxis.dataToRadius(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 // var extent = angleAxis.getExtent();\n // var 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 }, this);\n}\n/**\n * Calculate bar width and offset for radial bar charts\n */\n\n\nfunction calRadialBar(barSeries, api) {\n // Columns info on each category axis. Key is polar name\n var columnsMap = {};\n zrUtil.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 = parsePercent(seriesModel.get('barWidth'), bandWidth);\n var barMaxWidth = 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 zrUtil.each(columnsMap, function (columnsOnAxis, coordSysName) {\n result[coordSysName] = {};\n var stacks = columnsOnAxis.stacks;\n var bandWidth = columnsOnAxis.bandWidth;\n var categoryGap = parsePercent(columnsOnAxis.categoryGap, bandWidth);\n var barGapPercent = 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 zrUtil.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 zrUtil.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 zrUtil.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\nvar _default = barLayoutPolar;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/layout/barPolar.js?")},Hvzi:function(module,exports){eval("/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_hashDelete.js?")},Hw7h:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Path = __webpack_require__("y+Vt");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = Path.extend({\n type: \'echartsGaugePointer\',\n shape: {\n angle: 0,\n width: 10,\n r: 10,\n x: 0,\n y: 0\n },\n 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 return;\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/gauge/PointerPath.js?')},Hxpc:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar ComponentModel = __webpack_require__(\"bLfw\");\n\nvar Model = __webpack_require__(\"Qxkt\");\n\nvar selectableMixin = __webpack_require__(\"cCMj\");\n\nvar geoCreator = __webpack_require__(\"7uqq\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 GeoModel = ComponentModel.extend({\n type: 'geo',\n\n /**\n * @type {module:echarts/coord/geo/Geo}\n */\n coordinateSystem: null,\n layoutMode: 'box',\n init: function (option) {\n ComponentModel.prototype.init.apply(this, arguments); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n },\n optionUpdated: function () {\n var option = this.option;\n var self = this;\n option.regions = geoCreator.getFilledRegions(option.regions, option.map, option.nameMap);\n this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {\n if (regionOpt.name) {\n optionModelMap.set(regionOpt.name, new Model(regionOpt, self));\n }\n\n return optionModelMap;\n }, zrUtil.createHashMap());\n this.updateSelectedMap(option.regions);\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n show: true,\n left: 'center',\n top: 'center',\n // width:,\n // height:,\n // right\n // bottom\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n // If svg used, aspectScale is 1 by default.\n // aspectScale: 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 // color: \u5404\u5f02,\n borderWidth: 0.5,\n borderColor: '#444',\n color: '#eee'\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 regions: []\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (name) {\n return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);\n },\n\n /**\n * Format label\n * @param {string} name Region name\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @return {string}\n */\n getFormattedLabel: function (name, status) {\n var regionModel = this.getRegionModel(name);\n var formatter = regionModel.get('label' + (status === 'normal' ? '.' : status + '.') + 'formatter');\n var params = {\n name: name\n };\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n return formatter.replace('{a}', name != null ? name : '');\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n }\n});\nzrUtil.mixin(GeoModel, selectableMixin);\nvar _default = GeoModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/GeoModel.js?")},"I+77":function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("h54F");\n\n__webpack_require__("lwQL");\n\n__webpack_require__("10cm");\n\nvar categoryFilter = __webpack_require__("Z1r0");\n\nvar visualSymbol = __webpack_require__("f5Yq");\n\nvar categoryVisual = __webpack_require__("KUOm");\n\nvar edgeVisual = __webpack_require__("3m61");\n\nvar simpleLayout = __webpack_require__("01d+");\n\nvar circularLayout = __webpack_require__("rdor");\n\nvar forceLayout = __webpack_require__("WGYa");\n\nvar createView = __webpack_require__("ewwo");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerProcessor(categoryFilter);\necharts.registerVisual(visualSymbol(\'graph\', \'circle\', null));\necharts.registerVisual(categoryVisual);\necharts.registerVisual(edgeVisual);\necharts.registerLayout(simpleLayout);\necharts.registerLayout(echarts.PRIORITY.VISUAL.POST_CHART_LAYOUT, circularLayout);\necharts.registerLayout(forceLayout); // Graph view coordinate system\n\necharts.registerCoordinateSystem(\'graphView\', {\n create: createView\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph.js?')},"I+Bx":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar IndicatorAxis = __webpack_require__(\"eIcI\");\n\nvar IntervalScale = __webpack_require__(\"ieMj\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar _axisHelper = __webpack_require__(\"aX7z\");\n\nvar getScaleExtent = _axisHelper.getScaleExtent;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = __webpack_require__(\"IDmD\");\n\nvar LogScale = __webpack_require__(\"jCoz\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\nfunction Radar(radarModel, ecModel, api) {\n this._model = radarModel;\n /**\n * Radar dimensions\n * @type {Array.}\n */\n\n this.dimensions = [];\n this._indicatorAxes = zrUtil.map(radarModel.getIndicatorModels(), function (indicatorModel, idx) {\n var dim = 'indicator_' + idx;\n var indicatorAxis = new IndicatorAxis(dim, indicatorModel.get('axisType') === 'log' ? new LogScale() : new IntervalScale());\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 * @type {number}\n * @readOnly\n */\n\n this.cx;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.cy;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.r;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.r0;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.startAngle;\n}\n\nRadar.prototype.getIndicatorAxes = function () {\n return this._indicatorAxes;\n};\n\nRadar.prototype.dataToPoint = function (value, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);\n};\n\nRadar.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\nRadar.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\nRadar.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 = numberUtil.parsePercent(center[0], viewWidth);\n this.cy = numberUtil.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 (typeof radius === 'string' || typeof radius === 'number') {\n radius = [0, radius];\n }\n\n this.r0 = numberUtil.parsePercent(radius[0], viewSize);\n this.r = numberUtil.parsePercent(radius[1], viewSize);\n zrUtil.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\nRadar.prototype.update = function (ecModel, api) {\n var indicatorAxes = this._indicatorAxes;\n var radarModel = this._model;\n zrUtil.each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.setExtent(Infinity, -Infinity);\n });\n ecModel.eachSeriesByType('radar', function (radarSeries, idx) {\n if (radarSeries.get('coordinateSystem') !== 'radar' || ecModel.getComponent('radar', radarSeries.get('radarIndex')) !== radarModel) {\n return;\n }\n\n var data = radarSeries.getData();\n zrUtil.each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.unionExtentFromData(data, data.mapDimension(indicatorAxis.dim));\n });\n }, this);\n var splitNumber = radarModel.get('splitNumber');\n\n function increaseInterval(interval) {\n var exp10 = Math.pow(10, Math.floor(Math.log(interval) / Math.LN10)); // Increase interval\n\n var f = interval / exp10;\n\n if (f === 2) {\n f = 5;\n } else {\n // f is 2 or 5\n f *= 2;\n }\n\n return f * exp10;\n } // Force all the axis fixing the maxSplitNumber.\n\n\n zrUtil.each(indicatorAxes, function (indicatorAxis, idx) {\n var rawExtent = getScaleExtent(indicatorAxis.scale, indicatorAxis.model).extent;\n niceScaleExtent(indicatorAxis.scale, indicatorAxis.model);\n var axisModel = indicatorAxis.model;\n var scale = indicatorAxis.scale;\n var fixedMin = axisModel.getMin();\n var fixedMax = axisModel.getMax();\n var interval = scale.getInterval();\n\n if (fixedMin != null && fixedMax != null) {\n // User set min, max, divide to get new interval\n scale.setExtent(+fixedMin, +fixedMax);\n scale.setInterval((fixedMax - fixedMin) / splitNumber);\n } else if (fixedMin != null) {\n var max; // User set min, expand extent on the other side\n\n do {\n max = fixedMin + interval * splitNumber;\n scale.setExtent(+fixedMin, max); // Interval must been set after extent\n // FIXME\n\n scale.setInterval(interval);\n interval = increaseInterval(interval);\n } while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1]));\n } else if (fixedMax != null) {\n var min; // User set min, expand extent on the other side\n\n do {\n min = fixedMax - interval * splitNumber;\n scale.setExtent(min, +fixedMax);\n scale.setInterval(interval);\n interval = increaseInterval(interval);\n } while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0]));\n } else {\n var nicedSplitNumber = scale.getTicks().length - 1;\n\n if (nicedSplitNumber > splitNumber) {\n interval = increaseInterval(interval);\n } // TODO\n\n\n var max = Math.ceil(rawExtent[1] / interval) * interval;\n var min = numberUtil.round(max - interval * splitNumber);\n scale.setExtent(min, max);\n scale.setInterval(interval);\n }\n });\n};\n/**\n * Radar dimensions is based on the data\n * @type {Array}\n */\n\n\nRadar.dimensions = [];\n\nRadar.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 radarSeries.coordinateSystem = radarList[radarSeries.get('radarIndex') || 0];\n }\n });\n return radarList;\n};\n\nCoordinateSystem.register('radar', Radar);\nvar _default = Radar;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/radar/Radar.js?")},"I/Lx":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'fsharp',\r\n extensions: ['.fs', '.fsi', '.ml', '.mli', '.fsx', '.fsscript'],\r\n aliases: ['F#', 'FSharp', 'fsharp'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 176).then(__webpack_require__.bind(null, \"yswY\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js?")},"I3/A":function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar List = __webpack_require__(\"YXkt\");\n\nvar Graph = __webpack_require__(\"c2i1\");\n\nvar linkList = __webpack_require__(\"Mdki\");\n\nvar createDimensions = __webpack_require__(\"sdST\");\n\nvar CoordinateSystem = __webpack_require__(\"IDmD\");\n\nvar createListFromArray = __webpack_require__(\"MwEJ\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default(nodes, edges, seriesModel, directed, beforeLink) {\n // ??? TODO\n // support dataset?\n var graph = new Graph(directed);\n\n for (var i = 0; i < nodes.length; i++) {\n graph.addNode(zrUtil.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(zrUtil.retrieve(link.id, 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 = createListFromArray(nodes, seriesModel);\n } else {\n var coordSysCtor = CoordinateSystem.get(coordSys);\n var coordDimensions = coordSysCtor && coordSysCtor.type !== 'view' ? 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 (zrUtil.indexOf(coordDimensions, 'value') < 0) {\n coordDimensions.concat(['value']);\n }\n\n var dimensionNames = createDimensions(nodes, {\n coordDimensions: coordDimensions\n });\n nodeData = new List(dimensionNames, seriesModel);\n nodeData.initData(nodes);\n }\n\n var edgeData = new List(['value'], seriesModel);\n edgeData.initData(validEdges, linkNameList);\n beforeLink && beforeLink(nodeData, edgeData);\n linkList({\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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js?")},"I9Y+":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _DoubleRightOutlined = _interopRequireDefault(__webpack_require__("4xFK"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _DoubleRightOutlined.default\n }));\n};\n\nDoubleRightOutlined.displayName = \'DoubleRightOutlined\';\n\nvar _default = React.forwardRef(DoubleRightOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/DoubleRightOutlined.js?')},ICMv:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * as axisHelper from './axisHelper';\nvar _default = {\n /**\n * @param {boolean} origin\n * @return {number|string} min value or 'dataMin' or null/undefined (means auto) or NaN\n */\n getMin: function (origin) {\n var option = this.option;\n var min = !origin && option.rangeStart != null ? option.rangeStart : option.min;\n\n if (this.axis && min != null && min !== 'dataMin' && typeof min !== 'function' && !zrUtil.eqNaN(min)) {\n min = this.axis.scale.parse(min);\n }\n\n return min;\n },\n\n /**\n * @param {boolean} origin\n * @return {number|string} max value or 'dataMax' or null/undefined (means auto) or NaN\n */\n getMax: function (origin) {\n var option = this.option;\n var max = !origin && option.rangeEnd != null ? option.rangeEnd : option.max;\n\n if (this.axis && max != null && max !== 'dataMax' && typeof max !== 'function' && !zrUtil.eqNaN(max)) {\n max = this.axis.scale.parse(max);\n }\n\n return max;\n },\n\n /**\n * @return {boolean}\n */\n getNeedCrossZero: function () {\n var option = this.option;\n return option.rangeStart != null || option.rangeEnd != null ? false : !option.scale;\n },\n\n /**\n * Should be implemented by each axis model if necessary.\n * @return {module:echarts/model/Component} coordinate system model\n */\n getCoordSysModel: zrUtil.noop,\n\n /**\n * @param {number} rangeStart Can only be finite number or null/undefined or NaN.\n * @param {number} rangeEnd Can only be finite number or null/undefined or NaN.\n */\n setRange: function (rangeStart, rangeEnd) {\n this.option.rangeStart = rangeStart;\n this.option.rangeEnd = rangeEnd;\n },\n\n /**\n * Reset range\n */\n resetRange: function () {\n // rangeStart and rangeEnd is readonly.\n this.option.rangeStart = this.option.rangeEnd = null;\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/axisModelCommonMixin.js?")},IDmD:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 coordinateSystemCreators = {};\n\nfunction CoordinateSystemManager() {\n this._coordinateSystems = [];\n}\n\nCoordinateSystemManager.prototype = {\n constructor: CoordinateSystemManager,\n create: function (ecModel, api) {\n var coordinateSystems = [];\n zrUtil.each(coordinateSystemCreators, function (creater, type) {\n var list = creater.create(ecModel, api);\n coordinateSystems = coordinateSystems.concat(list || []);\n });\n this._coordinateSystems = coordinateSystems;\n },\n update: function (ecModel, api) {\n zrUtil.each(this._coordinateSystems, function (coordSys) {\n coordSys.update && coordSys.update(ecModel, api);\n });\n },\n getCoordinateSystems: function () {\n return this._coordinateSystems.slice();\n }\n};\n\nCoordinateSystemManager.register = function (type, coordinateSystemCreator) {\n coordinateSystemCreators[type] = coordinateSystemCreator;\n};\n\nCoordinateSystemManager.get = function (type) {\n return coordinateSystemCreators[type];\n};\n\nvar _default = CoordinateSystemManager;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/CoordinateSystem.js?')},IMiH:function(module,exports,__webpack_require__){eval('var curve = __webpack_require__("Sj9i");\n\nvar vec2 = __webpack_require__("QBsz");\n\nvar bbox = __webpack_require__("4mN7");\n\nvar BoundingRect = __webpack_require__("mFDi");\n\nvar _config = __webpack_require__("LPTA");\n\nvar dpr = _config.devicePixelRatio;\n\n/**\n * Path \u4ee3\u7406\uff0c\u53ef\u4ee5\u5728`buildPath`\u4e2d\u7528\u4e8e\u66ff\u4ee3`ctx`, \u4f1a\u4fdd\u5b58\u6bcf\u4e2apath\u64cd\u4f5c\u7684\u547d\u4ee4\u5230pathCommands\u5c5e\u6027\u4e2d\n * \u53ef\u4ee5\u7528\u4e8e isInsidePath \u5224\u65ad\u4ee5\u53ca\u83b7\u53d6boundingRect\n *\n * @module zrender/core/PathProxy\n * @author Yi Shen (http://www.github.com/pissang)\n */\n// TODO getTotalLength, getPointAtLength\n\n/* global Float32Array */\nvar CMD = {\n M: 1,\n L: 2,\n C: 3,\n Q: 4,\n A: 5,\n Z: 6,\n // Rect\n R: 7\n}; // var CMD_MEM_SIZE = {\n// M: 3,\n// L: 3,\n// C: 7,\n// Q: 5,\n// A: 9,\n// R: 5,\n// Z: 1\n// };\n\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 mathSqrt = Math.sqrt;\nvar mathAbs = Math.abs;\nvar hasTypedArray = typeof Float32Array !== \'undefined\';\n/**\n * @alias module:zrender/core/PathProxy\n * @constructor\n */\n\nvar PathProxy = function (notSaveData) {\n this._saveData = !(notSaveData || false);\n\n if (this._saveData) {\n /**\n * Path data. Stored as flat array\n * @type {Array.}\n */\n this.data = [];\n }\n\n this._ctx = null;\n};\n/**\n * \u5feb\u901f\u8ba1\u7b97Path\u5305\u56f4\u76d2\uff08\u5e76\u4e0d\u662f\u6700\u5c0f\u5305\u56f4\u76d2\uff09\n * @return {Object}\n */\n\n\nPathProxy.prototype = {\n constructor: PathProxy,\n _xi: 0,\n _yi: 0,\n _x0: 0,\n _y0: 0,\n // Unit x, Unit y. Provide for avoiding drawing that too short line segment\n _ux: 0,\n _uy: 0,\n _len: 0,\n _lineDash: null,\n _dashOffset: 0,\n _dashIdx: 0,\n _dashSum: 0,\n\n /**\n * @readOnly\n */\n setScale: function (sx, sy, segmentIgnoreThreshold) {\n // Compat. Previously there is no segmentIgnoreThreshold.\n segmentIgnoreThreshold = segmentIgnoreThreshold || 0;\n this._ux = mathAbs(segmentIgnoreThreshold / dpr / sx) || 0;\n this._uy = mathAbs(segmentIgnoreThreshold / dpr / sy) || 0;\n },\n getContext: function () {\n return this._ctx;\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n beginPath: function (ctx) {\n this._ctx = ctx;\n ctx && ctx.beginPath();\n ctx && (this.dpr = ctx.dpr); // Reset\n\n if (this._saveData) {\n this._len = 0;\n }\n\n if (this._lineDash) {\n this._lineDash = null;\n this._dashOffset = 0;\n }\n\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n moveTo: function (x, y) {\n this.addData(CMD.M, x, y);\n this._ctx && this._ctx.moveTo(x, y); // x0, y0, xi, yi \u662f\u8bb0\u5f55\u5728 _dashedXXXXTo \u65b9\u6cd5\u4e2d\u4f7f\u7528\n // xi, yi \u8bb0\u5f55\u5f53\u524d\u70b9, x0, y0 \u5728 closePath \u7684\u65f6\u5019\u56de\u5230\u8d77\u59cb\u70b9\u3002\n // \u6709\u53ef\u80fd\u5728 beginPath \u4e4b\u540e\u76f4\u63a5\u8c03\u7528 lineTo\uff0c\u8fd9\u65f6\u5019 x0, y0 \u9700\u8981\n // \u5728 lineTo \u65b9\u6cd5\u4e2d\u8bb0\u5f55\uff0c\u8fd9\u91cc\u5148\u4e0d\u8003\u8651\u8fd9\u79cd\u60c5\u51b5\uff0cdashed line \u4e5f\u53ea\u5728 IE10- \u4e2d\u4e0d\u652f\u6301\n\n this._x0 = x;\n this._y0 = y;\n this._xi = x;\n this._yi = y;\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n lineTo: function (x, y) {\n var exceedUnit = mathAbs(x - this._xi) > this._ux || mathAbs(y - this._yi) > this._uy // Force draw the first segment\n || this._len < 5;\n this.addData(CMD.L, x, y);\n\n if (this._ctx && exceedUnit) {\n this._needsDash() ? this._dashedLineTo(x, y) : this._ctx.lineTo(x, y);\n }\n\n if (exceedUnit) {\n this._xi = x;\n this._yi = y;\n }\n\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @return {module:zrender/core/PathProxy}\n */\n bezierCurveTo: function (x1, y1, x2, y2, x3, y3) {\n this.addData(CMD.C, x1, y1, x2, y2, x3, y3);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedBezierTo(x1, y1, x2, y2, x3, y3) : this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n }\n\n this._xi = x3;\n this._yi = y3;\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @return {module:zrender/core/PathProxy}\n */\n quadraticCurveTo: function (x1, y1, x2, y2) {\n this.addData(CMD.Q, x1, y1, x2, y2);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedQuadraticTo(x1, y1, x2, y2) : this._ctx.quadraticCurveTo(x1, y1, x2, y2);\n }\n\n this._xi = x2;\n this._yi = y2;\n return this;\n },\n\n /**\n * @param {number} cx\n * @param {number} cy\n * @param {number} r\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean} anticlockwise\n * @return {module:zrender/core/PathProxy}\n */\n arc: function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this.addData(CMD.A, cx, cy, r, r, startAngle, endAngle - startAngle, 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 // TODO\n arcTo: function (x1, y1, x2, y2, radius) {\n if (this._ctx) {\n this._ctx.arcTo(x1, y1, x2, y2, radius);\n }\n\n return this;\n },\n // TODO\n rect: function (x, y, w, h) {\n this._ctx && this._ctx.rect(x, y, w, h);\n this.addData(CMD.R, x, y, w, h);\n return this;\n },\n\n /**\n * @return {module:zrender/core/PathProxy}\n */\n closePath: function () {\n this.addData(CMD.Z);\n var ctx = this._ctx;\n var x0 = this._x0;\n var y0 = this._y0;\n\n if (ctx) {\n this._needsDash() && this._dashedLineTo(x0, y0);\n ctx.closePath();\n }\n\n this._xi = x0;\n this._yi = y0;\n return this;\n },\n\n /**\n * Context \u4ece\u5916\u90e8\u4f20\u5165\uff0c\u56e0\u4e3a\u6709\u53ef\u80fd\u662f rebuildPath \u5b8c\u4e4b\u540e\u518d fill\u3002\n * stroke \u540c\u6837\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n fill: function (ctx) {\n ctx && ctx.fill();\n this.toStatic();\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n stroke: function (ctx) {\n ctx && ctx.stroke();\n this.toStatic();\n },\n\n /**\n * \u5fc5\u987b\u5728\u5176\u5b83\u7ed8\u5236\u547d\u4ee4\u524d\u8c03\u7528\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDash: function (lineDash) {\n if (lineDash instanceof Array) {\n this._lineDash = lineDash;\n this._dashIdx = 0;\n var lineDashSum = 0;\n\n for (var i = 0; i < lineDash.length; i++) {\n lineDashSum += lineDash[i];\n }\n\n this._dashSum = lineDashSum;\n }\n\n return this;\n },\n\n /**\n * \u5fc5\u987b\u5728\u5176\u5b83\u7ed8\u5236\u547d\u4ee4\u524d\u8c03\u7528\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDashOffset: function (offset) {\n this._dashOffset = offset;\n return this;\n },\n\n /**\n *\n * @return {boolean}\n */\n len: function () {\n return this._len;\n },\n\n /**\n * \u76f4\u63a5\u8bbe\u7f6e Path \u6570\u636e\n */\n setData: function (data) {\n var len = data.length;\n\n if (!(this.data && this.data.length === len) && hasTypedArray) {\n this.data = new Float32Array(len);\n }\n\n for (var i = 0; i < len; i++) {\n this.data[i] = data[i];\n }\n\n this._len = len;\n },\n\n /**\n * \u6dfb\u52a0\u5b50\u8def\u5f84\n * @param {module:zrender/core/PathProxy|Array.} path\n */\n appendPath: function (path) {\n if (!(path instanceof Array)) {\n path = [path];\n }\n\n var len = path.length;\n var appendSize = 0;\n var offset = this._len;\n\n for (var i = 0; i < len; i++) {\n appendSize += path[i].len();\n }\n\n if (hasTypedArray && this.data instanceof Float32Array) {\n this.data = new Float32Array(offset + appendSize);\n }\n\n for (var i = 0; i < len; i++) {\n var appendPathData = path[i].data;\n\n for (var k = 0; k < appendPathData.length; k++) {\n this.data[offset++] = appendPathData[k];\n }\n }\n\n this._len = offset;\n },\n\n /**\n * \u586b\u5145 Path \u6570\u636e\u3002\n * \u5c3d\u91cf\u590d\u7528\u800c\u4e0d\u7533\u660e\u65b0\u7684\u6570\u7ec4\u3002\u5927\u90e8\u5206\u56fe\u5f62\u91cd\u7ed8\u7684\u6307\u4ee4\u6570\u636e\u957f\u5ea6\u90fd\u662f\u4e0d\u53d8\u7684\u3002\n */\n addData: function (cmd) {\n if (!this._saveData) {\n return;\n }\n\n var data = this.data;\n\n if (this._len + arguments.length > data.length) {\n // \u56e0\u4e3a\u4e4b\u524d\u7684\u6570\u7ec4\u5df2\u7ecf\u8f6c\u6362\u6210\u9759\u6001\u7684 Float32Array\n // \u6240\u4ee5\u4e0d\u591f\u7528\u65f6\u9700\u8981\u6269\u5c55\u4e00\u4e2a\u65b0\u7684\u52a8\u6001\u6570\u7ec4\n this._expandData();\n\n data = this.data;\n }\n\n for (var i = 0; i < arguments.length; i++) {\n data[this._len++] = arguments[i];\n }\n\n this._prevCmd = cmd;\n },\n _expandData: function () {\n // Only if data is Float32Array\n if (!(this.data instanceof Array)) {\n var newData = [];\n\n for (var i = 0; i < this._len; i++) {\n newData[i] = this.data[i];\n }\n\n this.data = newData;\n }\n },\n\n /**\n * If needs js implemented dashed line\n * @return {boolean}\n * @private\n */\n _needsDash: function () {\n return this._lineDash;\n },\n _dashedLineTo: function (x1, y1) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var dx = x1 - x0;\n var dy = y1 - y0;\n var dist = mathSqrt(dx * dx + dy * dy);\n var x = x0;\n var y = y0;\n var dash;\n var nDash = lineDash.length;\n var idx;\n dx /= dist;\n dy /= dist;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum;\n x -= offset * dx;\n y -= offset * dy;\n\n while (dx > 0 && x <= x1 || dx < 0 && x >= x1 || dx === 0 && (dy > 0 && y <= y1 || dy < 0 && y >= y1)) {\n idx = this._dashIdx;\n dash = lineDash[idx];\n x += dx * dash;\n y += dy * dash;\n this._dashIdx = (idx + 1) % nDash; // Skip positive offset\n\n if (dx > 0 && x < x0 || dx < 0 && x > x0 || dy > 0 && y < y0 || dy < 0 && y > y0) {\n continue;\n }\n\n ctx[idx % 2 ? \'moveTo\' : \'lineTo\'](dx >= 0 ? mathMin(x, x1) : mathMax(x, x1), dy >= 0 ? mathMin(y, y1) : mathMax(y, y1));\n } // Offset for next lineTo\n\n\n dx = x - x1;\n dy = y - y1;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n // Not accurate dashed line to\n _dashedBezierTo: function (x1, y1, x2, y2, x3, y3) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var t;\n var dx;\n var dy;\n var cubicAt = curve.cubicAt;\n var bezierLen = 0;\n var idx = this._dashIdx;\n var nDash = lineDash.length;\n var x;\n var y;\n var tmpLen = 0;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum; // Bezier approx length\n\n for (t = 0; t < 1; t += 0.1) {\n dx = cubicAt(x0, x1, x2, x3, t + 0.1) - cubicAt(x0, x1, x2, x3, t);\n dy = cubicAt(y0, y1, y2, y3, t + 0.1) - cubicAt(y0, y1, y2, y3, t);\n bezierLen += mathSqrt(dx * dx + dy * dy);\n } // Find idx after add offset\n\n\n for (; idx < nDash; idx++) {\n tmpLen += lineDash[idx];\n\n if (tmpLen > offset) {\n break;\n }\n }\n\n t = (tmpLen - offset) / bezierLen;\n\n while (t <= 1) {\n x = cubicAt(x0, x1, x2, x3, t);\n y = cubicAt(y0, y1, y2, y3, t); // Use line to approximate dashed bezier\n // Bad result if dash is long\n\n idx % 2 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n t += lineDash[idx] / bezierLen;\n idx = (idx + 1) % nDash;\n } // Finish the last segment and calculate the new offset\n\n\n idx % 2 !== 0 && ctx.lineTo(x3, y3);\n dx = x3 - x;\n dy = y3 - y;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n _dashedQuadraticTo: function (x1, y1, x2, y2) {\n // Convert quadratic to cubic using degree elevation\n var x3 = x2;\n var y3 = y2;\n x2 = (x2 + 2 * x1) / 3;\n y2 = (y2 + 2 * y1) / 3;\n x1 = (this._xi + 2 * x1) / 3;\n y1 = (this._yi + 2 * y1) / 3;\n\n this._dashedBezierTo(x1, y1, x2, y2, x3, y3);\n },\n\n /**\n * \u8f6c\u6210\u9759\u6001\u7684 Float32Array \u51cf\u5c11\u5806\u5185\u5b58\u5360\u7528\n * Convert dynamic array to static Float32Array\n */\n toStatic: function () {\n var data = this.data;\n\n if (data instanceof Array) {\n data.length = this._len;\n\n if (hasTypedArray) {\n this.data = new Float32Array(data);\n }\n }\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n 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\n for (var i = 0; i < data.length;) {\n var cmd = data[i++];\n\n if (i === 1) {\n // \u5982\u679c\u7b2c\u4e00\u4e2a\u547d\u4ee4\u662f L, C, Q\n // \u5219 previous point \u540c\u7ed8\u5236\u547d\u4ee4\u7684\u7b2c\u4e00\u4e2a point\n //\n // \u7b2c\u4e00\u4e2a\u547d\u4ee4\u4e3a Arc \u7684\u60c5\u51b5\u4e0b\u4f1a\u5728\u540e\u9762\u7279\u6b8a\u5904\u7406\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo \u547d\u4ee4\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 subpath, \u5e76\u4e14\u66f4\u65b0\u65b0\u7684\u8d77\u70b9\n // \u5728 closePath \u7684\u65f6\u5019\u4f7f\u7528\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n min2[0] = x0;\n min2[1] = y0;\n max2[0] = x0;\n max2[1] = y0;\n break;\n\n case CMD.L:\n bbox.fromLine(xi, yi, data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n bbox.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\n case CMD.Q:\n bbox.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\n case CMD.A:\n // TODO Arc \u5224\u65ad\u7684\u5f00\u9500\u6bd4\u8f83\u5927\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; // TODO Arc \u65cb\u8f6c\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n\n if (i === 1) {\n // \u76f4\u63a5\u4f7f\u7528 arc \u547d\u4ee4\n // \u7b2c\u4e00\u4e2a\u547d\u4ee4\u8d77\u70b9\u8fd8\u672a\u5b9a\u4e49\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n\n bbox.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\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++]; // Use fromLine\n\n bbox.fromLine(x0, y0, x0 + width, y0 + height, min2, max2);\n break;\n\n case CMD.Z:\n xi = x0;\n yi = y0;\n break;\n } // Union\n\n\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * Rebuild path from current data\n * Rebuild path will not consider javascript implemented line dash.\n * @param {CanvasRenderingContext2D} ctx\n */\n rebuildPath: function (ctx) {\n var d = this.data;\n var x0;\n var y0;\n var xi;\n var yi;\n var x;\n var y;\n var ux = this._ux;\n var uy = this._uy;\n var len = this._len;\n\n for (var i = 0; i < len;) {\n var cmd = d[i++];\n\n if (i === 1) {\n // \u5982\u679c\u7b2c\u4e00\u4e2a\u547d\u4ee4\u662f L, C, Q\n // \u5219 previous point \u540c\u7ed8\u5236\u547d\u4ee4\u7684\u7b2c\u4e00\u4e2a point\n //\n // \u7b2c\u4e00\u4e2a\u547d\u4ee4\u4e3a Arc \u7684\u60c5\u51b5\u4e0b\u4f1a\u5728\u540e\u9762\u7279\u6b8a\u5904\u7406\n xi = d[i];\n yi = d[i + 1];\n x0 = xi;\n y0 = yi;\n }\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\n case CMD.L:\n x = d[i++];\n y = d[i++]; // Not draw too small seg between\n\n if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i === len - 1) {\n ctx.lineTo(x, y);\n xi = x;\n yi = y;\n }\n\n break;\n\n case CMD.C:\n ctx.bezierCurveTo(d[i++], d[i++], d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.Q:\n ctx.quadraticCurveTo(d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\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 theta = d[i++];\n var dTheta = d[i++];\n var psi = d[i++];\n var fs = d[i++];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n var isEllipse = Math.abs(rx - ry) > 1e-3;\n var endAngle = theta + dTheta;\n\n if (isEllipse) {\n ctx.translate(cx, cy);\n ctx.rotate(psi);\n ctx.scale(scaleX, scaleY);\n ctx.arc(0, 0, r, theta, endAngle, 1 - fs);\n ctx.scale(1 / scaleX, 1 / scaleY);\n ctx.rotate(-psi);\n ctx.translate(-cx, -cy);\n } else {\n ctx.arc(cx, cy, r, theta, endAngle, 1 - fs);\n }\n\n if (i === 1) {\n // \u76f4\u63a5\u4f7f\u7528 arc \u547d\u4ee4\n // \u7b2c\u4e00\u4e2a\u547d\u4ee4\u8d77\u70b9\u8fd8\u672a\u5b9a\u4e49\n x0 = mathCos(theta) * rx + cx;\n y0 = mathSin(theta) * ry + cy;\n }\n\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = d[i];\n y0 = yi = d[i + 1];\n ctx.rect(d[i++], d[i++], d[i++], d[i++]);\n break;\n\n case CMD.Z:\n ctx.closePath();\n xi = x0;\n yi = y0;\n }\n }\n }\n};\nPathProxy.CMD = CMD;\nvar _default = PathProxy;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/PathProxy.js?')},IUWy:function(module,exports){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 features = {};\n\nfunction register(name, ctor) {\n features[name] = ctor;\n}\n\nfunction get(name) {\n return features[name];\n}\n\nexports.register = register;\nexports.get = get;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/toolbox/featureManager.js?')},IWNH:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 SeriesModel = __webpack_require__(\"T4UG\");\n\nvar Tree = __webpack_require__(\"Bsck\");\n\nvar _format = __webpack_require__(\"7aKB\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar Model = __webpack_require__(\"Qxkt\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = SeriesModel.extend({\n type: 'series.tree',\n layoutInfo: null,\n // can support the position parameters 'left', 'top','right','bottom', 'width',\n // 'height' in the setOption() with 'merge' mode normal.\n layoutMode: 'box',\n\n /**\n * Init a tree data structure from data in option series\n * @param {Object} option the object used to config echarts view\n * @return {module:echarts/data/List} storage initial data\n */\n 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(leaves, this, this.ecModel);\n var tree = Tree.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.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 /**\n * Make the configuration 'orient' backward compatibly, with 'horizontal = LR', 'vertical = TB'.\n * @returns {string} orient\n */\n 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 setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n\n /**\n * @override\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\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 encodeHTML(name + (isNaN(value) || value == null ? '' : ' : ' + value));\n },\n 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 // The orient of orthoginal layout, can be setted to 'LR', 'TB', 'RL', 'BT'.\n // and the backward compatibility configuration 'horizontal = LR', 'vertical = TB'.\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 color: '#555'\n },\n leaves: {\n label: {\n show: true\n }\n },\n animationEasing: 'linear',\n animationDuration: 700,\n animationDurationUpdate: 1000\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/TreeSeries.js?")},IWp7:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\nvar scaleHelper = __webpack_require__(\"lE7J\");\n\nvar IntervalScale = __webpack_require__(\"ieMj\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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* ).\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.\nvar intervalScaleProto = IntervalScale.prototype;\nvar mathCeil = Math.ceil;\nvar mathFloor = Math.floor;\nvar ONE_SECOND = 1000;\nvar ONE_MINUTE = ONE_SECOND * 60;\nvar ONE_HOUR = ONE_MINUTE * 60;\nvar ONE_DAY = ONE_HOUR * 24; // FIXME \u516c\u7528\uff1f\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/**\n * @alias module:echarts/coord/scale/Time\n * @constructor\n */\n\n\nvar TimeScale = IntervalScale.extend({\n type: 'time',\n\n /**\n * @override\n */\n getLabel: function (val) {\n var stepLvl = this._stepLvl;\n var date = new Date(val);\n return formatUtil.formatTime(stepLvl[0], date, this.getSetting('useUTC'));\n },\n\n /**\n * @override\n */\n niceExtent: 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] -= ONE_DAY;\n extent[1] += 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] - ONE_DAY;\n }\n\n this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // var extent = this._extent;\n\n var interval = this._interval;\n\n if (!opt.fixMin) {\n extent[0] = numberUtil.round(mathFloor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = numberUtil.round(mathCeil(extent[1] / interval) * interval);\n }\n },\n\n /**\n * @override\n */\n niceTicks: function (approxTickNum, minInterval, maxInterval) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n var approxInterval = span / approxTickNum;\n\n if (minInterval != null && approxInterval < minInterval) {\n approxInterval = minInterval;\n }\n\n if (maxInterval != null && approxInterval > maxInterval) {\n approxInterval = maxInterval;\n }\n\n var scaleLevelsLen = scaleLevels.length;\n var idx = bisect(scaleLevels, approxInterval, 0, scaleLevelsLen);\n var level = scaleLevels[Math.min(idx, scaleLevelsLen - 1)];\n var interval = level[1]; // Same with interval scale if span is much larger than 1 year\n\n if (level[0] === 'year') {\n var yearSpan = span / interval; // From \"Nice Numbers for Graph Labels\" of Graphic Gems\n // var niceYearSpan = numberUtil.nice(yearSpan, false);\n\n var yearStep = numberUtil.nice(yearSpan / approxTickNum, true);\n interval *= yearStep;\n }\n\n var timezoneOffset = this.getSetting('useUTC') ? 0 : new Date(+extent[0] || +extent[1]).getTimezoneOffset() * 60 * 1000;\n var niceExtent = [Math.round(mathCeil((extent[0] - timezoneOffset) / interval) * interval + timezoneOffset), Math.round(mathFloor((extent[1] - timezoneOffset) / interval) * interval + timezoneOffset)];\n scaleHelper.fixExtent(niceExtent, extent);\n this._stepLvl = level; // Interval will be used in getTicks\n\n this._interval = interval;\n this._niceExtent = niceExtent;\n },\n parse: function (val) {\n // val might be float.\n return +numberUtil.parseDate(val);\n }\n});\nzrUtil.each(['contain', 'normalize'], function (methodName) {\n TimeScale.prototype[methodName] = function (val) {\n return intervalScaleProto[methodName].call(this, this.parse(val));\n };\n});\n/**\n * This implementation was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\nvar scaleLevels = [// Format interval\n['hh:mm:ss', ONE_SECOND], // 1s\n['hh:mm:ss', ONE_SECOND * 5], // 5s\n['hh:mm:ss', ONE_SECOND * 10], // 10s\n['hh:mm:ss', ONE_SECOND * 15], // 15s\n['hh:mm:ss', ONE_SECOND * 30], // 30s\n['hh:mm\\nMM-dd', ONE_MINUTE], // 1m\n['hh:mm\\nMM-dd', ONE_MINUTE * 5], // 5m\n['hh:mm\\nMM-dd', ONE_MINUTE * 10], // 10m\n['hh:mm\\nMM-dd', ONE_MINUTE * 15], // 15m\n['hh:mm\\nMM-dd', ONE_MINUTE * 30], // 30m\n['hh:mm\\nMM-dd', ONE_HOUR], // 1h\n['hh:mm\\nMM-dd', ONE_HOUR * 2], // 2h\n['hh:mm\\nMM-dd', ONE_HOUR * 6], // 6h\n['hh:mm\\nMM-dd', ONE_HOUR * 12], // 12h\n['MM-dd\\nyyyy', ONE_DAY], // 1d\n['MM-dd\\nyyyy', ONE_DAY * 2], // 2d\n['MM-dd\\nyyyy', ONE_DAY * 3], // 3d\n['MM-dd\\nyyyy', ONE_DAY * 4], // 4d\n['MM-dd\\nyyyy', ONE_DAY * 5], // 5d\n['MM-dd\\nyyyy', ONE_DAY * 6], // 6d\n['week', ONE_DAY * 7], // 7d\n['MM-dd\\nyyyy', ONE_DAY * 10], // 10d\n['week', ONE_DAY * 14], // 2w\n['week', ONE_DAY * 21], // 3w\n['month', ONE_DAY * 31], // 1M\n['week', ONE_DAY * 42], // 6w\n['month', ONE_DAY * 62], // 2M\n['week', ONE_DAY * 70], // 10w\n['quarter', ONE_DAY * 95], // 3M\n['month', ONE_DAY * 31 * 4], // 4M\n['month', ONE_DAY * 31 * 5], // 5M\n['half-year', ONE_DAY * 380 / 2], // 6M\n['month', ONE_DAY * 31 * 8], // 8M\n['month', ONE_DAY * 31 * 10], // 10M\n['year', ONE_DAY * 380] // 1Y\n];\n/**\n * @param {module:echarts/model/Model}\n * @return {module:echarts/scale/Time}\n */\n\nTimeScale.create = function (model) {\n return new TimeScale({\n useUTC: model.ecModel.get('useUTC')\n });\n};\n\nvar _default = TimeScale;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/scale/Time.js?")},IXuL:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar createListFromArray = __webpack_require__(\"MwEJ\");\n\nvar SeriesModel = __webpack_require__(\"T4UG\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = SeriesModel.extend({\n type: 'series.line',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // stack: null\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // polarIndex: 0,\n // If clip the overflow value\n clip: true,\n // cursor: null,\n label: {\n position: 'top'\n },\n // itemStyle: {\n // },\n lineStyle: {\n width: 2,\n type: 'solid'\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'.\n sampling: 'none',\n animationEasing: 'linear',\n // Disable progressive\n progressive: 0,\n hoverLayerThreshold: Infinity\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/line/LineSeries.js?")},IXyC:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar Component = __webpack_require__(\"bLfw\");\n\n__webpack_require__(\"3zoK\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = Component.extend({\n type: 'parallel',\n dependencies: ['parallelAxis'],\n\n /**\n * @type {module:echarts/coord/parallel/Parallel}\n */\n coordinateSystem: null,\n\n /**\n * Each item like: 'dim0', 'dim1', 'dim2', ...\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * Coresponding to dimensions.\n * @type {Array.}\n * @readOnly\n */\n parallelAxisIndex: null,\n layoutMode: 'box',\n 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 // 'horizontal' or 'vertical'\n // FIXME\n // naming?\n axisExpandable: false,\n axisExpandCenter: null,\n axisExpandCount: 0,\n axisExpandWidth: 50,\n // FIXME '10%' ?\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 // 'mousemove' or 'click'\n parallelAxisDefault: null\n },\n\n /**\n * @override\n */\n init: function () {\n Component.prototype.init.apply(this, arguments);\n this.mergeOption({});\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var thisOption = this.option;\n newOption && zrUtil.merge(thisOption, newOption, true);\n\n this._initDimensions();\n },\n\n /**\n * Whether series or axis is in this coordinate system.\n * @param {module:echarts/model/Series|module:echarts/coord/parallel/AxisModel} model\n * @param {module:echarts/model/Global} ecModel\n */\n contains: function (model, ecModel) {\n var parallelIndex = model.get('parallelIndex');\n return parallelIndex != null && ecModel.getComponent('parallel', parallelIndex) === this;\n },\n setAxisExpand: function (opt) {\n zrUtil.each(['axisExpandable', 'axisExpandCenter', 'axisExpandCount', 'axisExpandWidth', 'axisExpandWindow'], function (name) {\n if (opt.hasOwnProperty(name)) {\n this.option[name] = opt[name];\n }\n }, this);\n },\n\n /**\n * @private\n */\n _initDimensions: function () {\n var dimensions = this.dimensions = [];\n var parallelAxisIndex = this.parallelAxisIndex = [];\n var axisModels = zrUtil.filter(this.dependentModels.parallelAxis, 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 zrUtil.each(axisModels, function (axisModel) {\n dimensions.push('dim' + axisModel.get('dim'));\n parallelAxisIndex.push(axisModel.componentIndex);\n });\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/parallel/ParallelModel.js?")},ItGF:function(module,exports){eval("/**\n * echarts\u8bbe\u5907\u73af\u5883\u8bc6\u522b\n *\n * @desc echarts\u57fa\u4e8eCanvas\uff0c\u7eafJavascript\u56fe\u8868\u5e93\uff0c\u63d0\u4f9b\u76f4\u89c2\uff0c\u751f\u52a8\uff0c\u53ef\u4ea4\u4e92\uff0c\u53ef\u4e2a\u6027\u5316\u5b9a\u5236\u7684\u6570\u636e\u7edf\u8ba1\u56fe\u8868\u3002\n * @author firede[firede@firede.us]\n * @desc thanks zepto.\n */\n\n/* global wx */\nvar env = {};\n\nif (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {\n // In Weixin Application\n env = {\n browser: {},\n os: {},\n node: false,\n wxa: true,\n // Weixin Application\n canvasSupported: true,\n svgSupported: false,\n touchEventsSupported: true,\n domSupported: false\n };\n} else if (typeof document === 'undefined' && typeof self !== 'undefined') {\n // In worker\n env = {\n browser: {},\n os: {},\n node: false,\n worker: true,\n canvasSupported: true,\n domSupported: false\n };\n} else if (typeof navigator === 'undefined') {\n // In node\n env = {\n browser: {},\n os: {},\n node: true,\n worker: false,\n // Assume canvas is supported\n canvasSupported: true,\n svgSupported: true,\n domSupported: false\n };\n} else {\n env = detect(navigator.userAgent);\n}\n\nvar _default = env; // Zepto.js\n// (c) 2010-2013 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\n\nfunction detect(ua) {\n var os = {};\n var browser = {}; // var webkit = ua.match(/Web[kK]it[\\/]{0,1}([\\d.]+)/);\n // var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n // var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n // var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n // var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n // var webos = ua.match(/(webOS|hpwOS)[\\s\\/]([\\d.]+)/);\n // var touchpad = webos && ua.match(/TouchPad/);\n // var kindle = ua.match(/Kindle\\/([\\d.]+)/);\n // var silk = ua.match(/Silk\\/([\\d._]+)/);\n // var blackberry = ua.match(/(BlackBerry).*Version\\/([\\d.]+)/);\n // var bb10 = ua.match(/(BB10).*Version\\/([\\d.]+)/);\n // var rimtabletos = ua.match(/(RIM\\sTablet\\sOS)\\s([\\d.]+)/);\n // var playbook = ua.match(/PlayBook/);\n // var chrome = ua.match(/Chrome\\/([\\d.]+)/) || ua.match(/CriOS\\/([\\d.]+)/);\n\n var firefox = ua.match(/Firefox\\/([\\d.]+)/); // var safari = webkit && ua.match(/Mobile\\//) && !chrome;\n // var webview = ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !chrome;\n\n var ie = ua.match(/MSIE\\s([\\d.]+)/) // IE 11 Trident/7.0; rv:11.0\n || ua.match(/Trident\\/.+?rv:(([\\d.]+))/);\n var edge = ua.match(/Edge\\/([\\d.]+)/); // IE 12 and 12+\n\n var weChat = /micromessenger/i.test(ua); // Todo: clean this up with a better OS/browser seperation:\n // - discern (more) between multiple browsers on android\n // - decide if kindle fire in silk mode is android or not\n // - Firefox on Android doesn't specify the Android version\n // - possibly devide in os, device and browser hashes\n // if (browser.webkit = !!webkit) browser.version = webkit[1];\n // if (android) os.android = true, os.version = android[2];\n // if (iphone && !ipod) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.');\n // if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.');\n // if (ipod) os.ios = os.ipod = true, os.version = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n // if (webos) os.webos = true, os.version = webos[2];\n // if (touchpad) os.touchpad = true;\n // if (blackberry) os.blackberry = true, os.version = blackberry[2];\n // if (bb10) os.bb10 = true, os.version = bb10[2];\n // if (rimtabletos) os.rimtabletos = true, os.version = rimtabletos[2];\n // if (playbook) browser.playbook = true;\n // if (kindle) os.kindle = true, os.version = kindle[1];\n // if (silk) browser.silk = true, browser.version = silk[1];\n // if (!silk && os.android && ua.match(/Kindle Fire/)) browser.silk = true;\n // if (chrome) browser.chrome = true, browser.version = chrome[1];\n\n if (firefox) {\n browser.firefox = true;\n browser.version = firefox[1];\n } // if (safari && (ua.match(/Safari/) || !!os.ios)) browser.safari = true;\n // if (webview) browser.webview = true;\n\n\n if (ie) {\n browser.ie = true;\n browser.version = ie[1];\n }\n\n if (edge) {\n browser.edge = true;\n browser.version = edge[1];\n } // It is difficult to detect WeChat in Win Phone precisely, because ua can\n // not be set on win phone. So we do not consider Win Phone.\n\n\n if (weChat) {\n browser.weChat = true;\n } // os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) ||\n // (firefox && ua.match(/Tablet/)) || (ie && !ua.match(/Phone/) && ua.match(/Touch/)));\n // os.phone = !!(!os.tablet && !os.ipod && (android || iphone || webos ||\n // (chrome && ua.match(/Android/)) || (chrome && ua.match(/CriOS\\/([\\d.]+)/)) ||\n // (firefox && ua.match(/Mobile/)) || (ie && ua.match(/Touch/))));\n\n\n return {\n browser: browser,\n os: os,\n node: false,\n // \u539f\u751fcanvas\u652f\u6301\uff0c\u6539\u6781\u7aef\u70b9\u4e86\n // canvasSupported : !(browser.ie && parseFloat(browser.version) < 9)\n canvasSupported: !!document.createElement('canvas').getContext,\n svgSupported: typeof SVGRect !== 'undefined',\n // works on most browsers\n // IE10/11 does not support touch event, and MS Edge supports them but not by\n // default, so we dont check navigator.maxTouchPoints for them here.\n touchEventsSupported: 'ontouchstart' in window && !browser.ie && !browser.edge,\n // .\n pointerEventsSupported: // (1) Firefox supports pointer but not by default, only MS browsers are reliable on pointer\n // events currently. So we dont use that on other browsers unless tested sufficiently.\n // For example, in iOS 13 Mobile Chromium 78, if the touching behavior starts page\n // scroll, the `pointermove` event can not be fired any more. That will break some\n // features like \"pan horizontally to move something and pan vertically to page scroll\".\n // The horizontal pan probably be interrupted by the casually triggered page scroll.\n // (2) Although IE 10 supports pointer event, it use old style and is different from the\n // standard. So we exclude that. (IE 10 is hardly used on touch device)\n 'onpointerdown' in window && (browser.edge || browser.ie && browser.version >= 11),\n // passiveSupported: detectPassiveSupport()\n domSupported: typeof document !== 'undefined'\n };\n} // See https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n// function detectPassiveSupport() {\n// // Test via a getter in the options object to see if the passive property is accessed\n// var supportsPassive = false;\n// try {\n// var opts = Object.defineProperty({}, 'passive', {\n// get: function() {\n// supportsPassive = true;\n// }\n// });\n// window.addEventListener('testPassive', function() {}, opts);\n// } catch (e) {\n// }\n// return supportsPassive;\n// }\n\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/core/env.js?")},Itpr:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 layout = __webpack_require__("+TT/");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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* ).\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 * @param {module:echarts/data/Tree~TreeNode} root The virtual root of the tree.\n */\nfunction init(root) {\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 * \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 * @param {module:echarts/data/Tree~TreeNode} node\n * @param {Function} separation\n */\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 * \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 * @param {module:echarts/data/Tree~TreeNode} node\n */\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}\n\nfunction separation(cb) {\n return arguments.length ? cb : defaultSeparation;\n}\n/**\n * Transform the common coordinate to radial coordinate.\n *\n * @param {number} x\n * @param {number} y\n * @return {Object}\n */\n\n\nfunction radialCoordinate(x, y) {\n var radialCoor = {};\n x -= Math.PI / 2;\n radialCoor.x = y * Math.cos(x);\n radialCoor.y = y * Math.sin(x);\n return radialCoor;\n}\n/**\n * Get the layout position of the whole view.\n *\n * @param {module:echarts/model/Series} seriesModel the model object of sankey series\n * @param {module:echarts/ExtensionAPI} api provide the API list that the developer can call\n * @return {module:zrender/core/BoundingRect} size of rect to draw the sankey view\n */\n\n\nfunction getViewRect(seriesModel, api) {\n return layout.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 * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * @param {module:echarts/data/Tree~TreeNode} node\n */\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 * \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 * @param {module:echarts/data/Tree~TreeNode} subtreeV\n * @param {module:echarts/data/Tree~TreeNode} subtreeW\n * @param {module:echarts/data/Tree~TreeNode} ancestor\n * @param {Function} separation\n * @return {module:echarts/data/Tree~TreeNode}\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 * @param {module:echarts/data/Tree~TreeNode} node\n * @return {module:echarts/data/Tree~TreeNode}\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 * @param {module:echarts/data/Tree~TreeNode} node\n * @return {module:echarts/data/Tree~TreeNode}\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\u2019s ancestor is a sibling of node, returns nodeInLeft\u2019s ancestor.\n * Otherwise, returns the specified ancestor.\n *\n * @param {module:echarts/data/Tree~TreeNode} nodeInLeft\n * @param {module:echarts/data/Tree~TreeNode} node\n * @param {module:echarts/data/Tree~TreeNode} ancestor\n * @return {module:echarts/data/Tree~TreeNode}\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 * \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 * @param {module:echarts/data/Tree~TreeNode} wl\n * @param {module:echarts/data/Tree~TreeNode} wr\n * @param {number} shift [description]\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 * \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\nexports.init = init;\nexports.firstWalk = firstWalk;\nexports.secondWalk = secondWalk;\nexports.separation = separation;\nexports.radialCoordinate = radialCoordinate;\nexports.getViewRect = getViewRect;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/tree/layoutHelper.js?')},IwbS:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar pathTool = __webpack_require__(\"NC18\");\n\nvar colorTool = __webpack_require__(\"Qe9p\");\n\nvar matrix = __webpack_require__(\"Fofx\");\n\nvar vector = __webpack_require__(\"QBsz\");\n\nvar Path = __webpack_require__(\"y+Vt\");\n\nvar Transformable = __webpack_require__(\"DN4a\");\n\nvar ZImage = __webpack_require__(\"Dagg\");\n\nexports.Image = ZImage;\n\nvar Group = __webpack_require__(\"4fz+\");\n\nexports.Group = Group;\n\nvar Text = __webpack_require__(\"dqUG\");\n\nexports.Text = Text;\n\nvar Circle = __webpack_require__(\"2fw6\");\n\nexports.Circle = Circle;\n\nvar Sector = __webpack_require__(\"SqI9\");\n\nexports.Sector = Sector;\n\nvar Ring = __webpack_require__(\"RXMa\");\n\nexports.Ring = Ring;\n\nvar Polygon = __webpack_require__(\"h7HQ\");\n\nexports.Polygon = Polygon;\n\nvar Polyline = __webpack_require__(\"1Jh7\");\n\nexports.Polyline = Polyline;\n\nvar Rect = __webpack_require__(\"x6Kt\");\n\nexports.Rect = Rect;\n\nvar Line = __webpack_require__(\"yxFR\");\n\nexports.Line = Line;\n\nvar BezierCurve = __webpack_require__(\"rA99\");\n\nexports.BezierCurve = BezierCurve;\n\nvar Arc = __webpack_require__(\"jTL6\");\n\nexports.Arc = Arc;\n\nvar CompoundPath = __webpack_require__(\"1MYJ\");\n\nexports.CompoundPath = CompoundPath;\n\nvar LinearGradient = __webpack_require__(\"SKnc\");\n\nexports.LinearGradient = LinearGradient;\n\nvar RadialGradient = __webpack_require__(\"3e3G\");\n\nexports.RadialGradient = RadialGradient;\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\nexports.BoundingRect = BoundingRect;\n\nvar IncrementalDisplayable = __webpack_require__(\"OS9S\");\n\nexports.IncrementalDisplayable = IncrementalDisplayable;\n\nvar subPixelOptimizeUtil = __webpack_require__(\"nPnh\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 mathMax = Math.max;\nvar mathMin = Math.min;\nvar EMPTY_OBJ = {};\nvar Z2_EMPHASIS_LIFT = 1; // key: label model property nane, value: style property name.\n\nvar CACHED_LABEL_STYLE_PROPERTIES = {\n color: 'textFill',\n textBorderColor: 'textStroke',\n textBorderWidth: 'textStrokeWidth'\n};\nvar EMPHASIS = 'emphasis';\nvar NORMAL = 'normal'; // Reserve 0 as default.\n\nvar _highlightNextDigit = 1;\nvar _highlightKeyMap = {};\nvar _customShapeMap = {};\n/**\n * Extend shape with parameters\n */\n\nfunction extendShape(opts) {\n return Path.extend(opts);\n}\n/**\n * Extend path\n */\n\n\nfunction extendPath(pathData, opts) {\n return pathTool.extendFromString(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 {string} name\n * @param {Object} ShapeClass Can be generated by `extendShape`.\n */\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 {string} name\n * @return {Object} The shape class. If not found, return nothing.\n */\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 {string} pathData\n * @param {Object} opts\n * @param {module:zrender/core/BoundingRect} rect\n * @param {string} [layout=cover] 'center' or 'cover'\n */\n\n\nfunction makePath(pathData, opts, rect, layout) {\n var path = pathTool.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 {string} imageUrl image url\n * @param {Object} opts options\n * @param {module:zrender/core/BoundingRect} rect constrain rect\n * @param {string} [layout=cover] 'center' or 'cover'\n */\n\n\nfunction makeImage(imageUrl, rect, layout) {\n var path = new ZImage({\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 path.setStyle(centerGraphic(rect, boundingRect));\n }\n }\n });\n return path;\n}\n/**\n * Get position of centered element in bounding box.\n *\n * @param {Object} rect element local bounding box\n * @param {Object} boundingRect constraint bounding box\n * @return {Object} element position containing x, y, width, and height\n */\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 = pathTool.mergePath;\n/**\n * Resize a path to fit the rect\n * @param {module:zrender/graphic/Path} path\n * @param {Object} 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 * @param {Object} param\n * @param {Object} [param.shape]\n * @param {number} [param.shape.x1]\n * @param {number} [param.shape.y1]\n * @param {number} [param.shape.x2]\n * @param {number} [param.shape.y2]\n * @param {Object} [param.style]\n * @param {number} [param.style.lineWidth]\n * @return {Object} Modified param\n */\n\n\nfunction subPixelOptimizeLine(param) {\n subPixelOptimizeUtil.subPixelOptimizeLine(param.shape, param.shape, param.style);\n return param;\n}\n/**\n * Sub pixel optimize rect for canvas\n *\n * @param {Object} param\n * @param {Object} [param.shape]\n * @param {number} [param.shape.x]\n * @param {number} [param.shape.y]\n * @param {number} [param.shape.width]\n * @param {number} [param.shape.height]\n * @param {Object} [param.style]\n * @param {number} [param.style.lineWidth]\n * @return {Object} Modified param\n */\n\n\nfunction subPixelOptimizeRect(param) {\n subPixelOptimizeUtil.subPixelOptimizeRect(param.shape, param.shape, param.style);\n return param;\n}\n/**\n * Sub pixel optimize for canvas\n *\n * @param {number} position Coordinate, such as x, y\n * @param {number} lineWidth Should be nonnegative integer.\n * @param {boolean=} positiveOrNegative Default false (negative).\n * @return {number} Optimized position.\n */\n\n\nvar subPixelOptimize = subPixelOptimizeUtil.subPixelOptimize;\n\nfunction hasFillOrStroke(fillOrStroke) {\n return fillOrStroke != null && fillOrStroke !== 'none';\n} // Most lifted color are duplicated.\n\n\nvar liftedColorMap = zrUtil.createHashMap();\nvar liftedColorCount = 0;\n\nfunction liftColor(color) {\n if (typeof color !== 'string') {\n return color;\n }\n\n var liftedColor = liftedColorMap.get(color);\n\n if (!liftedColor) {\n liftedColor = colorTool.lift(color, -0.1);\n\n if (liftedColorCount < 10000) {\n liftedColorMap.set(color, liftedColor);\n liftedColorCount++;\n }\n }\n\n return liftedColor;\n}\n\nfunction cacheElementStl(el) {\n if (!el.__hoverStlDirty) {\n return;\n }\n\n el.__hoverStlDirty = false;\n var hoverStyle = el.__hoverStl;\n\n if (!hoverStyle) {\n el.__cachedNormalStl = el.__cachedNormalZ2 = null;\n return;\n }\n\n var normalStyle = el.__cachedNormalStl = {};\n el.__cachedNormalZ2 = el.z2;\n var elStyle = el.style;\n\n for (var name in hoverStyle) {\n // See comment in `singleEnterEmphasis`.\n if (hoverStyle[name] != null) {\n normalStyle[name] = elStyle[name];\n }\n } // Always cache fill and stroke to normalStyle for lifting color.\n\n\n normalStyle.fill = elStyle.fill;\n normalStyle.stroke = elStyle.stroke;\n}\n\nfunction singleEnterEmphasis(el) {\n var hoverStl = el.__hoverStl;\n\n if (!hoverStl || el.__highlighted) {\n return;\n }\n\n var zr = el.__zr;\n var useHoverLayer = el.useHoverLayer && zr && zr.painter.type === 'canvas';\n el.__highlighted = useHoverLayer ? 'layer' : 'plain';\n\n if (el.isGroup || !zr && el.useHoverLayer) {\n return;\n }\n\n var elTarget = el;\n var targetStyle = el.style;\n\n if (useHoverLayer) {\n elTarget = zr.addHover(el);\n targetStyle = elTarget.style;\n }\n\n rollbackDefaultTextStyle(targetStyle);\n\n if (!useHoverLayer) {\n cacheElementStl(elTarget);\n } // styles can be:\n // {\n // label: {\n // show: false,\n // position: 'outside',\n // fontSize: 18\n // },\n // emphasis: {\n // label: {\n // show: true\n // }\n // }\n // },\n // where properties of `emphasis` may not appear in `normal`. We previously use\n // module:echarts/util/model#defaultEmphasis to merge `normal` to `emphasis`.\n // But consider rich text and setOption in merge mode, it is impossible to cover\n // all properties in merge. So we use merge mode when setting style here.\n // But we choose the merge strategy that only properties that is not `null/undefined`.\n // Because when making a textStyle (espacially rich text), it is not easy to distinguish\n // `hasOwnProperty` and `null/undefined` in code, so we trade them as the same for simplicity.\n // But this strategy brings a trouble that `null/undefined` can not be used to remove\n // style any more in `emphasis`. Users can both set properties directly on normal and\n // emphasis to avoid this issue, or we might support `'none'` for this case if required.\n\n\n targetStyle.extendFrom(hoverStl);\n setDefaultHoverFillStroke(targetStyle, hoverStl, 'fill');\n setDefaultHoverFillStroke(targetStyle, hoverStl, 'stroke');\n applyDefaultTextStyle(targetStyle);\n\n if (!useHoverLayer) {\n el.dirty(false);\n el.z2 += Z2_EMPHASIS_LIFT;\n }\n}\n\nfunction setDefaultHoverFillStroke(targetStyle, hoverStyle, prop) {\n if (!hasFillOrStroke(hoverStyle[prop]) && hasFillOrStroke(targetStyle[prop])) {\n targetStyle[prop] = liftColor(targetStyle[prop]);\n }\n}\n\nfunction singleEnterNormal(el) {\n var highlighted = el.__highlighted;\n\n if (!highlighted) {\n return;\n }\n\n el.__highlighted = false;\n\n if (el.isGroup) {\n return;\n }\n\n if (highlighted === 'layer') {\n el.__zr && el.__zr.removeHover(el);\n } else {\n var style = el.style;\n var normalStl = el.__cachedNormalStl;\n\n if (normalStl) {\n rollbackDefaultTextStyle(style);\n el.setStyle(normalStl);\n applyDefaultTextStyle(style);\n } // `__cachedNormalZ2` will not be reset if calling `setElementHoverStyle`\n // when `el` is on emphasis state. So here by comparing with 1, we try\n // hard to make the bug case rare.\n\n\n var normalZ2 = el.__cachedNormalZ2;\n\n if (normalZ2 != null && el.z2 - normalZ2 === Z2_EMPHASIS_LIFT) {\n el.z2 = normalZ2;\n }\n }\n}\n\nfunction traverseUpdate(el, updater, commonParam) {\n // If root is group, also enter updater for `highDownOnUpdate`.\n var fromState = NORMAL;\n var toState = NORMAL;\n var trigger; // See the rule of `highDownOnUpdate` on `graphic.setAsHighDownDispatcher`.\n\n el.__highlighted && (fromState = EMPHASIS, trigger = true);\n updater(el, commonParam);\n el.__highlighted && (toState = EMPHASIS, trigger = true);\n el.isGroup && el.traverse(function (child) {\n !child.isGroup && updater(child, commonParam);\n });\n trigger && el.__highDownOnUpdate && el.__highDownOnUpdate(fromState, toState);\n}\n/**\n * Set hover style (namely \"emphasis style\") of element, based on the current\n * style of the given `el`.\n * This method should be called after all of the normal styles have been adopted\n * to the `el`. See the reason on `setHoverStyle`.\n *\n * @param {module:zrender/Element} el Should not be `zrender/container/Group`.\n * @param {Object} [el.hoverStyle] Can be set on el or its descendants,\n * e.g., `el.hoverStyle = ...; graphic.setHoverStyle(el); `.\n * Often used when item group has a label element and it's hoverStyle is different.\n * @param {Object|boolean} [hoverStl] The specified hover style.\n * If set as `false`, disable the hover style.\n * Similarly, The `el.hoverStyle` can alse be set\n * as `false` to disable the hover style.\n * Otherwise, use the default hover style if not provided.\n */\n\n\nfunction setElementHoverStyle(el, hoverStl) {\n // For performance consideration, it might be better to make the \"hover style\" only the\n // difference properties from the \"normal style\", but not a entire copy of all styles.\n hoverStl = el.__hoverStl = hoverStl !== false && (el.hoverStyle || hoverStl || {});\n el.__hoverStlDirty = true; // FIXME\n // It is not completely right to save \"normal\"/\"emphasis\" flag on elements.\n // It probably should be saved on `data` of series. Consider the cases:\n // (1) A highlighted elements are moved out of the view port and re-enter\n // again by dataZoom.\n // (2) call `setOption` and replace elements totally when they are highlighted.\n\n if (el.__highlighted) {\n // Consider the case:\n // The styles of a highlighted `el` is being updated. The new \"emphasis style\"\n // should be adapted to the `el`. Notice here new \"normal styles\" should have\n // been set outside and the cached \"normal style\" is out of date.\n el.__cachedNormalStl = null; // Do not clear `__cachedNormalZ2` here, because setting `z2` is not a constraint\n // of this method. In most cases, `z2` is not set and hover style should be able\n // to rollback. Of course, that would bring bug, but only in a rare case, see\n // `doSingleLeaveHover` for details.\n\n singleEnterNormal(el);\n singleEnterEmphasis(el);\n }\n}\n\nfunction onElementMouseOver(e) {\n !shouldSilent(this, e) // \"emphasis\" event highlight has higher priority than mouse highlight.\n && !this.__highByOuter && traverseUpdate(this, singleEnterEmphasis);\n}\n\nfunction onElementMouseOut(e) {\n !shouldSilent(this, e) // \"emphasis\" event highlight has higher priority than mouse highlight.\n && !this.__highByOuter && traverseUpdate(this, singleEnterNormal);\n}\n\nfunction onElementEmphasisEvent(highlightDigit) {\n this.__highByOuter |= 1 << (highlightDigit || 0);\n traverseUpdate(this, singleEnterEmphasis);\n}\n\nfunction onElementNormalEvent(highlightDigit) {\n !(this.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdate(this, singleEnterNormal);\n}\n\nfunction shouldSilent(el, e) {\n return el.__highDownSilentOnTouch && e.zrByTouch;\n}\n/**\n * Set hover style (namely \"emphasis style\") of element,\n * based on the current style of the given `el`.\n *\n * (1)\n * **CONSTRAINTS** for this method:\n * This method MUST be called after all of the normal styles having been adopted\n * to the `el`.\n * The input `hoverStyle` (that is, \"emphasis style\") MUST be the subset of the\n * \"normal style\" having been set to the el.\n * `color` MUST be one of the \"normal styles\" (because color might be lifted as\n * a default hover style).\n *\n * The reason: this method treat the current style of the `el` as the \"normal style\"\n * and cache them when enter/update the \"emphasis style\". Consider the case: the `el`\n * is in \"emphasis\" state and `setOption`/`dispatchAction` trigger the style updating\n * logic, where the el should shift from the original emphasis style to the new\n * \"emphasis style\" and should be able to \"downplay\" back to the new \"normal style\".\n *\n * Indeed, it is error-prone to make a interface has so many constraints, but I have\n * not found a better solution yet to fit the backward compatibility, performance and\n * the current programming style.\n *\n * (2)\n * Call the method for a \"root\" element once. Do not call it for each descendants.\n * If the descendants elemenets of a group has itself hover style different from the\n * root group, we can simply mount the style on `el.hoverStyle` for them, but should\n * not call this method for them.\n *\n * (3) These input parameters can be set directly on `el`:\n *\n * @param {module:zrender/Element} el\n * @param {Object} [el.hoverStyle] See `graphic.setElementHoverStyle`.\n * @param {boolean} [el.highDownSilentOnTouch=false] See `graphic.setAsHighDownDispatcher`.\n * @param {Function} [el.highDownOnUpdate] See `graphic.setAsHighDownDispatcher`.\n * @param {Object|boolean} [hoverStyle] See `graphic.setElementHoverStyle`.\n */\n\n\nfunction setHoverStyle(el, hoverStyle) {\n setAsHighDownDispatcher(el, true);\n traverseUpdate(el, setElementHoverStyle, hoverStyle);\n}\n/**\n * @param {module:zrender/Element} el\n * @param {Function} [el.highDownOnUpdate] Called when state updated.\n * Since `setHoverStyle` has the constraint that it must be called after\n * all of the normal style updated, `highDownOnUpdate` is not needed to\n * trigger if both `fromState` and `toState` is 'normal', and needed to\n * trigger if both `fromState` and `toState` is 'emphasis', which enables\n * to sync outside style settings to \"emphasis\" state.\n * @this {string} This dispatcher `el`.\n * @param {string} fromState Can be \"normal\" or \"emphasis\".\n * `fromState` might equal to `toState`,\n * for example, when this method is called when `el` is\n * on \"emphasis\" state.\n * @param {string} toState Can be \"normal\" or \"emphasis\".\n *\n * FIXME\n * CAUTION: Do not expose `highDownOnUpdate` outside echarts.\n * Because it is not a complete solution. The update\n * listener should not have been mount in element,\n * and the normal/emphasis state should not have\n * mantained on elements.\n *\n * @param {boolean} [el.highDownSilentOnTouch=false]\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 {boolean} [asDispatcher=true] If `false`, do not set as \"highDownDispatcher\".\n */\n\n\nfunction setAsHighDownDispatcher(el, asDispatcher) {\n var disable = asDispatcher === false; // Make `highDownSilentOnTouch` and `highDownOnUpdate` only work after\n // `setAsHighDownDispatcher` called. Avoid it is modified by user unexpectedly.\n\n el.__highDownSilentOnTouch = el.highDownSilentOnTouch;\n el.__highDownOnUpdate = el.highDownOnUpdate; // Simple optimize, since this method might be\n // called for each elements of a group in some cases.\n\n if (!disable || el.__highDownDispatcher) {\n var method = disable ? 'off' : 'on'; // Duplicated function will be auto-ignored, see Eventful.js.\n\n el[method]('mouseover', onElementMouseOver)[method]('mouseout', onElementMouseOut); // Emphasis, normal can be triggered manually by API or other components like hover link.\n\n el[method]('emphasis', onElementEmphasisEvent)[method]('normal', onElementNormalEvent); // Also keep previous record.\n\n el.__highByOuter = el.__highByOuter || 0;\n el.__highDownDispatcher = !disable;\n }\n}\n/**\n * @param {module:zrender/src/Element} el\n * @return {boolean}\n */\n\n\nfunction isHighDownDispatcher(el) {\n return !!(el && el.__highDownDispatcher);\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\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}\n/**\n * See more info in `setTextStyleCommon`.\n * @param {Object|module:zrender/graphic/Style} normalStyle\n * @param {Object} emphasisStyle\n * @param {module:echarts/model/Model} normalModel\n * @param {module:echarts/model/Model} emphasisModel\n * @param {Object} opt Check `opt` of `setTextStyleCommon` to find other props.\n * @param {string|Function} [opt.defaultText]\n * @param {module:echarts/model/Model} [opt.labelFetcher] Fetch text by\n * `opt.labelFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`\n * @param {number} [opt.labelDataIndex] Fetch text by\n * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`\n * @param {number} [opt.labelDimIndex] Fetch text by\n * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`\n * @param {string} [opt.labelProp] Fetch text by\n * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex, opt.labelProp)`\n * @param {Object} [normalSpecified]\n * @param {Object} [emphasisSpecified]\n */\n\n\nfunction setLabelStyle(normalStyle, emphasisStyle, normalModel, emphasisModel, opt, normalSpecified, emphasisSpecified) {\n opt = opt || EMPTY_OBJ;\n var labelFetcher = opt.labelFetcher;\n var labelDataIndex = opt.labelDataIndex;\n var labelDimIndex = opt.labelDimIndex;\n var labelProp = opt.labelProp; // This scenario, `label.normal.show = true; label.emphasis.show = false`,\n // is not supported util someone requests.\n\n var showNormal = normalModel.getShallow('show');\n var showEmphasis = emphasisModel.getShallow('show'); // Consider performance, only fetch label when necessary.\n // If `normal.show` is `false` and `emphasis.show` is `true` and `emphasis.formatter` is not set,\n // label should be displayed, where text is fetched by `normal.formatter` or `opt.defaultText`.\n\n var baseText;\n\n if (showNormal || showEmphasis) {\n if (labelFetcher) {\n baseText = labelFetcher.getFormattedLabel(labelDataIndex, 'normal', null, labelDimIndex, labelProp);\n }\n\n if (baseText == null) {\n baseText = zrUtil.isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt) : opt.defaultText;\n }\n }\n\n var normalStyleText = showNormal ? baseText : null;\n var emphasisStyleText = showEmphasis ? zrUtil.retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, 'emphasis', null, labelDimIndex, labelProp) : null, baseText) : null; // Optimize: If style.text is null, text will not be drawn.\n\n if (normalStyleText != null || emphasisStyleText != null) {\n // Always set `textStyle` even if `normalStyle.text` is null, because default\n // values have to be set on `normalStyle`.\n // If we set default values on `emphasisStyle`, consider case:\n // Firstly, `setOption(... label: {normal: {text: null}, emphasis: {show: true}} ...);`\n // Secondly, `setOption(... label: {noraml: {show: true, text: 'abc', color: 'red'} ...);`\n // Then the 'red' will not work on emphasis.\n setTextStyle(normalStyle, normalModel, normalSpecified, opt);\n setTextStyle(emphasisStyle, emphasisModel, emphasisSpecified, opt, true);\n }\n\n normalStyle.text = normalStyleText;\n emphasisStyle.text = emphasisStyleText;\n}\n/**\n * Modify label style manually.\n * Only works after `setLabelStyle` and `setElementHoverStyle` called.\n *\n * @param {module:zrender/src/Element} el\n * @param {Object} [normalStyleProps] optional\n * @param {Object} [emphasisStyleProps] optional\n */\n\n\nfunction modifyLabelStyle(el, normalStyleProps, emphasisStyleProps) {\n var elStyle = el.style;\n\n if (normalStyleProps) {\n rollbackDefaultTextStyle(elStyle);\n el.setStyle(normalStyleProps);\n applyDefaultTextStyle(elStyle);\n }\n\n elStyle = el.__hoverStl;\n\n if (emphasisStyleProps && elStyle) {\n rollbackDefaultTextStyle(elStyle);\n zrUtil.extend(elStyle, emphasisStyleProps);\n applyDefaultTextStyle(elStyle);\n }\n}\n/**\n * Set basic textStyle properties.\n * See more info in `setTextStyleCommon`.\n * @param {Object|module:zrender/graphic/Style} textStyle\n * @param {module:echarts/model/Model} model\n * @param {Object} [specifiedTextStyle] Can be overrided by settings in model.\n * @param {Object} [opt] See `opt` of `setTextStyleCommon`.\n * @param {boolean} [isEmphasis]\n */\n\n\nfunction setTextStyle(textStyle, textStyleModel, specifiedTextStyle, opt, isEmphasis) {\n setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis);\n specifiedTextStyle && zrUtil.extend(textStyle, specifiedTextStyle); // textStyle.host && textStyle.host.dirty && textStyle.host.dirty(false);\n\n return textStyle;\n}\n/**\n * Set text option in the style.\n * See more info in `setTextStyleCommon`.\n * @deprecated\n * @param {Object} textStyle\n * @param {module:echarts/model/Model} labelModel\n * @param {string|boolean} defaultColor Default text color.\n * If set as false, it will be processed as a emphasis style.\n */\n\n\nfunction setText(textStyle, labelModel, defaultColor) {\n var opt = {\n isRectText: true\n };\n var isEmphasis;\n\n if (defaultColor === false) {\n isEmphasis = true;\n } else {\n // Support setting color as 'auto' to get visual color.\n opt.autoColor = defaultColor;\n }\n\n setTextStyleCommon(textStyle, labelModel, opt, isEmphasis); // textStyle.host && textStyle.host.dirty && textStyle.host.dirty(false);\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 * The `textStyle` object can either be a plain object or an instance of\n * `zrender/src/graphic/Style`, and either be the style of normal or emphasis.\n * After this mothod called, the `textStyle` object can then be used in\n * `el.setStyle(textStyle)` or `el.hoverStyle = textStyle`.\n *\n * Default value will be adopted and `insideRollbackOpt` will be created.\n * See `applyDefaultTextStyle` `rollbackDefaultTextStyle` for more details.\n *\n * opt: {\n * disableBox: boolean, Whether diable drawing box of block (outer most).\n * isRectText: boolean,\n * autoColor: string, specify a color when color is 'auto',\n * for textFill, textStroke, textBackgroundColor, and textBorderColor.\n * If autoColor specified, it is used as default textFill.\n * useInsideStyle:\n * `true`: Use inside style (textFill, textStroke, textStrokeWidth)\n * if `textFill` is not specified.\n * `false`: Do not use inside style.\n * `null/undefined`: use inside style if `isRectText` is true and\n * `textFill` is not specified and textPosition contains `'inside'`.\n * forceRich: boolean\n * }\n */\n\n\nfunction setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis) {\n // Consider there will be abnormal when merge hover style to normal style if given default value.\n opt = opt || EMPTY_OBJ;\n\n if (opt.isRectText) {\n var textPosition;\n\n if (opt.getTextPosition) {\n textPosition = opt.getTextPosition(textStyleModel, isEmphasis);\n } else {\n textPosition = textStyleModel.getShallow('position') || (isEmphasis ? null : 'inside'); // 'outside' is not a valid zr textPostion value, but used\n // in bar series, and magric type should be considered.\n\n textPosition === 'outside' && (textPosition = 'top');\n }\n\n textStyle.textPosition = textPosition;\n textStyle.textOffset = textStyleModel.getShallow('offset');\n var labelRotate = textStyleModel.getShallow('rotate');\n labelRotate != null && (labelRotate *= Math.PI / 180);\n textStyle.textRotation = labelRotate;\n textStyle.textDistance = zrUtil.retrieve2(textStyleModel.getShallow('distance'), isEmphasis ? null : 5);\n }\n\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 in richItemNames) {\n if (richItemNames.hasOwnProperty(name)) {\n // Cascade is supported in rich.\n var richTextStyle = textStyleModel.getModel(['rich', name]); // 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] = {}, richTextStyle, globalTextStyle, opt, isEmphasis);\n }\n }\n }\n\n textStyle.rich = richResult;\n setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isEmphasis, true);\n\n if (opt.forceRich && !opt.textStyle) {\n opt.textStyle = {};\n }\n\n return textStyle;\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\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\n for (var name in rich) {\n if (rich.hasOwnProperty(name)) {\n richItemNameMap[name] = 1;\n }\n }\n }\n\n textStyleModel = textStyleModel.parentModel;\n }\n\n return richItemNameMap;\n}\n\nfunction setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isEmphasis, isBlock) {\n // In merge mode, default value should not be given.\n globalTextStyle = !isEmphasis && globalTextStyle || EMPTY_OBJ;\n textStyle.textFill = getAutoColor(textStyleModel.getShallow('color'), opt) || globalTextStyle.color;\n textStyle.textStroke = getAutoColor(textStyleModel.getShallow('textBorderColor'), opt) || globalTextStyle.textBorderColor;\n textStyle.textStrokeWidth = zrUtil.retrieve2(textStyleModel.getShallow('textBorderWidth'), globalTextStyle.textBorderWidth);\n\n if (!isEmphasis) {\n if (isBlock) {\n textStyle.insideRollbackOpt = opt;\n applyDefaultTextStyle(textStyle);\n } // Set default finally.\n\n\n if (textStyle.textFill == null) {\n textStyle.textFill = opt.autoColor;\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 textStyle.fontStyle = textStyleModel.getShallow('fontStyle') || globalTextStyle.fontStyle;\n textStyle.fontWeight = textStyleModel.getShallow('fontWeight') || globalTextStyle.fontWeight;\n textStyle.fontSize = textStyleModel.getShallow('fontSize') || globalTextStyle.fontSize;\n textStyle.fontFamily = textStyleModel.getShallow('fontFamily') || globalTextStyle.fontFamily;\n textStyle.textAlign = textStyleModel.getShallow('align');\n textStyle.textVerticalAlign = textStyleModel.getShallow('verticalAlign') || textStyleModel.getShallow('baseline');\n textStyle.textLineHeight = textStyleModel.getShallow('lineHeight');\n textStyle.textWidth = textStyleModel.getShallow('width');\n textStyle.textHeight = textStyleModel.getShallow('height');\n textStyle.textTag = textStyleModel.getShallow('tag');\n\n if (!isBlock || !opt.disableBox) {\n textStyle.textBackgroundColor = getAutoColor(textStyleModel.getShallow('backgroundColor'), opt);\n textStyle.textPadding = textStyleModel.getShallow('padding');\n textStyle.textBorderColor = getAutoColor(textStyleModel.getShallow('borderColor'), opt);\n textStyle.textBorderWidth = textStyleModel.getShallow('borderWidth');\n textStyle.textBorderRadius = textStyleModel.getShallow('borderRadius');\n textStyle.textBoxShadowColor = textStyleModel.getShallow('shadowColor');\n textStyle.textBoxShadowBlur = textStyleModel.getShallow('shadowBlur');\n textStyle.textBoxShadowOffsetX = textStyleModel.getShallow('shadowOffsetX');\n textStyle.textBoxShadowOffsetY = textStyleModel.getShallow('shadowOffsetY');\n }\n\n textStyle.textShadowColor = textStyleModel.getShallow('textShadowColor') || globalTextStyle.textShadowColor;\n textStyle.textShadowBlur = textStyleModel.getShallow('textShadowBlur') || globalTextStyle.textShadowBlur;\n textStyle.textShadowOffsetX = textStyleModel.getShallow('textShadowOffsetX') || globalTextStyle.textShadowOffsetX;\n textStyle.textShadowOffsetY = textStyleModel.getShallow('textShadowOffsetY') || globalTextStyle.textShadowOffsetY;\n}\n\nfunction getAutoColor(color, opt) {\n return color !== 'auto' ? color : opt && opt.autoColor ? opt.autoColor : null;\n}\n/**\n * Give some default value to the input `textStyle` object, based on the current settings\n * in this `textStyle` object.\n *\n * The Scenario:\n * when text position is `inside` and `textFill` is not specified, we show\n * text border by default for better view. But it should be considered that text position\n * might be changed when hovering or being emphasis, where the `insideRollback` is used to\n * restore the style.\n *\n * Usage (& NOTICE):\n * When a style object (eithor plain object or instance of `zrender/src/graphic/Style`) is\n * about to be modified on its text related properties, `rollbackDefaultTextStyle` should\n * be called before the modification and `applyDefaultTextStyle` should be called after that.\n * (For the case that all of the text related properties is reset, like `setTextStyleCommon`\n * does, `rollbackDefaultTextStyle` is not needed to be called).\n */\n\n\nfunction applyDefaultTextStyle(textStyle) {\n var textPosition = textStyle.textPosition;\n var opt = textStyle.insideRollbackOpt;\n var insideRollback;\n\n if (opt && textStyle.textFill == null) {\n var autoColor = opt.autoColor;\n var isRectText = opt.isRectText;\n var useInsideStyle = opt.useInsideStyle;\n var useInsideStyleCache = useInsideStyle !== false && (useInsideStyle === true || isRectText && textPosition // textPosition can be [10, 30]\n && typeof textPosition === 'string' && textPosition.indexOf('inside') >= 0);\n var useAutoColorCache = !useInsideStyleCache && autoColor != null; // All of the props declared in `CACHED_LABEL_STYLE_PROPERTIES` are to be cached.\n\n if (useInsideStyleCache || useAutoColorCache) {\n insideRollback = {\n textFill: textStyle.textFill,\n textStroke: textStyle.textStroke,\n textStrokeWidth: textStyle.textStrokeWidth\n };\n }\n\n if (useInsideStyleCache) {\n textStyle.textFill = '#fff'; // Consider text with #fff overflow its container.\n\n if (textStyle.textStroke == null) {\n textStyle.textStroke = autoColor;\n textStyle.textStrokeWidth == null && (textStyle.textStrokeWidth = 2);\n }\n }\n\n if (useAutoColorCache) {\n textStyle.textFill = autoColor;\n }\n } // Always set `insideRollback`, so that the previous one can be cleared.\n\n\n textStyle.insideRollback = insideRollback;\n}\n/**\n * Consider the case: in a scatter,\n * label: {\n * normal: {position: 'inside'},\n * emphasis: {position: 'top'}\n * }\n * In the normal state, the `textFill` will be set as '#fff' for pretty view (see\n * `applyDefaultTextStyle`), but when switching to emphasis state, the `textFill`\n * should be retured to 'autoColor', but not keep '#fff'.\n */\n\n\nfunction rollbackDefaultTextStyle(style) {\n var insideRollback = style.insideRollback;\n\n if (insideRollback) {\n // Reset all of the props in `CACHED_LABEL_STYLE_PROPERTIES`.\n style.textFill = insideRollback.textFill;\n style.textStroke = insideRollback.textStroke;\n style.textStrokeWidth = insideRollback.textStrokeWidth;\n style.insideRollback = null;\n }\n}\n\nfunction getFont(opt, ecModel) {\n var gTextStyleModel = ecModel && ecModel.getModel('textStyle');\n return zrUtil.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}\n\nfunction animateOrSetProps(isUpdate, el, props, animatableModel, dataIndex, cb) {\n if (typeof dataIndex === 'function') {\n cb = dataIndex;\n dataIndex = null;\n } // Do not check 'animation' property directly here. Consider this case:\n // animation model is an `itemModel`, whose does not have `isAnimationEnabled`\n // but its parent model (`seriesModel`) does.\n\n\n var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();\n\n if (animationEnabled) {\n var postfix = isUpdate ? 'Update' : '';\n var duration = animatableModel.getShallow('animationDuration' + postfix);\n var animationEasing = animatableModel.getShallow('animationEasing' + postfix);\n var animationDelay = animatableModel.getShallow('animationDelay' + postfix);\n\n if (typeof animationDelay === 'function') {\n animationDelay = animationDelay(dataIndex, animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);\n }\n\n if (typeof duration === 'function') {\n duration = duration(dataIndex);\n }\n\n duration > 0 ? el.animateTo(props, duration, animationDelay || 0, animationEasing, cb, !!cb) : (el.stopAnimation(), el.attr(props), cb && cb());\n } else {\n el.stopAnimation();\n el.attr(props);\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 *\n * @param {module:zrender/Element} el\n * @param {Object} props\n * @param {module:echarts/model/Model} [animatableModel]\n * @param {number} [dataIndex]\n * @param {Function} [cb]\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, animatableModel, dataIndex, cb) {\n animateOrSetProps(true, el, props, animatableModel, dataIndex, cb);\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 * @param {module:zrender/Element} el\n * @param {Object} props\n * @param {module:echarts/model/Model} [animatableModel]\n * @param {number} [dataIndex]\n * @param {Function} cb\n */\n\n\nfunction initProps(el, props, animatableModel, dataIndex, cb) {\n animateOrSetProps(false, el, props, animatableModel, dataIndex, cb);\n}\n/**\n * Get transform matrix of target (param target),\n * in coordinate of its ancestor (param ancestor)\n *\n * @param {module:zrender/mixin/Transformable} target\n * @param {module:zrender/mixin/Transformable} [ancestor]\n */\n\n\nfunction getTransform(target, ancestor) {\n var mat = matrix.identity([]);\n\n while (target && target !== ancestor) {\n matrix.mul(mat, target.getLocalTransform(), mat);\n target = target.parent;\n }\n\n return mat;\n}\n/**\n * Apply transform to an vertex.\n * @param {Array.} target [x, y]\n * @param {Array.|TypedArray.|Object} transform Can be:\n * + Transform matrix: like [1, 0, 0, 1, 0, 0]\n * + {position, rotation, scale}, the same as `zrender/Transformable`.\n * @param {boolean=} invert Whether use invert matrix.\n * @return {Array.} [x, y]\n */\n\n\nfunction applyTransform(target, transform, invert) {\n if (transform && !zrUtil.isArrayLike(transform)) {\n transform = Transformable.getLocalTransform(transform);\n }\n\n if (invert) {\n transform = matrix.invert([], transform);\n }\n\n return vector.applyTransform([], target, transform);\n}\n/**\n * @param {string} direction 'left' 'right' 'top' 'bottom'\n * @param {Array.} transform Transform matrix: like [1, 0, 0, 1, 0, 0]\n * @param {boolean=} invert Whether use invert matrix.\n * @return {string} Transformed direction. 'left' 'right' 'top' 'bottom'\n */\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/**\n * Apply group transition animation from g1 to g2.\n * If no animatableModel, no animation.\n */\n\n\nfunction groupTransition(g1, g2, animatableModel, cb) {\n if (!g1 || !g2) {\n return;\n }\n\n function getElMap(g) {\n var elMap = {};\n g.traverse(function (el) {\n if (!el.isGroup && el.anid) {\n elMap[el.anid] = el;\n }\n });\n return elMap;\n }\n\n function getAnimatableProps(el) {\n var obj = {\n position: vector.clone(el.position),\n rotation: el.rotation\n };\n\n if (el.shape) {\n obj.shape = zrUtil.extend({}, el.shape);\n }\n\n return obj;\n }\n\n var elMap1 = getElMap(g1);\n g2.traverse(function (el) {\n if (!el.isGroup && el.anid) {\n var oldEl = elMap1[el.anid];\n\n if (oldEl) {\n var newProp = getAnimatableProps(el);\n el.attr(getAnimatableProps(oldEl));\n updateProps(el, newProp, animatableModel, el.dataIndex);\n } // else {\n // if (el.previousProps) {\n // graphic.updateProps\n // }\n // }\n\n }\n });\n}\n/**\n * @param {Array.>} points Like: [[23, 44], [53, 66], ...]\n * @param {Object} rect {x, y, width, height}\n * @return {Array.>} A new clipped points.\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 zrUtil.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 * @param {Object} targetRect {x, y, width, height}\n * @param {Object} rect {x, y, width, height}\n * @return {Object} A new clipped rect. If rect size are negative, return undefined.\n */\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}\n/**\n * @param {string} iconStr Support 'image://' or 'path://' or direct svg path.\n * @param {Object} [opt] Properties of `module:zrender/Element`, except `style`.\n * @param {Object} [rect] {x, y, width, height}\n * @return {module:zrender/Element} Icon path or image element.\n */\n\n\nfunction createIcon(iconStr, opt, rect) {\n opt = zrUtil.extend({\n rectHover: true\n }, opt);\n var style = opt.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), zrUtil.defaults(style, rect), new ZImage(opt)) : makePath(iconStr.replace('path://', ''), opt, 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 * @param {number} a1x\n * @param {number} a1y\n * @param {number} a2x\n * @param {number} a2y\n * @param {Array.>} points Points of the polygon.\n * @return {boolean}\n */\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 * @param {number} a1x\n * @param {number} a1y\n * @param {number} a2x\n * @param {number} a2y\n * @param {number} b1x\n * @param {number} b1y\n * @param {number} b2x\n * @param {number} b2y\n * @return {boolean}\n */\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 \xb7 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\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} // Register built-in shapes. These shapes might be overwirtten\n// by users, although we do not recommend that.\n\n\nregisterShape('circle', Circle);\nregisterShape('sector', Sector);\nregisterShape('ring', Ring);\nregisterShape('polygon', Polygon);\nregisterShape('polyline', Polyline);\nregisterShape('rect', Rect);\nregisterShape('line', Line);\nregisterShape('bezierCurve', BezierCurve);\nregisterShape('arc', Arc);\nexports.Z2_EMPHASIS_LIFT = Z2_EMPHASIS_LIFT;\nexports.CACHED_LABEL_STYLE_PROPERTIES = CACHED_LABEL_STYLE_PROPERTIES;\nexports.extendShape = extendShape;\nexports.extendPath = extendPath;\nexports.registerShape = registerShape;\nexports.getShapeClass = getShapeClass;\nexports.makePath = makePath;\nexports.makeImage = makeImage;\nexports.mergePath = mergePath;\nexports.resizePath = resizePath;\nexports.subPixelOptimizeLine = subPixelOptimizeLine;\nexports.subPixelOptimizeRect = subPixelOptimizeRect;\nexports.subPixelOptimize = subPixelOptimize;\nexports.setElementHoverStyle = setElementHoverStyle;\nexports.setHoverStyle = setHoverStyle;\nexports.setAsHighDownDispatcher = setAsHighDownDispatcher;\nexports.isHighDownDispatcher = isHighDownDispatcher;\nexports.getHighlightDigit = getHighlightDigit;\nexports.setLabelStyle = setLabelStyle;\nexports.modifyLabelStyle = modifyLabelStyle;\nexports.setTextStyle = setTextStyle;\nexports.setText = setText;\nexports.getFont = getFont;\nexports.updateProps = updateProps;\nexports.initProps = initProps;\nexports.getTransform = getTransform;\nexports.applyTransform = applyTransform;\nexports.transformDirection = transformDirection;\nexports.groupTransition = groupTransition;\nexports.clipPointsByRect = clipPointsByRect;\nexports.clipRectByRect = clipRectByRect;\nexports.createIcon = createIcon;\nexports.linePolygonIntersect = linePolygonIntersect;\nexports.lineLineIntersect = lineLineIntersect;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/graphic.js?")},IyUQ:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar eventTool = __webpack_require__(\"YH21\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar throttle = __webpack_require__(\"iLNv\");\n\nvar DataZoomView = __webpack_require__(\"fc+c\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar sliderMove = __webpack_require__(\"72pK\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 Rect = graphic.Rect;\nvar linearMap = numberUtil.linearMap;\nvar asc = numberUtil.asc;\nvar bind = zrUtil.bind;\nvar each = zrUtil.each; // Constants\n\nvar DEFAULT_LOCATION_EDGE_GAP = 7;\nvar DEFAULT_FRAME_BORDER_WIDTH = 1;\nvar DEFAULT_FILLER_SIZE = 30;\nvar HORIZONTAL = 'horizontal';\nvar VERTICAL = 'vertical';\nvar LABEL_GAP = 5;\nvar SHOW_DATA_SHADOW_SERIES_TYPE = ['line', 'bar', 'candlestick', 'scatter'];\nvar SliderZoomView = DataZoomView.extend({\n type: 'dataZoom.slider',\n init: function (ecModel, api) {\n /**\n * @private\n * @type {Object}\n */\n this._displayables = {};\n /**\n * @private\n * @type {string}\n */\n\n this._orient;\n /**\n * [0, 100]\n * @private\n */\n\n this._range;\n /**\n * [coord of the first handle, coord of the second handle]\n * @private\n */\n\n this._handleEnds;\n /**\n * [length, thick]\n * @private\n * @type {Array.}\n */\n\n this._size;\n /**\n * @private\n * @type {number}\n */\n\n this._handleWidth;\n /**\n * @private\n * @type {number}\n */\n\n this._handleHeight;\n /**\n * @private\n */\n\n this._location;\n /**\n * @private\n */\n\n this._dragging;\n /**\n * @private\n */\n\n this._dataShadowInfo;\n this.api = api;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n SliderZoomView.superApply(this, 'render', arguments);\n throttle.createOrUpdate(this, '_dispatchZoomAction', this.dataZoomModel.get('throttle'), 'fixRate');\n this._orient = dataZoomModel.get('orient');\n\n if (this.dataZoomModel.get('show') === false) {\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 /**\n * @override\n */\n remove: function () {\n SliderZoomView.superApply(this, 'remove', arguments);\n throttle.clear(this, '_dispatchZoomAction');\n },\n\n /**\n * @override\n */\n dispose: function () {\n SliderZoomView.superApply(this, 'dispose', arguments);\n throttle.clear(this, '_dispatchZoomAction');\n },\n _buildView: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n\n this._resetLocation();\n\n this._resetInterval();\n\n var barGroup = this._displayables.barGroup = new graphic.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 /**\n * @private\n */\n _resetLocation: function () {\n var dataZoomModel = this.dataZoomModel;\n var api = this.api; // 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,\n width: coordRect.width,\n height: DEFAULT_FILLER_SIZE\n } : {\n // vertical\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 = layout.getLayoutParams(dataZoomModel.option); // Replace the placeholder value.\n\n zrUtil.each(['right', 'top', 'width', 'height'], function (name) {\n if (layoutParams[name] === 'ph') {\n layoutParams[name] = positionInfo[name];\n }\n });\n var layoutRect = layout.getLayoutRect(layoutParams, ecSize, dataZoomModel.padding);\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 /**\n * @private\n */\n _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 barGroup = this._displayables.barGroup;\n var otherAxisInverse = (this._dataShadowInfo || {}).otherAxisInverse; // Transform barGroup.\n\n barGroup.attr(orient === HORIZONTAL && !inverse ? {\n scale: otherAxisInverse ? [1, 1] : [1, -1]\n } : orient === HORIZONTAL && inverse ? {\n scale: otherAxisInverse ? [-1, 1] : [-1, -1]\n } : orient === VERTICAL && !inverse ? {\n scale: otherAxisInverse ? [1, -1] : [1, 1],\n rotation: Math.PI / 2 // Dont use Math.PI, considering shadow direction.\n\n } : {\n scale: otherAxisInverse ? [-1, -1] : [-1, 1],\n rotation: Math.PI / 2\n }); // Position barGroup\n\n var rect = thisGroup.getBoundingRect([barGroup]);\n thisGroup.attr('position', [location.x - rect.x, location.y - rect.y]);\n },\n\n /**\n * @private\n */\n _getViewExtent: function () {\n return [0, this._size[0]];\n },\n _renderBackground: function () {\n var dataZoomModel = this.dataZoomModel;\n var size = this._size;\n var barGroup = this._displayables.barGroup;\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 barGroup.add(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: zrUtil.bind(this._onClickPanelClick, this)\n }));\n },\n _renderDataShadow: function () {\n var info = this._dataShadowInfo = this._prepareDataShadowInfo();\n\n if (!info) {\n return;\n }\n\n var size = this._size;\n var seriesModel = info.series;\n var data = seriesModel.getRawData();\n var otherDim = seriesModel.getShadowDim ? seriesModel.getShadowDim() // @see candlestick\n : info.otherDim;\n\n if (otherDim == null) {\n return;\n }\n\n var otherDataExtent = data.getDataExtent(otherDim); // Nice extent.\n\n var otherOffset = (otherDataExtent[1] - otherDataExtent[0]) * 0.3;\n otherDataExtent = [otherDataExtent[0] - otherOffset, otherDataExtent[1] + otherOffset];\n var otherShadowExtent = [0, size[1]];\n var thisShadowExtent = [0, size[0]];\n var areaPoints = [[size[0], 0], [0, 0]];\n var linePoints = [];\n var step = thisShadowExtent[1] / (data.count() - 1);\n var thisCoord = 0; // Optimize for large data shadow\n\n var stride = Math.round(data.count() / size[0]);\n var lastIsEmpty;\n data.each([otherDim], function (value, index) {\n if (stride > 0 && index % stride) {\n thisCoord += step;\n return;\n } // FIXME\n // Should consider axis.min/axis.max when drawing dataShadow.\n // FIXME\n // \u5e94\u8be5\u4f7f\u7528\u7edf\u4e00\u7684\u7a7a\u5224\u65ad\uff1f\u8fd8\u662f\u5728list\u91cc\u8fdb\u884c\u7a7a\u5224\u65ad\uff1f\n\n\n var isEmpty = value == null || isNaN(value) || value === ''; // See #4235.\n\n var otherCoord = isEmpty ? 0 : linearMap(value, otherDataExtent, otherShadowExtent, true); // Attempt to draw data shadow precisely when there are empty value.\n\n if (isEmpty && !lastIsEmpty && index) {\n areaPoints.push([areaPoints[areaPoints.length - 1][0], 0]);\n linePoints.push([linePoints[linePoints.length - 1][0], 0]);\n } else if (!isEmpty && lastIsEmpty) {\n areaPoints.push([thisCoord, 0]);\n linePoints.push([thisCoord, 0]);\n }\n\n areaPoints.push([thisCoord, otherCoord]);\n linePoints.push([thisCoord, otherCoord]);\n thisCoord += step;\n lastIsEmpty = isEmpty;\n });\n var dataZoomModel = this.dataZoomModel; // var dataBackgroundModel = dataZoomModel.getModel('dataBackground');\n\n this._displayables.barGroup.add(new graphic.Polygon({\n shape: {\n points: areaPoints\n },\n style: zrUtil.defaults({\n fill: dataZoomModel.get('dataBackgroundColor')\n }, dataZoomModel.getModel('dataBackground.areaStyle').getAreaStyle()),\n silent: true,\n z2: -20\n }));\n\n this._displayables.barGroup.add(new graphic.Polyline({\n shape: {\n points: linePoints\n },\n style: dataZoomModel.getModel('dataBackground.lineStyle').getLineStyle(),\n silent: true,\n z2: -19\n }));\n },\n _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 (dimNames, axisIndex) {\n var seriesModels = dataZoomModel.getAxisProxy(dimNames.name, axisIndex).getTargetSeriesModels();\n zrUtil.each(seriesModels, function (seriesModel) {\n if (result) {\n return;\n }\n\n if (showDataShadow !== true && zrUtil.indexOf(SHOW_DATA_SHADOW_SERIES_TYPE, seriesModel.get('type')) < 0) {\n return;\n }\n\n var thisAxis = ecModel.getComponent(dimNames.axis, axisIndex).axis;\n var otherDim = getOtherDim(dimNames.name);\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: dimNames.name,\n otherDim: otherDim,\n otherAxisInverse: otherAxisInverse\n };\n }, this);\n }, this);\n return result;\n },\n _renderHandle: function () {\n var displaybles = this._displayables;\n var handles = displaybles.handles = [];\n var handleLabels = displaybles.handleLabels = [];\n var barGroup = this._displayables.barGroup;\n var size = this._size;\n var dataZoomModel = this.dataZoomModel;\n barGroup.add(displaybles.filler = new Rect({\n draggable: true,\n cursor: getCursor(this._orient),\n drift: bind(this._onDragMove, this, 'all'),\n ondragstart: bind(this._showDataInfo, this, true),\n ondragend: bind(this._onDragEnd, this),\n onmouseover: bind(this._showDataInfo, this, true),\n onmouseout: bind(this._showDataInfo, this, false),\n style: {\n fill: dataZoomModel.get('fillerColor'),\n textPosition: 'inside'\n }\n })); // Frame border.\n\n barGroup.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 },\n style: {\n stroke: dataZoomModel.get('dataBackgroundColor') || dataZoomModel.get('borderColor'),\n lineWidth: DEFAULT_FRAME_BORDER_WIDTH,\n fill: 'rgba(0,0,0,0)'\n }\n }));\n each([0, 1], function (handleIndex) {\n var path = graphic.createIcon(dataZoomModel.get('handleIcon'), {\n cursor: getCursor(this._orient),\n draggable: true,\n drift: bind(this._onDragMove, this, handleIndex),\n ondragend: bind(this._onDragEnd, this),\n onmouseover: bind(this._showDataInfo, this, true),\n onmouseout: bind(this._showDataInfo, this, false)\n }, {\n x: -1,\n y: 0,\n width: 2,\n height: 2\n });\n var bRect = path.getBoundingRect();\n this._handleHeight = numberUtil.parsePercent(dataZoomModel.get('handleSize'), this._size[1]);\n this._handleWidth = bRect.width / bRect.height * this._handleHeight;\n path.setStyle(dataZoomModel.getModel('handleStyle').getItemStyle());\n var handleColor = dataZoomModel.get('handleColor'); // Compatitable with previous version\n\n if (handleColor != null) {\n path.style.fill = handleColor;\n }\n\n barGroup.add(handles[handleIndex] = path);\n var textStyleModel = dataZoomModel.textStyleModel;\n this.group.add(handleLabels[handleIndex] = new graphic.Text({\n silent: true,\n invisible: true,\n style: {\n x: 0,\n y: 0,\n text: '',\n textVerticalAlign: 'middle',\n textAlign: 'center',\n textFill: textStyleModel.getTextColor(),\n textFont: textStyleModel.getFont()\n },\n z2: 10\n }));\n }, this);\n },\n\n /**\n * @private\n */\n _resetInterval: function () {\n var range = this._range = this.dataZoomModel.getPercentRange();\n\n var viewExtent = this._getViewExtent();\n\n this._handleEnds = [linearMap(range[0], [0, 100], viewExtent, true), linearMap(range[1], [0, 100], viewExtent, true)];\n },\n\n /**\n * @private\n * @param {(number|string)} handleIndex 0 or 1 or 'all'\n * @param {number} delta\n * @return {boolean} changed\n */\n _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 sliderMove(delta, handleEnds, viewExtend, dataZoomModel.get('zoomLock') ? 'all' : handleIndex, minMaxSpan.minSpan != null ? linearMap(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null, minMaxSpan.maxSpan != null ? linearMap(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null);\n var lastRange = this._range;\n var range = this._range = asc([linearMap(handleEnds[0], viewExtend, percentExtent, true), linearMap(handleEnds[1], viewExtend, percentExtent, true)]);\n return !lastRange || lastRange[0] !== range[0] || lastRange[1] !== range[1];\n },\n\n /**\n * @private\n */\n _updateView: function (nonRealtime) {\n var displaybles = this._displayables;\n var handleEnds = this._handleEnds;\n var handleInterval = asc(handleEnds.slice());\n var size = this._size;\n each([0, 1], function (handleIndex) {\n // Handles\n var handle = displaybles.handles[handleIndex];\n var handleHeight = this._handleHeight;\n handle.attr({\n scale: [handleHeight / 2, handleHeight / 2],\n position: [handleEnds[handleIndex], 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\n this._updateDataInfo(nonRealtime);\n },\n\n /**\n * @private\n */\n _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\u578b\uff0c\u652f\u6301formatter\uff0cautoformatter\uff08ec2 date.getAutoFormatter\uff09\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 = 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 = graphic.getTransform(displaybles.handles[handleIndex].parent, this.group);\n var direction = graphic.transformDirection(handleIndex === 0 ? 'right' : 'left', barTransform);\n var offset = this._handleWidth / 2 + LABEL_GAP;\n var textPoint = graphic.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 textVerticalAlign: orient === HORIZONTAL ? 'middle' : direction,\n textAlign: orient === HORIZONTAL ? direction : 'center',\n text: labelTexts[handleIndex]\n });\n }\n },\n\n /**\n * @private\n */\n _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(Math.round(value)) // param of toFixed should less then 20.\n : value.toFixed(Math.min(labelPrecision, 20));\n return zrUtil.isFunction(labelFormatter) ? labelFormatter(value, valueStr) : zrUtil.isString(labelFormatter) ? labelFormatter.replace('{value}', valueStr) : valueStr;\n },\n\n /**\n * @private\n * @param {boolean} showOrHide true: show, false: hide\n */\n _showDataInfo: function (showOrHide) {\n // Always show when drgging.\n showOrHide = this._dragging || showOrHide;\n var handleLabels = this._displayables.handleLabels;\n handleLabels[0].attr('invisible', !showOrHide);\n handleLabels[1].attr('invisible', !showOrHide);\n },\n _onDragMove: function (handleIndex, dx, dy, event) {\n this._dragging = true; // For mobile device, prevent screen slider on the button.\n\n eventTool.stop(event.event); // Transform dx, dy to bar coordination.\n\n var barTransform = this._displayables.barGroup.getLocalTransform();\n\n var vertex = graphic.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();\n },\n _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();\n },\n _onClickPanelClick: function (e) {\n var size = this._size;\n\n var localPoint = this._displayables.barGroup.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();\n },\n\n /**\n * This action will be throttled.\n * @private\n */\n _dispatchZoomAction: function () {\n var range = this._range;\n this.api.dispatchAction({\n type: 'dataZoom',\n from: this.uid,\n dataZoomId: this.dataZoomModel.id,\n start: range[0],\n end: range[1]\n });\n },\n\n /**\n * @private\n */\n _findCoordRect: function () {\n // Find the grid coresponding to the first axis referred by dataZoom.\n var rect;\n each(this.getTargetCoordInfo(), function (coordInfoList) {\n if (!rect && coordInfoList.length) {\n var coordSys = coordInfoList[0].model.coordinateSystem;\n rect = coordSys.getRect && coordSys.getRect();\n }\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\nfunction getOtherDim(thisDim) {\n // FIXME\n // \u8fd9\u4e2a\u903b\u8f91\u548cgetOtherAxis\u91cc\u4e00\u81f4\uff0c\u4f46\u662f\u5199\u5728\u8fd9\u91cc\u662f\u5426\u4e0d\u597d\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\nvar _default = SliderZoomView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js?")},IzEo:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("lnY3");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tabs_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("Znn+");\n/* harmony import */ var _row_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("14J3");\n/* harmony import */ var _col_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("jCWc");\n\n // style dependencies\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/card/style/index.js?')},"J+ZK":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css?")},J66h:function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*\n * base64.js\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n */\n;(function (global, factory) {\n true\n ? module.exports = factory(global)\n : undefined\n}((\n typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n: this\n), function(global) {\n 'use strict';\n // existing version for noConflict()\n global = global || {};\n var _Base64 = global.Base64;\n var version = \"2.6.1\";\n // constants\n var b64chars\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n var b64tab = function(bin) {\n var t = {};\n for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i;\n return t;\n }(b64chars);\n var fromCharCode = String.fromCharCode;\n // encoder stuff\n var cb_utob = function(c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6))\n + fromCharCode(0x80 | (cc & 0x3f)))\n : (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f))\n + fromCharCode(0x80 | ((cc >>> 6) & 0x3f))\n + fromCharCode(0x80 | ( cc & 0x3f)));\n } else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07))\n + fromCharCode(0x80 | ((cc >>> 12) & 0x3f))\n + fromCharCode(0x80 | ((cc >>> 6) & 0x3f))\n + fromCharCode(0x80 | ( cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n var utob = function(u) {\n return u.replace(re_utob, cb_utob);\n };\n var cb_encode = function(ccc) {\n var padlen = [0, 2, 1][ccc.length % 3],\n ord = ccc.charCodeAt(0) << 16\n | ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8)\n | ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)),\n chars = [\n b64chars.charAt( ord >>> 18),\n b64chars.charAt((ord >>> 12) & 63),\n padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),\n padlen >= 1 ? '=' : b64chars.charAt(ord & 63)\n ];\n return chars.join('');\n };\n var btoa = global.btoa && typeof global.btoa == 'function'\n ? function(b){ return global.btoa(b) } : function(b) {\n if (b.match(/[^\\x00-\\xFF]/)) throw new RangeError(\n 'The string contains invalid characters.'\n );\n return b.replace(/[\\s\\S]{1,3}/g, cb_encode);\n };\n var _encode = function(u) {\n return btoa(utob(String(u)));\n };\n var encode = function(u, urisafe) {\n return !urisafe\n ? _encode(String(u))\n : _encode(String(u)).replace(/[+\\/]/g, function(m0) {\n return m0 == '+' ? '-' : '_';\n }).replace(/=/g, '');\n };\n var encodeURI = function(u) { return encode(u, true) };\n var fromUint8Array = function(a) {\n return btoa(Array.from(a, function(c) {\n return String.fromCharCode(c)\n }).join(''));\n };\n // decoder stuff\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function(cccc) {\n switch(cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)),\n offset = cp - 0x10000;\n return (fromCharCode((offset >>> 10) + 0xD800)\n + fromCharCode((offset & 0x3FF) + 0xDC00));\n case 3:\n return fromCharCode(\n ((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2))\n );\n default:\n return fromCharCode(\n ((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1))\n );\n }\n };\n var btou = function(b) {\n return b.replace(re_btou, cb_btou);\n };\n var cb_decode = function(cccc) {\n var len = cccc.length,\n padlen = len % 4,\n n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0)\n | (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0)\n | (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0)\n | (len > 3 ? b64tab[cccc.charAt(3)] : 0),\n chars = [\n fromCharCode( n >>> 16),\n fromCharCode((n >>> 8) & 0xff),\n fromCharCode( n & 0xff)\n ];\n chars.length -= [0, 0, 2, 1][padlen];\n return chars.join('');\n };\n var _atob = global.atob && typeof global.atob == 'function'\n ? function(a){ return global.atob(a) } : function(a){\n return a.replace(/\\S{1,4}/g, cb_decode);\n };\n var atob = function(a) {\n return _atob(String(a).replace(/[^A-Za-z0-9\\+\\/]/g, ''));\n };\n var _decode = function(a) { return btou(_atob(a)) };\n var decode = function(a){\n return _decode(\n String(a).replace(/[-_]/g, function(m0) {\n return m0 == '-' ? '+' : '/'\n }).replace(/[^A-Za-z0-9\\+\\/]/g, '')\n );\n };\n var toUint8Array = function(a) {\n return Uint8Array.from(atob(a), function(c) {\n return c.charCodeAt(0);\n });\n };\n var noConflict = function() {\n var Base64 = global.Base64;\n global.Base64 = _Base64;\n return Base64;\n };\n // export Base64\n global.Base64 = {\n VERSION: version,\n atob: atob,\n btoa: btoa,\n fromBase64: decode,\n toBase64: encode,\n utob: utob,\n encode: encode,\n encodeURI: encodeURI,\n btou: btou,\n decode: decode,\n noConflict: noConflict,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array\n };\n // if ES5 is available, make Base64.extendString() available\n if (typeof Object.defineProperty === 'function') {\n var noEnum = function(v){\n return {value:v,enumerable:false,writable:true,configurable:true};\n };\n global.Base64.extendString = function () {\n Object.defineProperty(\n String.prototype, 'fromBase64', noEnum(function () {\n return decode(this)\n }));\n Object.defineProperty(\n String.prototype, 'toBase64', noEnum(function (urisafe) {\n return encode(this, urisafe)\n }));\n Object.defineProperty(\n String.prototype, 'toBase64URI', noEnum(function () {\n return encode(this, true)\n }));\n };\n }\n //\n // export Base64 to the namespace\n //\n if (global['Meteor']) { // Meteor.js\n Base64 = global.Base64;\n }\n // module.exports and AMD are mutually exclusive.\n // module.exports has precedence.\n if ( true && module.exports) {\n module.exports.Base64 = global.Base64;\n }\n else if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function(){ return global.Base64 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n // that's it!\n return {Base64: global.Base64}\n}));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"yLpj\")))\n\n//# sourceURL=webpack:///./node_modules/js-base64/base64.js?")},JEkh:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar env = __webpack_require__(\"ItGF\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar formatUtil = __webpack_require__(\"7aKB\");\n\nvar dataFormatMixin = __webpack_require__(\"OKJ2\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 addCommas = formatUtil.addCommas;\nvar encodeHTML = formatUtil.encodeHTML;\n\nfunction fillLabel(opt) {\n modelUtil.defaultEmphasis(opt, 'label', ['show']);\n}\n\nvar MarkerModel = echarts.extendComponentModel({\n type: 'marker',\n dependencies: ['series', 'grid', 'polar', 'geo'],\n\n /**\n * @overrite\n */\n init: function (option, parentModel, ecModel) {\n this.mergeDefaultAndTheme(option, ecModel);\n\n this._mergeOption(option, ecModel, false, true);\n },\n\n /**\n * @return {boolean}\n */\n isAnimationEnabled: function () {\n if (env.node) {\n return false;\n }\n\n var hostSeries = this.__hostSeries;\n return this.getShallow('animation') && hostSeries && hostSeries.isAnimationEnabled();\n },\n\n /**\n * @overrite\n */\n mergeOption: function (newOpt, ecModel) {\n this._mergeOption(newOpt, ecModel, false, false);\n },\n _mergeOption: function (newOpt, ecModel, createdBySelf, isInit) {\n var MarkerModel = this.constructor;\n var modelPropName = this.mainType + 'Model';\n\n if (!createdBySelf) {\n ecModel.eachSeries(function (seriesModel) {\n var markerOpt = seriesModel.get(this.mainType, true);\n var markerModel = seriesModel[modelPropName];\n\n if (!markerOpt || !markerOpt.data) {\n seriesModel[modelPropName] = null;\n return;\n }\n\n if (!markerModel) {\n if (isInit) {\n // Default label emphasis `position` and `show`\n fillLabel(markerOpt);\n }\n\n zrUtil.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 = new MarkerModel(markerOpt, this, ecModel);\n zrUtil.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 seriesModel[modelPropName] = markerModel;\n }, this);\n }\n },\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var value = this.getRawValue(dataIndex);\n var formattedValue = zrUtil.isArray(value) ? zrUtil.map(value, addCommas).join(', ') : addCommas(value);\n var name = data.getName(dataIndex);\n var html = encodeHTML(this.name);\n\n if (value != null || name) {\n html += '
    ';\n }\n\n if (name) {\n html += encodeHTML(name);\n\n if (value != null) {\n html += ' : ';\n }\n }\n\n if (value != null) {\n html += encodeHTML(formattedValue);\n }\n\n return html;\n },\n getData: function () {\n return this._data;\n },\n setData: function (data) {\n this._data = data;\n }\n});\nzrUtil.mixin(MarkerModel, dataFormatMixin);\nvar _default = MarkerModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkerModel.js?")},JGo8:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/upload/style/index.less?")},JHRd:function(module,exports,__webpack_require__){eval('var root = __webpack_require__("Kz5y");\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_Uint8Array.js?')},JHgL:function(module,exports,__webpack_require__){eval('var getMapData = __webpack_require__("QkVE");\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_mapCacheGet.js?')},JLnu:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 layout = __webpack_require__(\"+TT/\");\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\nvar linearMap = _number.linearMap;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 getViewRect(seriesModel, api) {\n return layout.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 (typeof sort === 'function') {\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 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;\n var y1;\n var x2;\n var labelLineLen = labelLineModel.get('length');\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 === 'rightTop') {\n // RightTop side\n x1 = points[1][0];\n y1 = points[1][1];\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'top';\n } else if (labelPosition === 'rightBottom') {\n // RightBottom side\n x1 = points[2][0];\n y1 = points[2][1];\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'bottom';\n } else if (labelPosition === 'leftTop') {\n // LeftTop side\n x1 = points[0][0];\n y1 = points[1][1];\n x2 = x1 - labelLineLen;\n textX = x2 - 5;\n textAlign = 'right';\n } else if (labelPosition === 'leftBottom') {\n // LeftBottom side\n x1 = points[3][0];\n y1 = points[2][1];\n x2 = x1 - labelLineLen;\n textX = x2 - 5;\n textAlign = 'right';\n } else {\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 }\n\n var y2 = y1;\n linePoints = [[x1, y1], [x2, y2]];\n textY = 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 _default(ecModel, api, payload) {\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 indices = getSortedIndices(data, sort);\n var sizeExtent = [parsePercent(seriesModel.get('minSize'), viewRect.width), parsePercent(seriesModel.get('maxSize'), viewRect.width)];\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 itemHeight = (viewRect.height - gap * (data.count() - 1)) / data.count();\n var y = viewRect.y;\n\n var getLinePoints = function (idx, offY) {\n // End point index is data.count() and we assign it 0\n var val = data.get(valueDim, idx) || 0;\n var itemWidth = linearMap(val, [min, max], sizeExtent, true);\n var x0;\n\n switch (funnelAlign) {\n case 'left':\n x0 = viewRect.x;\n break;\n\n case 'center':\n x0 = viewRect.x + (viewRect.width - itemWidth) / 2;\n break;\n\n case 'right':\n x0 = viewRect.x + viewRect.width - itemWidth;\n break;\n }\n\n return [[x0, offY], [x0 + itemWidth, offY]];\n };\n\n if (sort === 'ascending') {\n // From bottom to top\n itemHeight = -itemHeight;\n gap = -gap;\n y += viewRect.height;\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 var height = itemModel.get('itemStyle.height');\n\n if (height == null) {\n height = itemHeight;\n } else {\n height = parsePercent(height, viewRect.height);\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 labelLayout(data);\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/funnel/funnelLayout.js?")},"JQT/":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CancellationToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CancellationTokenSource; });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MI8n");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar shortcutEvent = Object.freeze(function (callback, context) {\r\n var handle = setTimeout(callback.bind(context), 0);\r\n return { dispose: function () { clearTimeout(handle); } };\r\n});\r\nvar CancellationToken;\r\n(function (CancellationToken) {\r\n function isCancellationToken(thing) {\r\n if (thing === CancellationToken.None || thing === CancellationToken.Cancelled) {\r\n return true;\r\n }\r\n if (thing instanceof MutableToken) {\r\n return true;\r\n }\r\n if (!thing || typeof thing !== \'object\') {\r\n return false;\r\n }\r\n return typeof thing.isCancellationRequested === \'boolean\'\r\n && typeof thing.onCancellationRequested === \'function\';\r\n }\r\n CancellationToken.isCancellationToken = isCancellationToken;\r\n CancellationToken.None = Object.freeze({\r\n isCancellationRequested: false,\r\n onCancellationRequested: _event_js__WEBPACK_IMPORTED_MODULE_0__[/* Event */ "b"].None\r\n });\r\n CancellationToken.Cancelled = Object.freeze({\r\n isCancellationRequested: true,\r\n onCancellationRequested: shortcutEvent\r\n });\r\n})(CancellationToken || (CancellationToken = {}));\r\nvar MutableToken = /** @class */ (function () {\r\n function MutableToken() {\r\n this._isCancelled = false;\r\n this._emitter = null;\r\n }\r\n MutableToken.prototype.cancel = function () {\r\n if (!this._isCancelled) {\r\n this._isCancelled = true;\r\n if (this._emitter) {\r\n this._emitter.fire(undefined);\r\n this.dispose();\r\n }\r\n }\r\n };\r\n Object.defineProperty(MutableToken.prototype, "isCancellationRequested", {\r\n get: function () {\r\n return this._isCancelled;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MutableToken.prototype, "onCancellationRequested", {\r\n get: function () {\r\n if (this._isCancelled) {\r\n return shortcutEvent;\r\n }\r\n if (!this._emitter) {\r\n this._emitter = new _event_js__WEBPACK_IMPORTED_MODULE_0__[/* Emitter */ "a"]();\r\n }\r\n return this._emitter.event;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n MutableToken.prototype.dispose = function () {\r\n if (this._emitter) {\r\n this._emitter.dispose();\r\n this._emitter = null;\r\n }\r\n };\r\n return MutableToken;\r\n}());\r\nvar CancellationTokenSource = /** @class */ (function () {\r\n function CancellationTokenSource(parent) {\r\n this._token = undefined;\r\n this._parentListener = undefined;\r\n this._parentListener = parent && parent.onCancellationRequested(this.cancel, this);\r\n }\r\n Object.defineProperty(CancellationTokenSource.prototype, "token", {\r\n get: function () {\r\n if (!this._token) {\r\n // be lazy and create the token only when\r\n // actually needed\r\n this._token = new MutableToken();\r\n }\r\n return this._token;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n CancellationTokenSource.prototype.cancel = function () {\r\n if (!this._token) {\r\n // save an object by returning the default\r\n // cancelled token when cancellation happens\r\n // before someone asks for the token\r\n this._token = CancellationToken.Cancelled;\r\n }\r\n else if (this._token instanceof MutableToken) {\r\n // actually cancel\r\n this._token.cancel();\r\n }\r\n };\r\n CancellationTokenSource.prototype.dispose = function (cancel) {\r\n if (cancel === void 0) { cancel = false; }\r\n if (cancel) {\r\n this.cancel();\r\n }\r\n if (this._parentListener) {\r\n this._parentListener.dispose();\r\n }\r\n if (!this._token) {\r\n // ensure to initialize with an empty token if we had none\r\n this._token = CancellationToken.None;\r\n }\r\n else if (this._token instanceof MutableToken) {\r\n // actually dispose\r\n this._token.dispose();\r\n }\r\n };\r\n return CancellationTokenSource;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/cancellation.js?')},JSQU:function(module,exports,__webpack_require__){eval("var nativeCreate = __webpack_require__(\"YESw\");\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_hashSet.js?")},JTzB:function(module,exports,__webpack_require__){eval('var baseGetTag = __webpack_require__("NykK"),\n isObjectLike = __webpack_require__("ExA7");\n\n/** `Object#toString` result references. */\nvar argsTag = \'[object Arguments]\';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_baseIsArguments.js?')},JVwQ:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar _poly = __webpack_require__(\"1NG9\");\n\nvar Polygon = _poly.Polygon;\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar bind = _util.bind;\nvar extend = _util.extend;\n\nvar DataDiffer = __webpack_require__(\"gPAo\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = echarts.extendChartView({\n type: 'themeRiver',\n init: function () {\n this._layers = [];\n },\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var group = this.group;\n var layerSeries = seriesModel.getLayerSeries();\n var layoutInfo = data.getLayout('layoutInfo');\n var rect = layoutInfo.rect;\n var boundaryGap = layoutInfo.boundaryGap;\n group.attr('position', [0, rect.y + boundaryGap[0]]);\n\n function keyGetter(item) {\n return item.name;\n }\n\n var dataDiffer = new DataDiffer(this._layersSeries || [], layerSeries, keyGetter, keyGetter);\n var newLayersGroups = {};\n dataDiffer.add(bind(process, this, 'add')).update(bind(process, this, 'update')).remove(bind(process, this, 'remove')).execute();\n\n function process(status, idx, oldIdx) {\n var oldLayersGroups = this._layers;\n\n if (status === 'remove') {\n group.remove(oldLayersGroups[idx]);\n return;\n }\n\n var points0 = [];\n var points1 = [];\n var color;\n var indices = layerSeries[idx].indices;\n\n for (var j = 0; 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 color = data.getItemVisual(indices[j], 'color');\n }\n\n var polygon;\n var text;\n var textLayout = data.getItemLayout(indices[0]);\n var itemModel = data.getItemModel(indices[j - 1]);\n var labelModel = itemModel.getModel('label');\n var margin = labelModel.get('margin');\n\n if (status === 'add') {\n var layerGroup = newLayersGroups[idx] = new graphic.Group();\n polygon = new Polygon({\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 text = new graphic.Text({\n style: {\n x: textLayout.x - margin,\n y: textLayout.y0 + textLayout.y / 2\n }\n });\n layerGroup.add(polygon);\n layerGroup.add(text);\n group.add(layerGroup);\n polygon.setClipPath(createGridClipShape(polygon.getBoundingRect(), seriesModel, function () {\n polygon.removeClipPath();\n }));\n } else {\n var layerGroup = oldLayersGroups[oldIdx];\n polygon = layerGroup.childAt(0);\n text = layerGroup.childAt(1);\n group.add(layerGroup);\n newLayersGroups[idx] = layerGroup;\n graphic.updateProps(polygon, {\n shape: {\n points: points0,\n stackedOnPoints: points1\n }\n }, seriesModel);\n graphic.updateProps(text, {\n style: {\n x: textLayout.x - margin,\n y: textLayout.y0 + textLayout.y / 2\n }\n }, seriesModel);\n }\n\n var hoverItemStyleModel = itemModel.getModel('emphasis.itemStyle');\n var itemStyleModel = itemModel.getModel('itemStyle');\n graphic.setTextStyle(text.style, labelModel, {\n text: labelModel.get('show') ? seriesModel.getFormattedLabel(indices[j - 1], 'normal') || data.getName(indices[j - 1]) : null,\n textVerticalAlign: 'middle'\n });\n polygon.setStyle(extend({\n fill: color\n }, itemStyleModel.getItemStyle(['color'])));\n graphic.setHoverStyle(polygon, hoverItemStyleModel.getItemStyle());\n }\n\n this._layersSeries = layerSeries;\n this._layers = newLayersGroups;\n },\n dispose: function () {}\n}); // add animation to the view\n\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x - 10,\n y: rect.y - 10,\n width: 0,\n height: rect.height + 20\n }\n });\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width + 20,\n height: rect.height + 20\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js?")},JYp7:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return FIN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return Iterator; });\n/* unused harmony export ChainableIterator */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getSequenceIterator; });\n/* unused harmony export ArrayIterator */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ArrayNavigator; });\n/* unused harmony export MappedIterator */\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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 FIN = { done: true, value: undefined };\r\nvar Iterator;\r\n(function (Iterator) {\r\n var _empty = {\r\n next: function () {\r\n return FIN;\r\n }\r\n };\r\n function empty() {\r\n return _empty;\r\n }\r\n Iterator.empty = empty;\r\n function single(value) {\r\n var done = false;\r\n return {\r\n next: function () {\r\n if (done) {\r\n return FIN;\r\n }\r\n done = true;\r\n return { done: false, value: value };\r\n }\r\n };\r\n }\r\n Iterator.single = single;\r\n function fromArray(array, index, length) {\r\n if (index === void 0) { index = 0; }\r\n if (length === void 0) { length = array.length; }\r\n return {\r\n next: function () {\r\n if (index >= length) {\r\n return FIN;\r\n }\r\n return { done: false, value: array[index++] };\r\n }\r\n };\r\n }\r\n Iterator.fromArray = fromArray;\r\n function fromNativeIterator(it) {\r\n return {\r\n next: function () {\r\n var result = it.next();\r\n if (result.done) {\r\n return FIN;\r\n }\r\n return { done: false, value: result.value };\r\n }\r\n };\r\n }\r\n Iterator.fromNativeIterator = fromNativeIterator;\r\n function from(elements) {\r\n if (!elements) {\r\n return Iterator.empty();\r\n }\r\n else if (Array.isArray(elements)) {\r\n return Iterator.fromArray(elements);\r\n }\r\n else {\r\n return elements;\r\n }\r\n }\r\n Iterator.from = from;\r\n function map(iterator, fn) {\r\n return {\r\n next: function () {\r\n var element = iterator.next();\r\n if (element.done) {\r\n return FIN;\r\n }\r\n else {\r\n return { done: false, value: fn(element.value) };\r\n }\r\n }\r\n };\r\n }\r\n Iterator.map = map;\r\n function filter(iterator, fn) {\r\n return {\r\n next: function () {\r\n while (true) {\r\n var element = iterator.next();\r\n if (element.done) {\r\n return FIN;\r\n }\r\n if (fn(element.value)) {\r\n return { done: false, value: element.value };\r\n }\r\n }\r\n }\r\n };\r\n }\r\n Iterator.filter = filter;\r\n function forEach(iterator, fn) {\r\n for (var next = iterator.next(); !next.done; next = iterator.next()) {\r\n fn(next.value);\r\n }\r\n }\r\n Iterator.forEach = forEach;\r\n function collect(iterator, atMost) {\r\n if (atMost === void 0) { atMost = Number.POSITIVE_INFINITY; }\r\n var result = [];\r\n if (atMost === 0) {\r\n return result;\r\n }\r\n var i = 0;\r\n for (var next = iterator.next(); !next.done; next = iterator.next()) {\r\n result.push(next.value);\r\n if (++i >= atMost) {\r\n break;\r\n }\r\n }\r\n return result;\r\n }\r\n Iterator.collect = collect;\r\n function concat() {\r\n var iterators = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n iterators[_i] = arguments[_i];\r\n }\r\n var i = 0;\r\n return {\r\n next: function () {\r\n if (i >= iterators.length) {\r\n return FIN;\r\n }\r\n var iterator = iterators[i];\r\n var result = iterator.next();\r\n if (result.done) {\r\n i++;\r\n return this.next();\r\n }\r\n return result;\r\n }\r\n };\r\n }\r\n Iterator.concat = concat;\r\n function chain(iterator) {\r\n return new ChainableIterator(iterator);\r\n }\r\n Iterator.chain = chain;\r\n})(Iterator || (Iterator = {}));\r\nvar ChainableIterator = /** @class */ (function () {\r\n function ChainableIterator(it) {\r\n this.it = it;\r\n }\r\n ChainableIterator.prototype.next = function () { return this.it.next(); };\r\n return ChainableIterator;\r\n}());\r\n\r\nfunction getSequenceIterator(arg) {\r\n if (Array.isArray(arg)) {\r\n return Iterator.fromArray(arg);\r\n }\r\n else if (!arg) {\r\n return Iterator.empty();\r\n }\r\n else {\r\n return arg;\r\n }\r\n}\r\nvar ArrayIterator = /** @class */ (function () {\r\n function ArrayIterator(items, start, end, index) {\r\n if (start === void 0) { start = 0; }\r\n if (end === void 0) { end = items.length; }\r\n if (index === void 0) { index = start - 1; }\r\n this.items = items;\r\n this.start = start;\r\n this.end = end;\r\n this.index = index;\r\n }\r\n ArrayIterator.prototype.first = function () {\r\n this.index = this.start;\r\n return this.current();\r\n };\r\n ArrayIterator.prototype.next = function () {\r\n this.index = Math.min(this.index + 1, this.end);\r\n return this.current();\r\n };\r\n ArrayIterator.prototype.current = function () {\r\n if (this.index === this.start - 1 || this.index === this.end) {\r\n return null;\r\n }\r\n return this.items[this.index];\r\n };\r\n return ArrayIterator;\r\n}());\r\n\r\nvar ArrayNavigator = /** @class */ (function (_super) {\r\n __extends(ArrayNavigator, _super);\r\n function ArrayNavigator(items, start, end, index) {\r\n if (start === void 0) { start = 0; }\r\n if (end === void 0) { end = items.length; }\r\n if (index === void 0) { index = start - 1; }\r\n return _super.call(this, items, start, end, index) || this;\r\n }\r\n ArrayNavigator.prototype.current = function () {\r\n return _super.prototype.current.call(this);\r\n };\r\n ArrayNavigator.prototype.previous = function () {\r\n this.index = Math.max(this.index - 1, this.start - 1);\r\n return this.current();\r\n };\r\n ArrayNavigator.prototype.first = function () {\r\n this.index = this.start;\r\n return this.current();\r\n };\r\n ArrayNavigator.prototype.last = function () {\r\n this.index = this.end - 1;\r\n return this.current();\r\n };\r\n ArrayNavigator.prototype.parent = function () {\r\n return null;\r\n };\r\n return ArrayNavigator;\r\n}(ArrayIterator));\r\n\r\nvar MappedIterator = /** @class */ (function () {\r\n function MappedIterator(iterator, fn) {\r\n this.iterator = iterator;\r\n this.fn = fn;\r\n // noop\r\n }\r\n MappedIterator.prototype.next = function () { return this.fn(this.iterator.next()); };\r\n return MappedIterator;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/iterator.js?')},JbBM:function(module,exports,__webpack_require__){eval('__webpack_require__("Hfiw");\nmodule.exports = __webpack_require__("WEpk").Object.setPrototypeOf;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js?')},JgUQ:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar FileOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z" } }] }, "name": "file", "theme": "outlined" };\nexports.default = FileOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/FileOutlined.js?')},JlLP:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'powerquery',\r\n extensions: ['.pq', '.pqm'],\r\n aliases: ['PQ', 'M', 'Power Query', 'Power Query M'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 197).then(__webpack_require__.bind(null, \"W1QP\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js?")},JsLm:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/react-dom/index.js\nvar react_dom = __webpack_require__("i8i4");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/rc-util/es/Dom/addEventListener.js\nvar addEventListener = __webpack_require__("zT1h");\n\n// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js\nvar es = __webpack_require__("BGR+");\n\n// EXTERNAL MODULE: ./node_modules/rc-resize-observer/es/index.js\nvar rc_resize_observer_es = __webpack_require__("t23M");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/raf/index.js\nvar raf = __webpack_require__("xEkU");\nvar raf_default = /*#__PURE__*/__webpack_require__.n(raf);\n\n// CONCATENATED MODULE: ./node_modules/antd/es/_util/throttleByAnimationFrame.js\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\nfunction throttleByAnimationFrame(fn) {\n var requestId;\n\n var later = function later(args) {\n return function () {\n requestId = null;\n fn.apply(void 0, _toConsumableArray(args));\n };\n };\n\n var throttled = function throttled() {\n if (requestId == null) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n requestId = raf_default()(later(args));\n }\n };\n\n throttled.cancel = function () {\n return raf_default.a.cancel(requestId);\n };\n\n return throttled;\n}\nfunction throttleByAnimationFrameDecorator() {\n // eslint-disable-next-line func-names\n return function (target, key, descriptor) {\n var fn = descriptor.value;\n var definingProperty = false;\n return {\n configurable: true,\n get: function get() {\n // eslint-disable-next-line no-prototype-builtins\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key)) {\n return fn;\n }\n\n var boundFn = throttleByAnimationFrame(fn.bind(this));\n definingProperty = true;\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true\n });\n definingProperty = false;\n return boundFn;\n }\n };\n };\n}\n// CONCATENATED MODULE: ./node_modules/antd/es/affix/utils.js\n\nfunction getTargetRect(target) {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n bottom: window.innerHeight\n };\n}\nfunction getFixedTop(placeholderReact, targetRect, offsetTop) {\n if (offsetTop !== undefined && targetRect.top > placeholderReact.top - offsetTop) {\n return offsetTop + targetRect.top;\n }\n\n return undefined;\n}\nfunction getFixedBottom(placeholderReact, targetRect, offsetBottom) {\n if (offsetBottom !== undefined && targetRect.bottom < placeholderReact.bottom + offsetBottom) {\n var targetBottomOffset = window.innerHeight - targetRect.bottom;\n return offsetBottom + targetBottomOffset;\n }\n\n return undefined;\n} // ======================== Observer ========================\n\nvar TRIGGER_EVENTS = [\'resize\', \'scroll\', \'touchstart\', \'touchmove\', \'touchend\', \'pageshow\', \'load\'];\nvar observerEntities = [];\nfunction getObserverEntities() {\n // Only used in test env. Can be removed if refactor.\n return observerEntities;\n}\nfunction addObserveTarget(target, affix) {\n if (!target) return;\n var entity = observerEntities.find(function (item) {\n return item.target === target;\n });\n\n if (entity) {\n entity.affixList.push(affix);\n } else {\n entity = {\n target: target,\n affixList: [affix],\n eventHandlers: {}\n };\n observerEntities.push(entity); // Add listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n entity.eventHandlers[eventName] = Object(addEventListener["a" /* default */])(target, eventName, function () {\n entity.affixList.forEach(function (targetAffix) {\n targetAffix.lazyUpdatePosition();\n });\n });\n });\n }\n}\nfunction removeObserveTarget(affix) {\n var observerEntity = observerEntities.find(function (oriObserverEntity) {\n var hasAffix = oriObserverEntity.affixList.some(function (item) {\n return item === affix;\n });\n\n if (hasAffix) {\n oriObserverEntity.affixList = oriObserverEntity.affixList.filter(function (item) {\n return item !== affix;\n });\n }\n\n return hasAffix;\n });\n\n if (observerEntity && observerEntity.affixList.length === 0) {\n observerEntities = observerEntities.filter(function (item) {\n return item !== observerEntity;\n }); // Remove listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n var handler = observerEntity.eventHandlers[eventName];\n\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n }\n}\n// CONCATENATED MODULE: ./node_modules/antd/es/affix/index.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nvar __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\nfunction getDefaultTarget() {\n return typeof window !== \'undefined\' ? window : null;\n}\n\nvar AffixStatus;\n\n(function (AffixStatus) {\n AffixStatus[AffixStatus["None"] = 0] = "None";\n AffixStatus[AffixStatus["Prepare"] = 1] = "Prepare";\n})(AffixStatus || (AffixStatus = {}));\n\nvar affix_Affix = /*#__PURE__*/function (_React$Component) {\n _inherits(Affix, _React$Component);\n\n var _super = _createSuper(Affix);\n\n function Affix() {\n var _this;\n\n _classCallCheck(this, Affix);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n status: AffixStatus.None,\n lastAffix: false,\n prevTarget: null\n };\n\n _this.getOffsetTop = function () {\n var offsetBottom = _this.props.offsetBottom;\n var offsetTop = _this.props.offsetTop;\n\n if (offsetBottom === undefined && offsetTop === undefined) {\n offsetTop = 0;\n }\n\n return offsetTop;\n };\n\n _this.getOffsetBottom = function () {\n return _this.props.offsetBottom;\n };\n\n _this.savePlaceholderNode = function (node) {\n _this.placeholderNode = node;\n };\n\n _this.saveFixedNode = function (node) {\n _this.fixedNode = node;\n }; // =================== Measure ===================\n\n\n _this.measure = function () {\n var _this$state = _this.state,\n status = _this$state.status,\n lastAffix = _this$state.lastAffix;\n var onChange = _this.props.onChange;\n\n var targetFunc = _this.getTargetFunc();\n\n if (status !== AffixStatus.Prepare || !_this.fixedNode || !_this.placeholderNode || !targetFunc) {\n return;\n }\n\n var offsetTop = _this.getOffsetTop();\n\n var offsetBottom = _this.getOffsetBottom();\n\n var targetNode = targetFunc();\n\n if (!targetNode) {\n return;\n }\n\n var newState = {\n status: AffixStatus.None\n };\n var targetRect = getTargetRect(targetNode);\n var placeholderReact = getTargetRect(_this.placeholderNode);\n var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n\n if (fixedTop !== undefined) {\n newState.affixStyle = {\n position: \'fixed\',\n top: fixedTop,\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n newState.placeholderStyle = {\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n } else if (fixedBottom !== undefined) {\n newState.affixStyle = {\n position: \'fixed\',\n bottom: fixedBottom,\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n newState.placeholderStyle = {\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n }\n\n newState.lastAffix = !!newState.affixStyle;\n\n if (onChange && lastAffix !== newState.lastAffix) {\n onChange(newState.lastAffix);\n }\n\n _this.setState(newState);\n }; // @ts-ignore TS6133\n\n\n _this.prepareMeasure = function () {\n // event param is used before. Keep compatible ts define here.\n _this.setState({\n status: AffixStatus.Prepare,\n affixStyle: undefined,\n placeholderStyle: undefined\n }); // Test if `updatePosition` called\n\n\n if (false) { var onTestUpdatePosition; }\n }; // =================== Render ===================\n\n\n _this.render = function () {\n var getPrefixCls = _this.context.getPrefixCls;\n var _this$state2 = _this.state,\n affixStyle = _this$state2.affixStyle,\n placeholderStyle = _this$state2.placeholderStyle;\n var _this$props = _this.props,\n prefixCls = _this$props.prefixCls,\n children = _this$props.children;\n var className = classnames_default()(_defineProperty({}, getPrefixCls(\'affix\', prefixCls), affixStyle));\n var props = Object(es["a" /* default */])(_this.props, [\'prefixCls\', \'offsetTop\', \'offsetBottom\', \'target\', \'onChange\']); // Omit this since `onTestUpdatePosition` only works on test.\n\n if (false) {}\n\n return /*#__PURE__*/react["createElement"](rc_resize_observer_es["a" /* default */], {\n onResize: function onResize() {\n _this.updatePosition();\n }\n }, /*#__PURE__*/react["createElement"]("div", _extends({}, props, {\n ref: _this.savePlaceholderNode\n }), affixStyle && /*#__PURE__*/react["createElement"]("div", {\n style: placeholderStyle,\n "aria-hidden": "true"\n }), /*#__PURE__*/react["createElement"]("div", {\n className: className,\n ref: _this.saveFixedNode,\n style: affixStyle\n }, /*#__PURE__*/react["createElement"](rc_resize_observer_es["a" /* default */], {\n onResize: function onResize() {\n _this.updatePosition();\n }\n }, children))));\n };\n\n return _this;\n }\n\n _createClass(Affix, [{\n key: "getTargetFunc",\n value: function getTargetFunc() {\n var getTargetContainer = this.context.getTargetContainer;\n var target = this.props.target;\n\n if (target !== undefined) {\n return target;\n }\n\n return getTargetContainer || getDefaultTarget;\n } // Event handler\n\n }, {\n key: "componentDidMount",\n value: function componentDidMount() {\n var _this2 = this;\n\n var targetFunc = this.getTargetFunc();\n\n if (targetFunc) {\n // [Legacy] Wait for parent component ref has its value.\n // We should use target as directly element instead of function which makes element check hard.\n this.timeout = setTimeout(function () {\n addObserveTarget(targetFunc(), _this2); // Mock Event object.\n\n _this2.updatePosition();\n });\n }\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps) {\n var prevTarget = this.state.prevTarget;\n var targetFunc = this.getTargetFunc();\n var newTarget = null;\n\n if (targetFunc) {\n newTarget = targetFunc() || null;\n }\n\n if (prevTarget !== newTarget) {\n removeObserveTarget(this);\n\n if (newTarget) {\n addObserveTarget(newTarget, this); // Mock Event object.\n\n this.updatePosition();\n }\n\n this.setState({\n prevTarget: newTarget\n });\n }\n\n if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {\n this.updatePosition();\n }\n\n this.measure();\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n clearTimeout(this.timeout);\n removeObserveTarget(this);\n this.updatePosition.cancel(); // https://github.com/ant-design/ant-design/issues/22683\n\n this.lazyUpdatePosition.cancel();\n } // Handle realign logic\n\n }, {\n key: "updatePosition",\n value: function updatePosition() {\n this.prepareMeasure();\n }\n }, {\n key: "lazyUpdatePosition",\n value: function lazyUpdatePosition() {\n var targetFunc = this.getTargetFunc();\n var affixStyle = this.state.affixStyle; // Check position change before measure to make Safari smooth\n\n if (targetFunc && affixStyle) {\n var offsetTop = this.getOffsetTop();\n var offsetBottom = this.getOffsetBottom();\n var targetNode = targetFunc();\n\n if (targetNode && this.placeholderNode) {\n var targetRect = getTargetRect(targetNode);\n var placeholderReact = getTargetRect(this.placeholderNode);\n var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n\n if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {\n return;\n }\n }\n } // Directly call prepare measure since it\'s already throttled.\n\n\n this.prepareMeasure();\n }\n }]);\n\n return Affix;\n}(react["Component"]);\n\naffix_Affix.contextType = context["b" /* ConfigContext */];\n\n__decorate([throttleByAnimationFrameDecorator()], affix_Affix.prototype, "updatePosition", null);\n\n__decorate([throttleByAnimationFrameDecorator()], affix_Affix.prototype, "lazyUpdatePosition", null);\n\n/* harmony default export */ var es_affix = (affix_Affix);\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/scrollTo.js + 1 modules\nvar scrollTo = __webpack_require__("zAh6");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/getScroll.js\nvar getScroll = __webpack_require__("i6bk");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/anchor/context.js\n\nvar AnchorContext = react["createContext"](null);\n/* harmony default export */ var anchor_context = (AnchorContext);\n// CONCATENATED MODULE: ./node_modules/antd/es/anchor/Anchor.js\nfunction Anchor_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Anchor_typeof = function _typeof(obj) { return typeof obj; }; } else { Anchor_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Anchor_typeof(obj); }\n\nfunction Anchor_extends() { Anchor_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; }; return Anchor_extends.apply(this, arguments); }\n\nfunction Anchor_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Anchor_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction Anchor_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction Anchor_createClass(Constructor, protoProps, staticProps) { if (protoProps) Anchor_defineProperties(Constructor.prototype, protoProps); if (staticProps) Anchor_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction Anchor_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Anchor_setPrototypeOf(subClass, superClass); }\n\nfunction Anchor_setPrototypeOf(o, p) { Anchor_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Anchor_setPrototypeOf(o, p); }\n\nfunction Anchor_createSuper(Derived) { var hasNativeReflectConstruct = Anchor_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Anchor_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Anchor_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Anchor_possibleConstructorReturn(this, result); }; }\n\nfunction Anchor_possibleConstructorReturn(self, call) { if (call && (Anchor_typeof(call) === "object" || typeof call === "function")) { return call; } return Anchor_assertThisInitialized(self); }\n\nfunction Anchor_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction Anchor_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction Anchor_getPrototypeOf(o) { Anchor_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Anchor_getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element.getClientRects().length) {\n return 0;\n }\n\n var rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\nvar sharpMatcherRegx = /#(\\S+)$/;\n\nvar Anchor_Anchor = /*#__PURE__*/function (_React$Component) {\n Anchor_inherits(Anchor, _React$Component);\n\n var _super = Anchor_createSuper(Anchor);\n\n function Anchor() {\n var _this;\n\n Anchor_classCallCheck(this, Anchor);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n activeLink: null\n };\n _this.links = []; // Context\n\n _this.registerLink = function (link) {\n if (!_this.links.includes(link)) {\n _this.links.push(link);\n }\n };\n\n _this.unregisterLink = function (link) {\n var index = _this.links.indexOf(link);\n\n if (index !== -1) {\n _this.links.splice(index, 1);\n }\n };\n\n _this.getContainer = function () {\n var getTargetContainer = _this.context.getTargetContainer;\n var getContainer = _this.props.getContainer;\n var getFunc = getContainer || getTargetContainer || getDefaultContainer;\n return getFunc();\n };\n\n _this.handleScrollTo = function (link) {\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n targetOffset = _this$props.targetOffset;\n\n _this.setCurrentActiveLink(link);\n\n var container = _this.getContainer();\n\n var scrollTop = Object(getScroll["a" /* default */])(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(link);\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var y = scrollTop + eleOffsetTop;\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n _this.animating = true;\n Object(scrollTo["a" /* default */])(y, {\n callback: function callback() {\n _this.animating = false;\n },\n getContainer: _this.getContainer\n });\n };\n\n _this.saveInkNode = function (node) {\n _this.inkNode = node;\n };\n\n _this.setCurrentActiveLink = function (link) {\n var activeLink = _this.state.activeLink;\n var onChange = _this.props.onChange;\n\n if (activeLink !== link) {\n _this.setState({\n activeLink: link\n });\n\n if (onChange) {\n onChange(link);\n }\n }\n };\n\n _this.handleScroll = function () {\n if (_this.animating) {\n return;\n }\n\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n bounds = _this$props2.bounds,\n targetOffset = _this$props2.targetOffset;\n\n var currentActiveLink = _this.getCurrentAnchor(targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\n\n _this.setCurrentActiveLink(currentActiveLink);\n };\n\n _this.updateInk = function () {\n var _assertThisInitialize = Anchor_assertThisInitialized(_this),\n prefixCls = _assertThisInitialize.prefixCls;\n\n var anchorNode = react_dom["findDOMNode"](Anchor_assertThisInitialized(_this));\n var linkNode = anchorNode.getElementsByClassName("".concat(prefixCls, "-link-title-active"))[0];\n\n if (linkNode) {\n _this.inkNode.style.top = "".concat(linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5, "px");\n }\n };\n\n _this.render = function () {\n var _this$context = _this.context,\n getPrefixCls = _this$context.getPrefixCls,\n direction = _this$context.direction;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? \'\' : _this$props3$classNam,\n style = _this$props3.style,\n offsetTop = _this$props3.offsetTop,\n affix = _this$props3.affix,\n showInkInFixed = _this$props3.showInkInFixed,\n children = _this$props3.children;\n var activeLink = _this.state.activeLink;\n var prefixCls = getPrefixCls(\'anchor\', customizePrefixCls); // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n\n _this.prefixCls = prefixCls;\n var inkClass = classnames_default()("".concat(prefixCls, "-ink-ball"), {\n visible: activeLink\n });\n var wrapperClass = classnames_default()(className, "".concat(prefixCls, "-wrapper"), Anchor_defineProperty({}, "".concat(prefixCls, "-rtl"), direction === \'rtl\'));\n var anchorClass = classnames_default()(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = Anchor_extends({\n maxHeight: offsetTop ? "calc(100vh - ".concat(offsetTop, "px)") : \'100vh\'\n }, style);\n\n var anchorContent = /*#__PURE__*/react["createElement"]("div", {\n className: wrapperClass,\n style: wrapperStyle\n }, /*#__PURE__*/react["createElement"]("div", {\n className: anchorClass\n }, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-ink")\n }, /*#__PURE__*/react["createElement"]("span", {\n className: inkClass,\n ref: _this.saveInkNode\n })), children));\n return /*#__PURE__*/react["createElement"](anchor_context.Provider, {\n value: {\n registerLink: _this.registerLink,\n unregisterLink: _this.unregisterLink,\n activeLink: _this.state.activeLink,\n scrollTo: _this.handleScrollTo,\n onClick: _this.props.onClick\n }\n }, !affix ? anchorContent : /*#__PURE__*/react["createElement"](es_affix, {\n offsetTop: offsetTop,\n target: _this.getContainer\n }, anchorContent));\n };\n\n return _this;\n }\n\n Anchor_createClass(Anchor, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.scrollContainer = this.getContainer();\n this.scrollEvent = Object(addEventListener["a" /* default */])(this.scrollContainer, \'scroll\', this.handleScroll);\n this.handleScroll();\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate() {\n if (this.scrollEvent) {\n var currentContainer = this.getContainer();\n\n if (this.scrollContainer !== currentContainer) {\n this.scrollContainer = currentContainer;\n this.scrollEvent.remove();\n this.scrollEvent = Object(addEventListener["a" /* default */])(this.scrollContainer, \'scroll\', this.handleScroll);\n this.handleScroll();\n }\n }\n\n this.updateInk();\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n }\n }, {\n key: "getCurrentAnchor",\n value: function getCurrentAnchor() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var getCurrentAnchor = this.props.getCurrentAnchor;\n\n if (typeof getCurrentAnchor === \'function\') {\n return getCurrentAnchor();\n }\n\n var linkSections = [];\n var container = this.getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var target = document.getElementById(sharpLinkMatch[1]);\n\n if (target) {\n var top = getOffsetTop(target, container);\n\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n\n return \'\';\n }\n }]);\n\n return Anchor;\n}(react["Component"]);\n\n\nAnchor_Anchor.defaultProps = {\n affix: true,\n showInkInFixed: false\n};\nAnchor_Anchor.contextType = context["b" /* ConfigContext */];\n// CONCATENATED MODULE: ./node_modules/antd/es/anchor/AnchorLink.js\nfunction AnchorLink_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { AnchorLink_typeof = function _typeof(obj) { return typeof obj; }; } else { AnchorLink_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return AnchorLink_typeof(obj); }\n\nfunction AnchorLink_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction AnchorLink_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction AnchorLink_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction AnchorLink_createClass(Constructor, protoProps, staticProps) { if (protoProps) AnchorLink_defineProperties(Constructor.prototype, protoProps); if (staticProps) AnchorLink_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction AnchorLink_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) AnchorLink_setPrototypeOf(subClass, superClass); }\n\nfunction AnchorLink_setPrototypeOf(o, p) { AnchorLink_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return AnchorLink_setPrototypeOf(o, p); }\n\nfunction AnchorLink_createSuper(Derived) { var hasNativeReflectConstruct = AnchorLink_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = AnchorLink_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = AnchorLink_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return AnchorLink_possibleConstructorReturn(this, result); }; }\n\nfunction AnchorLink_possibleConstructorReturn(self, call) { if (call && (AnchorLink_typeof(call) === "object" || typeof call === "function")) { return call; } return AnchorLink_assertThisInitialized(self); }\n\nfunction AnchorLink_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction AnchorLink_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction AnchorLink_getPrototypeOf(o) { AnchorLink_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return AnchorLink_getPrototypeOf(o); }\n\n\n\n\n\n\nvar AnchorLink_AnchorLink = /*#__PURE__*/function (_React$Component) {\n AnchorLink_inherits(AnchorLink, _React$Component);\n\n var _super = AnchorLink_createSuper(AnchorLink);\n\n function AnchorLink() {\n var _this;\n\n AnchorLink_classCallCheck(this, AnchorLink);\n\n _this = _super.apply(this, arguments);\n\n _this.handleClick = function (e) {\n var _this$context = _this.context,\n scrollTo = _this$context.scrollTo,\n onClick = _this$context.onClick;\n var _this$props = _this.props,\n href = _this$props.href,\n title = _this$props.title;\n\n if (onClick) {\n onClick(e, {\n title: title,\n href: href\n });\n }\n\n scrollTo(href);\n };\n\n _this.renderAnchorLink = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n href = _this$props2.href,\n title = _this$props2.title,\n children = _this$props2.children,\n className = _this$props2.className,\n target = _this$props2.target;\n var prefixCls = getPrefixCls(\'anchor\', customizePrefixCls);\n var active = _this.context.activeLink === href;\n var wrapperClassName = classnames_default()(className, "".concat(prefixCls, "-link"), AnchorLink_defineProperty({}, "".concat(prefixCls, "-link-active"), active));\n var titleClassName = classnames_default()("".concat(prefixCls, "-link-title"), AnchorLink_defineProperty({}, "".concat(prefixCls, "-link-title-active"), active));\n return /*#__PURE__*/react["createElement"]("div", {\n className: wrapperClassName\n }, /*#__PURE__*/react["createElement"]("a", {\n className: titleClassName,\n href: href,\n title: typeof title === \'string\' ? title : \'\',\n target: target,\n onClick: _this.handleClick\n }, title), children);\n };\n\n return _this;\n }\n\n AnchorLink_createClass(AnchorLink, [{\n key: "componentDidMount",\n value: function componentDidMount() {\n this.context.registerLink(this.props.href);\n }\n }, {\n key: "componentDidUpdate",\n value: function componentDidUpdate(_ref2) {\n var prevHref = _ref2.href;\n var href = this.props.href;\n\n if (prevHref !== href) {\n this.context.unregisterLink(prevHref);\n this.context.registerLink(href);\n }\n }\n }, {\n key: "componentWillUnmount",\n value: function componentWillUnmount() {\n this.context.unregisterLink(this.props.href);\n }\n }, {\n key: "render",\n value: function render() {\n return /*#__PURE__*/react["createElement"](context["a" /* ConfigConsumer */], null, this.renderAnchorLink);\n }\n }]);\n\n return AnchorLink;\n}(react["Component"]);\n\nAnchorLink_AnchorLink.defaultProps = {\n href: \'#\'\n};\nAnchorLink_AnchorLink.contextType = anchor_context;\n/* harmony default export */ var anchor_AnchorLink = (AnchorLink_AnchorLink);\n// CONCATENATED MODULE: ./node_modules/antd/es/anchor/index.js\n\n\nAnchor_Anchor.Link = anchor_AnchorLink;\n/* harmony default export */ var es_anchor = __webpack_exports__["a"] = (Anchor_Anchor);\n\n//# sourceURL=webpack:///./node_modules/antd/es/anchor/index.js_+_6_modules?')},JuEJ:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar isObject = zrUtil.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 opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].normal) {\n opt[styleName].normal = normalItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].normal, normalItemStyleOpt[styleName]);\n }\n\n normalItemStyleOpt[styleName] = null;\n }\n\n if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].emphasis) {\n opt[styleName].emphasis = emphasisItemStyleOpt[styleName];\n } else {\n zrUtil.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 // Timeline controlStyle has other properties besides normal and emphasis\n if (useExtend) {\n opt[optType].normal = opt[optType].emphasis = null;\n zrUtil.defaults(opt[optType], normalOpt);\n } else {\n opt[optType] = normalOpt;\n }\n }\n\n if (emphasisOpt) {\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[optType] = emphasisOpt;\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 for (var i = 0, len = modelUtil.TEXT_STYLE_OPTIONS.length; i < len; i++) {\n var propName = modelUtil.TEXT_STYLE_OPTIONS[i];\n\n if (textStyle.hasOwnProperty(propName)) {\n labelOptSingle[propName] = textStyle[propName];\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 && !zrUtil.isTypedArray(edgeData)) {\n for (var i = 0; i < edgeData.length; i++) {\n compatEC3CommonStyles(edgeData[i]);\n }\n }\n\n zrUtil.each(seriesOpt.categories, function (opt) {\n removeEC3NormalStatus(opt);\n });\n }\n\n if (data && !zrUtil.isTypedArray(data)) {\n for (var i = 0; i < data.length; i++) {\n compatEC3CommonStyles(data[i]);\n }\n } // mark point data\n\n\n var 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 var 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 (zrUtil.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 zrUtil.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 zrUtil.isArray(o) ? o : o ? [o] : [];\n}\n\nfunction toObj(o) {\n return (zrUtil.isArray(o) ? o[0] : o) || {};\n}\n\nfunction _default(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');\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 zrUtil.isArray(data) && zrUtil.each(data, function (item) {\n if (zrUtil.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');\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/preprocessor/helper/compatStyle.js?")},JwdM:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.processSize = processSize;\nexports.noop = noop;\n\nfunction processSize(size) {\n return !/^\\d+$/.test(size) ? size : "".concat(size, "px");\n}\n\nfunction noop() {}\n\n//# sourceURL=webpack:///./node_modules/react-monaco-editor/lib/utils.js?')},K2GJ:function(module,exports,__webpack_require__){eval("var fixShadow = __webpack_require__(\"fW2E\");\n\nvar _constant = __webpack_require__(\"gut8\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\nvar STYLE_COMMON_PROPS = [['shadowBlur', 0], ['shadowOffsetX', 0], ['shadowOffsetY', 0], ['shadowColor', '#000'], ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]]; // var SHADOW_PROPS = STYLE_COMMON_PROPS.slice(0, 4);\n// var LINE_PROPS = STYLE_COMMON_PROPS.slice(4);\n\nvar Style = function (opts) {\n this.extendFrom(opts, false);\n};\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\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 } // Fix NaN when rect is Infinity\n\n\n x = isNaN(x) ? 0 : x;\n x2 = isNaN(x2) ? 1 : x2;\n y = isNaN(y) ? 0 : y;\n y2 = isNaN(y2) ? 0 : y2;\n var canvasGradient = ctx.createLinearGradient(x, y, x2, y2);\n return canvasGradient;\n}\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\n if (!obj.global) {\n x = x * width + rect.x;\n y = y * height + rect.y;\n r = r * min;\n }\n\n var canvasGradient = ctx.createRadialGradient(x, y, 0, x, y, r);\n return canvasGradient;\n}\n\nStyle.prototype = {\n constructor: Style,\n\n /**\n * @type {string}\n */\n fill: '#000',\n\n /**\n * @type {string}\n */\n stroke: null,\n\n /**\n * @type {number}\n */\n opacity: 1,\n\n /**\n * @type {number}\n */\n fillOpacity: null,\n\n /**\n * @type {number}\n */\n strokeOpacity: null,\n\n /**\n * `true` is not supported.\n * `false`/`null`/`undefined` are the same.\n * `false` is used to remove lineDash in some\n * case that `null`/`undefined` can not be set.\n * (e.g., emphasis.lineStyle in echarts)\n * @type {Array.|boolean}\n */\n lineDash: null,\n\n /**\n * @type {number}\n */\n lineDashOffset: 0,\n\n /**\n * @type {number}\n */\n shadowBlur: 0,\n\n /**\n * @type {number}\n */\n shadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n shadowOffsetY: 0,\n\n /**\n * @type {number}\n */\n lineWidth: 1,\n\n /**\n * If stroke ignore scale\n * @type {Boolean}\n */\n strokeNoScale: false,\n // Bounding rect text configuration\n // Not affected by element transform\n\n /**\n * @type {string}\n */\n text: null,\n\n /**\n * If `fontSize` or `fontFamily` exists, `font` will be reset by\n * `fontSize`, `fontStyle`, `fontWeight`, `fontFamily`.\n * So do not visit it directly in upper application (like echarts),\n * but use `contain/text#makeFont` instead.\n * @type {string}\n */\n font: null,\n\n /**\n * The same as font. Use font please.\n * @deprecated\n * @type {string}\n */\n textFont: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontStyle: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontWeight: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * Should be 12 but not '12px'.\n * @type {number}\n */\n fontSize: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontFamily: null,\n\n /**\n * Reserved for special functinality, like 'hr'.\n * @type {string}\n */\n textTag: null,\n\n /**\n * @type {string}\n */\n textFill: '#000',\n\n /**\n * @type {string}\n */\n textStroke: null,\n\n /**\n * @type {number}\n */\n textWidth: null,\n\n /**\n * Only for textBackground.\n * @type {number}\n */\n textHeight: null,\n\n /**\n * textStroke may be set as some color as a default\n * value in upper applicaion, where the default value\n * of textStrokeWidth should be 0 to make sure that\n * user can choose to do not use text stroke.\n * @type {number}\n */\n textStrokeWidth: 0,\n\n /**\n * @type {number}\n */\n textLineHeight: null,\n\n /**\n * 'inside', 'left', 'right', 'top', 'bottom'\n * [x, y]\n * Based on x, y of rect.\n * @type {string|Array.}\n * @default 'inside'\n */\n textPosition: 'inside',\n\n /**\n * If not specified, use the boundingRect of a `displayable`.\n * @type {Object}\n */\n textRect: null,\n\n /**\n * [x, y]\n * @type {Array.}\n */\n textOffset: null,\n\n /**\n * @type {string}\n */\n textAlign: null,\n\n /**\n * @type {string}\n */\n textVerticalAlign: null,\n\n /**\n * @type {number}\n */\n textDistance: 5,\n\n /**\n * @type {string}\n */\n textShadowColor: 'transparent',\n\n /**\n * @type {number}\n */\n textShadowBlur: 0,\n\n /**\n * @type {number}\n */\n textShadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n textShadowOffsetY: 0,\n\n /**\n * @type {string}\n */\n textBoxShadowColor: 'transparent',\n\n /**\n * @type {number}\n */\n textBoxShadowBlur: 0,\n\n /**\n * @type {number}\n */\n textBoxShadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n textBoxShadowOffsetY: 0,\n\n /**\n * Whether transform text.\n * Only available in Path and Image element,\n * where the text is called as `RectText`.\n * @type {boolean}\n */\n transformText: false,\n\n /**\n * Text rotate around position of Path or Image.\n * The origin of the rotation can be specified by `textOrigin`.\n * Only available in Path and Image element,\n * where the text is called as `RectText`.\n */\n textRotation: 0,\n\n /**\n * Text origin of text rotation.\n * Useful in the case like label rotation of circular symbol.\n * Only available in Path and Image element, where the text is called\n * as `RectText` and the element is called as \"host element\".\n * The value can be:\n * + If specified as a coordinate like `[10, 40]`, it is the `[x, y]`\n * base on the left-top corner of the rect of its host element.\n * + If specified as a string `center`, it is the center of the rect of\n * its host element.\n * + By default, this origin is the `textPosition`.\n * @type {string|Array.}\n */\n textOrigin: null,\n\n /**\n * @type {string}\n */\n textBackgroundColor: null,\n\n /**\n * @type {string}\n */\n textBorderColor: null,\n\n /**\n * @type {number}\n */\n textBorderWidth: 0,\n\n /**\n * @type {number}\n */\n textBorderRadius: 0,\n\n /**\n * Can be `2` or `[2, 4]` or `[2, 3, 4, 5]`\n * @type {number|Array.}\n */\n textPadding: null,\n\n /**\n * Text styles for rich text.\n * @type {Object}\n */\n rich: null,\n\n /**\n * {outerWidth, outerHeight, ellipsis, placeholder}\n * @type {Object}\n */\n truncate: null,\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n * @type {string}\n */\n blend: null,\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n */\n bind: function (ctx, el, prevEl) {\n var style = this;\n var prevStyle = prevEl && prevEl.style; // If no prevStyle, it means first draw.\n // Only apply cache if the last time cachced by this function.\n\n var notCheckCache = !prevStyle || ctx.__attrCachedBy !== ContextCachedBy.STYLE_BIND;\n ctx.__attrCachedBy = ContextCachedBy.STYLE_BIND;\n\n for (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {\n var prop = STYLE_COMMON_PROPS[i];\n var styleName = prop[0];\n\n if (notCheckCache || style[styleName] !== prevStyle[styleName]) {\n // FIXME Invalid property value will cause style leak from previous element.\n ctx[styleName] = fixShadow(ctx, styleName, style[styleName] || prop[1]);\n }\n }\n\n if (notCheckCache || style.fill !== prevStyle.fill) {\n ctx.fillStyle = style.fill;\n }\n\n if (notCheckCache || style.stroke !== prevStyle.stroke) {\n ctx.strokeStyle = style.stroke;\n }\n\n if (notCheckCache || style.opacity !== prevStyle.opacity) {\n ctx.globalAlpha = style.opacity == null ? 1 : style.opacity;\n }\n\n if (notCheckCache || style.blend !== prevStyle.blend) {\n ctx.globalCompositeOperation = style.blend || 'source-over';\n }\n\n if (this.hasStroke()) {\n var lineWidth = style.lineWidth;\n ctx.lineWidth = lineWidth / (this.strokeNoScale && el && el.getLineScale ? el.getLineScale() : 1);\n }\n },\n hasFill: function () {\n var fill = this.fill;\n return fill != null && fill !== 'none';\n },\n hasStroke: function () {\n var stroke = this.stroke;\n return stroke != null && stroke !== 'none' && this.lineWidth > 0;\n },\n\n /**\n * Extend from other style\n * @param {zrender/graphic/Style} otherStyle\n * @param {boolean} overwrite true: overwrirte any way.\n * false: overwrite only when !target.hasOwnProperty\n * others: overwrite when property is not null/undefined.\n */\n extendFrom: function (otherStyle, overwrite) {\n if (otherStyle) {\n for (var name in otherStyle) {\n if (otherStyle.hasOwnProperty(name) && (overwrite === true || (overwrite === false ? !this.hasOwnProperty(name) : otherStyle[name] != null))) {\n this[name] = otherStyle[name];\n }\n }\n }\n },\n\n /**\n * Batch setting style with a given object\n * @param {Object|string} obj\n * @param {*} [obj]\n */\n set: function (obj, value) {\n if (typeof obj === 'string') {\n this[obj] = value;\n } else {\n this.extendFrom(obj, true);\n }\n },\n\n /**\n * Clone\n * @return {zrender/graphic/Style} [description]\n */\n clone: function () {\n var newStyle = new this.constructor();\n newStyle.extendFrom(this, true);\n return newStyle;\n },\n getGradient: function (ctx, obj, rect) {\n var method = obj.type === 'radial' ? createRadialGradient : createLinearGradient;\n var canvasGradient = method(ctx, obj, rect);\n var colorStops = obj.colorStops;\n\n for (var i = 0; i < colorStops.length; i++) {\n canvasGradient.addColorStop(colorStops[i].offset, colorStops[i].color);\n }\n\n return canvasGradient;\n }\n};\nvar styleProto = Style.prototype;\n\nfor (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {\n var prop = STYLE_COMMON_PROPS[i];\n\n if (!(prop[0] in styleProto)) {\n styleProto[prop[0]] = prop[1];\n }\n} // Provide for others\n\n\nStyle.getGradient = styleProto.getGradient;\nvar _default = Style;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/Style.js?")},K4ya:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar VisualMapping = __webpack_require__("XxSj");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 */\nvar each = zrUtil.each;\n\nfunction hasKeys(obj) {\n if (obj) {\n for (var name in obj) {\n if (obj.hasOwnProperty(name)) {\n return true;\n }\n }\n }\n}\n/**\n * @param {Object} option\n * @param {Array.} stateList\n * @param {Function} [supplementVisualOption]\n * @return {Object} visualMappings >\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.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(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 = zrUtil.clone(mappingOption);\n mappingOption.type = \'colorAlpha\';\n mappings.__hidden.__alphaForOpacity = new VisualMapping(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}\n/**\n * @param {Object} thisOption\n * @param {Object} newOption\n * @param {Array.} keys\n */\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 zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n has = true;\n }\n });\n has && zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n thisOption[key] = zrUtil.clone(newOption[key]);\n } else {\n delete thisOption[key];\n }\n });\n}\n/**\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {module:echarts/data/List} list\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {object} [scope] Scope for getValueState\n * @param {string} [dimension] Concrete dimension, if used.\n */\n// ???! handle brush?\n\n\nfunction applyVisual(stateList, visualMappings, data, getValueState, scope, dimension) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n var dataIndex;\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(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 : index;\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\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 {module:echarts/data/List} data\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {number} [dim] dimension or dimension index.\n */\n\n\nfunction incrementalApplyVisual(stateList, visualMappings, getValueState, dim) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n\n function progress(params, data) {\n if (dim != null) {\n dim = data.getDimension(dim);\n }\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n continue;\n }\n\n var value = dim != null ? data.get(dim, dataIndex, true) : 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 return {\n progress: progress\n };\n}\n\nexports.createVisualMappings = createVisualMappings;\nexports.replaceVisualOption = replaceVisualOption;\nexports.applyVisual = applyVisual;\nexports.incrementalApplyVisual = incrementalApplyVisual;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/visual/visualSolution.js?')},KAsB:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/dropdown/style/index.less?")},KBXm:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar EllipsisOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "ellipsis", "theme": "outlined" };\nexports.default = EllipsisOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js?')},KCY9:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/checkbox/style/index.less?")},KCsZ:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\nfunction _default(properties) {\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 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 && zrUtil.indexOf(excludes, propName) >= 0 || includes && zrUtil.indexOf(includes, propName) < 0) {\n continue;\n }\n\n var val = model.getShallow(propName);\n\n if (val != null) {\n style[properties[i][0]] = val;\n }\n }\n\n return style;\n };\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/makeStyleMapper.js?')},KDc4:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IndentAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return StandardAutoClosingPairConditional; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * Describes what to do with the indentation when pressing Enter.\r\n */\r\nvar IndentAction;\r\n(function (IndentAction) {\r\n /**\r\n * Insert new line and copy the previous line\'s indentation.\r\n */\r\n IndentAction[IndentAction["None"] = 0] = "None";\r\n /**\r\n * Insert new line and indent once (relative to the previous line\'s indentation).\r\n */\r\n IndentAction[IndentAction["Indent"] = 1] = "Indent";\r\n /**\r\n * Insert two new lines:\r\n * - the first one indented which will hold the cursor\r\n * - the second one at the same indentation level\r\n */\r\n IndentAction[IndentAction["IndentOutdent"] = 2] = "IndentOutdent";\r\n /**\r\n * Insert new line and outdent once (relative to the previous line\'s indentation).\r\n */\r\n IndentAction[IndentAction["Outdent"] = 3] = "Outdent";\r\n})(IndentAction || (IndentAction = {}));\r\n/**\r\n * @internal\r\n */\r\nvar StandardAutoClosingPairConditional = /** @class */ (function () {\r\n function StandardAutoClosingPairConditional(source) {\r\n this.open = source.open;\r\n this.close = source.close;\r\n // initially allowed in all tokens\r\n this._standardTokenMask = 0;\r\n if (Array.isArray(source.notIn)) {\r\n for (var i = 0, len = source.notIn.length; i < len; i++) {\r\n var notIn = source.notIn[i];\r\n switch (notIn) {\r\n case \'string\':\r\n this._standardTokenMask |= 2 /* String */;\r\n break;\r\n case \'comment\':\r\n this._standardTokenMask |= 1 /* Comment */;\r\n break;\r\n case \'regex\':\r\n this._standardTokenMask |= 4 /* RegEx */;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n StandardAutoClosingPairConditional.prototype.isOK = function (standardToken) {\r\n return (this._standardTokenMask & standardToken) === 0;\r\n };\r\n return StandardAutoClosingPairConditional;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/modes/languageConfiguration.js?')},KMkd:function(module,exports){eval("/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_listCacheClear.js?")},KNH7:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _radio__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("oOh1");\n/* harmony import */ var _config_provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("H84U");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("xCex");\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\nvar RadioButton = function RadioButton(props, ref) {\n var radioGroupContext = react__WEBPACK_IMPORTED_MODULE_0__["useContext"](_context__WEBPACK_IMPORTED_MODULE_3__[/* default */ "b"]);\n\n var _React$useContext = react__WEBPACK_IMPORTED_MODULE_0__["useContext"](_config_provider__WEBPACK_IMPORTED_MODULE_2__[/* ConfigContext */ "b"]),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n radioProps = __rest(props, ["prefixCls"]);\n\n var prefixCls = getPrefixCls(\'radio-button\', customizePrefixCls);\n\n if (radioGroupContext) {\n radioProps.checked = props.value === radioGroupContext.value;\n radioProps.disabled = props.disabled || radioGroupContext.disabled;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_radio__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], _extends({\n prefixCls: prefixCls\n }, radioProps, {\n type: "radio",\n ref: ref\n }));\n};\n\n/* harmony default export */ __webpack_exports__["a"] = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["forwardRef"](RadioButton));\n\n//# sourceURL=webpack:///./node_modules/antd/es/radio/radioButton.js?')},KPFz:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/radio/style/index.less?")},KQeH:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar DownloadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z" } }] }, "name": "download", "theme": "outlined" };\nexports.default = DownloadOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/DownloadOutlined.js?')},KS52:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\nvar linearMap = _number.linearMap;\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar labelLayout = __webpack_require__(\"u3DP\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PI2 = Math.PI * 2;\nvar RADIAN = Math.PI / 180;\n\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction _default(seriesType, ecModel, api, payload) {\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var viewRect = getViewRect(seriesModel, api);\n var center = seriesModel.get('center');\n var radius = seriesModel.get('radius');\n\n if (!zrUtil.isArray(radius)) {\n radius = [0, radius];\n }\n\n if (!zrUtil.isArray(center)) {\n center = [center, center];\n }\n\n var width = parsePercent(viewRect.width, api.getWidth());\n var height = parsePercent(viewRect.height, api.getHeight());\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], width) + viewRect.x;\n var cy = parsePercent(center[1], height) + viewRect.y;\n var r0 = parsePercent(radius[0], size / 2);\n var r = parsePercent(radius[1], size / 2);\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.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 viewRect: viewRect\n });\n return;\n } // FIXME \u517c\u5bb9 2.0 \u4f46\u662f roseType \u662f area \u7684\u65f6\u5019\u624d\u662f\u8fd9\u6837\uff1f\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 ? linearMap(value, extent, [r0, r]) : r,\n viewRect: viewRect\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 = PI2 / validDataCount;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout = data.getItemLayout(idx);\n layout.angle = angle;\n layout.startAngle = startAngle + dir * idx * angle;\n layout.endAngle = startAngle + dir * (idx + 1) * angle;\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 = data.getItemLayout(idx);\n var angle = layout.angle === minAngle ? minAngle : value * unitRadian;\n layout.startAngle = currentAngle;\n layout.endAngle = currentAngle + dir * angle;\n currentAngle += dir * angle;\n }\n });\n }\n }\n\n labelLayout(seriesModel, r, viewRect.width, viewRect.height, viewRect.x, viewRect.y);\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/pie/pieLayout.js?")},KTWA:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/nls.js\nvar nls = __webpack_require__("3/fG");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.js\nvar editorExtensions = __webpack_require__("sswD");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/editorContextKeys.js\nvar editorContextKeys = __webpack_require__("wQH0");\n\n// EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\nvar range = __webpack_require__("aokT");\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/moveCaretCommand.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar moveCaretCommand_MoveCaretCommand = /** @class */ (function () {\r\n function MoveCaretCommand(selection, isMovingLeft) {\r\n this._selection = selection;\r\n this._isMovingLeft = isMovingLeft;\r\n this._cutStartIndex = -1;\r\n this._cutEndIndex = -1;\r\n this._moved = false;\r\n this._selectionId = null;\r\n }\r\n MoveCaretCommand.prototype.getEditOperations = function (model, builder) {\r\n var s = this._selection;\r\n this._selectionId = builder.trackSelection(s);\r\n if (s.startLineNumber !== s.endLineNumber) {\r\n return;\r\n }\r\n if (this._isMovingLeft && s.startColumn === 0) {\r\n return;\r\n }\r\n else if (!this._isMovingLeft && s.endColumn === model.getLineMaxColumn(s.startLineNumber)) {\r\n return;\r\n }\r\n var lineNumber = s.selectionStartLineNumber;\r\n var lineContent = model.getLineContent(lineNumber);\r\n var left;\r\n var middle;\r\n var right;\r\n if (this._isMovingLeft) {\r\n left = lineContent.substring(0, s.startColumn - 2);\r\n middle = lineContent.substring(s.startColumn - 1, s.endColumn - 1);\r\n right = lineContent.substring(s.startColumn - 2, s.startColumn - 1) + lineContent.substring(s.endColumn - 1);\r\n }\r\n else {\r\n left = lineContent.substring(0, s.startColumn - 1) + lineContent.substring(s.endColumn - 1, s.endColumn);\r\n middle = lineContent.substring(s.startColumn - 1, s.endColumn - 1);\r\n right = lineContent.substring(s.endColumn);\r\n }\r\n var newLineContent = left + middle + right;\r\n builder.addEditOperation(new range["a" /* Range */](lineNumber, 1, lineNumber, model.getLineMaxColumn(lineNumber)), null);\r\n builder.addEditOperation(new range["a" /* Range */](lineNumber, 1, lineNumber, 1), newLineContent);\r\n this._cutStartIndex = s.startColumn + (this._isMovingLeft ? -1 : 1);\r\n this._cutEndIndex = this._cutStartIndex + s.endColumn - s.startColumn;\r\n this._moved = true;\r\n };\r\n MoveCaretCommand.prototype.computeCursorState = function (model, helper) {\r\n var result = helper.getTrackedSelection(this._selectionId);\r\n if (this._moved) {\r\n result = result.setStartPosition(result.startLineNumber, this._cutStartIndex);\r\n result = result.setEndPosition(result.startLineNumber, this._cutEndIndex);\r\n }\r\n return result;\r\n };\r\n return MoveCaretCommand;\r\n}());\r\n\r\n\n// CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar caretOperations_MoveCaretAction = /** @class */ (function (_super) {\r\n __extends(MoveCaretAction, _super);\r\n function MoveCaretAction(left, opts) {\r\n var _this = _super.call(this, opts) || this;\r\n _this.left = left;\r\n return _this;\r\n }\r\n MoveCaretAction.prototype.run = function (accessor, editor) {\r\n if (!editor.hasModel()) {\r\n return;\r\n }\r\n var commands = [];\r\n var selections = editor.getSelections();\r\n for (var _i = 0, selections_1 = selections; _i < selections_1.length; _i++) {\r\n var selection = selections_1[_i];\r\n commands.push(new moveCaretCommand_MoveCaretCommand(selection, this.left));\r\n }\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, commands);\r\n editor.pushUndoStop();\r\n };\r\n return MoveCaretAction;\r\n}(editorExtensions["b" /* EditorAction */]));\r\nvar caretOperations_MoveCaretLeftAction = /** @class */ (function (_super) {\r\n __extends(MoveCaretLeftAction, _super);\r\n function MoveCaretLeftAction() {\r\n return _super.call(this, true, {\r\n id: \'editor.action.moveCarretLeftAction\',\r\n label: nls["a" /* localize */](\'caret.moveLeft\', "Move Caret Left"),\r\n alias: \'Move Caret Left\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable\r\n }) || this;\r\n }\r\n return MoveCaretLeftAction;\r\n}(caretOperations_MoveCaretAction));\r\nvar caretOperations_MoveCaretRightAction = /** @class */ (function (_super) {\r\n __extends(MoveCaretRightAction, _super);\r\n function MoveCaretRightAction() {\r\n return _super.call(this, false, {\r\n id: \'editor.action.moveCarretRightAction\',\r\n label: nls["a" /* localize */](\'caret.moveRight\', "Move Caret Right"),\r\n alias: \'Move Caret Right\',\r\n precondition: editorContextKeys["a" /* EditorContextKeys */].writable\r\n }) || this;\r\n }\r\n return MoveCaretRightAction;\r\n}(caretOperations_MoveCaretAction));\r\nObject(editorExtensions["f" /* registerEditorAction */])(caretOperations_MoveCaretLeftAction);\r\nObject(editorExtensions["f" /* registerEditorAction */])(caretOperations_MoveCaretRightAction);\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js_+_1_modules?')},KUOm:function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default(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 color = itemModel.get('itemStyle.color') || seriesModel.getColorFromPalette(name, paletteScope);\n categoriesData.setItemVisual(idx, 'color', color);\n var itemStyleList = ['opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'];\n\n for (var i = 0; i < itemStyleList.length; i++) {\n var itemStyle = itemModel.getShallow(itemStyleList[i], true);\n\n if (itemStyle != null) {\n categoriesData.setItemVisual(idx, itemStyleList[i], itemStyle);\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 category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'string') {\n category = categoryNameIdxMap['ec-' + category];\n }\n\n var itemStyleList = ['color', 'opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'];\n\n for (var i = 0; i < itemStyleList.length; i++) {\n if (data.getItemVisual(idx, itemStyleList[i], true) == null) {\n data.setItemVisual(idx, itemStyleList[i], categoriesData.getItemVisual(category, itemStyleList[i]));\n }\n }\n }\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/graph/categoryVisual.js?")},KaET:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/peek/referencesWidget.css?")},Kagy:function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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: (Simplified) Chinese.\n */\nvar _default = {\n legend: {\n selector: {\n all: '\u5168\u9009',\n inverse: '\u53cd\u9009'\n }\n },\n toolbox: {\n brush: {\n title: {\n rect: '\u77e9\u5f62\u9009\u62e9',\n polygon: '\u5708\u9009',\n lineX: '\u6a2a\u5411\u9009\u62e9',\n lineY: '\u7eb5\u5411\u9009\u62e9',\n keep: '\u4fdd\u6301\u9009\u62e9',\n clear: '\u6e05\u9664\u9009\u62e9'\n }\n },\n dataView: {\n title: '\u6570\u636e\u89c6\u56fe',\n lang: ['\u6570\u636e\u89c6\u56fe', '\u5173\u95ed', '\u5237\u65b0']\n },\n dataZoom: {\n title: {\n zoom: '\u533a\u57df\u7f29\u653e',\n back: '\u533a\u57df\u7f29\u653e\u8fd8\u539f'\n }\n },\n magicType: {\n title: {\n line: '\u5207\u6362\u4e3a\u6298\u7ebf\u56fe',\n bar: '\u5207\u6362\u4e3a\u67f1\u72b6\u56fe',\n stack: '\u5207\u6362\u4e3a\u5806\u53e0',\n tiled: '\u5207\u6362\u4e3a\u5e73\u94fa'\n }\n },\n restore: {\n title: '\u8fd8\u539f'\n },\n saveAsImage: {\n title: '\u4fdd\u5b58\u4e3a\u56fe\u7247',\n lang: ['\u53f3\u952e\u53e6\u5b58\u4e3a\u56fe\u7247']\n }\n },\n series: {\n typeNames: {\n pie: '\u997c\u56fe',\n bar: '\u67f1\u72b6\u56fe',\n line: '\u6298\u7ebf\u56fe',\n scatter: '\u6563\u70b9\u56fe',\n effectScatter: '\u6d9f\u6f2a\u6563\u70b9\u56fe',\n radar: '\u96f7\u8fbe\u56fe',\n tree: '\u6811\u56fe',\n treemap: '\u77e9\u5f62\u6811\u56fe',\n boxplot: '\u7bb1\u578b\u56fe',\n candlestick: 'K\u7ebf\u56fe',\n k: 'K\u7ebf\u56fe',\n heatmap: '\u70ed\u529b\u56fe',\n map: '\u5730\u56fe',\n parallel: '\u5e73\u884c\u5750\u6807\u56fe',\n lines: '\u7ebf\u56fe',\n graph: '\u5173\u7cfb\u56fe',\n sankey: '\u6851\u57fa\u56fe',\n funnel: '\u6f0f\u6597\u56fe',\n gauge: '\u4eea\u8868\u76d8\u56fe',\n pictorialBar: '\u8c61\u5f62\u67f1\u56fe',\n themeRiver: '\u4e3b\u9898\u6cb3\u6d41\u56fe',\n sunburst: '\u65ed\u65e5\u56fe'\n }\n },\n aria: {\n general: {\n withTitle: '\u8fd9\u662f\u4e00\u4e2a\u5173\u4e8e\u201c{title}\u201d\u7684\u56fe\u8868\u3002',\n withoutTitle: '\u8fd9\u662f\u4e00\u4e2a\u56fe\u8868\uff0c'\n },\n series: {\n single: {\n prefix: '',\n withName: '\u56fe\u8868\u7c7b\u578b\u662f{seriesType}\uff0c\u8868\u793a{seriesName}\u3002',\n withoutName: '\u56fe\u8868\u7c7b\u578b\u662f{seriesType}\u3002'\n },\n multiple: {\n prefix: '\u5b83\u7531{seriesCount}\u4e2a\u56fe\u8868\u7cfb\u5217\u7ec4\u6210\u3002',\n withName: '\u7b2c{seriesId}\u4e2a\u7cfb\u5217\u662f\u4e00\u4e2a\u8868\u793a{seriesName}\u7684{seriesType}\uff0c',\n withoutName: '\u7b2c{seriesId}\u4e2a\u7cfb\u5217\u662f\u4e00\u4e2a{seriesType}\uff0c',\n separator: {\n middle: '\uff1b',\n end: '\u3002'\n }\n }\n },\n data: {\n allData: '\u5176\u6570\u636e\u662f\u2014\u2014',\n partialData: '\u5176\u4e2d\uff0c\u524d{displayCnt}\u9879\u662f\u2014\u2014',\n withName: '{name}\u7684\u6570\u636e\u662f{value}',\n withoutName: '{value}',\n separator: {\n middle: '\uff0c',\n end: ''\n }\n }\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/lang.js?")},KamJ:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar preprocessor = __webpack_require__("szbU");\n\n__webpack_require__("vF/C");\n\n__webpack_require__("qwVE");\n\n__webpack_require__("BuqR");\n\n__webpack_require__("AE9C");\n\n__webpack_require__("1u/T");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMapPiecewise.js?')},KgQ1:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css?")},KmBX:function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _FilterFilled = _interopRequireDefault(__webpack_require__("CP8R"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar FilterFilled = function FilterFilled(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _FilterFilled.default\n }));\n};\n\nFilterFilled.displayName = \'FilterFilled\';\n\nvar _default = React.forwardRef(FilterFilled);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/FilterFilled.js?')},"KpQ+":function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _ClockCircleOutlined = _interopRequireDefault(__webpack_require__("E/ki"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar ClockCircleOutlined = function ClockCircleOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _ClockCircleOutlined.default\n }));\n};\n\nClockCircleOutlined.displayName = \'ClockCircleOutlined\';\n\nvar _default = React.forwardRef(ClockCircleOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/ClockCircleOutlined.js?')},KpVd:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {function _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 _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && Object({\"NODE_ENV\":\"production\"}) && \"production\" !== 'production' && 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 convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format() {\n for (var _len = arguments.length, args = new 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\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n\n for (var arg = args[i]; i < len; arg = args[++i]) {\n str += \" \" + arg;\n }\n\n return str;\n }\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\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\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\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\n var original = index;\n index = index + 1;\n\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\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve();\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields || [];\n\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve();\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\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\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\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\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends(_extends({}, target[s]), value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\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 */\n\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\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 */\n\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\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};\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\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\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof 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 * 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 */\n\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\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 */\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'; // \u6b63\u5219\u5339\u914d\u7801\u70b9\u8303\u56f4\u4eceU+010000\u4e00\u76f4\u5230U+10FFFF\u7684\u6587\u5b57\uff08\u8865\u5145\u5e73\u9762Supplementary Plane\uff09\n\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\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\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\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // \u5904\u7406\u7801\u70b9\u5927\u4e8eU+010000\u7684\u6587\u5b57length\u5c5e\u6027\u4e0d\u51c6\u786e\u7684bug\uff0c\u5982\"\ud842\udfb7\ud842\udfb7\ud842\udfb7\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nvar ENUM = 'enum';\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 */\n\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\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 */\n\nfunction pattern$1(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\n if (!rule.pattern.test(value)) {\n errors.push(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\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nvar rules = {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n \"enum\": enumerable,\n pattern: pattern$1\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 */\n\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\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 */\n\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nvar ENUM$1 = 'enum';\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 */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM$1](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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 */\n\nfunction pattern$2(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\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); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n var dateObject;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nfunction type$1(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\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Performs validation for any 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 */\n\nfunction any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n}\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable$1,\n pattern: pattern$2,\n date: date,\n url: type$1,\n hex: type$1,\n email: type$1,\n required: required$1,\n any: any\n};\n\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}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\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\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n var z;\n var item;\n\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_, o, oc) {\n var _this = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n\n return Promise.resolve();\n }\n\n function complete(results) {\n var i;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_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\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var arr;\n var value;\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\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n\n if (!rule.validator) {\n return;\n }\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 return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends(_extends({}, schema), {}, {\n fullField: rule.fullField + \".\" + key\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errors = e;\n\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\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(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n\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\n fieldsSchema = _extends(_extends({}, fieldsSchema), data.rule.fields);\n\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\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\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\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[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\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Schema);\n//# sourceMappingURL=index.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"Q2Ig\")))\n\n//# sourceURL=webpack:///./node_modules/async-validator/dist-web/index.js?")},KrTs:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/rc-animate/es/Animate.js + 4 modules\nvar Animate = __webpack_require__("MFj2");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/reactNode.js\nvar reactNode = __webpack_require__("0n0R");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/badge/ScrollNumber.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\nfunction getNumberArray(num) {\n return num ? num.toString().split(\'\').reverse().map(function (i) {\n var current = Number(i);\n return isNaN(current) ? i : current;\n }) : [];\n}\n\nfunction renderNumberList(position, className) {\n var childrenToReturn = [];\n\n for (var i = 0; i < 30; i++) {\n childrenToReturn.push( /*#__PURE__*/react["createElement"]("p", {\n key: i.toString(),\n className: classnames_default()(className, {\n current: position === i\n })\n }, i % 10));\n }\n\n return childrenToReturn;\n}\n\nvar ScrollNumber_ScrollNumber = function ScrollNumber(_a) {\n var customizePrefixCls = _a.prefixCls,\n customizeCount = _a.count,\n className = _a.className,\n style = _a.style,\n title = _a.title,\n _a$component = _a.component,\n component = _a$component === void 0 ? \'sup\' : _a$component,\n displayComponent = _a.displayComponent,\n _a$onAnimated = _a.onAnimated,\n onAnimated = _a$onAnimated === void 0 ? function () {} : _a$onAnimated,\n restProps = __rest(_a, ["prefixCls", "count", "className", "style", "title", "component", "displayComponent", "onAnimated"]);\n\n var _React$useState = react["useState"](true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animateStarted = _React$useState2[0],\n setAnimateStarted = _React$useState2[1];\n\n var _React$useState3 = react["useState"](customizeCount),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n count = _React$useState4[0],\n setCount = _React$useState4[1];\n\n var _React$useState5 = react["useState"](customizeCount),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n prevCount = _React$useState6[0],\n setPrevCount = _React$useState6[1];\n\n var _React$useState7 = react["useState"](customizeCount),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n lastCount = _React$useState8[0],\n setLastCount = _React$useState8[1];\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls(\'scroll-number\', customizePrefixCls);\n\n if (prevCount !== customizeCount) {\n setAnimateStarted(true);\n setPrevCount(customizeCount);\n }\n\n react["useEffect"](function () {\n setLastCount(count);\n var timeout;\n\n if (animateStarted) {\n // Let browser has time to reset the scroller before actually\n // performing the transition.\n timeout = setTimeout(function () {\n setAnimateStarted(false);\n setCount(customizeCount);\n onAnimated();\n });\n }\n\n return function () {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n }, [animateStarted, customizeCount, onAnimated]);\n\n var getPositionByNum = function getPositionByNum(num, i) {\n var currentCount = Math.abs(Number(count));\n var lstCount = Math.abs(Number(lastCount));\n var currentDigit = Math.abs(getNumberArray(count)[i]);\n var lastDigit = Math.abs(getNumberArray(lstCount)[i]);\n\n if (animateStarted) {\n return 10 + num;\n } // \u540c\u65b9\u5411\u5219\u5728\u540c\u4e00\u4fa7\u5207\u6362\u6570\u5b57\n\n\n if (currentCount > lstCount) {\n if (currentDigit >= lastDigit) {\n return 10 + num;\n }\n\n return 20 + num;\n }\n\n if (currentDigit <= lastDigit) {\n return 10 + num;\n }\n\n return num;\n };\n\n var renderCurrentNumber = function renderCurrentNumber(num, i) {\n if (typeof num === \'number\') {\n var position = getPositionByNum(num, i);\n var removeTransition = animateStarted || getNumberArray(lastCount)[i] === undefined;\n return /*#__PURE__*/react["createElement"](\'span\', {\n className: "".concat(prefixCls, "-only"),\n style: {\n transition: removeTransition ? \'none\' : undefined,\n msTransform: "translateY(".concat(-position * 100, "%)"),\n WebkitTransform: "translateY(".concat(-position * 100, "%)"),\n transform: "translateY(".concat(-position * 100, "%)")\n },\n key: i\n }, renderNumberList(position, "".concat(prefixCls, "-only-unit")));\n }\n\n return /*#__PURE__*/react["createElement"]("span", {\n key: "symbol",\n className: "".concat(prefixCls, "-symbol")\n }, num);\n };\n\n var renderNumberElement = function renderNumberElement() {\n if (count && Number(count) % 1 === 0) {\n return getNumberArray(count).map(function (num, i) {\n return renderCurrentNumber(num, i);\n }).reverse();\n }\n\n return count;\n };\n\n var newProps = _extends(_extends({}, restProps), {\n style: style,\n className: classnames_default()(prefixCls, className),\n title: title\n }); // allow specify the border\n // mock border-color by box-shadow for compatible with old usage:\n // \n\n\n if (style && style.borderColor) {\n newProps.style = _extends(_extends({}, style), {\n boxShadow: "0 0 0 1px ".concat(style.borderColor, " inset")\n });\n }\n\n if (displayComponent) {\n return Object(reactNode["a" /* cloneElement */])(displayComponent, {\n className: classnames_default()("".concat(prefixCls, "-custom-component"), displayComponent.props && displayComponent.props.className)\n });\n }\n\n return /*#__PURE__*/react["createElement"](component, newProps, renderNumberElement());\n};\n\n/* harmony default export */ var badge_ScrollNumber = (ScrollNumber_ScrollNumber);\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/colors.js\nvar colors = __webpack_require__("09Wf");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/badge/index.js\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction badge_extends() { badge_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; }; return badge_extends.apply(this, arguments); }\n\nvar badge_rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\nfunction isPresetColor(color) {\n return colors["a" /* PresetColorTypes */].indexOf(color) !== -1;\n}\n\nvar badge_Badge = function Badge(_a) {\n var _classNames2, _classNames3;\n\n var customizePrefixCls = _a.prefixCls,\n customizeScrollNumberPrefixCls = _a.scrollNumberPrefixCls,\n children = _a.children,\n status = _a.status,\n text = _a.text,\n color = _a.color,\n _a$count = _a.count,\n count = _a$count === void 0 ? null : _a$count,\n _a$overflowCount = _a.overflowCount,\n overflowCount = _a$overflowCount === void 0 ? 99 : _a$overflowCount,\n _a$dot = _a.dot,\n dot = _a$dot === void 0 ? false : _a$dot,\n title = _a.title,\n offset = _a.offset,\n style = _a.style,\n className = _a.className,\n _a$showZero = _a.showZero,\n showZero = _a$showZero === void 0 ? false : _a$showZero,\n restProps = badge_rest(_a, ["prefixCls", "scrollNumberPrefixCls", "children", "status", "text", "color", "count", "overflowCount", "dot", "title", "offset", "style", "className", "showZero"]);\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls(\'badge\', customizePrefixCls);\n\n var getNumberedDisplayCount = function getNumberedDisplayCount() {\n var displayCount = count > overflowCount ? "".concat(overflowCount, "+") : count;\n return displayCount;\n };\n\n var hasStatus = function hasStatus() {\n return !!status || !!color;\n };\n\n var isZero = function isZero() {\n var numberedDisplayCount = getNumberedDisplayCount();\n return numberedDisplayCount === \'0\' || numberedDisplayCount === 0;\n };\n\n var isDot = function isDot() {\n return dot && !isZero() || hasStatus();\n };\n\n var getDisplayCount = function getDisplayCount() {\n // dot mode don\'t need count\n if (isDot()) {\n return \'\';\n }\n\n return getNumberedDisplayCount();\n };\n\n var getScrollNumberTitle = function getScrollNumberTitle() {\n if (title) {\n return title;\n }\n\n return typeof count === \'string\' || typeof count === \'number\' ? count : undefined;\n };\n\n var getStyleWithOffset = function getStyleWithOffset() {\n if (direction === \'rtl\') {\n return offset ? badge_extends({\n left: parseInt(offset[0], 10),\n marginTop: offset[1]\n }, style) : style;\n }\n\n return offset ? badge_extends({\n right: -parseInt(offset[0], 10),\n marginTop: offset[1]\n }, style) : style;\n };\n\n var isHidden = function isHidden() {\n var displayCount = getDisplayCount();\n var isEmpty = displayCount === null || displayCount === undefined || displayCount === \'\';\n return (isEmpty || isZero() && !showZero) && !isDot();\n };\n\n var renderStatusText = function renderStatusText() {\n var hidden = isHidden();\n return hidden || !text ? null : /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-status-text")\n }, text);\n };\n\n var renderDisplayComponent = function renderDisplayComponent() {\n var customNode = count;\n\n if (!customNode || _typeof(customNode) !== \'object\') {\n return undefined;\n }\n\n return Object(reactNode["a" /* cloneElement */])(customNode, {\n style: badge_extends(badge_extends({}, getStyleWithOffset()), customNode.props && customNode.props.style)\n });\n };\n\n var renderBadgeNumber = function renderBadgeNumber() {\n var _classNames;\n\n var scrollNumberPrefixCls = getPrefixCls(\'scroll-number\', customizeScrollNumberPrefixCls);\n var displayCount = getDisplayCount();\n var bDot = isDot();\n var hidden = isHidden();\n var scrollNumberCls = classnames_default()((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-dot"), bDot), _defineProperty(_classNames, "".concat(prefixCls, "-count"), !bDot), _defineProperty(_classNames, "".concat(prefixCls, "-multiple-words"), !bDot && count && count.toString && count.toString().length > 1), _defineProperty(_classNames, "".concat(prefixCls, "-status-").concat(status), !!status), _defineProperty(_classNames, "".concat(prefixCls, "-status-").concat(color), isPresetColor(color)), _classNames));\n var statusStyle = getStyleWithOffset();\n\n if (color && !isPresetColor(color)) {\n statusStyle = statusStyle || {};\n statusStyle.background = color;\n }\n\n return hidden ? null : /*#__PURE__*/react["createElement"](badge_ScrollNumber, {\n prefixCls: scrollNumberPrefixCls,\n "data-show": !hidden,\n className: scrollNumberCls,\n count: displayCount,\n displayComponent: renderDisplayComponent() // }>\n ,\n title: getScrollNumberTitle(),\n style: statusStyle,\n key: "scrollNumber"\n });\n };\n\n var statusCls = classnames_default()((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-status-dot"), hasStatus()), _defineProperty(_classNames2, "".concat(prefixCls, "-status-").concat(status), !!status), _defineProperty(_classNames2, "".concat(prefixCls, "-status-").concat(color), isPresetColor(color)), _classNames2));\n var statusStyle = {};\n\n if (color && !isPresetColor(color)) {\n statusStyle.background = color;\n }\n\n var badgeClassName = classnames_default()(className, prefixCls, (_classNames3 = {}, _defineProperty(_classNames3, "".concat(prefixCls, "-status"), hasStatus()), _defineProperty(_classNames3, "".concat(prefixCls, "-not-a-wrapper"), !children), _defineProperty(_classNames3, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames3)); // \n\n if (!children && hasStatus()) {\n var styleWithOffset = getStyleWithOffset();\n var statusTextColor = styleWithOffset && styleWithOffset.color;\n return /*#__PURE__*/react["createElement"]("span", badge_extends({}, restProps, {\n className: badgeClassName,\n style: styleWithOffset\n }), /*#__PURE__*/react["createElement"]("span", {\n className: statusCls,\n style: statusStyle\n }), /*#__PURE__*/react["createElement"]("span", {\n style: {\n color: statusTextColor\n },\n className: "".concat(prefixCls, "-status-text")\n }, text));\n }\n\n return /*#__PURE__*/react["createElement"]("span", badge_extends({}, restProps, {\n className: badgeClassName\n }), children, /*#__PURE__*/react["createElement"](Animate["a" /* default */], {\n component: "",\n showProp: "data-show",\n transitionName: children ? "".concat(prefixCls, "-zoom") : \'\',\n transitionAppear: true\n }, renderBadgeNumber()), renderStatusText());\n};\n\n/* harmony default export */ var badge = __webpack_exports__["a"] = (badge_Badge);\n\n//# sourceURL=webpack:///./node_modules/antd/es/badge/index.js_+_1_modules?')},Krc3:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css?")},Kvyg:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/progress/style/index.less?")},Kwbf:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export warning */\n/* unused harmony export note */\n/* unused harmony export resetWarned */\n/* unused harmony export call */\n/* unused harmony export warningOnce */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return noteOnce; });\n/* eslint-disable no-console */\nvar warned = {};\nfunction warning(valid, message) {\n // Support uglify\n if (false) {}\n}\nfunction note(valid, message) {\n // Support uglify\n if (false) {}\n}\nfunction resetWarned() {\n warned = {};\n}\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\n/* harmony default export */ __webpack_exports__["a"] = (warningOnce);\n/* eslint-enable */\n\n//# sourceURL=webpack:///./node_modules/rc-util/es/warning.js?')},KxBF:function(module,exports){eval("/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_baseSlice.js?")},KxfA:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar isTypedArray = _util.isTypedArray;\nvar extend = _util.extend;\nvar assert = _util.assert;\nvar each = _util.each;\nvar isObject = _util.isObject;\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar getDataItemValue = _model.getDataItemValue;\nvar isDataItemOption = _model.isDataItemOption;\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parseDate = _number.parseDate;\n\nvar Source = __webpack_require__(\"7G+c\");\n\nvar _sourceType = __webpack_require__(\"k9D9\");\n\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\n// ??? refactor? check the outer usage of data provider.\n// merge with defaultDimValueGetter?\n\n/**\n * If normal array used, mutable chunk size is supported.\n * If typed array used, chunk size must be fixed.\n */\nfunction DefaultDataProvider(source, dimSize) {\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n this._source = source;\n var data = this._data = source.data;\n var sourceFormat = source.sourceFormat; // Typed array. TODO IE10+?\n\n if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {\n this._offset = 0;\n this._dimSize = dimSize;\n this._data = data;\n }\n\n var methods = providerMethods[sourceFormat === SOURCE_FORMAT_ARRAY_ROWS ? sourceFormat + '_' + source.seriesLayoutBy : sourceFormat];\n extend(this, methods);\n}\n\nvar providerProto = DefaultDataProvider.prototype; // If data is pure without style configuration\n\nproviderProto.pure = false; // If data is persistent and will not be released after use.\n\nproviderProto.persistent = true; // ???! FIXME legacy data provider do not has method getSource\n\nproviderProto.getSource = function () {\n return this._source;\n};\n\nvar providerMethods = {\n 'arrayRows_column': {\n pure: true,\n count: function () {\n return Math.max(0, this._data.length - this._source.startIndex);\n },\n getItem: function (idx) {\n return this._data[idx + this._source.startIndex];\n },\n appendData: appendDataSimply\n },\n 'arrayRows_row': {\n pure: true,\n count: function () {\n var row = this._data[0];\n return row ? Math.max(0, row.length - this._source.startIndex) : 0;\n },\n getItem: function (idx) {\n idx += this._source.startIndex;\n var item = [];\n var data = this._data;\n\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n item.push(row ? row[idx] : null);\n }\n\n return item;\n },\n appendData: function () {\n throw new Error('Do not support appendData when set seriesLayoutBy: \"row\".');\n }\n },\n 'objectRows': {\n pure: true,\n count: countSimply,\n getItem: getItemSimply,\n appendData: appendDataSimply\n },\n 'keyedColumns': {\n pure: true,\n count: function () {\n var dimName = this._source.dimensionsDefine[0].name;\n var col = this._data[dimName];\n return col ? col.length : 0;\n },\n getItem: function (idx) {\n var item = [];\n var dims = this._source.dimensionsDefine;\n\n for (var i = 0; i < dims.length; i++) {\n var col = this._data[dims[i].name];\n item.push(col ? col[idx] : null);\n }\n\n return item;\n },\n appendData: function (newData) {\n var data = this._data;\n 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 },\n 'original': {\n count: countSimply,\n getItem: getItemSimply,\n appendData: appendDataSimply\n },\n 'typedArray': {\n persistent: false,\n pure: true,\n count: function () {\n return this._data ? this._data.length / this._dimSize : 0;\n },\n getItem: function (idx, out) {\n idx = idx - this._offset;\n out = out || [];\n var offset = this._dimSize * idx;\n\n for (var i = 0; i < this._dimSize; i++) {\n out[i] = this._data[offset + i];\n }\n\n return out;\n },\n appendData: function (newData) {\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 }\n};\n\nfunction countSimply() {\n return this._data.length;\n}\n\nfunction getItemSimply(idx) {\n return this._data[idx];\n}\n\nfunction appendDataSimply(newData) {\n for (var i = 0; i < newData.length; i++) {\n this._data.push(newData[i]);\n }\n}\n\nvar rawValueGetters = {\n arrayRows: getRawValueSimply,\n objectRows: function (dataItem, dataIndex, dimIndex, dimName) {\n return dimIndex != null ? dataItem[dimName] : dataItem;\n },\n keyedColumns: getRawValueSimply,\n original: function (dataItem, dataIndex, dimIndex, dimName) {\n // FIXME\n // In some case (markpoint in geo (geo-map.html)), dataItem\n // is {coord: [...]}\n var value = getDataItemValue(dataItem);\n return dimIndex == null || !(value instanceof Array) ? value : value[dimIndex];\n },\n typedArray: getRawValueSimply\n};\n\nfunction getRawValueSimply(dataItem, dataIndex, dimIndex, dimName) {\n return dimIndex != null ? dataItem[dimIndex] : dataItem;\n}\n\nvar defaultDimValueGetters = {\n arrayRows: getDimValueSimply,\n objectRows: function (dataItem, dimName, dataIndex, dimIndex) {\n return converDataValue(dataItem[dimName], this._dimensionInfos[dimName]);\n },\n keyedColumns: getDimValueSimply,\n original: function (dataItem, dimName, dataIndex, dimIndex) {\n // Performance sensitive, do not use modelUtil.getDataItemValue.\n // If dataItem is an plain object with no value field, the var `value`\n // will be assigned with the object, but it will be tread correctly\n // in the `convertDataValue`.\n var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value); // If any dataItem is like { value: 10 }\n\n if (!this._rawData.pure && isDataItemOption(dataItem)) {\n this.hasItemOption = true;\n }\n\n return converDataValue(value instanceof Array ? value[dimIndex] // If value is a single number or something else not array.\n : value, this._dimensionInfos[dimName]);\n },\n typedArray: function (dataItem, dimName, dataIndex, dimIndex) {\n return dataItem[dimIndex];\n }\n};\n\nfunction getDimValueSimply(dataItem, dimName, dataIndex, dimIndex) {\n return converDataValue(dataItem[dimIndex], this._dimensionInfos[dimName]);\n}\n/**\n * This helper method convert value in data.\n * @param {string|number|Date} value\n * @param {Object|string} [dimInfo] If string (like 'x'), dimType defaults 'number'.\n * If \"dimInfo.ordinalParseAndSave\", ordinal value can be parsed.\n */\n\n\nfunction converDataValue(value, dimInfo) {\n // Performance sensitive.\n var dimType = dimInfo && dimInfo.type;\n\n if (dimType === 'ordinal') {\n // If given value is a category string\n var ordinalMeta = dimInfo && dimInfo.ordinalMeta;\n return ordinalMeta ? ordinalMeta.parseAndCollect(value) : value;\n }\n\n if (dimType === 'time' // spead up when using timestamp\n && typeof value !== 'number' && value != null && value !== '-') {\n value = +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\n\n return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN\n // If object, also parse to NaN\n : +value;\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/**\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @param {string|number} [dim] dimName or dimIndex\n * @return {Array.|string|number} can be null/undefined.\n */\n\n\nfunction retrieveRawValue(data, dataIndex, dim) {\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 sourceFormat = data.getProvider().getSource().sourceFormat;\n var dimName;\n var dimIndex;\n var dimInfo = data.getDimensionInfo(dim);\n\n if (dimInfo) {\n dimName = dimInfo.name;\n dimIndex = dimInfo.index;\n }\n\n return rawValueGetters[sourceFormat](dataItem, dataIndex, dimIndex, dimName);\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 {module:echarts/data/List} data\n * @param {number} dataIndex\n * @param {string} attr like 'selected'\n */\n\n\nfunction retrieveRawAttr(data, dataIndex, attr) {\n if (!data) {\n return;\n }\n\n var sourceFormat = data.getProvider().getSource().sourceFormat;\n\n if (sourceFormat !== SOURCE_FORMAT_ORIGINAL && sourceFormat !== SOURCE_FORMAT_OBJECT_ROWS) {\n return;\n }\n\n var dataItem = data.getRawDataItem(dataIndex);\n\n if (sourceFormat === SOURCE_FORMAT_ORIGINAL && !isObject(dataItem)) {\n dataItem = null;\n }\n\n if (dataItem) {\n return dataItem[attr];\n }\n}\n\nexports.DefaultDataProvider = DefaultDataProvider;\nexports.defaultDimValueGetters = defaultDimValueGetters;\nexports.retrieveRawValue = retrieveRawValue;\nexports.retrieveRawAttr = retrieveRawAttr;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dataProvider.js?")},L0Ub:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _util = __webpack_require__(\"bYtY\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\nvar assert = _util.assert;\n\nvar _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 OTHER_DIMENSIONS = createHashMap(['tooltip', 'label', 'itemName', 'itemId', 'seriesName']);\n\nfunction summarizeDimensions(data) {\n var summary = {};\n var encode = summary.encode = {};\n var notExtraCoordDimMap = createHashMap();\n var defaultedLabel = [];\n var defaultedTooltip = []; // See the comment of `List.js#userOutput`.\n\n var userOutput = summary.userOutput = {\n dimensionNames: data.dimensions.slice(),\n encode: {}\n };\n each(data.dimensions, function (dimName) {\n var dimItem = data.getDimensionInfo(dimName);\n var coordDim = dimItem.coordDim;\n\n if (coordDim) {\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(userOutput.encode, coordDim)[coordDimIndex] = dimItem.index;\n }\n\n if (dimItem.defaultTooltip) {\n defaultedTooltip.push(dimName);\n }\n }\n\n OTHER_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]; // ??? FIXME extra coord should not be set in dataDimsOnCoord.\n // But should fix the case that radar axes: simplify the logic\n // of `completeDimension`, remove `extraPrefix`.\n\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.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 return summary;\n}\n\nfunction getOrCreateEncodeArr(encode, dim) {\n if (!encode.hasOwnProperty(dim)) {\n encode[dim] = [];\n }\n\n return encode[dim];\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// var dimensions = data.dimensions.slice();\n// var valueType;\n// var 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\nexports.OTHER_DIMENSIONS = OTHER_DIMENSIONS;\nexports.summarizeDimensions = summarizeDimensions;\nexports.getDimensionTypeByAxis = getDimensionTypeByAxis;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/dimensionHelper.js?")},L3Oj:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar zrUtil = __webpack_require__("bYtY");\n\nvar barPolar = __webpack_require__("HjIi");\n\n__webpack_require__("HM/N");\n\n__webpack_require__("9eas");\n\n__webpack_require__("eS4l");\n\n__webpack_require__("y4/Y");\n\n__webpack_require__("as94");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// For reducing size of echarts.min, barLayoutPolar is required by polar.\necharts.registerLayout(zrUtil.curry(barPolar, \'bar\')); // Polar view\n\necharts.extendComponentView({\n type: \'polar\'\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/polar.js?')},L5E0:function(module,exports){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 borderColorQuery = ['itemStyle', 'borderColor'];\n\nfunction _default(ecModel, api) {\n var globalColors = ecModel.get('color');\n ecModel.eachRawSeriesByType('boxplot', function (seriesModel) {\n var defaulColor = globalColors[seriesModel.seriesIndex % globalColors.length];\n var data = seriesModel.getData();\n data.setVisual({\n legendSymbol: 'roundRect',\n // Use name 'color' but not 'borderColor' for legend usage and\n // visual coding from other component like dataRange.\n color: seriesModel.get(borderColorQuery) || defaulColor\n }); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n data.setItemVisual(idx, {\n color: itemModel.get(borderColorQuery, true)\n });\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js?")},L8xA:function(module,exports){eval("/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_stackDelete.js?")},LBfv:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar _util = __webpack_require__("bYtY");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerProcessor({\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 var seriesModelMap = createHashMap();\n ecModel.eachComponent(\'dataZoom\', function (dataZoomModel) {\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel) {\n var axisProxy = dataZoomModel.getAxisProxy(dimNames.name, axisIndex);\n each(axisProxy.getTargetSeriesModels(), function (seriesModel) {\n seriesModelMap.set(seriesModel.uid, seriesModel);\n });\n });\n });\n return seriesModelMap;\n },\n modifyOutputEnd: true,\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 (dimNames, axisIndex, dataZoomModel) {\n dataZoomModel.getAxisProxy(dimNames.name, axisIndex).reset(dataZoomModel, api);\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 (dimNames, axisIndex, dataZoomModel) {\n dataZoomModel.getAxisProxy(dimNames.name, 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 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//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js?')},LCkn:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ReplaceCommand; });\n/* unused harmony export ReplaceCommandThatSelectsText */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ReplaceCommandWithoutChangingPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return ReplaceCommandWithOffsetCursorState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ReplaceCommandThatPreservesSelection; });\n/* harmony import */ var _core_selection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("gCVg");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar ReplaceCommand = /** @class */ (function () {\r\n function ReplaceCommand(range, text, insertsAutoWhitespace) {\r\n if (insertsAutoWhitespace === void 0) { insertsAutoWhitespace = false; }\r\n this._range = range;\r\n this._text = text;\r\n this.insertsAutoWhitespace = insertsAutoWhitespace;\r\n }\r\n ReplaceCommand.prototype.getEditOperations = function (model, builder) {\r\n builder.addTrackedEditOperation(this._range, this._text);\r\n };\r\n ReplaceCommand.prototype.computeCursorState = function (model, helper) {\r\n var inverseEditOperations = helper.getInverseEditOperations();\r\n var srcRange = inverseEditOperations[0].range;\r\n return new _core_selection_js__WEBPACK_IMPORTED_MODULE_0__[/* Selection */ "a"](srcRange.endLineNumber, srcRange.endColumn, srcRange.endLineNumber, srcRange.endColumn);\r\n };\r\n return ReplaceCommand;\r\n}());\r\n\r\nvar ReplaceCommandThatSelectsText = /** @class */ (function () {\r\n function ReplaceCommandThatSelectsText(range, text) {\r\n this._range = range;\r\n this._text = text;\r\n }\r\n ReplaceCommandThatSelectsText.prototype.getEditOperations = function (model, builder) {\r\n builder.addTrackedEditOperation(this._range, this._text);\r\n };\r\n ReplaceCommandThatSelectsText.prototype.computeCursorState = function (model, helper) {\r\n var inverseEditOperations = helper.getInverseEditOperations();\r\n var srcRange = inverseEditOperations[0].range;\r\n return new _core_selection_js__WEBPACK_IMPORTED_MODULE_0__[/* Selection */ "a"](srcRange.startLineNumber, srcRange.startColumn, srcRange.endLineNumber, srcRange.endColumn);\r\n };\r\n return ReplaceCommandThatSelectsText;\r\n}());\r\n\r\nvar ReplaceCommandWithoutChangingPosition = /** @class */ (function () {\r\n function ReplaceCommandWithoutChangingPosition(range, text, insertsAutoWhitespace) {\r\n if (insertsAutoWhitespace === void 0) { insertsAutoWhitespace = false; }\r\n this._range = range;\r\n this._text = text;\r\n this.insertsAutoWhitespace = insertsAutoWhitespace;\r\n }\r\n ReplaceCommandWithoutChangingPosition.prototype.getEditOperations = function (model, builder) {\r\n builder.addTrackedEditOperation(this._range, this._text);\r\n };\r\n ReplaceCommandWithoutChangingPosition.prototype.computeCursorState = function (model, helper) {\r\n var inverseEditOperations = helper.getInverseEditOperations();\r\n var srcRange = inverseEditOperations[0].range;\r\n return new _core_selection_js__WEBPACK_IMPORTED_MODULE_0__[/* Selection */ "a"](srcRange.startLineNumber, srcRange.startColumn, srcRange.startLineNumber, srcRange.startColumn);\r\n };\r\n return ReplaceCommandWithoutChangingPosition;\r\n}());\r\n\r\nvar ReplaceCommandWithOffsetCursorState = /** @class */ (function () {\r\n function ReplaceCommandWithOffsetCursorState(range, text, lineNumberDeltaOffset, columnDeltaOffset, insertsAutoWhitespace) {\r\n if (insertsAutoWhitespace === void 0) { insertsAutoWhitespace = false; }\r\n this._range = range;\r\n this._text = text;\r\n this._columnDeltaOffset = columnDeltaOffset;\r\n this._lineNumberDeltaOffset = lineNumberDeltaOffset;\r\n this.insertsAutoWhitespace = insertsAutoWhitespace;\r\n }\r\n ReplaceCommandWithOffsetCursorState.prototype.getEditOperations = function (model, builder) {\r\n builder.addTrackedEditOperation(this._range, this._text);\r\n };\r\n ReplaceCommandWithOffsetCursorState.prototype.computeCursorState = function (model, helper) {\r\n var inverseEditOperations = helper.getInverseEditOperations();\r\n var srcRange = inverseEditOperations[0].range;\r\n return new _core_selection_js__WEBPACK_IMPORTED_MODULE_0__[/* Selection */ "a"](srcRange.endLineNumber + this._lineNumberDeltaOffset, srcRange.endColumn + this._columnDeltaOffset, srcRange.endLineNumber + this._lineNumberDeltaOffset, srcRange.endColumn + this._columnDeltaOffset);\r\n };\r\n return ReplaceCommandWithOffsetCursorState;\r\n}());\r\n\r\nvar ReplaceCommandThatPreservesSelection = /** @class */ (function () {\r\n function ReplaceCommandThatPreservesSelection(editRange, text, initialSelection, forceMoveMarkers) {\r\n if (forceMoveMarkers === void 0) { forceMoveMarkers = false; }\r\n this._range = editRange;\r\n this._text = text;\r\n this._initialSelection = initialSelection;\r\n this._forceMoveMarkers = forceMoveMarkers;\r\n this._selectionId = null;\r\n }\r\n ReplaceCommandThatPreservesSelection.prototype.getEditOperations = function (model, builder) {\r\n builder.addTrackedEditOperation(this._range, this._text, this._forceMoveMarkers);\r\n this._selectionId = builder.trackSelection(this._initialSelection);\r\n };\r\n ReplaceCommandThatPreservesSelection.prototype.computeCursorState = function (model, helper) {\r\n return helper.getTrackedSelection(this._selectionId);\r\n };\r\n return ReplaceCommandThatPreservesSelection;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.js?')},LPTA:function(module,exports){eval("var dpr = 1; // If in browser environment\n\nif (typeof window !== 'undefined') {\n dpr = Math.max(window.devicePixelRatio || 1, 1);\n}\n/**\n * config\u9ed8\u8ba4\u914d\u7f6e\u9879\n * @exports zrender/config\n * @author Kener (@Kener-\u6797\u5cf0, kener.linfeng@gmail.com)\n */\n\n/**\n * Debug log mode:\n * 0: Do nothing, for release.\n * 1: console.error, for debug.\n */\n\n\nvar debugMode = 0; // retina \u5c4f\u5e55\u4f18\u5316\n\nvar devicePixelRatio = dpr;\nexports.debugMode = debugMode;\nexports.devicePixelRatio = devicePixelRatio;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/config.js?")},LPzL:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("QzjZ");\n\n__webpack_require__("vL6D");\n\n__webpack_require__("xiyX");\n\n__webpack_require__("y4/Y");\n\n__webpack_require__("8Th4");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.extendComponentView({\n type: \'single\'\n});\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/singleAxis.js?')},LRks:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'swift',\r\n aliases: ['Swift', 'swift'],\r\n extensions: ['.swift'],\r\n mimetypes: ['text/swift'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 216).then(__webpack_require__.bind(null, \"05+/\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js?")},LSTS:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\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; }; }();\n\nvar _react = __webpack_require__(\"q1tI\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(\"17x9\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar InfiniteScroll = function (_Component) {\n _inherits(InfiniteScroll, _Component);\n\n function InfiniteScroll(props) {\n _classCallCheck(this, InfiniteScroll);\n\n var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));\n\n _this.scrollListener = _this.scrollListener.bind(_this);\n _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);\n _this.mousewheelListener = _this.mousewheelListener.bind(_this);\n return _this;\n }\n\n _createClass(InfiniteScroll, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.pageLoaded = this.props.pageStart;\n this.options = this.eventListenerOptions();\n this.attachScrollListener();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isReverse && this.loadMore) {\n var parentElement = this.getParentElement(this.scrollComponent);\n parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;\n this.loadMore = false;\n }\n this.attachScrollListener();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.detachScrollListener();\n this.detachMousewheelListener();\n }\n }, {\n key: 'isPassiveSupported',\n value: function isPassiveSupported() {\n var passive = false;\n\n var testOptions = {\n get passive() {\n passive = true;\n }\n };\n\n try {\n document.addEventListener('test', null, testOptions);\n document.removeEventListener('test', null, testOptions);\n } catch (e) {\n // ignore\n }\n return passive;\n }\n }, {\n key: 'eventListenerOptions',\n value: function eventListenerOptions() {\n var options = this.props.useCapture;\n\n if (this.isPassiveSupported()) {\n options = {\n useCapture: this.props.useCapture,\n passive: true\n };\n }\n return options;\n }\n\n // Set a defaut loader for all your `InfiniteScroll` components\n\n }, {\n key: 'setDefaultLoader',\n value: function setDefaultLoader(loader) {\n this.defaultLoader = loader;\n }\n }, {\n key: 'detachMousewheelListener',\n value: function detachMousewheelListener() {\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = this.scrollComponent.parentNode;\n }\n\n scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'detachScrollListener',\n value: function detachScrollListener() {\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = this.getParentElement(this.scrollComponent);\n }\n\n scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'getParentElement',\n value: function getParentElement(el) {\n var scrollParent = this.props.getScrollParent && this.props.getScrollParent();\n if (scrollParent != null) {\n return scrollParent;\n }\n return el && el.parentNode;\n }\n }, {\n key: 'filterProps',\n value: function filterProps(props) {\n return props;\n }\n }, {\n key: 'attachScrollListener',\n value: function attachScrollListener() {\n var parentElement = this.getParentElement(this.scrollComponent);\n\n if (!this.props.hasMore || !parentElement) {\n return;\n }\n\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = parentElement;\n }\n\n scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n\n if (this.props.initialLoad) {\n this.scrollListener();\n }\n }\n }, {\n key: 'mousewheelListener',\n value: function mousewheelListener(e) {\n // Prevents Chrome hangups\n // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257\n if (e.deltaY === 1 && !this.isPassiveSupported()) {\n e.preventDefault();\n }\n }\n }, {\n key: 'scrollListener',\n value: function scrollListener() {\n var el = this.scrollComponent;\n var scrollEl = window;\n var parentNode = this.getParentElement(el);\n\n var offset = void 0;\n if (this.props.useWindow) {\n var doc = document.documentElement || document.body.parentNode || document.body;\n var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;\n if (this.props.isReverse) {\n offset = scrollTop;\n } else {\n offset = this.calculateOffset(el, scrollTop);\n }\n } else if (this.props.isReverse) {\n offset = parentNode.scrollTop;\n } else {\n offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;\n }\n\n // Here we make sure the element is visible as well as checking the offset\n if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {\n this.detachScrollListener();\n this.beforeScrollHeight = parentNode.scrollHeight;\n this.beforeScrollTop = parentNode.scrollTop;\n // Call loadMore after detachScrollListener to allow for non-async loadMore functions\n if (typeof this.props.loadMore === 'function') {\n this.props.loadMore(this.pageLoaded += 1);\n this.loadMore = true;\n }\n }\n }\n }, {\n key: 'calculateOffset',\n value: function calculateOffset(el, scrollTop) {\n if (!el) {\n return 0;\n }\n\n return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);\n }\n }, {\n key: 'calculateTopPosition',\n value: function calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var renderProps = this.filterProps(this.props);\n\n var children = renderProps.children,\n element = renderProps.element,\n hasMore = renderProps.hasMore,\n initialLoad = renderProps.initialLoad,\n isReverse = renderProps.isReverse,\n loader = renderProps.loader,\n loadMore = renderProps.loadMore,\n pageStart = renderProps.pageStart,\n ref = renderProps.ref,\n threshold = renderProps.threshold,\n useCapture = renderProps.useCapture,\n useWindow = renderProps.useWindow,\n getScrollParent = renderProps.getScrollParent,\n props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);\n\n props.ref = function (node) {\n _this2.scrollComponent = node;\n if (ref) {\n ref(node);\n }\n };\n\n var childrenArray = [children];\n if (hasMore) {\n if (loader) {\n isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);\n } else if (this.defaultLoader) {\n isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);\n }\n }\n return _react2.default.createElement(element, props, childrenArray);\n }\n }]);\n\n return InfiniteScroll;\n}(_react.Component);\n\nInfiniteScroll.propTypes = {\n children: _propTypes2.default.node.isRequired,\n element: _propTypes2.default.node,\n hasMore: _propTypes2.default.bool,\n initialLoad: _propTypes2.default.bool,\n isReverse: _propTypes2.default.bool,\n loader: _propTypes2.default.node,\n loadMore: _propTypes2.default.func.isRequired,\n pageStart: _propTypes2.default.number,\n ref: _propTypes2.default.func,\n getScrollParent: _propTypes2.default.func,\n threshold: _propTypes2.default.number,\n useCapture: _propTypes2.default.bool,\n useWindow: _propTypes2.default.bool\n};\nInfiniteScroll.defaultProps = {\n element: 'div',\n hasMore: false,\n initialLoad: true,\n pageStart: 0,\n ref: null,\n threshold: 250,\n useWindow: true,\n isReverse: false,\n useCapture: false,\n loader: null,\n getScrollParent: null\n};\nexports.default = InfiniteScroll;\nmodule.exports = exports['default'];\n\n\n//# sourceURL=webpack:///./node_modules/react-infinite-scroller/dist/InfiniteScroll.js?")},LXxW:function(module,exports){eval("/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_arrayFilter.js?")},"LeU+":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return PrefixSumIndexOfResult; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PrefixSumComputer; });\n/* harmony import */ var _base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("CZ1j");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nvar PrefixSumIndexOfResult = /** @class */ (function () {\r\n function PrefixSumIndexOfResult(index, remainder) {\r\n this.index = index;\r\n this.remainder = remainder;\r\n }\r\n return PrefixSumIndexOfResult;\r\n}());\r\n\r\nvar PrefixSumComputer = /** @class */ (function () {\r\n function PrefixSumComputer(values) {\r\n this.values = values;\r\n this.prefixSum = new Uint32Array(values.length);\r\n this.prefixSumValidIndex = new Int32Array(1);\r\n this.prefixSumValidIndex[0] = -1;\r\n }\r\n PrefixSumComputer.prototype.insertValues = function (insertIndex, insertValues) {\r\n insertIndex = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint32 */ "a"])(insertIndex);\r\n var oldValues = this.values;\r\n var oldPrefixSum = this.prefixSum;\r\n var insertValuesLen = insertValues.length;\r\n if (insertValuesLen === 0) {\r\n return false;\r\n }\r\n this.values = new Uint32Array(oldValues.length + insertValuesLen);\r\n this.values.set(oldValues.subarray(0, insertIndex), 0);\r\n this.values.set(oldValues.subarray(insertIndex), insertIndex + insertValuesLen);\r\n this.values.set(insertValues, insertIndex);\r\n if (insertIndex - 1 < this.prefixSumValidIndex[0]) {\r\n this.prefixSumValidIndex[0] = insertIndex - 1;\r\n }\r\n this.prefixSum = new Uint32Array(this.values.length);\r\n if (this.prefixSumValidIndex[0] >= 0) {\r\n this.prefixSum.set(oldPrefixSum.subarray(0, this.prefixSumValidIndex[0] + 1));\r\n }\r\n return true;\r\n };\r\n PrefixSumComputer.prototype.changeValue = function (index, value) {\r\n index = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint32 */ "a"])(index);\r\n value = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint32 */ "a"])(value);\r\n if (this.values[index] === value) {\r\n return false;\r\n }\r\n this.values[index] = value;\r\n if (index - 1 < this.prefixSumValidIndex[0]) {\r\n this.prefixSumValidIndex[0] = index - 1;\r\n }\r\n return true;\r\n };\r\n PrefixSumComputer.prototype.removeValues = function (startIndex, cnt) {\r\n startIndex = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint32 */ "a"])(startIndex);\r\n cnt = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint32 */ "a"])(cnt);\r\n var oldValues = this.values;\r\n var oldPrefixSum = this.prefixSum;\r\n if (startIndex >= oldValues.length) {\r\n return false;\r\n }\r\n var maxCnt = oldValues.length - startIndex;\r\n if (cnt >= maxCnt) {\r\n cnt = maxCnt;\r\n }\r\n if (cnt === 0) {\r\n return false;\r\n }\r\n this.values = new Uint32Array(oldValues.length - cnt);\r\n this.values.set(oldValues.subarray(0, startIndex), 0);\r\n this.values.set(oldValues.subarray(startIndex + cnt), startIndex);\r\n this.prefixSum = new Uint32Array(this.values.length);\r\n if (startIndex - 1 < this.prefixSumValidIndex[0]) {\r\n this.prefixSumValidIndex[0] = startIndex - 1;\r\n }\r\n if (this.prefixSumValidIndex[0] >= 0) {\r\n this.prefixSum.set(oldPrefixSum.subarray(0, this.prefixSumValidIndex[0] + 1));\r\n }\r\n return true;\r\n };\r\n PrefixSumComputer.prototype.getTotalValue = function () {\r\n if (this.values.length === 0) {\r\n return 0;\r\n }\r\n return this._getAccumulatedValue(this.values.length - 1);\r\n };\r\n PrefixSumComputer.prototype.getAccumulatedValue = function (index) {\r\n if (index < 0) {\r\n return 0;\r\n }\r\n index = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint32 */ "a"])(index);\r\n return this._getAccumulatedValue(index);\r\n };\r\n PrefixSumComputer.prototype._getAccumulatedValue = function (index) {\r\n if (index <= this.prefixSumValidIndex[0]) {\r\n return this.prefixSum[index];\r\n }\r\n var startIndex = this.prefixSumValidIndex[0] + 1;\r\n if (startIndex === 0) {\r\n this.prefixSum[0] = this.values[0];\r\n startIndex++;\r\n }\r\n if (index >= this.values.length) {\r\n index = this.values.length - 1;\r\n }\r\n for (var i = startIndex; i <= index; i++) {\r\n this.prefixSum[i] = this.prefixSum[i - 1] + this.values[i];\r\n }\r\n this.prefixSumValidIndex[0] = Math.max(this.prefixSumValidIndex[0], index);\r\n return this.prefixSum[index];\r\n };\r\n PrefixSumComputer.prototype.getIndexOf = function (accumulatedValue) {\r\n accumulatedValue = Math.floor(accumulatedValue); //@perf\r\n // Compute all sums (to get a fully valid prefixSum)\r\n this.getTotalValue();\r\n var low = 0;\r\n var high = this.values.length - 1;\r\n var mid = 0;\r\n var midStop = 0;\r\n var midStart = 0;\r\n while (low <= high) {\r\n mid = low + ((high - low) / 2) | 0;\r\n midStop = this.prefixSum[mid];\r\n midStart = midStop - this.values[mid];\r\n if (accumulatedValue < midStart) {\r\n high = mid - 1;\r\n }\r\n else if (accumulatedValue >= midStop) {\r\n low = mid + 1;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n return new PrefixSumIndexOfResult(mid, accumulatedValue - midStart);\r\n };\r\n return PrefixSumComputer;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/viewModel/prefixSumComputer.js?')},Lerx:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _StarFilled = _interopRequireDefault(__webpack_require__("Mds0"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _StarFilled;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/StarFilled.js?')},LexI:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'go',\r\n extensions: ['.go'],\r\n aliases: ['Go'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 177).then(__webpack_require__.bind(null, \"lHAa\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js?")},Ll0s:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CursorConfiguration; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return SingleCursorState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return CursorContext; });\n/* unused harmony export PartialModelCursorState */\n/* unused harmony export PartialViewCursorState */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return CursorState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return EditOperationResult; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CursorColumns; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return isQuote; });\n/* harmony import */ var _base_common_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("/cxE");\n/* harmony import */ var _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("N0LK");\n/* harmony import */ var _core_position_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("cGHE");\n/* harmony import */ var _core_range_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("aokT");\n/* harmony import */ var _core_selection_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("gCVg");\n/* harmony import */ var _model_textModel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("tX9W");\n/* harmony import */ var _modes_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("cMvZ");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar autoCloseAlways = function () { return true; };\r\nvar autoCloseNever = function () { return false; };\r\nvar autoCloseBeforeWhitespace = function (chr) { return (chr === \' \' || chr === \'\\t\'); };\r\nfunction appendEntry(target, key, value) {\r\n if (target.has(key)) {\r\n target.get(key).push(value);\r\n }\r\n else {\r\n target.set(key, [value]);\r\n }\r\n}\r\nvar CursorConfiguration = /** @class */ (function () {\r\n function CursorConfiguration(languageIdentifier, modelOptions, configuration) {\r\n this._languageIdentifier = languageIdentifier;\r\n var options = configuration.options;\r\n var layoutInfo = options.get(107 /* layoutInfo */);\r\n this.readOnly = options.get(68 /* readOnly */);\r\n this.tabSize = modelOptions.tabSize;\r\n this.indentSize = modelOptions.indentSize;\r\n this.insertSpaces = modelOptions.insertSpaces;\r\n this.lineHeight = options.get(49 /* lineHeight */);\r\n this.pageSize = Math.max(1, Math.floor(layoutInfo.height / this.lineHeight) - 2);\r\n this.useTabStops = options.get(95 /* useTabStops */);\r\n this.wordSeparators = options.get(96 /* wordSeparators */);\r\n this.emptySelectionClipboard = options.get(25 /* emptySelectionClipboard */);\r\n this.copyWithSyntaxHighlighting = options.get(15 /* copyWithSyntaxHighlighting */);\r\n this.multiCursorMergeOverlapping = options.get(58 /* multiCursorMergeOverlapping */);\r\n this.multiCursorPaste = options.get(60 /* multiCursorPaste */);\r\n this.autoClosingBrackets = options.get(5 /* autoClosingBrackets */);\r\n this.autoClosingQuotes = options.get(7 /* autoClosingQuotes */);\r\n this.autoClosingOvertype = options.get(6 /* autoClosingOvertype */);\r\n this.autoSurround = options.get(10 /* autoSurround */);\r\n this.autoIndent = options.get(8 /* autoIndent */);\r\n this.autoClosingPairsOpen2 = new Map();\r\n this.autoClosingPairsClose2 = new Map();\r\n this.surroundingPairs = {};\r\n this._electricChars = null;\r\n this.shouldAutoCloseBefore = {\r\n quote: CursorConfiguration._getShouldAutoClose(languageIdentifier, this.autoClosingQuotes),\r\n bracket: CursorConfiguration._getShouldAutoClose(languageIdentifier, this.autoClosingBrackets)\r\n };\r\n var autoClosingPairs = CursorConfiguration._getAutoClosingPairs(languageIdentifier);\r\n if (autoClosingPairs) {\r\n for (var _i = 0, autoClosingPairs_1 = autoClosingPairs; _i < autoClosingPairs_1.length; _i++) {\r\n var pair = autoClosingPairs_1[_i];\r\n appendEntry(this.autoClosingPairsOpen2, pair.open.charAt(pair.open.length - 1), pair);\r\n if (pair.close.length === 1) {\r\n appendEntry(this.autoClosingPairsClose2, pair.close, pair);\r\n }\r\n }\r\n }\r\n var surroundingPairs = CursorConfiguration._getSurroundingPairs(languageIdentifier);\r\n if (surroundingPairs) {\r\n for (var _a = 0, surroundingPairs_1 = surroundingPairs; _a < surroundingPairs_1.length; _a++) {\r\n var pair = surroundingPairs_1[_a];\r\n this.surroundingPairs[pair.open] = pair.close;\r\n }\r\n }\r\n }\r\n CursorConfiguration.shouldRecreate = function (e) {\r\n return (e.hasChanged(107 /* layoutInfo */)\r\n || e.hasChanged(96 /* wordSeparators */)\r\n || e.hasChanged(25 /* emptySelectionClipboard */)\r\n || e.hasChanged(58 /* multiCursorMergeOverlapping */)\r\n || e.hasChanged(60 /* multiCursorPaste */)\r\n || e.hasChanged(5 /* autoClosingBrackets */)\r\n || e.hasChanged(7 /* autoClosingQuotes */)\r\n || e.hasChanged(6 /* autoClosingOvertype */)\r\n || e.hasChanged(10 /* autoSurround */)\r\n || e.hasChanged(95 /* useTabStops */)\r\n || e.hasChanged(49 /* lineHeight */)\r\n || e.hasChanged(68 /* readOnly */));\r\n };\r\n Object.defineProperty(CursorConfiguration.prototype, "electricChars", {\r\n get: function () {\r\n if (!this._electricChars) {\r\n this._electricChars = {};\r\n var electricChars = CursorConfiguration._getElectricCharacters(this._languageIdentifier);\r\n if (electricChars) {\r\n for (var _i = 0, electricChars_1 = electricChars; _i < electricChars_1.length; _i++) {\r\n var char = electricChars_1[_i];\r\n this._electricChars[char] = true;\r\n }\r\n }\r\n }\r\n return this._electricChars;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n CursorConfiguration.prototype.normalizeIndentation = function (str) {\r\n return _model_textModel_js__WEBPACK_IMPORTED_MODULE_5__[/* TextModel */ "b"].normalizeIndentation(str, this.indentSize, this.insertSpaces);\r\n };\r\n CursorConfiguration._getElectricCharacters = function (languageIdentifier) {\r\n try {\r\n return _modes_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_6__[/* LanguageConfigurationRegistry */ "a"].getElectricCharacters(languageIdentifier.id);\r\n }\r\n catch (e) {\r\n Object(_base_common_errors_js__WEBPACK_IMPORTED_MODULE_0__[/* onUnexpectedError */ "e"])(e);\r\n return null;\r\n }\r\n };\r\n CursorConfiguration._getAutoClosingPairs = function (languageIdentifier) {\r\n try {\r\n return _modes_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_6__[/* LanguageConfigurationRegistry */ "a"].getAutoClosingPairs(languageIdentifier.id);\r\n }\r\n catch (e) {\r\n Object(_base_common_errors_js__WEBPACK_IMPORTED_MODULE_0__[/* onUnexpectedError */ "e"])(e);\r\n return null;\r\n }\r\n };\r\n CursorConfiguration._getShouldAutoClose = function (languageIdentifier, autoCloseConfig) {\r\n switch (autoCloseConfig) {\r\n case \'beforeWhitespace\':\r\n return autoCloseBeforeWhitespace;\r\n case \'languageDefined\':\r\n return CursorConfiguration._getLanguageDefinedShouldAutoClose(languageIdentifier);\r\n case \'always\':\r\n return autoCloseAlways;\r\n case \'never\':\r\n return autoCloseNever;\r\n }\r\n };\r\n CursorConfiguration._getLanguageDefinedShouldAutoClose = function (languageIdentifier) {\r\n try {\r\n var autoCloseBeforeSet_1 = _modes_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_6__[/* LanguageConfigurationRegistry */ "a"].getAutoCloseBeforeSet(languageIdentifier.id);\r\n return function (c) { return autoCloseBeforeSet_1.indexOf(c) !== -1; };\r\n }\r\n catch (e) {\r\n Object(_base_common_errors_js__WEBPACK_IMPORTED_MODULE_0__[/* onUnexpectedError */ "e"])(e);\r\n return autoCloseNever;\r\n }\r\n };\r\n CursorConfiguration._getSurroundingPairs = function (languageIdentifier) {\r\n try {\r\n return _modes_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_6__[/* LanguageConfigurationRegistry */ "a"].getSurroundingPairs(languageIdentifier.id);\r\n }\r\n catch (e) {\r\n Object(_base_common_errors_js__WEBPACK_IMPORTED_MODULE_0__[/* onUnexpectedError */ "e"])(e);\r\n return null;\r\n }\r\n };\r\n return CursorConfiguration;\r\n}());\r\n\r\n/**\r\n * Represents the cursor state on either the model or on the view model.\r\n */\r\nvar SingleCursorState = /** @class */ (function () {\r\n function SingleCursorState(selectionStart, selectionStartLeftoverVisibleColumns, position, leftoverVisibleColumns) {\r\n this.selectionStart = selectionStart;\r\n this.selectionStartLeftoverVisibleColumns = selectionStartLeftoverVisibleColumns;\r\n this.position = position;\r\n this.leftoverVisibleColumns = leftoverVisibleColumns;\r\n this.selection = SingleCursorState._computeSelection(this.selectionStart, this.position);\r\n }\r\n SingleCursorState.prototype.equals = function (other) {\r\n return (this.selectionStartLeftoverVisibleColumns === other.selectionStartLeftoverVisibleColumns\r\n && this.leftoverVisibleColumns === other.leftoverVisibleColumns\r\n && this.position.equals(other.position)\r\n && this.selectionStart.equalsRange(other.selectionStart));\r\n };\r\n SingleCursorState.prototype.hasSelection = function () {\r\n return (!this.selection.isEmpty() || !this.selectionStart.isEmpty());\r\n };\r\n SingleCursorState.prototype.move = function (inSelectionMode, lineNumber, column, leftoverVisibleColumns) {\r\n if (inSelectionMode) {\r\n // move just position\r\n return new SingleCursorState(this.selectionStart, this.selectionStartLeftoverVisibleColumns, new _core_position_js__WEBPACK_IMPORTED_MODULE_2__[/* Position */ "a"](lineNumber, column), leftoverVisibleColumns);\r\n }\r\n else {\r\n // move everything\r\n return new SingleCursorState(new _core_range_js__WEBPACK_IMPORTED_MODULE_3__[/* Range */ "a"](lineNumber, column, lineNumber, column), leftoverVisibleColumns, new _core_position_js__WEBPACK_IMPORTED_MODULE_2__[/* Position */ "a"](lineNumber, column), leftoverVisibleColumns);\r\n }\r\n };\r\n SingleCursorState._computeSelection = function (selectionStart, position) {\r\n var startLineNumber, startColumn, endLineNumber, endColumn;\r\n if (selectionStart.isEmpty()) {\r\n startLineNumber = selectionStart.startLineNumber;\r\n startColumn = selectionStart.startColumn;\r\n endLineNumber = position.lineNumber;\r\n endColumn = position.column;\r\n }\r\n else {\r\n if (position.isBeforeOrEqual(selectionStart.getStartPosition())) {\r\n startLineNumber = selectionStart.endLineNumber;\r\n startColumn = selectionStart.endColumn;\r\n endLineNumber = position.lineNumber;\r\n endColumn = position.column;\r\n }\r\n else {\r\n startLineNumber = selectionStart.startLineNumber;\r\n startColumn = selectionStart.startColumn;\r\n endLineNumber = position.lineNumber;\r\n endColumn = position.column;\r\n }\r\n }\r\n return new _core_selection_js__WEBPACK_IMPORTED_MODULE_4__[/* Selection */ "a"](startLineNumber, startColumn, endLineNumber, endColumn);\r\n };\r\n return SingleCursorState;\r\n}());\r\n\r\nvar CursorContext = /** @class */ (function () {\r\n function CursorContext(configuration, model, viewModel) {\r\n this.model = model;\r\n this.viewModel = viewModel;\r\n this.config = new CursorConfiguration(this.model.getLanguageIdentifier(), this.model.getOptions(), configuration);\r\n }\r\n CursorContext.prototype.validateViewPosition = function (viewPosition, modelPosition) {\r\n return this.viewModel.coordinatesConverter.validateViewPosition(viewPosition, modelPosition);\r\n };\r\n CursorContext.prototype.validateViewRange = function (viewRange, expectedModelRange) {\r\n return this.viewModel.coordinatesConverter.validateViewRange(viewRange, expectedModelRange);\r\n };\r\n CursorContext.prototype.convertViewRangeToModelRange = function (viewRange) {\r\n return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(viewRange);\r\n };\r\n CursorContext.prototype.convertViewPositionToModelPosition = function (lineNumber, column) {\r\n return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new _core_position_js__WEBPACK_IMPORTED_MODULE_2__[/* Position */ "a"](lineNumber, column));\r\n };\r\n CursorContext.prototype.convertModelPositionToViewPosition = function (modelPosition) {\r\n return this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);\r\n };\r\n CursorContext.prototype.convertModelRangeToViewRange = function (modelRange) {\r\n return this.viewModel.coordinatesConverter.convertModelRangeToViewRange(modelRange);\r\n };\r\n CursorContext.prototype.getCurrentScrollTop = function () {\r\n return this.viewModel.viewLayout.getCurrentScrollTop();\r\n };\r\n CursorContext.prototype.getCompletelyVisibleViewRange = function () {\r\n return this.viewModel.getCompletelyVisibleViewRange();\r\n };\r\n CursorContext.prototype.getCompletelyVisibleModelRange = function () {\r\n var viewRange = this.viewModel.getCompletelyVisibleViewRange();\r\n return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(viewRange);\r\n };\r\n CursorContext.prototype.getCompletelyVisibleViewRangeAtScrollTop = function (scrollTop) {\r\n return this.viewModel.getCompletelyVisibleViewRangeAtScrollTop(scrollTop);\r\n };\r\n CursorContext.prototype.getVerticalOffsetForViewLine = function (viewLineNumber) {\r\n return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(viewLineNumber);\r\n };\r\n return CursorContext;\r\n}());\r\n\r\nvar PartialModelCursorState = /** @class */ (function () {\r\n function PartialModelCursorState(modelState) {\r\n this.modelState = modelState;\r\n this.viewState = null;\r\n }\r\n return PartialModelCursorState;\r\n}());\r\n\r\nvar PartialViewCursorState = /** @class */ (function () {\r\n function PartialViewCursorState(viewState) {\r\n this.modelState = null;\r\n this.viewState = viewState;\r\n }\r\n return PartialViewCursorState;\r\n}());\r\n\r\nvar CursorState = /** @class */ (function () {\r\n function CursorState(modelState, viewState) {\r\n this.modelState = modelState;\r\n this.viewState = viewState;\r\n }\r\n CursorState.fromModelState = function (modelState) {\r\n return new PartialModelCursorState(modelState);\r\n };\r\n CursorState.fromViewState = function (viewState) {\r\n return new PartialViewCursorState(viewState);\r\n };\r\n CursorState.fromModelSelection = function (modelSelection) {\r\n var selectionStartLineNumber = modelSelection.selectionStartLineNumber;\r\n var selectionStartColumn = modelSelection.selectionStartColumn;\r\n var positionLineNumber = modelSelection.positionLineNumber;\r\n var positionColumn = modelSelection.positionColumn;\r\n var modelState = new SingleCursorState(new _core_range_js__WEBPACK_IMPORTED_MODULE_3__[/* Range */ "a"](selectionStartLineNumber, selectionStartColumn, selectionStartLineNumber, selectionStartColumn), 0, new _core_position_js__WEBPACK_IMPORTED_MODULE_2__[/* Position */ "a"](positionLineNumber, positionColumn), 0);\r\n return CursorState.fromModelState(modelState);\r\n };\r\n CursorState.fromModelSelections = function (modelSelections) {\r\n var states = [];\r\n for (var i = 0, len = modelSelections.length; i < len; i++) {\r\n states[i] = this.fromModelSelection(modelSelections[i]);\r\n }\r\n return states;\r\n };\r\n CursorState.prototype.equals = function (other) {\r\n return (this.viewState.equals(other.viewState) && this.modelState.equals(other.modelState));\r\n };\r\n return CursorState;\r\n}());\r\n\r\nvar EditOperationResult = /** @class */ (function () {\r\n function EditOperationResult(type, commands, opts) {\r\n this.type = type;\r\n this.commands = commands;\r\n this.shouldPushStackElementBefore = opts.shouldPushStackElementBefore;\r\n this.shouldPushStackElementAfter = opts.shouldPushStackElementAfter;\r\n }\r\n return EditOperationResult;\r\n}());\r\n\r\n/**\r\n * Common operations that work and make sense both on the model and on the view model.\r\n */\r\nvar CursorColumns = /** @class */ (function () {\r\n function CursorColumns() {\r\n }\r\n CursorColumns.visibleColumnFromColumn = function (lineContent, column, tabSize) {\r\n var lineContentLength = lineContent.length;\r\n var endOffset = column - 1 < lineContentLength ? column - 1 : lineContentLength;\r\n var result = 0;\r\n var i = 0;\r\n while (i < endOffset) {\r\n var codePoint = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getNextCodePoint */ "u"](lineContent, endOffset, i);\r\n i += (codePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n if (codePoint === 9 /* Tab */) {\r\n result = CursorColumns.nextRenderTabStop(result, tabSize);\r\n }\r\n else {\r\n var graphemeBreakType = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getGraphemeBreakType */ "s"](codePoint);\r\n while (i < endOffset) {\r\n var nextCodePoint = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getNextCodePoint */ "u"](lineContent, endOffset, i);\r\n var nextGraphemeBreakType = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getGraphemeBreakType */ "s"](nextCodePoint);\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* breakBetweenGraphemeBreakType */ "b"](graphemeBreakType, nextGraphemeBreakType)) {\r\n break;\r\n }\r\n i += (nextCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n graphemeBreakType = nextGraphemeBreakType;\r\n }\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* isFullWidthCharacter */ "y"](codePoint) || _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* isEmojiImprecise */ "w"](codePoint)) {\r\n result = result + 2;\r\n }\r\n else {\r\n result = result + 1;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n CursorColumns.visibleColumnFromColumn2 = function (config, model, position) {\r\n return this.visibleColumnFromColumn(model.getLineContent(position.lineNumber), position.column, config.tabSize);\r\n };\r\n CursorColumns.columnFromVisibleColumn = function (lineContent, visibleColumn, tabSize) {\r\n if (visibleColumn <= 0) {\r\n return 1;\r\n }\r\n var lineLength = lineContent.length;\r\n var beforeVisibleColumn = 0;\r\n var beforeColumn = 1;\r\n var i = 0;\r\n while (i < lineLength) {\r\n var codePoint = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getNextCodePoint */ "u"](lineContent, lineLength, i);\r\n i += (codePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n var afterVisibleColumn = void 0;\r\n if (codePoint === 9 /* Tab */) {\r\n afterVisibleColumn = CursorColumns.nextRenderTabStop(beforeVisibleColumn, tabSize);\r\n }\r\n else {\r\n var graphemeBreakType = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getGraphemeBreakType */ "s"](codePoint);\r\n while (i < lineLength) {\r\n var nextCodePoint = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getNextCodePoint */ "u"](lineContent, lineLength, i);\r\n var nextGraphemeBreakType = _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* getGraphemeBreakType */ "s"](nextCodePoint);\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* breakBetweenGraphemeBreakType */ "b"](graphemeBreakType, nextGraphemeBreakType)) {\r\n break;\r\n }\r\n i += (nextCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n graphemeBreakType = nextGraphemeBreakType;\r\n }\r\n if (_base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* isFullWidthCharacter */ "y"](codePoint) || _base_common_strings_js__WEBPACK_IMPORTED_MODULE_1__[/* isEmojiImprecise */ "w"](codePoint)) {\r\n afterVisibleColumn = beforeVisibleColumn + 2;\r\n }\r\n else {\r\n afterVisibleColumn = beforeVisibleColumn + 1;\r\n }\r\n }\r\n var afterColumn = i + 1;\r\n if (afterVisibleColumn >= visibleColumn) {\r\n var beforeDelta = visibleColumn - beforeVisibleColumn;\r\n var afterDelta = afterVisibleColumn - visibleColumn;\r\n if (afterDelta < beforeDelta) {\r\n return afterColumn;\r\n }\r\n else {\r\n return beforeColumn;\r\n }\r\n }\r\n beforeVisibleColumn = afterVisibleColumn;\r\n beforeColumn = afterColumn;\r\n }\r\n // walked the entire string\r\n return lineLength + 1;\r\n };\r\n CursorColumns.columnFromVisibleColumn2 = function (config, model, lineNumber, visibleColumn) {\r\n var result = this.columnFromVisibleColumn(model.getLineContent(lineNumber), visibleColumn, config.tabSize);\r\n var minColumn = model.getLineMinColumn(lineNumber);\r\n if (result < minColumn) {\r\n return minColumn;\r\n }\r\n var maxColumn = model.getLineMaxColumn(lineNumber);\r\n if (result > maxColumn) {\r\n return maxColumn;\r\n }\r\n return result;\r\n };\r\n /**\r\n * ATTENTION: This works with 0-based columns (as oposed to the regular 1-based columns)\r\n */\r\n CursorColumns.nextRenderTabStop = function (visibleColumn, tabSize) {\r\n return visibleColumn + tabSize - visibleColumn % tabSize;\r\n };\r\n /**\r\n * ATTENTION: This works with 0-based columns (as oposed to the regular 1-based columns)\r\n */\r\n CursorColumns.nextIndentTabStop = function (visibleColumn, indentSize) {\r\n return visibleColumn + indentSize - visibleColumn % indentSize;\r\n };\r\n /**\r\n * ATTENTION: This works with 0-based columns (as oposed to the regular 1-based columns)\r\n */\r\n CursorColumns.prevRenderTabStop = function (column, tabSize) {\r\n return column - 1 - (column - 1) % tabSize;\r\n };\r\n /**\r\n * ATTENTION: This works with 0-based columns (as oposed to the regular 1-based columns)\r\n */\r\n CursorColumns.prevIndentTabStop = function (column, indentSize) {\r\n return column - 1 - (column - 1) % indentSize;\r\n };\r\n return CursorColumns;\r\n}());\r\n\r\nfunction isQuote(ch) {\r\n return (ch === \'\\\'\' || ch === \'"\' || ch === \'`\');\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorCommon.js?')},Llu2:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/DeliveredProcedureOutlined.js\n// This icon file is generated automatically.\nvar DeliveredProcedureOutlined_DeliveredProcedureOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M632 698.3l141.9-112a8 8 0 000-12.6L632 461.7c-5.3-4.2-13-.4-13 6.3v76H295c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v76c0 6.7 7.8 10.4 13 6.3zm261.3-405L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v278c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V422c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-83.5c0-17-6.7-33.2-18.7-45.2zM640 288H384V184h256v104zm264 436h-56c-4.4 0-8 3.6-8 8v108H184V732c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v148c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V732c0-4.4-3.6-8-8-8z" } }] }, "name": "delivered-procedure", "theme": "outlined" };\n/* harmony default export */ var asn_DeliveredProcedureOutlined = (DeliveredProcedureOutlined_DeliveredProcedureOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/DeliveredProcedureOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_DeliveredProcedureOutlined_DeliveredProcedureOutlined = function DeliveredProcedureOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_DeliveredProcedureOutlined\n }));\n};\n\nicons_DeliveredProcedureOutlined_DeliveredProcedureOutlined.displayName = \'DeliveredProcedureOutlined\';\n/* harmony default export */ var icons_DeliveredProcedureOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_DeliveredProcedureOutlined_DeliveredProcedureOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/DeliveredProcedureOutlined.js_+_1_modules?')},LtfV:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/InboxOutlined.js\n// This icon file is generated automatically.\nvar InboxOutlined_InboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z" } }] }, "name": "inbox", "theme": "outlined" };\n/* harmony default export */ var asn_InboxOutlined = (InboxOutlined_InboxOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/InboxOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_InboxOutlined_InboxOutlined = function InboxOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_InboxOutlined\n }));\n};\n\nicons_InboxOutlined_InboxOutlined.displayName = \'InboxOutlined\';\n/* harmony default export */ var icons_InboxOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_InboxOutlined_InboxOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/InboxOutlined.js_+_1_modules?')},Lyp1:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/QuestionCircleOutlined.js\n// This icon file is generated automatically.\nvar QuestionCircleOutlined_QuestionCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "question-circle", "theme": "outlined" };\n/* harmony default export */ var asn_QuestionCircleOutlined = (QuestionCircleOutlined_QuestionCircleOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 2 modules\nvar AntdIcon = __webpack_require__("6VBw");\n\n// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/QuestionCircleOutlined.js\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\n\n\nvar icons_QuestionCircleOutlined_QuestionCircleOutlined = function QuestionCircleOutlined(props, ref) {\n return react["createElement"](AntdIcon["a" /* default */], Object.assign({}, props, {\n ref: ref,\n icon: asn_QuestionCircleOutlined\n }));\n};\n\nicons_QuestionCircleOutlined_QuestionCircleOutlined.displayName = \'QuestionCircleOutlined\';\n/* harmony default export */ var icons_QuestionCircleOutlined = __webpack_exports__["a"] = (react["forwardRef"](icons_QuestionCircleOutlined_QuestionCircleOutlined));\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/es/icons/QuestionCircleOutlined.js_+_1_modules?')},LzGr:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\nvar preprocessor = __webpack_require__("rnVJ");\n\n__webpack_require__("EMyp");\n\n__webpack_require__("8x+h");\n\n__webpack_require__("wt3j");\n\n__webpack_require__("uOyE");\n\n__webpack_require__("/stD");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Brush component entry\n */\necharts.registerPreprocessor(preprocessor);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/brush.js?')},"M/lh":function(module,exports,__webpack_require__){eval('self["MonacoEnvironment"] = (function (paths) {\n function stripTrailingSlash(str) {\n return str.replace(/\\/$/, \'\');\n }\n return {\n getWorkerUrl: function (moduleId, label) {\n var pathPrefix = true ? __webpack_require__.p : undefined;\n var result = (pathPrefix ? stripTrailingSlash(pathPrefix) + \'/\' : \'\') + paths[label];\n if (/^(http:)|(https:)|(file:)/.test(result)) {\n var currentUrl = String(window.location);\n var currentOrigin = currentUrl.substr(0, currentUrl.length - window.location.hash.length - window.location.search.length - window.location.pathname.length);\n if (result.substring(0, currentOrigin.length) !== currentOrigin) {\n var js = \'/*\' + label + \'*/importScripts("\' + result + \'");\';\n return \'data:text/javascript;charset=utf-8,\' + encodeURIComponent(js);\n }\n }\n return result;\n }\n };\n })({\n "editorWorkerService": "editor.worker.js",\n "css": "css.worker.js",\n "html": "html.worker.js",\n "json": "json.worker.js",\n "typescript": "ts.worker.js",\n "javascript": "ts.worker.js",\n "less": "css.worker.js",\n "scss": "css.worker.js",\n "handlebars": "html.worker.js",\n "razor": "html.worker.js"\n});\n__webpack_require__("1YUG");\n__webpack_require__("oQaD");\n__webpack_require__("bk7F");\n__webpack_require__("KTWA");\n__webpack_require__("w29/");\n__webpack_require__("n01l");\n__webpack_require__("dgXF");\n__webpack_require__("cIJc");\n__webpack_require__("oiKk");\n__webpack_require__("rugR");\n__webpack_require__("tXSY");\n__webpack_require__("ep4t");\nmodule.exports = __webpack_require__("8z58");\n__webpack_require__("CdFp");\n__webpack_require__("23p7");\n__webpack_require__("OOlL");\n__webpack_require__("li8W");\n__webpack_require__("kdPm");\n__webpack_require__("ApJL");\n__webpack_require__("jrbv");\n__webpack_require__("gqHg");\n__webpack_require__("p3Ex");\n__webpack_require__("E+ie");\n__webpack_require__("9B1q");\n__webpack_require__("9XAT");\n__webpack_require__("SvYn");\n__webpack_require__("I/Lx");\n__webpack_require__("LexI");\n__webpack_require__("0oIH");\n__webpack_require__("+a1H");\n__webpack_require__("hFdI");\n__webpack_require__("c2dO");\n__webpack_require__("zQEy");\n__webpack_require__("k7mE");\n__webpack_require__("cldp");\n__webpack_require__("p5tG");\n__webpack_require__("Dvnd");\n__webpack_require__("FvUK");\n__webpack_require__("ZvGG");\n__webpack_require__("QFiB");\n__webpack_require__("ZkA/");\n__webpack_require__("/cAr");\n__webpack_require__("xYNL");\n__webpack_require__("jVwG");\n__webpack_require__("6lNC");\n__webpack_require__("q8qy");\n__webpack_require__("sStQ");\n__webpack_require__("oKJv");\n__webpack_require__("H6Gb");\n__webpack_require__("y3CF");\n__webpack_require__("JlLP");\n__webpack_require__("j2o1");\n__webpack_require__("woZy");\n__webpack_require__("iLY9");\n__webpack_require__("Msxo");\n__webpack_require__("ajgA");\n__webpack_require__("QiAa");\n__webpack_require__("pI2L");\n__webpack_require__("yKqg");\n__webpack_require__("ij/i");\n__webpack_require__("XQgg");\n__webpack_require__("Gb1F");\n__webpack_require__("xmOD");\n__webpack_require__("c9ML");\n__webpack_require__("Mzro");\n__webpack_require__("GZrW");\n__webpack_require__("1lwE");\n__webpack_require__("w9QG");\n__webpack_require__("ufhN");\n__webpack_require__("LRks");\n__webpack_require__("BUKB");\n__webpack_require__("n18v");\n__webpack_require__("EOst");\n__webpack_require__("z3hU");\n__webpack_require__("nrBJ");\n__webpack_require__("BEdG");\n__webpack_require__("E4kL");\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/editor.api.js?include-loader')},M1Kb:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return OverviewRulerLane; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return MinimapPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return TextModelResolvedOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return FindMatch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ApplyEditsResult; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * Vertical Lane in the overview ruler of the editor.\r\n */\r\nvar OverviewRulerLane;\r\n(function (OverviewRulerLane) {\r\n OverviewRulerLane[OverviewRulerLane["Left"] = 1] = "Left";\r\n OverviewRulerLane[OverviewRulerLane["Center"] = 2] = "Center";\r\n OverviewRulerLane[OverviewRulerLane["Right"] = 4] = "Right";\r\n OverviewRulerLane[OverviewRulerLane["Full"] = 7] = "Full";\r\n})(OverviewRulerLane || (OverviewRulerLane = {}));\r\n/**\r\n * Position in the minimap to render the decoration.\r\n */\r\nvar MinimapPosition;\r\n(function (MinimapPosition) {\r\n MinimapPosition[MinimapPosition["Inline"] = 1] = "Inline";\r\n MinimapPosition[MinimapPosition["Gutter"] = 2] = "Gutter";\r\n})(MinimapPosition || (MinimapPosition = {}));\r\nvar TextModelResolvedOptions = /** @class */ (function () {\r\n /**\r\n * @internal\r\n */\r\n function TextModelResolvedOptions(src) {\r\n this.tabSize = Math.max(1, src.tabSize | 0);\r\n this.indentSize = src.tabSize | 0;\r\n this.insertSpaces = Boolean(src.insertSpaces);\r\n this.defaultEOL = src.defaultEOL | 0;\r\n this.trimAutoWhitespace = Boolean(src.trimAutoWhitespace);\r\n }\r\n /**\r\n * @internal\r\n */\r\n TextModelResolvedOptions.prototype.equals = function (other) {\r\n return (this.tabSize === other.tabSize\r\n && this.indentSize === other.indentSize\r\n && this.insertSpaces === other.insertSpaces\r\n && this.defaultEOL === other.defaultEOL\r\n && this.trimAutoWhitespace === other.trimAutoWhitespace);\r\n };\r\n /**\r\n * @internal\r\n */\r\n TextModelResolvedOptions.prototype.createChangeEvent = function (newOpts) {\r\n return {\r\n tabSize: this.tabSize !== newOpts.tabSize,\r\n indentSize: this.indentSize !== newOpts.indentSize,\r\n insertSpaces: this.insertSpaces !== newOpts.insertSpaces,\r\n trimAutoWhitespace: this.trimAutoWhitespace !== newOpts.trimAutoWhitespace,\r\n };\r\n };\r\n return TextModelResolvedOptions;\r\n}());\r\n\r\nvar FindMatch = /** @class */ (function () {\r\n /**\r\n * @internal\r\n */\r\n function FindMatch(range, matches) {\r\n this.range = range;\r\n this.matches = matches;\r\n }\r\n return FindMatch;\r\n}());\r\n\r\n/**\r\n * @internal\r\n */\r\nvar ApplyEditsResult = /** @class */ (function () {\r\n function ApplyEditsResult(reverseEdits, changes, trimAutoWhitespaceLineNumbers) {\r\n this.reverseEdits = reverseEdits;\r\n this.changes = changes;\r\n this.trimAutoWhitespaceLineNumbers = trimAutoWhitespaceLineNumbers;\r\n }\r\n return ApplyEditsResult;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/model.js?')},MBQ8:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 SeriesModel = __webpack_require__(\"T4UG\");\n\nvar createListFromArray = __webpack_require__(\"MwEJ\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = SeriesModel.extend({\n type: 'series.__base_bar__',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n getMarkerPosition: function (value) {\n var coordSys = this.coordinateSystem;\n\n if (coordSys) {\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 defaultOption: {\n zlevel: 0,\n // \u4e00\u7ea7\u5c42\u53e0\n z: 2,\n // \u4e8c\u7ea7\u5c42\u53e0\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n // stack: null\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // \u6700\u5c0f\u9ad8\u5ea6\u6539\u4e3a0\n barMinHeight: 0,\n // \u6700\u5c0f\u89d2\u5ea6\u4e3a0\uff0c\u4ec5\u5bf9\u6781\u5750\u6807\u7cfb\u4e0b\u7684\u67f1\u72b6\u56fe\u6709\u6548\n barMinAngle: 0,\n // cursor: null,\n large: false,\n largeThreshold: 400,\n progressive: 3e3,\n progressiveChunkMode: 'mod',\n // barMaxWidth: null,\n // In cartesian, the default value is 1. Otherwise null.\n // barMinWidth: null,\n // \u9ed8\u8ba4\u81ea\u9002\u5e94\n // barWidth: null,\n // \u67f1\u95f4\u8ddd\u79bb\uff0c\u9ed8\u8ba4\u4e3a\u67f1\u5f62\u5bbd\u5ea6\u768430%\uff0c\u53ef\u8bbe\u56fa\u5b9a\u503c\n // barGap: '30%',\n // \u7c7b\u76ee\u95f4\u67f1\u5f62\u8ddd\u79bb\uff0c\u9ed8\u8ba4\u4e3a\u7c7b\u76ee\u95f4\u8ddd\u768420%\uff0c\u53ef\u8bbe\u56fa\u5b9a\u503c\n // barCategoryGap: '20%',\n // label: {\n // show: false\n // },\n itemStyle: {},\n emphasis: {}\n }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/BaseBarSeries.js?")},MD5Z:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Extensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Rb\", function() { return registerColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"V\", function() { return foreground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return errorForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"U\", function() { return focusBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return contrastBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return activeContrastBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cc\", function() { return textLinkForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bc\", function() { return textCodeBlockBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fc\", function() { return widgetShadow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return inputBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ab\", function() { return inputForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z\", function() { return inputBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return inputActiveOptionBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"W\", function() { return inputActiveOptionBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eb\", function() { return inputValidationInfoBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gb\", function() { return inputValidationInfoForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fb\", function() { return inputValidationInfoBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hb\", function() { return inputValidationWarningBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"jb\", function() { return inputValidationWarningForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ib\", function() { return inputValidationWarningBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bb\", function() { return inputValidationErrorBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"db\", function() { return inputValidationErrorForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cb\", function() { return inputValidationErrorBorder; });\n/* unused harmony export selectBackground */\n/* unused harmony export selectForeground */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Mb\", function() { return pickerGroupForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Lb\", function() { return pickerGroupBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return badgeBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return badgeForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tb\", function() { return scrollbarShadow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Vb\", function() { return scrollbarSliderBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Wb\", function() { return scrollbarSliderHoverBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Ub\", function() { return scrollbarSliderActiveBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Qb\", function() { return progressBarBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return editorErrorForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return editorErrorBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return editorWarningForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return editorWarningBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return editorInfoForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return editorInfoBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return editorHintForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return editorHintBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return editorBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return editorForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return editorWidgetBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return editorWidgetForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return editorWidgetBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return editorWidgetResizeBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return editorSelectionBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return editorSelectionForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return editorInactiveSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return editorSelectionHighlight; });\n/* unused harmony export editorSelectionHighlightBorder */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return editorFindMatch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return editorFindMatchHighlight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return editorFindRangeHighlight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return editorFindMatchBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return editorFindMatchHighlightBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return editorFindRangeHighlightBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return editorHoverHighlight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return editorHoverBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return editorHoverForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return editorHoverBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return editorHoverStatusBarBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return editorActiveLinkForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return editorLightBulbForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return editorLightBulbAutoFixForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return defaultInsertColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return defaultRemoveColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return diffInserted; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return diffRemoved; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return diffInsertedOutline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return diffRemovedOutline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return diffBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"qb\", function() { return listFocusBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rb\", function() { return listFocusForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kb\", function() { return listActiveSelectionBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lb\", function() { return listActiveSelectionForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wb\", function() { return listInactiveSelectionBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"xb\", function() { return listInactiveSelectionForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"vb\", function() { return listInactiveFocusBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tb\", function() { return listHoverBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ub\", function() { return listHoverForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mb\", function() { return listDropBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sb\", function() { return listHighlightForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nb\", function() { return listFilterWidgetBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pb\", function() { return listFilterWidgetOutline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ob\", function() { return listFilterWidgetNoMatchesOutline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ec\", function() { return treeIndentGuidesStroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zb\", function() { return menuBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Ab\", function() { return menuForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"yb\", function() { return menuBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Db\", function() { return menuSelectionForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Bb\", function() { return menuSelectionBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Cb\", function() { return menuSelectionBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Eb\", function() { return menuSeparatorBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Zb\", function() { return snippetTabstopHighlightBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ac\", function() { return snippetTabstopHighlightBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Xb\", function() { return snippetFinalTabstopHighlightBackground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Yb\", function() { return snippetFinalTabstopHighlightBorder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Kb\", function() { return overviewRulerFindMatchForeground; });\n/* unused harmony export overviewRulerSelectionHighlightForeground */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Gb\", function() { return minimapFindMatch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Hb\", function() { return minimapSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Fb\", function() { return minimapError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Ib\", function() { return minimapWarning; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Nb\", function() { return problemsErrorIconForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Pb\", function() { return problemsWarningIconForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Ob\", function() { return problemsInfoIconForeground; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return darken; });\n/* unused harmony export lighten */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dc\", function() { return transparent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Jb\", function() { return oneOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Sb\", function() { return resolveColorValue; });\n/* unused harmony export workbenchColorsSchemaId */\n/* harmony import */ var _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"ic2d\");\n/* harmony import */ var _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"zrhQ\");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"MI8n\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"3/fG\");\n/* harmony import */ var _jsonschemas_common_jsonContributionRegistry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"3Rsk\");\n/* harmony import */ var _base_common_async_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"X+cX\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n// color registry\r\nvar Extensions = {\r\n ColorContribution: 'base.contributions.colors'\r\n};\r\nvar ColorRegistry = /** @class */ (function () {\r\n function ColorRegistry() {\r\n this._onDidChangeSchema = new _base_common_event_js__WEBPACK_IMPORTED_MODULE_2__[/* Emitter */ \"a\"]();\r\n this.onDidChangeSchema = this._onDidChangeSchema.event;\r\n this.colorSchema = { type: 'object', properties: {} };\r\n this.colorReferenceSchema = { type: 'string', enum: [], enumDescriptions: [] };\r\n this.colorsById = {};\r\n }\r\n ColorRegistry.prototype.registerColor = function (id, defaults, description, needsTransparency, deprecationMessage) {\r\n if (needsTransparency === void 0) { needsTransparency = false; }\r\n var colorContribution = { id: id, description: description, defaults: defaults, needsTransparency: needsTransparency, deprecationMessage: deprecationMessage };\r\n this.colorsById[id] = colorContribution;\r\n var propertySchema = { type: 'string', description: description, format: 'color-hex', defaultSnippets: [{ body: '${1:#ff0000}' }] };\r\n if (deprecationMessage) {\r\n propertySchema.deprecationMessage = deprecationMessage;\r\n }\r\n this.colorSchema.properties[id] = propertySchema;\r\n this.colorReferenceSchema.enum.push(id);\r\n this.colorReferenceSchema.enumDescriptions.push(description);\r\n this._onDidChangeSchema.fire();\r\n return id;\r\n };\r\n ColorRegistry.prototype.resolveDefaultColor = function (id, theme) {\r\n var colorDesc = this.colorsById[id];\r\n if (colorDesc && colorDesc.defaults) {\r\n var colorValue = colorDesc.defaults[theme.type];\r\n return resolveColorValue(colorValue, theme);\r\n }\r\n return undefined;\r\n };\r\n ColorRegistry.prototype.getColorSchema = function () {\r\n return this.colorSchema;\r\n };\r\n ColorRegistry.prototype.toString = function () {\r\n var _this = this;\r\n var sorter = function (a, b) {\r\n var cat1 = a.indexOf('.') === -1 ? 0 : 1;\r\n var cat2 = b.indexOf('.') === -1 ? 0 : 1;\r\n if (cat1 !== cat2) {\r\n return cat1 - cat2;\r\n }\r\n return a.localeCompare(b);\r\n };\r\n return Object.keys(this.colorsById).sort(sorter).map(function (k) { return \"- `\" + k + \"`: \" + _this.colorsById[k].description; }).join('\\n');\r\n };\r\n return ColorRegistry;\r\n}());\r\nvar colorRegistry = new ColorRegistry();\r\n_registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* Registry */ \"a\"].add(Extensions.ColorContribution, colorRegistry);\r\nfunction registerColor(id, defaults, description, needsTransparency, deprecationMessage) {\r\n return colorRegistry.registerColor(id, defaults, description, needsTransparency, deprecationMessage);\r\n}\r\n// ----- base colors\r\nvar foreground = registerColor('foreground', { dark: '#CCCCCC', light: '#616161', hc: '#FFFFFF' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('foreground', \"Overall foreground color. This color is only used if not overridden by a component.\"));\r\nvar errorForeground = registerColor('errorForeground', { dark: '#F48771', light: '#A1260D', hc: '#F48771' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('errorForeground', \"Overall foreground color for error messages. This color is only used if not overridden by a component.\"));\r\nvar focusBorder = registerColor('focusBorder', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#0E639C').transparent(0.8), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#007ACC').transparent(0.4), hc: '#F38518' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('focusBorder', \"Overall border color for focused elements. This color is only used if not overridden by a component.\"));\r\nvar contrastBorder = registerColor('contrastBorder', { light: null, dark: null, hc: '#6FC3DF' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('contrastBorder', \"An extra border around elements to separate them from others for greater contrast.\"));\r\nvar activeContrastBorder = registerColor('contrastActiveBorder', { light: null, dark: null, hc: focusBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('activeContrastBorder', \"An extra border around active elements to separate them from others for greater contrast.\"));\r\nvar textLinkForeground = registerColor('textLink.foreground', { light: '#006AB1', dark: '#3794FF', hc: '#3794FF' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('textLinkForeground', \"Foreground color for links in text.\"));\r\nvar textCodeBlockBackground = registerColor('textCodeBlock.background', { light: '#dcdcdc66', dark: '#0a0a0a66', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('textCodeBlockBackground', \"Background color for code blocks in text.\"));\r\n// ----- widgets\r\nvar widgetShadow = registerColor('widget.shadow', { dark: '#000000', light: '#A8A8A8', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('widgetShadow', 'Shadow color of widgets such as find/replace inside the editor.'));\r\nvar inputBackground = registerColor('input.background', { dark: '#3C3C3C', light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputBoxBackground', \"Input box background.\"));\r\nvar inputForeground = registerColor('input.foreground', { dark: foreground, light: foreground, hc: foreground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputBoxForeground', \"Input box foreground.\"));\r\nvar inputBorder = registerColor('input.border', { dark: null, light: null, hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputBoxBorder', \"Input box border.\"));\r\nvar inputActiveOptionBorder = registerColor('inputOption.activeBorder', { dark: '#007ACC00', light: '#007ACC00', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputBoxActiveOptionBorder', \"Border color of activated options in input fields.\"));\r\nvar inputActiveOptionBackground = registerColor('inputOption.activeBackground', { dark: transparent(focusBorder, 0.5), light: transparent(focusBorder, 0.3), hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputOption.activeBackground', \"Background color of activated options in input fields.\"));\r\nvar inputValidationInfoBackground = registerColor('inputValidation.infoBackground', { dark: '#063B49', light: '#D6ECF2', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationInfoBackground', \"Input validation background color for information severity.\"));\r\nvar inputValidationInfoForeground = registerColor('inputValidation.infoForeground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationInfoForeground', \"Input validation foreground color for information severity.\"));\r\nvar inputValidationInfoBorder = registerColor('inputValidation.infoBorder', { dark: '#007acc', light: '#007acc', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationInfoBorder', \"Input validation border color for information severity.\"));\r\nvar inputValidationWarningBackground = registerColor('inputValidation.warningBackground', { dark: '#352A05', light: '#F6F5D2', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationWarningBackground', \"Input validation background color for warning severity.\"));\r\nvar inputValidationWarningForeground = registerColor('inputValidation.warningForeground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationWarningForeground', \"Input validation foreground color for warning severity.\"));\r\nvar inputValidationWarningBorder = registerColor('inputValidation.warningBorder', { dark: '#B89500', light: '#B89500', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationWarningBorder', \"Input validation border color for warning severity.\"));\r\nvar inputValidationErrorBackground = registerColor('inputValidation.errorBackground', { dark: '#5A1D1D', light: '#F2DEDE', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationErrorBackground', \"Input validation background color for error severity.\"));\r\nvar inputValidationErrorForeground = registerColor('inputValidation.errorForeground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationErrorForeground', \"Input validation foreground color for error severity.\"));\r\nvar inputValidationErrorBorder = registerColor('inputValidation.errorBorder', { dark: '#BE1100', light: '#BE1100', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('inputValidationErrorBorder', \"Input validation border color for error severity.\"));\r\nvar selectBackground = registerColor('dropdown.background', { dark: '#3C3C3C', light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('dropdownBackground', \"Dropdown background.\"));\r\nvar selectForeground = registerColor('dropdown.foreground', { dark: '#F0F0F0', light: null, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('dropdownForeground', \"Dropdown foreground.\"));\r\nvar pickerGroupForeground = registerColor('pickerGroup.foreground', { dark: '#3794FF', light: '#0066BF', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('pickerGroupForeground', \"Quick picker color for grouping labels.\"));\r\nvar pickerGroupBorder = registerColor('pickerGroup.border', { dark: '#3F3F46', light: '#CCCEDB', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('pickerGroupBorder', \"Quick picker color for grouping borders.\"));\r\nvar badgeBackground = registerColor('badge.background', { dark: '#4D4D4D', light: '#C4C4C4', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('badgeBackground', \"Badge background color. Badges are small information labels, e.g. for search results count.\"));\r\nvar badgeForeground = registerColor('badge.foreground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white, light: '#333', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('badgeForeground', \"Badge foreground color. Badges are small information labels, e.g. for search results count.\"));\r\nvar scrollbarShadow = registerColor('scrollbar.shadow', { dark: '#000000', light: '#DDDDDD', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('scrollbarShadow', \"Scrollbar shadow to indicate that the view is scrolled.\"));\r\nvar scrollbarSliderBackground = registerColor('scrollbarSlider.background', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#797979').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#646464').transparent(0.4), hc: transparent(contrastBorder, 0.6) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('scrollbarSliderBackground', \"Scrollbar slider background color.\"));\r\nvar scrollbarSliderHoverBackground = registerColor('scrollbarSlider.hoverBackground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#646464').transparent(0.7), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#646464').transparent(0.7), hc: transparent(contrastBorder, 0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('scrollbarSliderHoverBackground', \"Scrollbar slider background color when hovering.\"));\r\nvar scrollbarSliderActiveBackground = registerColor('scrollbarSlider.activeBackground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#BFBFBF').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#000000').transparent(0.6), hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('scrollbarSliderActiveBackground', \"Scrollbar slider background color when clicked on.\"));\r\nvar progressBarBackground = registerColor('progressBar.background', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#0E70C0'), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#0E70C0'), hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('progressBarBackground', \"Background color of the progress bar that can show for long running operations.\"));\r\nvar editorErrorForeground = registerColor('editorError.foreground', { dark: '#F48771', light: '#E51400', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorError.foreground', 'Foreground color of error squigglies in the editor.'));\r\nvar editorErrorBorder = registerColor('editorError.border', { dark: null, light: null, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#E47777').transparent(0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('errorBorder', 'Border color of error boxes in the editor.'));\r\nvar editorWarningForeground = registerColor('editorWarning.foreground', { dark: '#CCA700', light: '#E9A700', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorWarning.foreground', 'Foreground color of warning squigglies in the editor.'));\r\nvar editorWarningBorder = registerColor('editorWarning.border', { dark: null, light: null, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#FFCC00').transparent(0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('warningBorder', 'Border color of warning boxes in the editor.'));\r\nvar editorInfoForeground = registerColor('editorInfo.foreground', { dark: '#75BEFF', light: '#75BEFF', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorInfo.foreground', 'Foreground color of info squigglies in the editor.'));\r\nvar editorInfoBorder = registerColor('editorInfo.border', { dark: null, light: null, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#75BEFF').transparent(0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('infoBorder', 'Border color of info boxes in the editor.'));\r\nvar editorHintForeground = registerColor('editorHint.foreground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#eeeeee').transparent(0.7), light: '#6c6c6c', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorHint.foreground', 'Foreground color of hint squigglies in the editor.'));\r\nvar editorHintBorder = registerColor('editorHint.border', { dark: null, light: null, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex('#eeeeee').transparent(0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('hintBorder', 'Border color of hint boxes in the editor.'));\r\n/**\r\n * Editor background color.\r\n * Because of bug https://monacotools.visualstudio.com/DefaultCollection/Monaco/_workitems/edit/13254\r\n * we are *not* using the color white (or #ffffff, rgba(255,255,255)) but something very close to white.\r\n */\r\nvar editorBackground = registerColor('editor.background', { light: '#fffffe', dark: '#1E1E1E', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorBackground', \"Editor background color.\"));\r\n/**\r\n * Editor foreground color.\r\n */\r\nvar editorForeground = registerColor('editor.foreground', { light: '#333333', dark: '#BBBBBB', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorForeground', \"Editor default foreground color.\"));\r\n/**\r\n * Editor widgets\r\n */\r\nvar editorWidgetBackground = registerColor('editorWidget.background', { dark: '#252526', light: '#F3F3F3', hc: '#0C141F' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorWidgetBackground', 'Background color of editor widgets, such as find/replace.'));\r\nvar editorWidgetForeground = registerColor('editorWidget.foreground', { dark: foreground, light: foreground, hc: foreground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorWidgetForeground', 'Foreground color of editor widgets, such as find/replace.'));\r\nvar editorWidgetBorder = registerColor('editorWidget.border', { dark: '#454545', light: '#C8C8C8', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorWidgetBorder', 'Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.'));\r\nvar editorWidgetResizeBorder = registerColor('editorWidget.resizeBorder', { light: null, dark: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorWidgetResizeBorder', \"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.\"));\r\n/**\r\n * Editor selection colors.\r\n */\r\nvar editorSelectionBackground = registerColor('editor.selectionBackground', { light: '#ADD6FF', dark: '#264F78', hc: '#f3f518' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorSelectionBackground', \"Color of the editor selection.\"));\r\nvar editorSelectionForeground = registerColor('editor.selectionForeground', { light: null, dark: null, hc: '#000000' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorSelectionForeground', \"Color of the selected text for high contrast.\"));\r\nvar editorInactiveSelection = registerColor('editor.inactiveSelectionBackground', { light: transparent(editorSelectionBackground, 0.5), dark: transparent(editorSelectionBackground, 0.5), hc: transparent(editorSelectionBackground, 0.5) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorInactiveSelection', \"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.\"), true);\r\nvar editorSelectionHighlight = registerColor('editor.selectionHighlightBackground', { light: lessProminent(editorSelectionBackground, editorBackground, 0.3, 0.6), dark: lessProminent(editorSelectionBackground, editorBackground, 0.3, 0.6), hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorSelectionHighlight', 'Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.'), true);\r\nvar editorSelectionHighlightBorder = registerColor('editor.selectionHighlightBorder', { light: null, dark: null, hc: activeContrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorSelectionHighlightBorder', \"Border color for regions with the same content as the selection.\"));\r\n/**\r\n * Editor find match colors.\r\n */\r\nvar editorFindMatch = registerColor('editor.findMatchBackground', { light: '#A8AC94', dark: '#515C6A', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorFindMatch', \"Color of the current search match.\"));\r\nvar editorFindMatchHighlight = registerColor('editor.findMatchHighlightBackground', { light: '#EA5C0055', dark: '#EA5C0055', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('findMatchHighlight', \"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.\"), true);\r\nvar editorFindRangeHighlight = registerColor('editor.findRangeHighlightBackground', { dark: '#3a3d4166', light: '#b4b4b44d', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('findRangeHighlight', \"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.\"), true);\r\nvar editorFindMatchBorder = registerColor('editor.findMatchBorder', { light: null, dark: null, hc: activeContrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorFindMatchBorder', \"Border color of the current search match.\"));\r\nvar editorFindMatchHighlightBorder = registerColor('editor.findMatchHighlightBorder', { light: null, dark: null, hc: activeContrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('findMatchHighlightBorder', \"Border color of the other search matches.\"));\r\nvar editorFindRangeHighlightBorder = registerColor('editor.findRangeHighlightBorder', { dark: null, light: null, hc: transparent(activeContrastBorder, 0.4) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('findRangeHighlightBorder', \"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.\"), true);\r\n/**\r\n * Editor hover\r\n */\r\nvar editorHoverHighlight = registerColor('editor.hoverHighlightBackground', { light: '#ADD6FF26', dark: '#264f7840', hc: '#ADD6FF26' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('hoverHighlight', 'Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.'), true);\r\nvar editorHoverBackground = registerColor('editorHoverWidget.background', { light: editorWidgetBackground, dark: editorWidgetBackground, hc: editorWidgetBackground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('hoverBackground', 'Background color of the editor hover.'));\r\nvar editorHoverForeground = registerColor('editorHoverWidget.foreground', { light: editorWidgetForeground, dark: editorWidgetForeground, hc: editorWidgetForeground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('hoverForeground', 'Foreground color of the editor hover.'));\r\nvar editorHoverBorder = registerColor('editorHoverWidget.border', { light: editorWidgetBorder, dark: editorWidgetBorder, hc: editorWidgetBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('hoverBorder', 'Border color of the editor hover.'));\r\nvar editorHoverStatusBarBackground = registerColor('editorHoverWidget.statusBarBackground', { dark: lighten(editorHoverBackground, 0.2), light: darken(editorHoverBackground, 0.05), hc: editorWidgetBackground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('statusBarBackground', \"Background color of the editor hover status bar.\"));\r\n/**\r\n * Editor link colors\r\n */\r\nvar editorActiveLinkForeground = registerColor('editorLink.activeForeground', { dark: '#4E94CE', light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].blue, hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].cyan }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('activeLinkForeground', 'Color of active links.'));\r\n/**\r\n * Editor lighbulb icon colors\r\n */\r\nvar editorLightBulbForeground = registerColor('editorLightBulb.foreground', { dark: '#FFCC00', light: '#DDB100', hc: '#FFCC00' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorLightBulbForeground', \"The color used for the lightbulb actions icon.\"));\r\nvar editorLightBulbAutoFixForeground = registerColor('editorLightBulbAutoFix.foreground', { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('editorLightBulbAutoFixForeground', \"The color used for the lightbulb auto fix actions icon.\"));\r\n/**\r\n * Diff Editor Colors\r\n */\r\nvar defaultInsertColor = new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](155, 185, 85, 0.2));\r\nvar defaultRemoveColor = new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](255, 0, 0, 0.2));\r\nvar diffInserted = registerColor('diffEditor.insertedTextBackground', { dark: defaultInsertColor, light: defaultInsertColor, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('diffEditorInserted', 'Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.'), true);\r\nvar diffRemoved = registerColor('diffEditor.removedTextBackground', { dark: defaultRemoveColor, light: defaultRemoveColor, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('diffEditorRemoved', 'Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.'), true);\r\nvar diffInsertedOutline = registerColor('diffEditor.insertedTextBorder', { dark: null, light: null, hc: '#33ff2eff' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('diffEditorInsertedOutline', 'Outline color for the text that got inserted.'));\r\nvar diffRemovedOutline = registerColor('diffEditor.removedTextBorder', { dark: null, light: null, hc: '#FF008F' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('diffEditorRemovedOutline', 'Outline color for text that got removed.'));\r\nvar diffBorder = registerColor('diffEditor.border', { dark: null, light: null, hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('diffEditorBorder', 'Border color between the two text editors.'));\r\n/**\r\n * List and tree colors\r\n */\r\nvar listFocusBackground = registerColor('list.focusBackground', { dark: '#062F4A', light: '#D6EBFF', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listFocusBackground', \"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listFocusForeground = registerColor('list.focusForeground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listFocusForeground', \"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listActiveSelectionBackground = registerColor('list.activeSelectionBackground', { dark: '#094771', light: '#0074E8', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listActiveSelectionBackground', \"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listActiveSelectionForeground = registerColor('list.activeSelectionForeground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white, light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].white, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listActiveSelectionForeground', \"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listInactiveSelectionBackground = registerColor('list.inactiveSelectionBackground', { dark: '#37373D', light: '#E4E6F1', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listInactiveSelectionBackground', \"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listInactiveSelectionForeground = registerColor('list.inactiveSelectionForeground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listInactiveSelectionForeground', \"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listInactiveFocusBackground = registerColor('list.inactiveFocusBackground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listInactiveFocusBackground', \"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\"));\r\nvar listHoverBackground = registerColor('list.hoverBackground', { dark: '#2A2D2E', light: '#F0F0F0', hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listHoverBackground', \"List/Tree background when hovering over items using the mouse.\"));\r\nvar listHoverForeground = registerColor('list.hoverForeground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listHoverForeground', \"List/Tree foreground when hovering over items using the mouse.\"));\r\nvar listDropBackground = registerColor('list.dropBackground', { dark: listFocusBackground, light: listFocusBackground, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listDropBackground', \"List/Tree drag and drop background when moving items around using the mouse.\"));\r\nvar listHighlightForeground = registerColor('list.highlightForeground', { dark: '#0097fb', light: '#0066BF', hc: focusBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('highlight', 'List/Tree foreground color of the match highlights when searching inside the list/tree.'));\r\nvar listFilterWidgetBackground = registerColor('listFilterWidget.background', { light: '#efc1ad', dark: '#653723', hc: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].black }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listFilterWidgetBackground', 'Background color of the type filter widget in lists and trees.'));\r\nvar listFilterWidgetOutline = registerColor('listFilterWidget.outline', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].transparent, light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].transparent, hc: '#f38518' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listFilterWidgetOutline', 'Outline color of the type filter widget in lists and trees.'));\r\nvar listFilterWidgetNoMatchesOutline = registerColor('listFilterWidget.noMatchesOutline', { dark: '#BE1100', light: '#BE1100', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('listFilterWidgetNoMatchesOutline', 'Outline color of the type filter widget in lists and trees, when there are no matches.'));\r\nvar treeIndentGuidesStroke = registerColor('tree.indentGuidesStroke', { dark: '#585858', light: '#a9a9a9', hc: '#a9a9a9' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('treeIndentGuidesStroke', \"Tree stroke color for the indentation guides.\"));\r\n/**\r\n * Menu colors\r\n */\r\nvar menuBorder = registerColor('menu.border', { dark: null, light: null, hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuBorder', \"Border color of menus.\"));\r\nvar menuForeground = registerColor('menu.foreground', { dark: selectForeground, light: foreground, hc: selectForeground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuForeground', \"Foreground color of menu items.\"));\r\nvar menuBackground = registerColor('menu.background', { dark: selectBackground, light: selectBackground, hc: selectBackground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuBackground', \"Background color of menu items.\"));\r\nvar menuSelectionForeground = registerColor('menu.selectionForeground', { dark: listActiveSelectionForeground, light: listActiveSelectionForeground, hc: listActiveSelectionForeground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuSelectionForeground', \"Foreground color of the selected menu item in menus.\"));\r\nvar menuSelectionBackground = registerColor('menu.selectionBackground', { dark: listActiveSelectionBackground, light: listActiveSelectionBackground, hc: listActiveSelectionBackground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuSelectionBackground', \"Background color of the selected menu item in menus.\"));\r\nvar menuSelectionBorder = registerColor('menu.selectionBorder', { dark: null, light: null, hc: activeContrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuSelectionBorder', \"Border color of the selected menu item in menus.\"));\r\nvar menuSeparatorBackground = registerColor('menu.separatorBackground', { dark: '#BBBBBB', light: '#888888', hc: contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('menuSeparatorBackground', \"Color of a separator menu item in menus.\"));\r\n/**\r\n * Snippet placeholder colors\r\n */\r\nvar snippetTabstopHighlightBackground = registerColor('editor.snippetTabstopHighlightBackground', { dark: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](124, 124, 124, 0.3)), light: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](10, 50, 100, 0.2)), hc: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](124, 124, 124, 0.3)) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('snippetTabstopHighlightBackground', \"Highlight background color of a snippet tabstop.\"));\r\nvar snippetTabstopHighlightBorder = registerColor('editor.snippetTabstopHighlightBorder', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('snippetTabstopHighlightBorder', \"Highlight border color of a snippet tabstop.\"));\r\nvar snippetFinalTabstopHighlightBackground = registerColor('editor.snippetFinalTabstopHighlightBackground', { dark: null, light: null, hc: null }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('snippetFinalTabstopHighlightBackground', \"Highlight background color of the final tabstop of a snippet.\"));\r\nvar snippetFinalTabstopHighlightBorder = registerColor('editor.snippetFinalTabstopHighlightBorder', { dark: '#525252', light: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](10, 50, 100, 0.5)), hc: '#525252' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('snippetFinalTabstopHighlightBorder', \"Highlight border color of the final stabstop of a snippet.\"));\r\nvar overviewRulerFindMatchForeground = registerColor('editorOverviewRuler.findMatchForeground', { dark: '#d186167e', light: '#d186167e', hc: '#AB5A00' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('overviewRulerFindMatchForeground', 'Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.'), true);\r\nvar overviewRulerSelectionHighlightForeground = registerColor('editorOverviewRuler.selectionHighlightForeground', { dark: '#A0A0A0CC', light: '#A0A0A0CC', hc: '#A0A0A0CC' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('overviewRulerSelectionHighlightForeground', 'Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.'), true);\r\nvar minimapFindMatch = registerColor('minimap.findMatchHighlight', { light: '#d18616', dark: '#d18616', hc: '#AB5A00' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('minimapFindMatchHighlight', 'Minimap marker color for find matches.'), true);\r\nvar minimapSelection = registerColor('minimap.selectionHighlight', { light: '#ADD6FF', dark: '#264F78', hc: '#ffffff' }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('minimapSelectionHighlight', 'Minimap marker color for the editor selection.'), true);\r\nvar minimapError = registerColor('minimap.errorHighlight', { dark: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](255, 18, 18, 0.7)), light: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](255, 18, 18, 0.7)), hc: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"](new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* RGBA */ \"c\"](255, 50, 50, 1)) }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('minimapError', 'Minimap marker color for errors.'));\r\nvar minimapWarning = registerColor('minimap.warningHighlight', { dark: editorWarningForeground, light: editorWarningForeground, hc: editorWarningBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('overviewRuleWarning', 'Minimap marker color for warnings.'));\r\nvar problemsErrorIconForeground = registerColor('problemsErrorIcon.foreground', { dark: editorErrorForeground, light: editorErrorForeground, hc: editorErrorForeground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('problemsErrorIconForeground', \"The color used for the problems error icon.\"));\r\nvar problemsWarningIconForeground = registerColor('problemsWarningIcon.foreground', { dark: editorWarningForeground, light: editorWarningForeground, hc: editorWarningForeground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('problemsWarningIconForeground', \"The color used for the problems warning icon.\"));\r\nvar problemsInfoIconForeground = registerColor('problemsInfoIcon.foreground', { dark: editorInfoForeground, light: editorInfoForeground, hc: editorInfoForeground }, _nls_js__WEBPACK_IMPORTED_MODULE_3__[/* localize */ \"a\"]('problemsInfoIconForeground', \"The color used for the problems info icon.\"));\r\n// ----- color functions\r\nfunction darken(colorValue, factor) {\r\n return function (theme) {\r\n var color = resolveColorValue(colorValue, theme);\r\n if (color) {\r\n return color.darken(factor);\r\n }\r\n return undefined;\r\n };\r\n}\r\nfunction lighten(colorValue, factor) {\r\n return function (theme) {\r\n var color = resolveColorValue(colorValue, theme);\r\n if (color) {\r\n return color.lighten(factor);\r\n }\r\n return undefined;\r\n };\r\n}\r\nfunction transparent(colorValue, factor) {\r\n return function (theme) {\r\n var color = resolveColorValue(colorValue, theme);\r\n if (color) {\r\n return color.transparent(factor);\r\n }\r\n return undefined;\r\n };\r\n}\r\nfunction oneOf() {\r\n var colorValues = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n colorValues[_i] = arguments[_i];\r\n }\r\n return function (theme) {\r\n for (var _i = 0, colorValues_1 = colorValues; _i < colorValues_1.length; _i++) {\r\n var colorValue = colorValues_1[_i];\r\n var color = resolveColorValue(colorValue, theme);\r\n if (color) {\r\n return color;\r\n }\r\n }\r\n return undefined;\r\n };\r\n}\r\nfunction lessProminent(colorValue, backgroundColorValue, factor, transparency) {\r\n return function (theme) {\r\n var from = resolveColorValue(colorValue, theme);\r\n if (from) {\r\n var backgroundColor = resolveColorValue(backgroundColorValue, theme);\r\n if (backgroundColor) {\r\n if (from.isDarkerThan(backgroundColor)) {\r\n return _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].getLighterColor(from, backgroundColor, factor).transparent(transparency);\r\n }\r\n return _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].getDarkerColor(from, backgroundColor, factor).transparent(transparency);\r\n }\r\n return from.transparent(factor * transparency);\r\n }\r\n return undefined;\r\n };\r\n}\r\n// ----- implementation\r\n/**\r\n * @param colorValue Resolve a color value in the context of a theme\r\n */\r\nfunction resolveColorValue(colorValue, theme) {\r\n if (colorValue === null) {\r\n return undefined;\r\n }\r\n else if (typeof colorValue === 'string') {\r\n if (colorValue[0] === '#') {\r\n return _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"].fromHex(colorValue);\r\n }\r\n return theme.getColor(colorValue);\r\n }\r\n else if (colorValue instanceof _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__[/* Color */ \"a\"]) {\r\n return colorValue;\r\n }\r\n else if (typeof colorValue === 'function') {\r\n return colorValue(theme);\r\n }\r\n return undefined;\r\n}\r\nvar workbenchColorsSchemaId = 'vscode://schemas/workbench-colors';\r\nvar schemaRegistry = _registry_common_platform_js__WEBPACK_IMPORTED_MODULE_0__[/* Registry */ \"a\"].as(_jsonschemas_common_jsonContributionRegistry_js__WEBPACK_IMPORTED_MODULE_4__[/* Extensions */ \"a\"].JSONContribution);\r\nschemaRegistry.registerSchema(workbenchColorsSchemaId, colorRegistry.getColorSchema());\r\nvar delayer = new _base_common_async_js__WEBPACK_IMPORTED_MODULE_5__[/* RunOnceScheduler */ \"d\"](function () { return schemaRegistry.notifySchemaChanged(workbenchColorsSchemaId); }, 200);\r\ncolorRegistry.onDidChangeSchema(function () {\r\n if (!delayer.isScheduled()) {\r\n delayer.schedule();\r\n }\r\n});\r\n// setTimeout(_ => console.log(colorRegistry.toString()), 5000);\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/platform/theme/common/colorRegistry.js?")},MEGo:function(module,exports,__webpack_require__){eval("var Group = __webpack_require__(\"4fz+\");\n\nvar ZImage = __webpack_require__(\"Dagg\");\n\nvar Text = __webpack_require__(\"dqUG\");\n\nvar Circle = __webpack_require__(\"2fw6\");\n\nvar Rect = __webpack_require__(\"x6Kt\");\n\nvar Ellipse = __webpack_require__(\"rmlV\");\n\nvar Line = __webpack_require__(\"yxFR\");\n\nvar Path = __webpack_require__(\"y+Vt\");\n\nvar Polygon = __webpack_require__(\"h7HQ\");\n\nvar Polyline = __webpack_require__(\"1Jh7\");\n\nvar LinearGradient = __webpack_require__(\"SKnc\");\n\nvar Style = __webpack_require__(\"K2GJ\");\n\nvar matrix = __webpack_require__(\"Fofx\");\n\nvar _path = __webpack_require__(\"NC18\");\n\nvar createFromString = _path.createFromString;\n\nvar _util = __webpack_require__(\"bYtY\");\n\nvar isString = _util.isString;\nvar extend = _util.extend;\nvar defaults = _util.defaults;\nvar trim = _util.trim;\nvar each = _util.each;\n// import RadialGradient from '../graphic/RadialGradient';\n// import Pattern from '../graphic/Pattern';\n// import * as vector from '../core/vector';\n// Most of the values can be separated by comma and/or white space.\nvar DILIMITER_REG = /[\\s,]+/;\n/**\n * For big svg string, this method might be time consuming.\n *\n * @param {string} svg xml string\n * @return {Object} xml root.\n */\n\nfunction parseXML(svg) {\n if (isString(svg)) {\n var parser = new DOMParser();\n svg = parser.parseFromString(svg, 'text/xml');\n } // Document node. If using $.get, doc node may be input.\n\n\n if (svg.nodeType === 9) {\n svg = svg.firstChild;\n } // nodeName of is also 'svg'.\n\n\n while (svg.nodeName.toLowerCase() !== 'svg' || svg.nodeType !== 1) {\n svg = svg.nextSibling;\n }\n\n return svg;\n}\n\nfunction SVGParser() {\n this._defs = {};\n this._root = null;\n this._isDefine = false;\n this._isText = false;\n}\n\nSVGParser.prototype.parse = function (xml, opt) {\n opt = opt || {};\n var svg = parseXML(xml);\n\n if (!svg) {\n throw new Error('Illegal svg');\n }\n\n var root = new Group();\n this._root = root; // parse view port\n\n var viewBox = svg.getAttribute('viewBox') || ''; // If width/height not specified, means \"100%\" of `opt.width/height`.\n // TODO: Other percent value not supported yet.\n\n var width = parseFloat(svg.getAttribute('width') || opt.width);\n var height = parseFloat(svg.getAttribute('height') || opt.height); // If width/height not specified, set as null for output.\n\n isNaN(width) && (width = null);\n isNaN(height) && (height = null); // Apply inline style on svg element.\n\n parseAttributes(svg, root, null, true);\n var child = svg.firstChild;\n\n while (child) {\n this._parseNode(child, root);\n\n child = child.nextSibling;\n }\n\n var viewBoxRect;\n var viewBoxTransform;\n\n if (viewBox) {\n var viewBoxArr = trim(viewBox).split(DILIMITER_REG); // Some invalid case like viewBox: 'none'.\n\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\n if (viewBoxRect && width != null && height != null) {\n viewBoxTransform = makeViewBoxTransform(viewBoxRect, width, height);\n\n if (!opt.ignoreViewBox) {\n // If set transform on the output group, it probably bring trouble when\n // some users only intend to show the clipped content inside the viewBox,\n // but not intend to transform the output group. So we keep the output\n // group no transform. If the user intend to use the viewBox as a\n // camera, just set `opt.ignoreViewBox` as `true` and set transfrom\n // manually according to the viewBox info in the output of this method.\n var elRoot = root;\n root = new Group();\n root.add(elRoot);\n elRoot.scale = viewBoxTransform.scale.slice();\n elRoot.position = viewBoxTransform.position.slice();\n }\n } // Some shapes might be overflow the viewport, which should be\n // clipped despite whether the viewBox is used, as the SVG does.\n\n\n if (!opt.ignoreRootClip && width != null && height != null) {\n root.setClipPath(new Rect({\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n }));\n } // Set width/height on group just for output the viewport size.\n\n\n return {\n root: root,\n width: width,\n height: height,\n viewBoxRect: viewBoxRect,\n viewBoxTransform: viewBoxTransform\n };\n};\n\nSVGParser.prototype._parseNode = function (xmlNode, parentGroup) {\n var nodeName = xmlNode.nodeName.toLowerCase(); // TODO\n // support in svg, where nodeName is 'style',\n // CSS classes is defined globally wherever the style tags are declared.\n\n if (nodeName === 'defs') {\n // define flag\n this._isDefine = true;\n } else if (nodeName === 'text') {\n this._isText = true;\n }\n\n var el;\n\n if (this._isDefine) {\n var parser = defineParsers[nodeName];\n\n if (parser) {\n var def = parser.call(this, xmlNode);\n var id = xmlNode.getAttribute('id');\n\n if (id) {\n this._defs[id] = def;\n }\n }\n } else {\n var parser = nodeParsers[nodeName];\n\n if (parser) {\n el = parser.call(this, xmlNode, parentGroup);\n parentGroup.add(el);\n }\n }\n\n var child = xmlNode.firstChild;\n\n while (child) {\n if (child.nodeType === 1) {\n this._parseNode(child, el);\n } // Is text\n\n\n if (child.nodeType === 3 && this._isText) {\n this._parseText(child, el);\n }\n\n child = child.nextSibling;\n } // Quit define\n\n\n if (nodeName === 'defs') {\n this._isDefine = false;\n } else if (nodeName === 'text') {\n this._isText = false;\n }\n};\n\nSVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n if (xmlNode.nodeType === 1) {\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX += parseFloat(dx);\n this._textY += parseFloat(dy);\n }\n\n var text = new Text({\n style: {\n text: xmlNode.textContent,\n transformText: true\n },\n position: [this._textX || 0, this._textY || 0]\n });\n inheritStyle(parentGroup, text);\n parseAttributes(xmlNode, text, this._defs);\n var fontSize = text.style.fontSize;\n\n if (fontSize && fontSize < 9) {\n // PENDING\n text.style.fontSize = 9;\n text.scale = text.scale || [1, 1];\n text.scale[0] *= fontSize / 9;\n text.scale[1] *= fontSize / 9;\n }\n\n var rect = text.getBoundingRect();\n this._textX += rect.width;\n parentGroup.add(text);\n return text;\n};\n\nvar nodeParsers = {\n 'g': function (xmlNode, parentGroup) {\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'rect': function (xmlNode, parentGroup) {\n var rect = new Rect();\n inheritStyle(parentGroup, rect);\n parseAttributes(xmlNode, rect, this._defs);\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 }); // console.log(xmlNode.getAttribute('transform'));\n // console.log(rect.transform);\n\n return rect;\n },\n 'circle': function (xmlNode, parentGroup) {\n var circle = new Circle();\n inheritStyle(parentGroup, circle);\n parseAttributes(xmlNode, circle, this._defs);\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 return circle;\n },\n 'line': function (xmlNode, parentGroup) {\n var line = new Line();\n inheritStyle(parentGroup, line);\n parseAttributes(xmlNode, line, this._defs);\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 return line;\n },\n 'ellipse': function (xmlNode, parentGroup) {\n var ellipse = new Ellipse();\n inheritStyle(parentGroup, ellipse);\n parseAttributes(xmlNode, ellipse, this._defs);\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 return ellipse;\n },\n 'polygon': function (xmlNode, parentGroup) {\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polygon = new Polygon({\n shape: {\n points: points || []\n }\n });\n inheritStyle(parentGroup, polygon);\n parseAttributes(xmlNode, polygon, this._defs);\n return polygon;\n },\n 'polyline': function (xmlNode, parentGroup) {\n var path = new Path();\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polyline = new Polyline({\n shape: {\n points: points || []\n }\n });\n return polyline;\n },\n 'image': function (xmlNode, parentGroup) {\n var img = new ZImage();\n inheritStyle(parentGroup, img);\n parseAttributes(xmlNode, img, this._defs);\n img.setStyle({\n image: xmlNode.getAttribute('xlink:href'),\n x: xmlNode.getAttribute('x'),\n y: xmlNode.getAttribute('y'),\n width: xmlNode.getAttribute('width'),\n height: xmlNode.getAttribute('height')\n });\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 Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'tspan': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x');\n var y = xmlNode.getAttribute('y');\n\n if (x != null) {\n // new offset x\n this._textX = parseFloat(x);\n }\n\n if (y != null) {\n // new offset y\n this._textY = parseFloat(y);\n }\n\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n this._textX += dx;\n this._textY += dy;\n return g;\n },\n 'path': function (xmlNode, parentGroup) {\n // TODO svg fill rule\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\n // path.style.globalCompositeOperation = 'xor';\n var d = xmlNode.getAttribute('d') || ''; // Performance sensitive.\n\n var path = createFromString(d);\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n return path;\n }\n};\nvar defineParsers = {\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 LinearGradient(x1, y1, x2, y2);\n\n _parseGradientColorStops(xmlNode, gradient);\n\n return gradient;\n },\n 'radialgradient': function (xmlNode) {}\n};\n\nfunction _parseGradientColorStops(xmlNode, gradient) {\n var stop = xmlNode.firstChild;\n\n while (stop) {\n if (stop.nodeType === 1) {\n var offset = stop.getAttribute('offset');\n\n if (offset.indexOf('%') > 0) {\n // percentage\n offset = parseInt(offset, 10) / 100;\n } else if (offset) {\n // number from 0 to 1\n offset = parseFloat(offset);\n } else {\n offset = 0;\n }\n\n var stopColor = stop.getAttribute('stop-color') || '#000000';\n gradient.addColorStop(offset, stopColor);\n }\n\n stop = stop.nextSibling;\n }\n}\n\nfunction inheritStyle(parent, child) {\n if (parent && parent.__inheritedStyle) {\n if (!child.__inheritedStyle) {\n child.__inheritedStyle = {};\n }\n\n defaults(child.__inheritedStyle, parent.__inheritedStyle);\n }\n}\n\nfunction parsePoints(pointsString) {\n var list = trim(pointsString).split(DILIMITER_REG);\n var points = [];\n\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\n return points;\n}\n\nvar attributesMap = {\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-align': 'textAlign',\n 'alignment-baseline': 'textBaseline'\n};\n\nfunction parseAttributes(xmlNode, el, defs, onlyInlineStyle) {\n var zrStyle = el.__inheritedStyle || {};\n var isTextEl = el.type === 'text'; // TODO Shadow\n\n if (xmlNode.nodeType === 1) {\n parseTransformAttribute(xmlNode, el);\n extend(zrStyle, parseStyleAttribute(xmlNode));\n\n if (!onlyInlineStyle) {\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName)) {\n var attrValue = xmlNode.getAttribute(svgAttrName);\n\n if (attrValue != null) {\n zrStyle[attributesMap[svgAttrName]] = attrValue;\n }\n }\n }\n }\n }\n\n var elFillProp = isTextEl ? 'textFill' : 'fill';\n var elStrokeProp = isTextEl ? 'textStroke' : 'stroke';\n el.style = el.style || new Style();\n var elStyle = el.style;\n zrStyle.fill != null && elStyle.set(elFillProp, getPaint(zrStyle.fill, defs));\n zrStyle.stroke != null && elStyle.set(elStrokeProp, getPaint(zrStyle.stroke, defs));\n each(['lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'], function (propName) {\n var elPropName = propName === 'lineWidth' && isTextEl ? 'textStrokeWidth' : propName;\n zrStyle[propName] != null && elStyle.set(elPropName, parseFloat(zrStyle[propName]));\n });\n\n if (!zrStyle.textBaseline || zrStyle.textBaseline === 'auto') {\n zrStyle.textBaseline = 'alphabetic';\n }\n\n if (zrStyle.textBaseline === 'alphabetic') {\n zrStyle.textBaseline = 'bottom';\n }\n\n if (zrStyle.textAlign === 'start') {\n zrStyle.textAlign = 'left';\n }\n\n if (zrStyle.textAlign === 'end') {\n zrStyle.textAlign = 'right';\n }\n\n each(['lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign', 'textBaseline'], function (propName) {\n zrStyle[propName] != null && elStyle.set(propName, zrStyle[propName]);\n });\n\n if (zrStyle.lineDash) {\n el.style.lineDash = trim(zrStyle.lineDash).split(DILIMITER_REG);\n }\n\n if (elStyle[elStrokeProp] && elStyle[elStrokeProp] !== 'none') {\n // enable stroke\n el[elStrokeProp] = true;\n }\n\n el.__inheritedStyle = zrStyle;\n}\n\nvar urlRegex = /url\\(\\s*#(.*?)\\)/;\n\nfunction getPaint(str, defs) {\n // if (str === 'none') {\n // return;\n // }\n var urlMatch = defs && str && str.match(urlRegex);\n\n if (urlMatch) {\n var url = trim(urlMatch[1]);\n var def = defs[url];\n return def;\n }\n\n return str;\n}\n\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.e,]*)\\)/g;\n\nfunction parseTransformAttribute(xmlNode, node) {\n var transform = xmlNode.getAttribute('transform');\n\n if (transform) {\n transform = transform.replace(/,/g, ' ');\n var m = null;\n var transformOps = [];\n transform.replace(transformRegex, function (str, type, value) {\n transformOps.push(type, value);\n });\n\n for (var i = transformOps.length - 1; i > 0; i -= 2) {\n var value = transformOps[i];\n var type = transformOps[i - 1];\n m = m || matrix.create();\n\n switch (type) {\n case 'translate':\n value = trim(value).split(DILIMITER_REG);\n matrix.translate(m, m, [parseFloat(value[0]), parseFloat(value[1] || 0)]);\n break;\n\n case 'scale':\n value = trim(value).split(DILIMITER_REG);\n matrix.scale(m, m, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);\n break;\n\n case 'rotate':\n value = trim(value).split(DILIMITER_REG);\n matrix.rotate(m, m, parseFloat(value[0]));\n break;\n\n case 'skew':\n value = trim(value).split(DILIMITER_REG);\n console.warn('Skew transform is not supported yet');\n break;\n\n case 'matrix':\n var value = trim(value).split(DILIMITER_REG);\n m[0] = parseFloat(value[0]);\n m[1] = parseFloat(value[1]);\n m[2] = parseFloat(value[2]);\n m[3] = parseFloat(value[3]);\n m[4] = parseFloat(value[4]);\n m[5] = parseFloat(value[5]);\n break;\n }\n }\n\n node.setLocalTransform(m);\n }\n} // Value may contain space.\n\n\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\n\nfunction parseStyleAttribute(xmlNode) {\n var style = xmlNode.getAttribute('style');\n var result = {};\n\n if (!style) {\n return result;\n }\n\n var styleList = {};\n styleRegex.lastIndex = 0;\n var styleRegResult;\n\n while ((styleRegResult = styleRegex.exec(style)) != null) {\n styleList[styleRegResult[1]] = styleRegResult[2];\n }\n\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName) && styleList[svgAttrName] != null) {\n result[attributesMap[svgAttrName]] = styleList[svgAttrName];\n }\n }\n\n return result;\n}\n/**\n * @param {Array.} viewBoxRect\n * @param {number} width\n * @param {number} height\n * @return {Object} {scale, position}\n */\n\n\nfunction makeViewBoxTransform(viewBoxRect, width, height) {\n var scaleX = width / viewBoxRect.width;\n var scaleY = height / viewBoxRect.height;\n var scale = Math.min(scaleX, scaleY); // preserveAspectRatio 'xMidYMid'\n\n var viewBoxScale = [scale, scale];\n var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale + height / 2];\n return {\n scale: viewBoxScale,\n position: viewBoxPosition\n };\n}\n/**\n * @param {string|XMLElement} xml\n * @param {Object} [opt]\n * @param {number} [opt.width] Default width if svg width not specified or is a percent value.\n * @param {number} [opt.height] Default height if svg height not specified or is a percent value.\n * @param {boolean} [opt.ignoreViewBox]\n * @param {boolean} [opt.ignoreRootClip]\n * @return {Object} result:\n * {\n * root: Group, The root of the the result tree of zrender shapes,\n * width: number, the viewport width of the SVG,\n * height: number, the viewport height of the SVG,\n * viewBoxRect: {x, y, width, height}, the declared viewBox rect of the SVG, if exists,\n * viewBoxTransform: the {scale, position} calculated by viewBox and viewport, is exists.\n * }\n */\n\n\nfunction parseSVG(xml, opt) {\n var parser = new SVGParser();\n return parser.parse(xml, opt);\n}\n\nexports.parseXML = parseXML;\nexports.makeViewBoxTransform = makeViewBoxTransform;\nexports.parseSVG = parseSVG;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/tool/parseSVG.js?")},MFOe:function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(global) {var assign = make_assign()\nvar create = make_create()\nvar trim = make_trim()\nvar Global = (typeof window !== 'undefined' ? window : global)\n\nmodule.exports = {\n\tassign: assign,\n\tcreate: create,\n\ttrim: trim,\n\tbind: bind,\n\tslice: slice,\n\teach: each,\n\tmap: map,\n\tpluck: pluck,\n\tisList: isList,\n\tisFunction: isFunction,\n\tisObject: isObject,\n\tGlobal: Global\n}\n\nfunction make_assign() {\n\tif (Object.assign) {\n\t\treturn Object.assign\n\t} else {\n\t\treturn function shimAssign(obj, props1, props2, etc) {\n\t\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\t\teach(Object(arguments[i]), function(val, key) {\n\t\t\t\t\tobj[key] = val\n\t\t\t\t})\n\t\t\t}\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n}\n\nfunction make_create() {\n\tif (Object.create) {\n\t\treturn function create(obj, assignProps1, assignProps2, etc) {\n\t\t\tvar assignArgsList = slice(arguments, 1)\n\t\t\treturn assign.apply(this, [Object.create(obj)].concat(assignArgsList))\n\t\t}\n\t} else {\n\t\tfunction F() {} // eslint-disable-line no-inner-declarations\n\t\treturn function create(obj, assignProps1, assignProps2, etc) {\n\t\t\tvar assignArgsList = slice(arguments, 1)\n\t\t\tF.prototype = obj\n\t\t\treturn assign.apply(this, [new F()].concat(assignArgsList))\n\t\t}\n\t}\n}\n\nfunction make_trim() {\n\tif (String.prototype.trim) {\n\t\treturn function trim(str) {\n\t\t\treturn String.prototype.trim.call(str)\n\t\t}\n\t} else {\n\t\treturn function trim(str) {\n\t\t\treturn str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n\t\t}\n\t}\n}\n\nfunction bind(obj, fn) {\n\treturn function() {\n\t\treturn fn.apply(obj, Array.prototype.slice.call(arguments, 0))\n\t}\n}\n\nfunction slice(arr, index) {\n\treturn Array.prototype.slice.call(arr, index || 0)\n}\n\nfunction each(obj, fn) {\n\tpluck(obj, function(val, key) {\n\t\tfn(val, key)\n\t\treturn false\n\t})\n}\n\nfunction map(obj, fn) {\n\tvar res = (isList(obj) ? [] : {})\n\tpluck(obj, function(v, k) {\n\t\tres[k] = fn(v, k)\n\t\treturn false\n\t})\n\treturn res\n}\n\nfunction pluck(obj, fn) {\n\tif (isList(obj)) {\n\t\tfor (var i=0; i= 0 && typeof value === 'number') {\n value = +value.toFixed(Math.min(precision, 20));\n }\n\n mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;\n item = [mlFrom, mlTo, {\n // Extra option for tooltip and label\n type: mlType,\n valueIndex: item.valueIndex,\n // Force to use the value of calculated value.\n value: value\n }];\n }\n\n item = [markerHelper.dataTransform(seriesModel, item[0]), markerHelper.dataTransform(seriesModel, item[1]), zrUtil.extend({}, item[2])]; // Avoid line data type is extended by from(to) data type\n\n item[2].type = item[2].type || ''; // Merge from option and to option into line option\n\n zrUtil.merge(item[2], item[0]);\n zrUtil.merge(item[2], item[1]);\n return item;\n};\n\nfunction isInifinity(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 isInifinity(fromCoord[otherDimIndex]) && isInifinity(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.dataFilter(coordSys, item[0]) && markerHelper.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 = numberUtil.parsePercent(itemModel.get('x'), api.getWidth());\n var yPx = numberUtil.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 getMarkerPoisition\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 (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n var dims = coordSys.dimensions;\n\n if (isInifinity(data.get(dims[0], idx))) {\n point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);\n } else if (isInifinity(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 _default = MarkerView.extend({\n type: 'markLine',\n // updateLayout: function (markLineModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var mlModel = seriesModel.markLineModel;\n // if (mlModel) {\n // var mlData = mlModel.getData();\n // var fromData = mlModel.__from;\n // var toData = mlModel.__to;\n // // Update visual and layout of from symbol and to symbol\n // fromData.each(function (idx) {\n // updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n // updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n // });\n // // Update layout of line\n // mlData.each(function (idx) {\n // mlData.setItemLayout(idx, [\n // fromData.getItemLayout(idx),\n // toData.getItemLayout(idx)\n // ]);\n // });\n // this.markerGroupMap.get(seriesModel.id).updateLayout();\n // }\n // }, this);\n // },\n updateTransform: function (markLineModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mlModel = seriesModel.markLineModel;\n\n if (mlModel) {\n var mlData = mlModel.getData();\n var fromData = mlModel.__from;\n var toData = mlModel.__to; // Update visual and layout of from symbol and to symbol\n\n fromData.each(function (idx) {\n updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n }); // Update layout of line\n\n mlData.each(function (idx) {\n mlData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n });\n this.markerGroupMap.get(seriesModel.id).updateLayout();\n }\n }, this);\n },\n 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 LineDraw());\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 mlModel.__from = fromData;\n mlModel.__to = toData; // Line data for tooltip and formatter\n\n mlModel.setData(lineData);\n var symbolType = mlModel.get('symbol');\n var symbolSize = mlModel.get('symbolSize');\n\n if (!zrUtil.isArray(symbolType)) {\n symbolType = [symbolType, symbolType];\n }\n\n if (typeof symbolSize === 'number') {\n symbolSize = [symbolSize, symbolSize];\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 lineColor = lineData.getItemModel(idx).get('lineStyle.color');\n lineData.setItemVisual(idx, {\n color: lineColor || fromData.getItemVisual(idx, 'color')\n });\n lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n lineData.setItemVisual(idx, {\n 'fromSymbolSize': fromData.getItemVisual(idx, 'symbolSize'),\n 'fromSymbol': fromData.getItemVisual(idx, 'symbol'),\n 'toSymbolSize': toData.getItemVisual(idx, 'symbolSize'),\n 'toSymbol': toData.getItemVisual(idx, 'symbol')\n });\n });\n lineDraw.updateData(lineData); // Set host model for tooltip\n // FIXME\n\n mlData.line.eachItemGraphicEl(function (el, idx) {\n el.traverse(function (child) {\n 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 data.setItemVisual(idx, {\n symbolSize: itemModel.get('symbolSize') || symbolSize[isFrom ? 0 : 1],\n symbol: itemModel.get('symbol', true) || symbolType[isFrom ? 0 : 1],\n color: itemModel.get('itemStyle.color') || seriesData.getVisual('color')\n });\n }\n\n lineDraw.__keep = true;\n lineDraw.group.silent = mlModel.get('silent') || seriesModel.get('silent');\n }\n});\n/**\n * @inner\n * @param {module:echarts/coord/*} coordSys\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Model} mpModel\n */\n\n\nfunction createList(coordSys, seriesModel, mlModel) {\n var coordDimsInfos;\n\n if (coordSys) {\n coordDimsInfos = zrUtil.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 zrUtil.defaults({\n name: coordDim\n }, info);\n });\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n }\n\n var fromData = new List(coordDimsInfos, mlModel);\n var toData = new List(coordDimsInfos, mlModel); // No dimensions\n\n var lineData = new List([], mlModel);\n var optData = zrUtil.map(mlModel.get('data'), zrUtil.curry(markLineTransform, seriesModel, coordSys, mlModel));\n\n if (coordSys) {\n optData = zrUtil.filter(optData, zrUtil.curry(markLineFilter, coordSys));\n }\n\n var dimValueGetter = coordSys ? markerHelper.dimValueGetter : function (item) {\n return item.value;\n };\n fromData.initData(zrUtil.map(optData, function (item) {\n return item[0];\n }), null, dimValueGetter);\n toData.initData(zrUtil.map(optData, function (item) {\n return item[1];\n }), null, dimValueGetter);\n lineData.initData(zrUtil.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\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/marker/MarkLineView.js?")},MHoB:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar VisualMapModel = __webpack_require__(\"6uqw\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Constant\nvar DEFAULT_BAR_BOUND = [20, 140];\nvar ContinuousModel = VisualMapModel.extend({\n type: 'visualMap.continuous',\n\n /**\n * @protected\n */\n defaultOption: {\n align: 'auto',\n // 'auto', 'left', 'right', 'top', 'bottom'\n calculable: false,\n // This prop effect default component type determine,\n // See echarts/component/visualMap/typeDefaulter.\n range: null,\n // selected range. In default case `range` is [min, max]\n // and can auto change along with modification of min max,\n // util use specifid a range.\n realtime: true,\n // Whether realtime update.\n itemHeight: null,\n // The length of the range control edge.\n itemWidth: null,\n // The length of the other side.\n hoverLink: true,\n // Enable hover highlight.\n hoverLinkDataSize: null,\n // The size of hovered data.\n hoverLinkOnHandle: null // Whether trigger hoverLink when hover handle.\n // If not specified, follow the value of `realtime`.\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n ContinuousModel.superApply(this, 'optionUpdated', arguments);\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 /**\n * @protected\n * @override\n */\n resetItemSize: function () {\n ContinuousModel.superApply(this, 'resetItemSize', arguments);\n var itemSize = this.itemSize;\n this._orient === 'horizontal' && itemSize.reverse();\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 /**\n * @private\n */\n _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 (zrUtil.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 /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n zrUtil.each(this.stateList, function (state) {\n var symbolSize = this.option.controller[state].symbolSize;\n\n if (symbolSize && symbolSize[0] !== symbolSize[1]) {\n symbolSize[0] = 0; // For good looking.\n }\n }, this);\n },\n\n /**\n * @override\n */\n setSelected: function (selected) {\n this.option.range = selected.slice();\n\n this._resetRange();\n },\n\n /**\n * @public\n */\n getSelected: function () {\n var dataExtent = this.getExtent();\n var dataInterval = numberUtil.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 /**\n * @override\n */\n 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 /**\n * @params {Array.} range target value: range[0] <= value && value <= range[1]\n * @return {Array.} [{seriesId, dataIndices: >}, ...]\n */\n findTargetDataIndices: function (range) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(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 /**\n * @implement\n */\n 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\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\nvar _default = ContinuousModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousModel.js?")},MHtr:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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 _default(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: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/single/prepareCustom.js?')},MI8n:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Event; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Emitter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return PauseableEmitter; });\n/* unused harmony export EventMultiplexer */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return EventBufferer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return Relay; });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("/cxE");\n/* harmony import */ var _functional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("C/vA");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("pmY6");\n/* harmony import */ var _linkedList_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("24hK");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n\r\n\r\n\r\n\r\nvar Event;\r\n(function (Event) {\r\n Event.None = function () { return _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__[/* Disposable */ "a"].None; };\r\n /**\r\n * Given an event, returns another event which only fires once.\r\n */\r\n function once(event) {\r\n return function (listener, thisArgs, disposables) {\r\n if (thisArgs === void 0) { thisArgs = null; }\r\n // we need this, in case the event fires during the listener call\r\n var didFire = false;\r\n var result;\r\n result = event(function (e) {\r\n if (didFire) {\r\n return;\r\n }\r\n else if (result) {\r\n result.dispose();\r\n }\r\n else {\r\n didFire = true;\r\n }\r\n return listener.call(thisArgs, e);\r\n }, null, disposables);\r\n if (didFire) {\r\n result.dispose();\r\n }\r\n return result;\r\n };\r\n }\r\n Event.once = once;\r\n /**\r\n * Given an event and a `map` function, returns another event which maps each element\r\n * through the mapping function.\r\n */\r\n function map(event, map) {\r\n return snapshot(function (listener, thisArgs, disposables) {\r\n if (thisArgs === void 0) { thisArgs = null; }\r\n return event(function (i) { return listener.call(thisArgs, map(i)); }, null, disposables);\r\n });\r\n }\r\n Event.map = map;\r\n /**\r\n * Given an event and an `each` function, returns another identical event and calls\r\n * the `each` function per each element.\r\n */\r\n function forEach(event, each) {\r\n return snapshot(function (listener, thisArgs, disposables) {\r\n if (thisArgs === void 0) { thisArgs = null; }\r\n return event(function (i) { each(i); listener.call(thisArgs, i); }, null, disposables);\r\n });\r\n }\r\n Event.forEach = forEach;\r\n function filter(event, filter) {\r\n return snapshot(function (listener, thisArgs, disposables) {\r\n if (thisArgs === void 0) { thisArgs = null; }\r\n return event(function (e) { return filter(e) && listener.call(thisArgs, e); }, null, disposables);\r\n });\r\n }\r\n Event.filter = filter;\r\n /**\r\n * Given an event, returns the same event but typed as `Event`.\r\n */\r\n function signal(event) {\r\n return event;\r\n }\r\n Event.signal = signal;\r\n /**\r\n * Given a collection of events, returns a single event which emits\r\n * whenever any of the provided events emit.\r\n */\r\n function any() {\r\n var events = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n events[_i] = arguments[_i];\r\n }\r\n return function (listener, thisArgs, disposables) {\r\n if (thisArgs === void 0) { thisArgs = null; }\r\n return _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__[/* combinedDisposable */ "e"].apply(void 0, events.map(function (event) { return event(function (e) { return listener.call(thisArgs, e); }, null, disposables); }));\r\n };\r\n }\r\n Event.any = any;\r\n /**\r\n * Given an event and a `merge` function, returns another event which maps each element\r\n * and the cumulative result through the `merge` function. Similar to `map`, but with memory.\r\n */\r\n function reduce(event, merge, initial) {\r\n var output = initial;\r\n return map(event, function (e) {\r\n output = merge(output, e);\r\n return output;\r\n });\r\n }\r\n Event.reduce = reduce;\r\n /**\r\n * Given a chain of event processing functions (filter, map, etc), each\r\n * function will be invoked per event & per listener. Snapshotting an event\r\n * chain allows each function to be invoked just once per event.\r\n */\r\n function snapshot(event) {\r\n var listener;\r\n var emitter = new Emitter({\r\n onFirstListenerAdd: function () {\r\n listener = event(emitter.fire, emitter);\r\n },\r\n onLastListenerRemove: function () {\r\n listener.dispose();\r\n }\r\n });\r\n return emitter.event;\r\n }\r\n Event.snapshot = snapshot;\r\n function debounce(event, merge, delay, leading, leakWarningThreshold) {\r\n if (delay === void 0) { delay = 100; }\r\n if (leading === void 0) { leading = false; }\r\n var subscription;\r\n var output = undefined;\r\n var handle = undefined;\r\n var numDebouncedCalls = 0;\r\n var emitter = new Emitter({\r\n leakWarningThreshold: leakWarningThreshold,\r\n onFirstListenerAdd: function () {\r\n subscription = event(function (cur) {\r\n numDebouncedCalls++;\r\n output = merge(output, cur);\r\n if (leading && !handle) {\r\n emitter.fire(output);\r\n output = undefined;\r\n }\r\n clearTimeout(handle);\r\n handle = setTimeout(function () {\r\n var _output = output;\r\n output = undefined;\r\n handle = undefined;\r\n if (!leading || numDebouncedCalls > 1) {\r\n emitter.fire(_output);\r\n }\r\n numDebouncedCalls = 0;\r\n }, delay);\r\n });\r\n },\r\n onLastListenerRemove: function () {\r\n subscription.dispose();\r\n }\r\n });\r\n return emitter.event;\r\n }\r\n Event.debounce = debounce;\r\n /**\r\n * Given an event, it returns another event which fires only once and as soon as\r\n * the input event emits. The event data is the number of millis it took for the\r\n * event to fire.\r\n */\r\n function stopwatch(event) {\r\n var start = new Date().getTime();\r\n return map(once(event), function (_) { return new Date().getTime() - start; });\r\n }\r\n Event.stopwatch = stopwatch;\r\n /**\r\n * Given an event, it returns another event which fires only when the event\r\n * element changes.\r\n */\r\n function latch(event) {\r\n var firstCall = true;\r\n var cache;\r\n return filter(event, function (value) {\r\n var shouldEmit = firstCall || value !== cache;\r\n firstCall = false;\r\n cache = value;\r\n return shouldEmit;\r\n });\r\n }\r\n Event.latch = latch;\r\n /**\r\n * Buffers the provided event until a first listener comes\r\n * along, at which point fire all the events at once and\r\n * pipe the event from then on.\r\n *\r\n * ```typescript\r\n * const emitter = new Emitter();\r\n * const event = emitter.event;\r\n * const bufferedEvent = buffer(event);\r\n *\r\n * emitter.fire(1);\r\n * emitter.fire(2);\r\n * emitter.fire(3);\r\n * // nothing...\r\n *\r\n * const listener = bufferedEvent(num => console.log(num));\r\n * // 1, 2, 3\r\n *\r\n * emitter.fire(4);\r\n * // 4\r\n * ```\r\n */\r\n function buffer(event, nextTick, _buffer) {\r\n if (nextTick === void 0) { nextTick = false; }\r\n if (_buffer === void 0) { _buffer = []; }\r\n var buffer = _buffer.slice();\r\n var listener = event(function (e) {\r\n if (buffer) {\r\n buffer.push(e);\r\n }\r\n else {\r\n emitter.fire(e);\r\n }\r\n });\r\n var flush = function () {\r\n if (buffer) {\r\n buffer.forEach(function (e) { return emitter.fire(e); });\r\n }\r\n buffer = null;\r\n };\r\n var emitter = new Emitter({\r\n onFirstListenerAdd: function () {\r\n if (!listener) {\r\n listener = event(function (e) { return emitter.fire(e); });\r\n }\r\n },\r\n onFirstListenerDidAdd: function () {\r\n if (buffer) {\r\n if (nextTick) {\r\n setTimeout(flush);\r\n }\r\n else {\r\n flush();\r\n }\r\n }\r\n },\r\n onLastListenerRemove: function () {\r\n if (listener) {\r\n listener.dispose();\r\n }\r\n listener = null;\r\n }\r\n });\r\n return emitter.event;\r\n }\r\n Event.buffer = buffer;\r\n var ChainableEvent = /** @class */ (function () {\r\n function ChainableEvent(event) {\r\n this.event = event;\r\n }\r\n ChainableEvent.prototype.map = function (fn) {\r\n return new ChainableEvent(map(this.event, fn));\r\n };\r\n ChainableEvent.prototype.forEach = function (fn) {\r\n return new ChainableEvent(forEach(this.event, fn));\r\n };\r\n ChainableEvent.prototype.filter = function (fn) {\r\n return new ChainableEvent(filter(this.event, fn));\r\n };\r\n ChainableEvent.prototype.reduce = function (merge, initial) {\r\n return new ChainableEvent(reduce(this.event, merge, initial));\r\n };\r\n ChainableEvent.prototype.latch = function () {\r\n return new ChainableEvent(latch(this.event));\r\n };\r\n ChainableEvent.prototype.debounce = function (merge, delay, leading, leakWarningThreshold) {\r\n if (delay === void 0) { delay = 100; }\r\n if (leading === void 0) { leading = false; }\r\n return new ChainableEvent(debounce(this.event, merge, delay, leading, leakWarningThreshold));\r\n };\r\n ChainableEvent.prototype.on = function (listener, thisArgs, disposables) {\r\n return this.event(listener, thisArgs, disposables);\r\n };\r\n ChainableEvent.prototype.once = function (listener, thisArgs, disposables) {\r\n return once(this.event)(listener, thisArgs, disposables);\r\n };\r\n return ChainableEvent;\r\n }());\r\n function chain(event) {\r\n return new ChainableEvent(event);\r\n }\r\n Event.chain = chain;\r\n function fromNodeEventEmitter(emitter, eventName, map) {\r\n if (map === void 0) { map = function (id) { return id; }; }\r\n var fn = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return result.fire(map.apply(void 0, args));\r\n };\r\n var onFirstListenerAdd = function () { return emitter.on(eventName, fn); };\r\n var onLastListenerRemove = function () { return emitter.removeListener(eventName, fn); };\r\n var result = new Emitter({ onFirstListenerAdd: onFirstListenerAdd, onLastListenerRemove: onLastListenerRemove });\r\n return result.event;\r\n }\r\n Event.fromNodeEventEmitter = fromNodeEventEmitter;\r\n function fromDOMEventEmitter(emitter, eventName, map) {\r\n if (map === void 0) { map = function (id) { return id; }; }\r\n var fn = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return result.fire(map.apply(void 0, args));\r\n };\r\n var onFirstListenerAdd = function () { return emitter.addEventListener(eventName, fn); };\r\n var onLastListenerRemove = function () { return emitter.removeEventListener(eventName, fn); };\r\n var result = new Emitter({ onFirstListenerAdd: onFirstListenerAdd, onLastListenerRemove: onLastListenerRemove });\r\n return result.event;\r\n }\r\n Event.fromDOMEventEmitter = fromDOMEventEmitter;\r\n function fromPromise(promise) {\r\n var emitter = new Emitter();\r\n var shouldEmit = false;\r\n promise\r\n .then(undefined, function () { return null; })\r\n .then(function () {\r\n if (!shouldEmit) {\r\n setTimeout(function () { return emitter.fire(undefined); }, 0);\r\n }\r\n else {\r\n emitter.fire(undefined);\r\n }\r\n });\r\n shouldEmit = true;\r\n return emitter.event;\r\n }\r\n Event.fromPromise = fromPromise;\r\n function toPromise(event) {\r\n return new Promise(function (c) { return once(event)(c); });\r\n }\r\n Event.toPromise = toPromise;\r\n})(Event || (Event = {}));\r\nvar _globalLeakWarningThreshold = -1;\r\nvar LeakageMonitor = /** @class */ (function () {\r\n function LeakageMonitor(customThreshold, name) {\r\n if (name === void 0) { name = Math.random().toString(18).slice(2, 5); }\r\n this.customThreshold = customThreshold;\r\n this.name = name;\r\n this._warnCountdown = 0;\r\n }\r\n LeakageMonitor.prototype.dispose = function () {\r\n if (this._stacks) {\r\n this._stacks.clear();\r\n }\r\n };\r\n LeakageMonitor.prototype.check = function (listenerCount) {\r\n var _this = this;\r\n var threshold = _globalLeakWarningThreshold;\r\n if (typeof this.customThreshold === \'number\') {\r\n threshold = this.customThreshold;\r\n }\r\n if (threshold <= 0 || listenerCount < threshold) {\r\n return undefined;\r\n }\r\n if (!this._stacks) {\r\n this._stacks = new Map();\r\n }\r\n var stack = new Error().stack.split(\'\\n\').slice(3).join(\'\\n\');\r\n var count = (this._stacks.get(stack) || 0);\r\n this._stacks.set(stack, count + 1);\r\n this._warnCountdown -= 1;\r\n if (this._warnCountdown <= 0) {\r\n // only warn on first exceed and then every time the limit\r\n // is exceeded by 50% again\r\n this._warnCountdown = threshold * 0.5;\r\n // find most frequent listener and print warning\r\n var topStack_1;\r\n var topCount_1 = 0;\r\n this._stacks.forEach(function (count, stack) {\r\n if (!topStack_1 || topCount_1 < count) {\r\n topStack_1 = stack;\r\n topCount_1 = count;\r\n }\r\n });\r\n console.warn("[" + this.name + "] potential listener LEAK detected, having " + listenerCount + " listeners already. MOST frequent listener (" + topCount_1 + "):");\r\n console.warn(topStack_1);\r\n }\r\n return function () {\r\n var count = (_this._stacks.get(stack) || 0);\r\n _this._stacks.set(stack, count - 1);\r\n };\r\n };\r\n return LeakageMonitor;\r\n}());\r\n/**\r\n * The Emitter can be used to expose an Event to the public\r\n * to fire it from the insides.\r\n * Sample:\r\n class Document {\r\n\r\n private readonly _onDidChange = new Emitter<(value:string)=>any>();\r\n\r\n public onDidChange = this._onDidChange.event;\r\n\r\n // getter-style\r\n // get onDidChange(): Event<(value:string)=>any> {\r\n // \treturn this._onDidChange.event;\r\n // }\r\n\r\n private _doIt() {\r\n //...\r\n this._onDidChange.fire(value);\r\n }\r\n }\r\n */\r\nvar Emitter = /** @class */ (function () {\r\n function Emitter(options) {\r\n this._disposed = false;\r\n this._options = options;\r\n this._leakageMon = _globalLeakWarningThreshold > 0\r\n ? new LeakageMonitor(this._options && this._options.leakWarningThreshold)\r\n : undefined;\r\n }\r\n Object.defineProperty(Emitter.prototype, "event", {\r\n /**\r\n * For the public to allow to subscribe\r\n * to events from this Emitter\r\n */\r\n get: function () {\r\n var _this = this;\r\n if (!this._event) {\r\n this._event = function (listener, thisArgs, disposables) {\r\n if (!_this._listeners) {\r\n _this._listeners = new _linkedList_js__WEBPACK_IMPORTED_MODULE_3__[/* LinkedList */ "a"]();\r\n }\r\n var firstListener = _this._listeners.isEmpty();\r\n if (firstListener && _this._options && _this._options.onFirstListenerAdd) {\r\n _this._options.onFirstListenerAdd(_this);\r\n }\r\n var remove = _this._listeners.push(!thisArgs ? listener : [listener, thisArgs]);\r\n if (firstListener && _this._options && _this._options.onFirstListenerDidAdd) {\r\n _this._options.onFirstListenerDidAdd(_this);\r\n }\r\n if (_this._options && _this._options.onListenerDidAdd) {\r\n _this._options.onListenerDidAdd(_this, listener, thisArgs);\r\n }\r\n // check and record this emitter for potential leakage\r\n var removeMonitor;\r\n if (_this._leakageMon) {\r\n removeMonitor = _this._leakageMon.check(_this._listeners.size);\r\n }\r\n var result;\r\n result = {\r\n dispose: function () {\r\n if (removeMonitor) {\r\n removeMonitor();\r\n }\r\n result.dispose = Emitter._noop;\r\n if (!_this._disposed) {\r\n remove();\r\n if (_this._options && _this._options.onLastListenerRemove) {\r\n var hasListeners = (_this._listeners && !_this._listeners.isEmpty());\r\n if (!hasListeners) {\r\n _this._options.onLastListenerRemove(_this);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n if (disposables instanceof _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__[/* DisposableStore */ "b"]) {\r\n disposables.add(result);\r\n }\r\n else if (Array.isArray(disposables)) {\r\n disposables.push(result);\r\n }\r\n return result;\r\n };\r\n }\r\n return this._event;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * To be kept private to fire an event to\r\n * subscribers\r\n */\r\n Emitter.prototype.fire = function (event) {\r\n if (this._listeners) {\r\n // put all [listener,event]-pairs into delivery queue\r\n // then emit all event. an inner/nested event might be\r\n // the driver of this\r\n if (!this._deliveryQueue) {\r\n this._deliveryQueue = new _linkedList_js__WEBPACK_IMPORTED_MODULE_3__[/* LinkedList */ "a"]();\r\n }\r\n for (var iter = this._listeners.iterator(), e = iter.next(); !e.done; e = iter.next()) {\r\n this._deliveryQueue.push([e.value, event]);\r\n }\r\n while (this._deliveryQueue.size > 0) {\r\n var _a = this._deliveryQueue.shift(), listener = _a[0], event_1 = _a[1];\r\n try {\r\n if (typeof listener === \'function\') {\r\n listener.call(undefined, event_1);\r\n }\r\n else {\r\n listener[0].call(listener[1], event_1);\r\n }\r\n }\r\n catch (e) {\r\n Object(_errors_js__WEBPACK_IMPORTED_MODULE_0__[/* onUnexpectedError */ "e"])(e);\r\n }\r\n }\r\n }\r\n };\r\n Emitter.prototype.dispose = function () {\r\n if (this._listeners) {\r\n this._listeners.clear();\r\n }\r\n if (this._deliveryQueue) {\r\n this._deliveryQueue.clear();\r\n }\r\n if (this._leakageMon) {\r\n this._leakageMon.dispose();\r\n }\r\n this._disposed = true;\r\n };\r\n Emitter._noop = function () { };\r\n return Emitter;\r\n}());\r\n\r\nvar PauseableEmitter = /** @class */ (function (_super) {\r\n __extends(PauseableEmitter, _super);\r\n function PauseableEmitter(options) {\r\n var _this = _super.call(this, options) || this;\r\n _this._isPaused = 0;\r\n _this._eventQueue = new _linkedList_js__WEBPACK_IMPORTED_MODULE_3__[/* LinkedList */ "a"]();\r\n _this._mergeFn = options && options.merge;\r\n return _this;\r\n }\r\n PauseableEmitter.prototype.pause = function () {\r\n this._isPaused++;\r\n };\r\n PauseableEmitter.prototype.resume = function () {\r\n if (this._isPaused !== 0 && --this._isPaused === 0) {\r\n if (this._mergeFn) {\r\n // use the merge function to create a single composite\r\n // event. make a copy in case firing pauses this emitter\r\n var events = this._eventQueue.toArray();\r\n this._eventQueue.clear();\r\n _super.prototype.fire.call(this, this._mergeFn(events));\r\n }\r\n else {\r\n // no merging, fire each event individually and test\r\n // that this emitter isn\'t paused halfway through\r\n while (!this._isPaused && this._eventQueue.size !== 0) {\r\n _super.prototype.fire.call(this, this._eventQueue.shift());\r\n }\r\n }\r\n }\r\n };\r\n PauseableEmitter.prototype.fire = function (event) {\r\n if (this._listeners) {\r\n if (this._isPaused !== 0) {\r\n this._eventQueue.push(event);\r\n }\r\n else {\r\n _super.prototype.fire.call(this, event);\r\n }\r\n }\r\n };\r\n return PauseableEmitter;\r\n}(Emitter));\r\n\r\nvar EventMultiplexer = /** @class */ (function () {\r\n function EventMultiplexer() {\r\n var _this = this;\r\n this.hasListeners = false;\r\n this.events = [];\r\n this.emitter = new Emitter({\r\n onFirstListenerAdd: function () { return _this.onFirstListenerAdd(); },\r\n onLastListenerRemove: function () { return _this.onLastListenerRemove(); }\r\n });\r\n }\r\n Object.defineProperty(EventMultiplexer.prototype, "event", {\r\n get: function () {\r\n return this.emitter.event;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n EventMultiplexer.prototype.add = function (event) {\r\n var _this = this;\r\n var e = { event: event, listener: null };\r\n this.events.push(e);\r\n if (this.hasListeners) {\r\n this.hook(e);\r\n }\r\n var dispose = function () {\r\n if (_this.hasListeners) {\r\n _this.unhook(e);\r\n }\r\n var idx = _this.events.indexOf(e);\r\n _this.events.splice(idx, 1);\r\n };\r\n return Object(_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__[/* toDisposable */ "h"])(Object(_functional_js__WEBPACK_IMPORTED_MODULE_1__[/* once */ "a"])(dispose));\r\n };\r\n EventMultiplexer.prototype.onFirstListenerAdd = function () {\r\n var _this = this;\r\n this.hasListeners = true;\r\n this.events.forEach(function (e) { return _this.hook(e); });\r\n };\r\n EventMultiplexer.prototype.onLastListenerRemove = function () {\r\n var _this = this;\r\n this.hasListeners = false;\r\n this.events.forEach(function (e) { return _this.unhook(e); });\r\n };\r\n EventMultiplexer.prototype.hook = function (e) {\r\n var _this = this;\r\n e.listener = e.event(function (r) { return _this.emitter.fire(r); });\r\n };\r\n EventMultiplexer.prototype.unhook = function (e) {\r\n if (e.listener) {\r\n e.listener.dispose();\r\n }\r\n e.listener = null;\r\n };\r\n EventMultiplexer.prototype.dispose = function () {\r\n this.emitter.dispose();\r\n };\r\n return EventMultiplexer;\r\n}());\r\n\r\n/**\r\n * The EventBufferer is useful in situations in which you want\r\n * to delay firing your events during some code.\r\n * You can wrap that code and be sure that the event will not\r\n * be fired during that wrap.\r\n *\r\n * ```\r\n * const emitter: Emitter;\r\n * const delayer = new EventDelayer();\r\n * const delayedEvent = delayer.wrapEvent(emitter.event);\r\n *\r\n * delayedEvent(console.log);\r\n *\r\n * delayer.bufferEvents(() => {\r\n * emitter.fire(); // event will not be fired yet\r\n * });\r\n *\r\n * // event will only be fired at this point\r\n * ```\r\n */\r\nvar EventBufferer = /** @class */ (function () {\r\n function EventBufferer() {\r\n this.buffers = [];\r\n }\r\n EventBufferer.prototype.wrapEvent = function (event) {\r\n var _this = this;\r\n return function (listener, thisArgs, disposables) {\r\n return event(function (i) {\r\n var buffer = _this.buffers[_this.buffers.length - 1];\r\n if (buffer) {\r\n buffer.push(function () { return listener.call(thisArgs, i); });\r\n }\r\n else {\r\n listener.call(thisArgs, i);\r\n }\r\n }, undefined, disposables);\r\n };\r\n };\r\n EventBufferer.prototype.bufferEvents = function (fn) {\r\n var buffer = [];\r\n this.buffers.push(buffer);\r\n var r = fn();\r\n this.buffers.pop();\r\n buffer.forEach(function (flush) { return flush(); });\r\n return r;\r\n };\r\n return EventBufferer;\r\n}());\r\n\r\n/**\r\n * A Relay is an event forwarder which functions as a replugabble event pipe.\r\n * Once created, you can connect an input event to it and it will simply forward\r\n * events from that input event through its own `event` property. The `input`\r\n * can be changed at any point in time.\r\n */\r\nvar Relay = /** @class */ (function () {\r\n function Relay() {\r\n var _this = this;\r\n this.listening = false;\r\n this.inputEvent = Event.None;\r\n this.inputEventListener = _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__[/* Disposable */ "a"].None;\r\n this.emitter = new Emitter({\r\n onFirstListenerDidAdd: function () {\r\n _this.listening = true;\r\n _this.inputEventListener = _this.inputEvent(_this.emitter.fire, _this.emitter);\r\n },\r\n onLastListenerRemove: function () {\r\n _this.listening = false;\r\n _this.inputEventListener.dispose();\r\n }\r\n });\r\n this.event = this.emitter.event;\r\n }\r\n Object.defineProperty(Relay.prototype, "input", {\r\n set: function (event) {\r\n this.inputEvent = event;\r\n if (this.listening) {\r\n this.inputEventListener.dispose();\r\n this.inputEventListener = event(this.emitter.fire, this.emitter);\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Relay.prototype.dispose = function () {\r\n this.inputEventListener.dispose();\r\n this.emitter.dispose();\r\n };\r\n return Relay;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/event.js?')},MKOG:function(module,exports,__webpack_require__){eval('var util = __webpack_require__("bYtY");\n\nvar _event = __webpack_require__("YH21");\n\nvar Dispatcher = _event.Dispatcher;\n\nvar requestAnimationFrame = __webpack_require__("mLcG");\n\nvar Animator = __webpack_require__("Bq2U");\n\n/**\n * Animation main class, dispatch and manage all animation controllers\n *\n * @module zrender/animation/Animation\n * @author pissang(https://github.com/pissang)\n */\n// TODO Additive animation\n// http://iosoteric.com/additive-animations-animatewithduration-in-ios-8/\n// https://developer.apple.com/videos/wwdc2014/#236\n\n/**\n * @typedef {Object} IZRenderStage\n * @property {Function} update\n */\n\n/**\n * @alias module:zrender/animation/Animation\n * @constructor\n * @param {Object} [options]\n * @param {Function} [options.onframe]\n * @param {IZRenderStage} [options.stage]\n * @example\n * var animation = new Animation();\n * var obj = {\n * x: 100,\n * y: 100\n * };\n * animation.animate(node.position)\n * .when(1000, {\n * x: 500,\n * y: 500\n * })\n * .when(2000, {\n * x: 100,\n * y: 100\n * })\n * .start(\'spline\');\n */\nvar Animation = function (options) {\n options = options || {};\n this.stage = options.stage || {};\n\n this.onframe = options.onframe || function () {}; // private properties\n\n\n this._clips = [];\n this._running = false;\n this._time;\n this._pausedTime;\n this._pauseStart;\n this._paused = false;\n Dispatcher.call(this);\n};\n\nAnimation.prototype = {\n constructor: Animation,\n\n /**\n * Add clip\n * @param {module:zrender/animation/Clip} clip\n */\n addClip: function (clip) {\n this._clips.push(clip);\n },\n\n /**\n * Add animator\n * @param {module:zrender/animation/Animator} animator\n */\n addAnimator: function (animator) {\n animator.animation = this;\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.addClip(clips[i]);\n }\n },\n\n /**\n * Delete animation clip\n * @param {module:zrender/animation/Clip} clip\n */\n removeClip: function (clip) {\n var idx = util.indexOf(this._clips, clip);\n\n if (idx >= 0) {\n this._clips.splice(idx, 1);\n }\n },\n\n /**\n * Delete animation clip\n * @param {module:zrender/animation/Animator} animator\n */\n removeAnimator: function (animator) {\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.removeClip(clips[i]);\n }\n\n animator.animation = null;\n },\n _update: function () {\n var time = new Date().getTime() - this._pausedTime;\n\n var delta = time - this._time;\n var clips = this._clips;\n var len = clips.length;\n var deferredEvents = [];\n var deferredClips = [];\n\n for (var i = 0; i < len; i++) {\n var clip = clips[i];\n var e = clip.step(time, delta); // Throw out the events need to be called after\n // stage.update, like destroy\n\n if (e) {\n deferredEvents.push(e);\n deferredClips.push(clip);\n }\n } // Remove the finished clip\n\n\n for (var i = 0; i < len;) {\n if (clips[i]._needsRemove) {\n clips[i] = clips[len - 1];\n clips.pop();\n len--;\n } else {\n i++;\n }\n }\n\n len = deferredEvents.length;\n\n for (var i = 0; i < len; i++) {\n deferredClips[i].fire(deferredEvents[i]);\n }\n\n this._time = time;\n this.onframe(delta); // \'frame\' should be triggered before stage, because upper application\n // depends on the sequence (e.g., echarts-stream and finish\n // event judge)\n\n this.trigger(\'frame\', delta);\n\n if (this.stage.update) {\n this.stage.update();\n }\n },\n _startLoop: function () {\n var self = this;\n this._running = true;\n\n function step() {\n if (self._running) {\n requestAnimationFrame(step);\n !self._paused && self._update();\n }\n }\n\n requestAnimationFrame(step);\n },\n\n /**\n * Start animation.\n */\n start: function () {\n this._time = new Date().getTime();\n this._pausedTime = 0;\n\n this._startLoop();\n },\n\n /**\n * Stop animation.\n */\n stop: function () {\n this._running = false;\n },\n\n /**\n * Pause animation.\n */\n pause: function () {\n if (!this._paused) {\n this._pauseStart = new Date().getTime();\n this._paused = true;\n }\n },\n\n /**\n * Resume animation.\n */\n resume: function () {\n if (this._paused) {\n this._pausedTime += new Date().getTime() - this._pauseStart;\n this._paused = false;\n }\n },\n\n /**\n * Clear animation.\n */\n clear: function () {\n this._clips = [];\n },\n\n /**\n * Whether animation finished.\n */\n isFinished: function () {\n return !this._clips.length;\n },\n\n /**\n * Creat animator for a target, whose props can be animated.\n *\n * @param {Object} target\n * @param {Object} options\n * @param {boolean} [options.loop=false] Whether loop animation.\n * @param {Function} [options.getter=null] Get value from target.\n * @param {Function} [options.setter=null] Set value to target.\n * @return {module:zrender/animation/Animation~Animator}\n */\n // TODO Gap\n animate: function (target, options) {\n options = options || {};\n var animator = new Animator(target, options.loop, options.getter, options.setter);\n this.addAnimator(animator);\n return animator;\n }\n};\nutil.mixin(Animation, Dispatcher);\nvar _default = Animation;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/animation/Animation.js?')},MMmD:function(module,exports,__webpack_require__){eval("var isFunction = __webpack_require__(\"lSCD\"),\n isLength = __webpack_require__(\"shjB\");\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/isArrayLike.js?")},MNXI:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/lightBulbWidget.css?")},MNsG:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process, global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return isWindows; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return isMacintosh; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isLinux; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return isNative; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return isWeb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return isIOS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return globals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return setImmediate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return OS; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar LANGUAGE_DEFAULT = 'en';\r\nvar _isWindows = false;\r\nvar _isMacintosh = false;\r\nvar _isLinux = false;\r\nvar _isNative = false;\r\nvar _isWeb = false;\r\nvar _isIOS = false;\r\nvar _locale = undefined;\r\nvar _language = LANGUAGE_DEFAULT;\r\nvar _translationsConfigFile = undefined;\r\nvar _userAgent = undefined;\r\nvar isElectronRenderer = (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'renderer');\r\n// OS detection\r\nif (typeof navigator === 'object' && !isElectronRenderer) {\r\n _userAgent = navigator.userAgent;\r\n _isWindows = _userAgent.indexOf('Windows') >= 0;\r\n _isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\r\n _isIOS = _userAgent.indexOf('Macintosh') >= 0 && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\r\n _isLinux = _userAgent.indexOf('Linux') >= 0;\r\n _isWeb = true;\r\n _locale = navigator.language;\r\n _language = _locale;\r\n}\r\nelse if (typeof process === 'object') {\r\n _isWindows = (process.platform === 'win32');\r\n _isMacintosh = (process.platform === 'darwin');\r\n _isLinux = (process.platform === 'linux');\r\n _locale = LANGUAGE_DEFAULT;\r\n _language = LANGUAGE_DEFAULT;\r\n var rawNlsConfig = Object({\"NODE_ENV\":\"production\"})['VSCODE_NLS_CONFIG'];\r\n if (rawNlsConfig) {\r\n try {\r\n var nlsConfig = JSON.parse(rawNlsConfig);\r\n var resolved = nlsConfig.availableLanguages['*'];\r\n _locale = nlsConfig.locale;\r\n // VSCode's default language is 'en'\r\n _language = resolved ? resolved : LANGUAGE_DEFAULT;\r\n _translationsConfigFile = nlsConfig._translationsConfigFile;\r\n }\r\n catch (e) {\r\n }\r\n }\r\n _isNative = true;\r\n}\r\nvar _platform = 0 /* Web */;\r\nif (_isMacintosh) {\r\n _platform = 1 /* Mac */;\r\n}\r\nelse if (_isWindows) {\r\n _platform = 3 /* Windows */;\r\n}\r\nelse if (_isLinux) {\r\n _platform = 2 /* Linux */;\r\n}\r\nvar isWindows = _isWindows;\r\nvar isMacintosh = _isMacintosh;\r\nvar isLinux = _isLinux;\r\nvar isNative = _isNative;\r\nvar isWeb = _isWeb;\r\nvar isIOS = _isIOS;\r\nvar _globals = (typeof self === 'object' ? self : typeof global === 'object' ? global : {});\r\nvar globals = _globals;\r\nvar setImmediate = (function defineSetImmediate() {\r\n if (globals.setImmediate) {\r\n return globals.setImmediate.bind(globals);\r\n }\r\n if (typeof globals.postMessage === 'function' && !globals.importScripts) {\r\n var pending_1 = [];\r\n globals.addEventListener('message', function (e) {\r\n if (e.data && e.data.vscodeSetImmediateId) {\r\n for (var i = 0, len = pending_1.length; i < len; i++) {\r\n var candidate = pending_1[i];\r\n if (candidate.id === e.data.vscodeSetImmediateId) {\r\n pending_1.splice(i, 1);\r\n candidate.callback();\r\n return;\r\n }\r\n }\r\n }\r\n });\r\n var lastId_1 = 0;\r\n return function (callback) {\r\n var myId = ++lastId_1;\r\n pending_1.push({\r\n id: myId,\r\n callback: callback\r\n });\r\n globals.postMessage({ vscodeSetImmediateId: myId }, '*');\r\n };\r\n }\r\n if (typeof process !== 'undefined' && typeof process.nextTick === 'function') {\r\n return process.nextTick.bind(process);\r\n }\r\n var _promise = Promise.resolve();\r\n return function (callback) { return _promise.then(callback); };\r\n})();\r\nvar OS = (_isMacintosh ? 2 /* Macintosh */ : (_isWindows ? 1 /* Windows */ : 3 /* Linux */));\r\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"Q2Ig\"), __webpack_require__(\"yLpj\")))\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/platform.js?")},MPFp:function(module,exports,__webpack_require__){"use strict";eval("\nvar LIBRARY = __webpack_require__(\"uOPS\");\nvar $export = __webpack_require__(\"Y7ZC\");\nvar redefine = __webpack_require__(\"kTiW\");\nvar hide = __webpack_require__(\"NegM\");\nvar Iterators = __webpack_require__(\"SBuE\");\nvar $iterCreate = __webpack_require__(\"j2DC\");\nvar setToStringTag = __webpack_require__(\"RfKB\");\nvar getPrototypeOf = __webpack_require__(\"U+KD\");\nvar ITERATOR = __webpack_require__(\"UWiX\")('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/core-js/library/modules/_iter-define.js?")},MRoa:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n__webpack_require__("0Bwj");\n\n__webpack_require__("W2nI");\n\n__webpack_require__("vcCh");\n\nvar sankeyLayout = __webpack_require__("gawk");\n\nvar sankeyVisual = __webpack_require__("Dg8C");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerLayout(sankeyLayout);\necharts.registerVisual(sankeyVisual);\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sankey.js?')},MT78:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__("ProS");\n\n(function () {\n for (var key in _echarts) {\n if (_echarts == null || !_echarts.hasOwnProperty(key) || key === \'default\' || key === \'__esModule\') return;\n exports[key] = _echarts[key];\n }\n})();\n\nvar _export = __webpack_require__("txkQ");\n\n(function () {\n for (var key in _export) {\n if (_export == null || !_export.hasOwnProperty(key) || key === \'default\' || key === \'__esModule\') return;\n exports[key] = _export[key];\n }\n})();\n\n__webpack_require__("A1Ka");\n\n__webpack_require__("75ce");\n\n__webpack_require__("lLGD");\n\n__webpack_require__("wDdD");\n\n__webpack_require__("Fa/5");\n\n__webpack_require__("jett");\n\n__webpack_require__("Z1wy");\n\n__webpack_require__("75ev");\n\n__webpack_require__("2uGb");\n\n__webpack_require__("I+77");\n\n__webpack_require__("B+YJ");\n\n__webpack_require__("pLH3");\n\n__webpack_require__("CBdT");\n\n__webpack_require__("MRoa");\n\n__webpack_require__("+lIL");\n\n__webpack_require__("CF2D");\n\n__webpack_require__("ERHi");\n\n__webpack_require__("p+If");\n\n__webpack_require__("XOKv");\n\n__webpack_require__("qt/9");\n\n__webpack_require__("bBL8");\n\n__webpack_require__("1xaR");\n\n__webpack_require__("4Feb");\n\n__webpack_require__("zRKj");\n\n__webpack_require__("L3Oj");\n\n__webpack_require__("0HBW");\n\n__webpack_require__("LPzL");\n\n__webpack_require__("8waO");\n\n__webpack_require__("k5C7");\n\n__webpack_require__("f1nB");\n\n__webpack_require__("sRwP");\n\n__webpack_require__("AH3D");\n\n__webpack_require__("y4/Y");\n\n__webpack_require__("LzGr");\n\n__webpack_require__("Ynxi");\n\n__webpack_require__("7pVf");\n\n__webpack_require__("2w7y");\n\n__webpack_require__("laiN");\n\n__webpack_require__("fjKi");\n\n__webpack_require__("C0tN");\n\n__webpack_require__("0o9m");\n\n__webpack_require__("Cm0C");\n\n__webpack_require__("f3JH");\n\n__webpack_require__("5NHt");\n\n__webpack_require__("VFCP");\n\n__webpack_require__("dBmv");\n\n__webpack_require__("KamJ");\n\n__webpack_require__("8XDt");\n\n__webpack_require__("juDX");\n\n//# sourceURL=webpack:///./node_modules/echarts/index.js?')},MXAL:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CharacterClassifier; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CharacterSet; });\n/* harmony import */ var _base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("CZ1j");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/**\r\n * A fast character classifier that uses a compact array for ASCII values.\r\n */\r\nvar CharacterClassifier = /** @class */ (function () {\r\n function CharacterClassifier(_defaultValue) {\r\n var defaultValue = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint8 */ "b"])(_defaultValue);\r\n this._defaultValue = defaultValue;\r\n this._asciiMap = CharacterClassifier._createAsciiMap(defaultValue);\r\n this._map = new Map();\r\n }\r\n CharacterClassifier._createAsciiMap = function (defaultValue) {\r\n var asciiMap = new Uint8Array(256);\r\n for (var i = 0; i < 256; i++) {\r\n asciiMap[i] = defaultValue;\r\n }\r\n return asciiMap;\r\n };\r\n CharacterClassifier.prototype.set = function (charCode, _value) {\r\n var value = Object(_base_common_uint_js__WEBPACK_IMPORTED_MODULE_0__[/* toUint8 */ "b"])(_value);\r\n if (charCode >= 0 && charCode < 256) {\r\n this._asciiMap[charCode] = value;\r\n }\r\n else {\r\n this._map.set(charCode, value);\r\n }\r\n };\r\n CharacterClassifier.prototype.get = function (charCode) {\r\n if (charCode >= 0 && charCode < 256) {\r\n return this._asciiMap[charCode];\r\n }\r\n else {\r\n return (this._map.get(charCode) || this._defaultValue);\r\n }\r\n };\r\n return CharacterClassifier;\r\n}());\r\n\r\nvar CharacterSet = /** @class */ (function () {\r\n function CharacterSet() {\r\n this._actual = new CharacterClassifier(0 /* False */);\r\n }\r\n CharacterSet.prototype.add = function (charCode) {\r\n this._actual.set(charCode, 1 /* True */);\r\n };\r\n CharacterSet.prototype.has = function (charCode) {\r\n return (this._actual.get(charCode) === 1 /* True */);\r\n };\r\n return CharacterSet;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.js?')},MXD1:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Kvyg");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/progress/style/index.js?')},Md8J:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return renderText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return renderFormattedText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return createElement; });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"EffR\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nfunction renderText(text, options) {\r\n if (options === void 0) { options = {}; }\r\n var element = createElement(options);\r\n element.textContent = text;\r\n return element;\r\n}\r\nfunction renderFormattedText(formattedText, options) {\r\n if (options === void 0) { options = {}; }\r\n var element = createElement(options);\r\n _renderFormattedText(element, parseFormattedText(formattedText), options.actionHandler);\r\n return element;\r\n}\r\nfunction createElement(options) {\r\n var tagName = options.inline ? 'span' : 'div';\r\n var element = document.createElement(tagName);\r\n if (options.className) {\r\n element.className = options.className;\r\n }\r\n return element;\r\n}\r\nvar StringStream = /** @class */ (function () {\r\n function StringStream(source) {\r\n this.source = source;\r\n this.index = 0;\r\n }\r\n StringStream.prototype.eos = function () {\r\n return this.index >= this.source.length;\r\n };\r\n StringStream.prototype.next = function () {\r\n var next = this.peek();\r\n this.advance();\r\n return next;\r\n };\r\n StringStream.prototype.peek = function () {\r\n return this.source[this.index];\r\n };\r\n StringStream.prototype.advance = function () {\r\n this.index++;\r\n };\r\n return StringStream;\r\n}());\r\nfunction _renderFormattedText(element, treeNode, actionHandler) {\r\n var child;\r\n if (treeNode.type === 2 /* Text */) {\r\n child = document.createTextNode(treeNode.content || '');\r\n }\r\n else if (treeNode.type === 3 /* Bold */) {\r\n child = document.createElement('b');\r\n }\r\n else if (treeNode.type === 4 /* Italics */) {\r\n child = document.createElement('i');\r\n }\r\n else if (treeNode.type === 5 /* Action */ && actionHandler) {\r\n var a = document.createElement('a');\r\n a.href = '#';\r\n actionHandler.disposeables.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__[/* addStandardDisposableListener */ \"n\"](a, 'click', function (event) {\r\n actionHandler.callback(String(treeNode.index), event);\r\n }));\r\n child = a;\r\n }\r\n else if (treeNode.type === 7 /* NewLine */) {\r\n child = document.createElement('br');\r\n }\r\n else if (treeNode.type === 1 /* Root */) {\r\n child = element;\r\n }\r\n if (child && element !== child) {\r\n element.appendChild(child);\r\n }\r\n if (child && Array.isArray(treeNode.children)) {\r\n treeNode.children.forEach(function (nodeChild) {\r\n _renderFormattedText(child, nodeChild, actionHandler);\r\n });\r\n }\r\n}\r\nfunction parseFormattedText(content) {\r\n var root = {\r\n type: 1 /* Root */,\r\n children: []\r\n };\r\n var actionViewItemIndex = 0;\r\n var current = root;\r\n var stack = [];\r\n var stream = new StringStream(content);\r\n while (!stream.eos()) {\r\n var next = stream.next();\r\n var isEscapedFormatType = (next === '\\\\' && formatTagType(stream.peek()) !== 0 /* Invalid */);\r\n if (isEscapedFormatType) {\r\n next = stream.next(); // unread the backslash if it escapes a format tag type\r\n }\r\n if (!isEscapedFormatType && isFormatTag(next) && next === stream.peek()) {\r\n stream.advance();\r\n if (current.type === 2 /* Text */) {\r\n current = stack.pop();\r\n }\r\n var type = formatTagType(next);\r\n if (current.type === type || (current.type === 5 /* Action */ && type === 6 /* ActionClose */)) {\r\n current = stack.pop();\r\n }\r\n else {\r\n var newCurrent = {\r\n type: type,\r\n children: []\r\n };\r\n if (type === 5 /* Action */) {\r\n newCurrent.index = actionViewItemIndex;\r\n actionViewItemIndex++;\r\n }\r\n current.children.push(newCurrent);\r\n stack.push(current);\r\n current = newCurrent;\r\n }\r\n }\r\n else if (next === '\\n') {\r\n if (current.type === 2 /* Text */) {\r\n current = stack.pop();\r\n }\r\n current.children.push({\r\n type: 7 /* NewLine */\r\n });\r\n }\r\n else {\r\n if (current.type !== 2 /* Text */) {\r\n var textCurrent = {\r\n type: 2 /* Text */,\r\n content: next\r\n };\r\n current.children.push(textCurrent);\r\n stack.push(current);\r\n current = textCurrent;\r\n }\r\n else {\r\n current.content += next;\r\n }\r\n }\r\n }\r\n if (current.type === 2 /* Text */) {\r\n current = stack.pop();\r\n }\r\n if (stack.length) {\r\n // incorrectly formatted string literal\r\n }\r\n return root;\r\n}\r\nfunction isFormatTag(char) {\r\n return formatTagType(char) !== 0 /* Invalid */;\r\n}\r\nfunction formatTagType(char) {\r\n switch (char) {\r\n case '*':\r\n return 3 /* Bold */;\r\n case '_':\r\n return 4 /* Italics */;\r\n case '[':\r\n return 5 /* Action */;\r\n case ']':\r\n return 6 /* ActionClose */;\r\n default:\r\n return 0 /* Invalid */;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js?")},Mdki:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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 */\nvar each = zrUtil.each;\nvar DATAS = \'\\0__link_datas\';\nvar MAIN_DATA = \'\\0__link_mainData\'; // Caution:\n// In most case, either list or its shallow clones (see list.cloneShallow)\n// is active in echarts process. So considering heap memory consumption,\n// we do not clone tree or graph, but share them among list and its shallow clones.\n// But in some rare case, we have to keep old list (like do animation in chart). So\n// please take care that both the old list and the new list share the same tree/graph.\n\n/**\n * @param {Object} opt\n * @param {module:echarts/data/List} opt.mainData\n * @param {Object} [opt.struct] For example, instance of Graph or Tree.\n * @param {string} [opt.structAttr] designation: list[structAttr] = struct;\n * @param {Object} [opt.datas] {dataType: data},\n * like: {node: nodeList, edge: edgeList}.\n * Should contain mainData.\n * @param {Object} [opt.datasAttr] {dataType: attr},\n * designation: struct[datasAttr[dataType]] = list;\n */\n\nfunction linkList(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 each(datas, function (data) {\n each(mainData.TRANSFERABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(transferInjection, opt));\n });\n }); // Beyond transfer, additional features should be added to `cloneShallow`.\n\n mainData.wrapMethod(\'cloneShallow\', zrUtil.curry(cloneShallowInjection, opt)); // Only mainData trigger change, because struct.update may trigger\n // another changable methods, which may bring about dead lock.\n\n each(mainData.CHANGABLE_METHODS, function (methodName) {\n mainData.wrapMethod(methodName, zrUtil.curry(changeInjection, opt));\n }); // Make sure datas contains mainData.\n\n zrUtil.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 = zrUtil.extend({}, 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, this[MAIN_DATA], opt);\n }\n\n return res;\n}\n\nfunction changeInjection(opt, res) {\n opt.struct && opt.struct.update(this);\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 each(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 {string} [dataType] If not specified, return mainData.\n * @return {module:echarts/data/List}\n */\n\n\nfunction getLinkedData(dataType) {\n var mainData = this[MAIN_DATA];\n return dataType == null || mainData == null ? mainData : mainData[DATAS][dataType];\n}\n\nfunction isMainData(data) {\n return data[MAIN_DATA] === data;\n}\n\nfunction linkAll(mainData, datas, opt) {\n mainData[DATAS] = {};\n each(datas, function (data, dataType) {\n linkSingle(data, dataType, mainData, opt);\n });\n}\n\nfunction linkSingle(data, dataType, mainData, opt) {\n mainData[DATAS][dataType] = data;\n data[MAIN_DATA] = 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}\n\nvar _default = linkList;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/data/helper/linkList.js?')},Mds0:function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _StarFilled = _interopRequireDefault(__webpack_require__("8IMR"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar StarFilled = function StarFilled(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _StarFilled.default\n }));\n};\n\nStarFilled.displayName = \'StarFilled\';\n\nvar _default = React.forwardRef(StarFilled);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/StarFilled.js?')},Mgri:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar Region = __webpack_require__("8nly");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 \u5357\u6d77\u8bf8\u5c9b\nvar geoCoord = [126, 25];\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 _default(mapType, regions) {\n if (mapType === \'china\') {\n regions.push(new Region(\'\u5357\u6d77\u8bf8\u5c9b\', zrUtil.map(points, function (exterior) {\n return {\n type: \'polygon\',\n exterior: exterior\n };\n }), geoCoord));\n }\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/coord/geo/fix/nanhai.js?')},MqEG:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar DataZoomView = __webpack_require__(\"fc+c\");\n\nvar sliderMove = __webpack_require__(\"72pK\");\n\nvar roams = __webpack_require__(\"VXYp\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 bind = zrUtil.bind;\nvar InsideZoomView = DataZoomView.extend({\n type: 'dataZoom.inside',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n /**\n * 'throttle' is used in this.dispatchAction, so we save range\n * to avoid missing some 'pan' info.\n * @private\n * @type {Array.}\n */\n this._range;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n InsideZoomView.superApply(this, 'render', arguments); // 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 this._range = dataZoomModel.getPercentRange(); // Reset controllers.\n\n zrUtil.each(this.getTargetCoordInfo(), function (coordInfoList, coordSysName) {\n var allCoordIds = zrUtil.map(coordInfoList, function (coordInfo) {\n return roams.generateCoordId(coordInfo.model);\n });\n zrUtil.each(coordInfoList, function (coordInfo) {\n var coordModel = coordInfo.model;\n var getRange = {};\n zrUtil.each(['pan', 'zoom', 'scrollMove'], function (eventName) {\n getRange[eventName] = bind(roamHandlers[eventName], this, coordInfo, coordSysName);\n }, this);\n roams.register(api, {\n coordId: roams.generateCoordId(coordModel),\n allCoordIds: allCoordIds,\n containsPoint: function (e, x, y) {\n return coordModel.coordinateSystem.containPoint([x, y]);\n },\n dataZoomId: dataZoomModel.id,\n dataZoomModel: dataZoomModel,\n getRange: getRange\n });\n }, this);\n }, this);\n },\n\n /**\n * @override\n */\n dispose: function () {\n roams.unregister(this.api, this.dataZoomModel.id);\n InsideZoomView.superApply(this, 'dispose', arguments);\n this._range = null;\n }\n});\nvar roamHandlers = {\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n zoom: function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var directionInfo = getDirectionInfo[coordSysName](null, [e.originX, e.originY], axisModel, controller, coordInfo);\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 sliderMove(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\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n pan: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([e.oldX, e.oldY], [e.newX, e.newY], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * directionInfo.pixel / directionInfo.pixelLength;\n }),\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n scrollMove: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([0, 0], [e.scrollDelta, e.scrollDelta], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * e.scrollDelta;\n })\n};\n\nfunction makeMover(getPercentDelta) {\n return function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var percentDelta = getPercentDelta(range, axisModel, coordInfo, coordSysName, controller, e);\n sliderMove(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, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var rect = coordInfo.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, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var polar = coordInfo.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, coordInfo) {\n var axis = axisModel.axis;\n var rect = coordInfo.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};\nvar _default = InsideZoomView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js?")},MqQJ:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* unused harmony export Extensions */\n/* unused harmony export EditorModesRegistry */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ModesRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return PLAINTEXT_MODE_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return PLAINTEXT_LANGUAGE_IDENTIFIER; });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"3/fG\");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"MI8n\");\n/* harmony import */ var _modes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"twdY\");\n/* harmony import */ var _languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"cMvZ\");\n/* harmony import */ var _platform_registry_common_platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"ic2d\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\n\r\n// Define extension point ids\r\nvar Extensions = {\r\n ModesRegistry: 'editor.modesRegistry'\r\n};\r\nvar EditorModesRegistry = /** @class */ (function () {\r\n function EditorModesRegistry() {\r\n this._onDidChangeLanguages = new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__[/* Emitter */ \"a\"]();\r\n this.onDidChangeLanguages = this._onDidChangeLanguages.event;\r\n this._languages = [];\r\n this._dynamicLanguages = [];\r\n }\r\n // --- languages\r\n EditorModesRegistry.prototype.registerLanguage = function (def) {\r\n this._languages.push(def);\r\n this._onDidChangeLanguages.fire(undefined);\r\n };\r\n EditorModesRegistry.prototype.getLanguages = function () {\r\n return [].concat(this._languages).concat(this._dynamicLanguages);\r\n };\r\n return EditorModesRegistry;\r\n}());\r\n\r\nvar ModesRegistry = new EditorModesRegistry();\r\n_platform_registry_common_platform_js__WEBPACK_IMPORTED_MODULE_4__[/* Registry */ \"a\"].add(Extensions.ModesRegistry, ModesRegistry);\r\nvar PLAINTEXT_MODE_ID = 'plaintext';\r\nvar PLAINTEXT_LANGUAGE_IDENTIFIER = new _modes_js__WEBPACK_IMPORTED_MODULE_2__[/* LanguageIdentifier */ \"q\"](PLAINTEXT_MODE_ID, 1 /* PlainText */);\r\nModesRegistry.registerLanguage({\r\n id: PLAINTEXT_MODE_ID,\r\n extensions: ['.txt', '.gitignore'],\r\n aliases: [_nls_js__WEBPACK_IMPORTED_MODULE_0__[/* localize */ \"a\"]('plainText.alias', \"Plain Text\"), 'text'],\r\n mimetypes: ['text/plain']\r\n});\r\n_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_3__[/* LanguageConfigurationRegistry */ \"a\"].register(PLAINTEXT_LANGUAGE_IDENTIFIER, {\r\n brackets: [\r\n ['(', ')'],\r\n ['[', ']'],\r\n ['{', '}'],\r\n ],\r\n surroundingPairs: [\r\n { open: '{', close: '}' },\r\n { open: '[', close: ']' },\r\n { open: '(', close: ')' },\r\n { open: '<', close: '>' },\r\n { open: '\\\"', close: '\\\"' },\r\n { open: '\\'', close: '\\'' },\r\n { open: '`', close: '`' },\r\n ],\r\n folding: {\r\n offSide: true\r\n }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/modes/modesRegistry.js?")},MrjW:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"win32\", function() { return win32; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"posix\", function() { return posix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalize\", function() { return normalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return join; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"relative\", function() { return relative; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dirname\", function() { return dirname; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"basename\", function() { return basename; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extname\", function() { return extname; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sep\", function() { return sep; });\n/* harmony import */ var _process_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"wxcJ\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\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\n// NOTE: VSCode's copy of nodejs path library to be usable in common (non-node) namespace\r\n// Copied from: https://github.com/nodejs/node/tree/43dd49c9782848c25e5b03448c8a0f923f13c158\r\n/**\r\n * Copyright Joyent, Inc. and other Node contributors.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a\r\n * copy of this software and associated documentation files (the\r\n * \"Software\"), to deal in the Software without restriction, including\r\n * without limitation the rights to use, copy, modify, merge, publish,\r\n * distribute, sublicense, and/or sell copies of the Software, and to permit\r\n * persons to whom the Software is furnished to do so, subject to the\r\n * following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included\r\n * in all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\r\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\r\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n */\r\n\r\nvar CHAR_UPPERCASE_A = 65; /* A */\r\nvar CHAR_LOWERCASE_A = 97; /* a */\r\nvar CHAR_UPPERCASE_Z = 90; /* Z */\r\nvar CHAR_LOWERCASE_Z = 122; /* z */\r\nvar CHAR_DOT = 46; /* . */\r\nvar CHAR_FORWARD_SLASH = 47; /* / */\r\nvar CHAR_BACKWARD_SLASH = 92; /* \\ */\r\nvar CHAR_COLON = 58; /* : */\r\nvar CHAR_QUESTION_MARK = 63; /* ? */\r\nvar ErrorInvalidArgType = /** @class */ (function (_super) {\r\n __extends(ErrorInvalidArgType, _super);\r\n function ErrorInvalidArgType(name, expected, actual) {\r\n var _this = this;\r\n // determiner: 'must be' or 'must not be'\r\n var determiner;\r\n if (typeof expected === 'string' && expected.indexOf('not ') === 0) {\r\n determiner = 'must not be';\r\n expected = expected.replace(/^not /, '');\r\n }\r\n else {\r\n determiner = 'must be';\r\n }\r\n var type = name.indexOf('.') !== -1 ? 'property' : 'argument';\r\n var msg = \"The \\\"\" + name + \"\\\" \" + type + \" \" + determiner + \" of type \" + expected;\r\n msg += \". Received type \" + typeof actual;\r\n _this = _super.call(this, msg) || this;\r\n _this.code = 'ERR_INVALID_ARG_TYPE';\r\n return _this;\r\n }\r\n return ErrorInvalidArgType;\r\n}(Error));\r\nfunction validateString(value, name) {\r\n if (typeof value !== 'string') {\r\n throw new ErrorInvalidArgType(name, 'string', value);\r\n }\r\n}\r\nfunction isPathSeparator(code) {\r\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\r\n}\r\nfunction isPosixPathSeparator(code) {\r\n return code === CHAR_FORWARD_SLASH;\r\n}\r\nfunction isWindowsDeviceRoot(code) {\r\n return code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z ||\r\n code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z;\r\n}\r\n// Resolves . and .. elements in a path with directory names\r\nfunction normalizeString(path, allowAboveRoot, separator, isPathSeparator) {\r\n var res = '';\r\n var lastSegmentLength = 0;\r\n var lastSlash = -1;\r\n var dots = 0;\r\n var code;\r\n for (var i = 0; i <= path.length; ++i) {\r\n if (i < path.length) {\r\n code = path.charCodeAt(i);\r\n }\r\n else if (isPathSeparator(code)) {\r\n break;\r\n }\r\n else {\r\n code = CHAR_FORWARD_SLASH;\r\n }\r\n if (isPathSeparator(code)) {\r\n if (lastSlash === i - 1 || dots === 1) {\r\n // NOOP\r\n }\r\n else if (lastSlash !== i - 1 && dots === 2) {\r\n if (res.length < 2 || lastSegmentLength !== 2 ||\r\n res.charCodeAt(res.length - 1) !== CHAR_DOT ||\r\n res.charCodeAt(res.length - 2) !== CHAR_DOT) {\r\n if (res.length > 2) {\r\n var lastSlashIndex = res.lastIndexOf(separator);\r\n if (lastSlashIndex === -1) {\r\n res = '';\r\n lastSegmentLength = 0;\r\n }\r\n else {\r\n res = res.slice(0, lastSlashIndex);\r\n lastSegmentLength = res.length - 1 - res.lastIndexOf(separator);\r\n }\r\n lastSlash = i;\r\n dots = 0;\r\n continue;\r\n }\r\n else if (res.length === 2 || res.length === 1) {\r\n res = '';\r\n lastSegmentLength = 0;\r\n lastSlash = i;\r\n dots = 0;\r\n continue;\r\n }\r\n }\r\n if (allowAboveRoot) {\r\n if (res.length > 0) {\r\n res += separator + \"..\";\r\n }\r\n else {\r\n res = '..';\r\n }\r\n lastSegmentLength = 2;\r\n }\r\n }\r\n else {\r\n if (res.length > 0) {\r\n res += separator + path.slice(lastSlash + 1, i);\r\n }\r\n else {\r\n res = path.slice(lastSlash + 1, i);\r\n }\r\n lastSegmentLength = i - lastSlash - 1;\r\n }\r\n lastSlash = i;\r\n dots = 0;\r\n }\r\n else if (code === CHAR_DOT && dots !== -1) {\r\n ++dots;\r\n }\r\n else {\r\n dots = -1;\r\n }\r\n }\r\n return res;\r\n}\r\nfunction _format(sep, pathObject) {\r\n var dir = pathObject.dir || pathObject.root;\r\n var base = pathObject.base ||\r\n ((pathObject.name || '') + (pathObject.ext || ''));\r\n if (!dir) {\r\n return base;\r\n }\r\n if (dir === pathObject.root) {\r\n return dir + base;\r\n }\r\n return dir + sep + base;\r\n}\r\nvar win32 = {\r\n // path.resolve([from ...], to)\r\n resolve: function () {\r\n var pathSegments = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n pathSegments[_i] = arguments[_i];\r\n }\r\n var resolvedDevice = '';\r\n var resolvedTail = '';\r\n var resolvedAbsolute = false;\r\n for (var i = pathSegments.length - 1; i >= -1; i--) {\r\n var path = void 0;\r\n if (i >= 0) {\r\n path = pathSegments[i];\r\n }\r\n else if (!resolvedDevice) {\r\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__[/* cwd */ \"a\"]();\r\n }\r\n else {\r\n // Windows has the concept of drive-specific current working\r\n // directories. If we've resolved a drive letter but not yet an\r\n // absolute path, get cwd for that drive, or the process cwd if\r\n // the drive cwd is not available. We're sure the device is not\r\n // a UNC path at this points, because UNC paths are always absolute.\r\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__[/* env */ \"b\"]['=' + resolvedDevice] || _process_js__WEBPACK_IMPORTED_MODULE_0__[/* cwd */ \"a\"]();\r\n // Verify that a cwd was found and that it actually points\r\n // to our drive. If not, default to the drive's root.\r\n if (path === undefined ||\r\n path.slice(0, 3).toLowerCase() !==\r\n resolvedDevice.toLowerCase() + '\\\\') {\r\n path = resolvedDevice + '\\\\';\r\n }\r\n }\r\n validateString(path, 'path');\r\n // Skip empty entries\r\n if (path.length === 0) {\r\n continue;\r\n }\r\n var len = path.length;\r\n var rootEnd = 0;\r\n var device = '';\r\n var isAbsolute = false;\r\n var code = path.charCodeAt(0);\r\n // Try to match a root\r\n if (len > 1) {\r\n if (isPathSeparator(code)) {\r\n // Possible UNC root\r\n // If we started with a separator, we know we at least have an\r\n // absolute path of some kind (UNC or otherwise)\r\n isAbsolute = true;\r\n if (isPathSeparator(path.charCodeAt(1))) {\r\n // Matched double path separator at beginning\r\n var j = 2;\r\n var last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n var firstPart = path.slice(last, j);\r\n // Matched!\r\n last = j;\r\n // Match 1 or more path separators\r\n for (; j < len; ++j) {\r\n if (!isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n // Matched!\r\n last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j === len) {\r\n // We matched a UNC root only\r\n device = '\\\\\\\\' + firstPart + '\\\\' + path.slice(last);\r\n rootEnd = j;\r\n }\r\n else if (j !== last) {\r\n // We matched a UNC root with leftovers\r\n device = '\\\\\\\\' + firstPart + '\\\\' + path.slice(last, j);\r\n rootEnd = j;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n rootEnd = 1;\r\n }\r\n }\r\n else if (isWindowsDeviceRoot(code)) {\r\n // Possible device root\r\n if (path.charCodeAt(1) === CHAR_COLON) {\r\n device = path.slice(0, 2);\r\n rootEnd = 2;\r\n if (len > 2) {\r\n if (isPathSeparator(path.charCodeAt(2))) {\r\n // Treat separator following drive name as an absolute path\r\n // indicator\r\n isAbsolute = true;\r\n rootEnd = 3;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (isPathSeparator(code)) {\r\n // `path` contains just a path separator\r\n rootEnd = 1;\r\n isAbsolute = true;\r\n }\r\n if (device.length > 0 &&\r\n resolvedDevice.length > 0 &&\r\n device.toLowerCase() !== resolvedDevice.toLowerCase()) {\r\n // This path points to another device so it is not applicable\r\n continue;\r\n }\r\n if (resolvedDevice.length === 0 && device.length > 0) {\r\n resolvedDevice = device;\r\n }\r\n if (!resolvedAbsolute) {\r\n resolvedTail = path.slice(rootEnd) + '\\\\' + resolvedTail;\r\n resolvedAbsolute = isAbsolute;\r\n }\r\n if (resolvedDevice.length > 0 && resolvedAbsolute) {\r\n break;\r\n }\r\n }\r\n // At this point the path should be resolved to a full absolute path,\r\n // but handle relative paths to be safe (might happen when process.cwd()\r\n // fails)\r\n // Normalize the tail path\r\n resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, '\\\\', isPathSeparator);\r\n return (resolvedDevice + (resolvedAbsolute ? '\\\\' : '') + resolvedTail) ||\r\n '.';\r\n },\r\n normalize: function (path) {\r\n validateString(path, 'path');\r\n var len = path.length;\r\n if (len === 0) {\r\n return '.';\r\n }\r\n var rootEnd = 0;\r\n var device;\r\n var isAbsolute = false;\r\n var code = path.charCodeAt(0);\r\n // Try to match a root\r\n if (len > 1) {\r\n if (isPathSeparator(code)) {\r\n // Possible UNC root\r\n // If we started with a separator, we know we at least have an absolute\r\n // path of some kind (UNC or otherwise)\r\n isAbsolute = true;\r\n if (isPathSeparator(path.charCodeAt(1))) {\r\n // Matched double path separator at beginning\r\n var j = 2;\r\n var last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n var firstPart = path.slice(last, j);\r\n // Matched!\r\n last = j;\r\n // Match 1 or more path separators\r\n for (; j < len; ++j) {\r\n if (!isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n // Matched!\r\n last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j === len) {\r\n // We matched a UNC root only\r\n // Return the normalized version of the UNC root since there\r\n // is nothing left to process\r\n return '\\\\\\\\' + firstPart + '\\\\' + path.slice(last) + '\\\\';\r\n }\r\n else if (j !== last) {\r\n // We matched a UNC root with leftovers\r\n device = '\\\\\\\\' + firstPart + '\\\\' + path.slice(last, j);\r\n rootEnd = j;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n rootEnd = 1;\r\n }\r\n }\r\n else if (isWindowsDeviceRoot(code)) {\r\n // Possible device root\r\n if (path.charCodeAt(1) === CHAR_COLON) {\r\n device = path.slice(0, 2);\r\n rootEnd = 2;\r\n if (len > 2) {\r\n if (isPathSeparator(path.charCodeAt(2))) {\r\n // Treat separator following drive name as an absolute path\r\n // indicator\r\n isAbsolute = true;\r\n rootEnd = 3;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (isPathSeparator(code)) {\r\n // `path` contains just a path separator, exit early to avoid unnecessary\r\n // work\r\n return '\\\\';\r\n }\r\n var tail;\r\n if (rootEnd < len) {\r\n tail = normalizeString(path.slice(rootEnd), !isAbsolute, '\\\\', isPathSeparator);\r\n }\r\n else {\r\n tail = '';\r\n }\r\n if (tail.length === 0 && !isAbsolute) {\r\n tail = '.';\r\n }\r\n if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) {\r\n tail += '\\\\';\r\n }\r\n if (device === undefined) {\r\n if (isAbsolute) {\r\n if (tail.length > 0) {\r\n return '\\\\' + tail;\r\n }\r\n else {\r\n return '\\\\';\r\n }\r\n }\r\n else if (tail.length > 0) {\r\n return tail;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n else if (isAbsolute) {\r\n if (tail.length > 0) {\r\n return device + '\\\\' + tail;\r\n }\r\n else {\r\n return device + '\\\\';\r\n }\r\n }\r\n else if (tail.length > 0) {\r\n return device + tail;\r\n }\r\n else {\r\n return device;\r\n }\r\n },\r\n isAbsolute: function (path) {\r\n validateString(path, 'path');\r\n var len = path.length;\r\n if (len === 0) {\r\n return false;\r\n }\r\n var code = path.charCodeAt(0);\r\n if (isPathSeparator(code)) {\r\n return true;\r\n }\r\n else if (isWindowsDeviceRoot(code)) {\r\n // Possible device root\r\n if (len > 2 && path.charCodeAt(1) === CHAR_COLON) {\r\n if (isPathSeparator(path.charCodeAt(2))) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n },\r\n join: function () {\r\n var paths = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n paths[_i] = arguments[_i];\r\n }\r\n if (paths.length === 0) {\r\n return '.';\r\n }\r\n var joined;\r\n var firstPart;\r\n for (var i = 0; i < paths.length; ++i) {\r\n var arg = paths[i];\r\n validateString(arg, 'path');\r\n if (arg.length > 0) {\r\n if (joined === undefined) {\r\n joined = firstPart = arg;\r\n }\r\n else {\r\n joined += '\\\\' + arg;\r\n }\r\n }\r\n }\r\n if (joined === undefined) {\r\n return '.';\r\n }\r\n // Make sure that the joined path doesn't start with two slashes, because\r\n // normalize() will mistake it for an UNC path then.\r\n //\r\n // This step is skipped when it is very clear that the user actually\r\n // intended to point at an UNC path. This is assumed when the first\r\n // non-empty string arguments starts with exactly two slashes followed by\r\n // at least one more non-slash character.\r\n //\r\n // Note that for normalize() to treat a path as an UNC path it needs to\r\n // have at least 2 components, so we don't filter for that here.\r\n // This means that the user can use join to construct UNC paths from\r\n // a server name and a share name; for example:\r\n // path.join('//server', 'share') -> '\\\\\\\\server\\\\share\\\\')\r\n var needsReplace = true;\r\n var slashCount = 0;\r\n if (typeof firstPart === 'string' && isPathSeparator(firstPart.charCodeAt(0))) {\r\n ++slashCount;\r\n var firstLen = firstPart.length;\r\n if (firstLen > 1) {\r\n if (isPathSeparator(firstPart.charCodeAt(1))) {\r\n ++slashCount;\r\n if (firstLen > 2) {\r\n if (isPathSeparator(firstPart.charCodeAt(2))) {\r\n ++slashCount;\r\n }\r\n else {\r\n // We matched a UNC path in the first part\r\n needsReplace = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (needsReplace) {\r\n // Find any more consecutive slashes we need to replace\r\n for (; slashCount < joined.length; ++slashCount) {\r\n if (!isPathSeparator(joined.charCodeAt(slashCount))) {\r\n break;\r\n }\r\n }\r\n // Replace the slashes if needed\r\n if (slashCount >= 2) {\r\n joined = '\\\\' + joined.slice(slashCount);\r\n }\r\n }\r\n return win32.normalize(joined);\r\n },\r\n // It will solve the relative path from `from` to `to`, for instance:\r\n // from = 'C:\\\\orandea\\\\test\\\\aaa'\r\n // to = 'C:\\\\orandea\\\\impl\\\\bbb'\r\n // The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\r\n relative: function (from, to) {\r\n validateString(from, 'from');\r\n validateString(to, 'to');\r\n if (from === to) {\r\n return '';\r\n }\r\n var fromOrig = win32.resolve(from);\r\n var toOrig = win32.resolve(to);\r\n if (fromOrig === toOrig) {\r\n return '';\r\n }\r\n from = fromOrig.toLowerCase();\r\n to = toOrig.toLowerCase();\r\n if (from === to) {\r\n return '';\r\n }\r\n // Trim any leading backslashes\r\n var fromStart = 0;\r\n for (; fromStart < from.length; ++fromStart) {\r\n if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) {\r\n break;\r\n }\r\n }\r\n // Trim trailing backslashes (applicable to UNC paths only)\r\n var fromEnd = from.length;\r\n for (; fromEnd - 1 > fromStart; --fromEnd) {\r\n if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) {\r\n break;\r\n }\r\n }\r\n var fromLen = (fromEnd - fromStart);\r\n // Trim any leading backslashes\r\n var toStart = 0;\r\n for (; toStart < to.length; ++toStart) {\r\n if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) {\r\n break;\r\n }\r\n }\r\n // Trim trailing backslashes (applicable to UNC paths only)\r\n var toEnd = to.length;\r\n for (; toEnd - 1 > toStart; --toEnd) {\r\n if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) {\r\n break;\r\n }\r\n }\r\n var toLen = (toEnd - toStart);\r\n // Compare paths to find the longest common path from root\r\n var length = (fromLen < toLen ? fromLen : toLen);\r\n var lastCommonSep = -1;\r\n var i = 0;\r\n for (; i <= length; ++i) {\r\n if (i === length) {\r\n if (toLen > length) {\r\n if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {\r\n // We get here if `from` is the exact base path for `to`.\r\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\r\n return toOrig.slice(toStart + i + 1);\r\n }\r\n else if (i === 2) {\r\n // We get here if `from` is the device root.\r\n // For example: from='C:\\\\'; to='C:\\\\foo'\r\n return toOrig.slice(toStart + i);\r\n }\r\n }\r\n if (fromLen > length) {\r\n if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {\r\n // We get here if `to` is the exact base path for `from`.\r\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\r\n lastCommonSep = i;\r\n }\r\n else if (i === 2) {\r\n // We get here if `to` is the device root.\r\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\r\n lastCommonSep = 3;\r\n }\r\n }\r\n break;\r\n }\r\n var fromCode = from.charCodeAt(fromStart + i);\r\n var toCode = to.charCodeAt(toStart + i);\r\n if (fromCode !== toCode) {\r\n break;\r\n }\r\n else if (fromCode === CHAR_BACKWARD_SLASH) {\r\n lastCommonSep = i;\r\n }\r\n }\r\n // We found a mismatch before the first common path separator was seen, so\r\n // return the original `to`.\r\n if (i !== length && lastCommonSep === -1) {\r\n return toOrig;\r\n }\r\n var out = '';\r\n if (lastCommonSep === -1) {\r\n lastCommonSep = 0;\r\n }\r\n // Generate the relative path based on the path difference between `to` and\r\n // `from`\r\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\r\n if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {\r\n if (out.length === 0) {\r\n out += '..';\r\n }\r\n else {\r\n out += '\\\\..';\r\n }\r\n }\r\n }\r\n // Lastly, append the rest of the destination (`to`) path that comes after\r\n // the common path parts\r\n if (out.length > 0) {\r\n return out + toOrig.slice(toStart + lastCommonSep, toEnd);\r\n }\r\n else {\r\n toStart += lastCommonSep;\r\n if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\r\n ++toStart;\r\n }\r\n return toOrig.slice(toStart, toEnd);\r\n }\r\n },\r\n toNamespacedPath: function (path) {\r\n // Note: this will *probably* throw somewhere.\r\n if (typeof path !== 'string') {\r\n return path;\r\n }\r\n if (path.length === 0) {\r\n return '';\r\n }\r\n var resolvedPath = win32.resolve(path);\r\n if (resolvedPath.length >= 3) {\r\n if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {\r\n // Possible UNC root\r\n if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {\r\n var code = resolvedPath.charCodeAt(2);\r\n if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {\r\n // Matched non-long UNC root, convert the path to a long UNC path\r\n return '\\\\\\\\?\\\\UNC\\\\' + resolvedPath.slice(2);\r\n }\r\n }\r\n }\r\n else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) {\r\n // Possible device root\r\n if (resolvedPath.charCodeAt(1) === CHAR_COLON &&\r\n resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {\r\n // Matched device root, convert the path to a long UNC path\r\n return '\\\\\\\\?\\\\' + resolvedPath;\r\n }\r\n }\r\n }\r\n return path;\r\n },\r\n dirname: function (path) {\r\n validateString(path, 'path');\r\n var len = path.length;\r\n if (len === 0) {\r\n return '.';\r\n }\r\n var rootEnd = -1;\r\n var end = -1;\r\n var matchedSlash = true;\r\n var offset = 0;\r\n var code = path.charCodeAt(0);\r\n // Try to match a root\r\n if (len > 1) {\r\n if (isPathSeparator(code)) {\r\n // Possible UNC root\r\n rootEnd = offset = 1;\r\n if (isPathSeparator(path.charCodeAt(1))) {\r\n // Matched double path separator at beginning\r\n var j = 2;\r\n var last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n // Matched!\r\n last = j;\r\n // Match 1 or more path separators\r\n for (; j < len; ++j) {\r\n if (!isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n // Matched!\r\n last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j === len) {\r\n // We matched a UNC root only\r\n return path;\r\n }\r\n if (j !== last) {\r\n // We matched a UNC root with leftovers\r\n // Offset by 1 to include the separator after the UNC root to\r\n // treat it as a \"normal root\" on top of a (UNC) root\r\n rootEnd = offset = j + 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (isWindowsDeviceRoot(code)) {\r\n // Possible device root\r\n if (path.charCodeAt(1) === CHAR_COLON) {\r\n rootEnd = offset = 2;\r\n if (len > 2) {\r\n if (isPathSeparator(path.charCodeAt(2))) {\r\n rootEnd = offset = 3;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (isPathSeparator(code)) {\r\n // `path` contains just a path separator, exit early to avoid\r\n // unnecessary work\r\n return path;\r\n }\r\n for (var i = len - 1; i >= offset; --i) {\r\n if (isPathSeparator(path.charCodeAt(i))) {\r\n if (!matchedSlash) {\r\n end = i;\r\n break;\r\n }\r\n }\r\n else {\r\n // We saw the first non-path separator\r\n matchedSlash = false;\r\n }\r\n }\r\n if (end === -1) {\r\n if (rootEnd === -1) {\r\n return '.';\r\n }\r\n else {\r\n end = rootEnd;\r\n }\r\n }\r\n return path.slice(0, end);\r\n },\r\n basename: function (path, ext) {\r\n if (ext !== undefined) {\r\n validateString(ext, 'ext');\r\n }\r\n validateString(path, 'path');\r\n var start = 0;\r\n var end = -1;\r\n var matchedSlash = true;\r\n var i;\r\n // Check for a drive letter prefix so as not to mistake the following\r\n // path separator as an extra separator at the end of the path that can be\r\n // disregarded\r\n if (path.length >= 2) {\r\n var drive = path.charCodeAt(0);\r\n if (isWindowsDeviceRoot(drive)) {\r\n if (path.charCodeAt(1) === CHAR_COLON) {\r\n start = 2;\r\n }\r\n }\r\n }\r\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\r\n if (ext.length === path.length && ext === path) {\r\n return '';\r\n }\r\n var extIdx = ext.length - 1;\r\n var firstNonSlashEnd = -1;\r\n for (i = path.length - 1; i >= start; --i) {\r\n var code = path.charCodeAt(i);\r\n if (isPathSeparator(code)) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n start = i + 1;\r\n break;\r\n }\r\n }\r\n else {\r\n if (firstNonSlashEnd === -1) {\r\n // We saw the first non-path separator, remember this index in case\r\n // we need it if the extension ends up not matching\r\n matchedSlash = false;\r\n firstNonSlashEnd = i + 1;\r\n }\r\n if (extIdx >= 0) {\r\n // Try to match the explicit extension\r\n if (code === ext.charCodeAt(extIdx)) {\r\n if (--extIdx === -1) {\r\n // We matched the extension, so mark this as the end of our path\r\n // component\r\n end = i;\r\n }\r\n }\r\n else {\r\n // Extension does not match, so our result is the entire path\r\n // component\r\n extIdx = -1;\r\n end = firstNonSlashEnd;\r\n }\r\n }\r\n }\r\n }\r\n if (start === end) {\r\n end = firstNonSlashEnd;\r\n }\r\n else if (end === -1) {\r\n end = path.length;\r\n }\r\n return path.slice(start, end);\r\n }\r\n else {\r\n for (i = path.length - 1; i >= start; --i) {\r\n if (isPathSeparator(path.charCodeAt(i))) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n start = i + 1;\r\n break;\r\n }\r\n }\r\n else if (end === -1) {\r\n // We saw the first non-path separator, mark this as the end of our\r\n // path component\r\n matchedSlash = false;\r\n end = i + 1;\r\n }\r\n }\r\n if (end === -1) {\r\n return '';\r\n }\r\n return path.slice(start, end);\r\n }\r\n },\r\n extname: function (path) {\r\n validateString(path, 'path');\r\n var start = 0;\r\n var startDot = -1;\r\n var startPart = 0;\r\n var end = -1;\r\n var matchedSlash = true;\r\n // Track the state of characters (if any) we see before our first dot and\r\n // after any path separator we find\r\n var preDotState = 0;\r\n // Check for a drive letter prefix so as not to mistake the following\r\n // path separator as an extra separator at the end of the path that can be\r\n // disregarded\r\n if (path.length >= 2 &&\r\n path.charCodeAt(1) === CHAR_COLON &&\r\n isWindowsDeviceRoot(path.charCodeAt(0))) {\r\n start = startPart = 2;\r\n }\r\n for (var i = path.length - 1; i >= start; --i) {\r\n var code = path.charCodeAt(i);\r\n if (isPathSeparator(code)) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n startPart = i + 1;\r\n break;\r\n }\r\n continue;\r\n }\r\n if (end === -1) {\r\n // We saw the first non-path separator, mark this as the end of our\r\n // extension\r\n matchedSlash = false;\r\n end = i + 1;\r\n }\r\n if (code === CHAR_DOT) {\r\n // If this is our first dot, mark it as the start of our extension\r\n if (startDot === -1) {\r\n startDot = i;\r\n }\r\n else if (preDotState !== 1) {\r\n preDotState = 1;\r\n }\r\n }\r\n else if (startDot !== -1) {\r\n // We saw a non-dot and non-path separator before our dot, so we should\r\n // have a good chance at having a non-empty extension\r\n preDotState = -1;\r\n }\r\n }\r\n if (startDot === -1 ||\r\n end === -1 ||\r\n // We saw a non-dot character immediately before the dot\r\n preDotState === 0 ||\r\n // The (right-most) trimmed path component is exactly '..'\r\n (preDotState === 1 &&\r\n startDot === end - 1 &&\r\n startDot === startPart + 1)) {\r\n return '';\r\n }\r\n return path.slice(startDot, end);\r\n },\r\n format: function (pathObject) {\r\n if (pathObject === null || typeof pathObject !== 'object') {\r\n throw new ErrorInvalidArgType('pathObject', 'Object', pathObject);\r\n }\r\n return _format('\\\\', pathObject);\r\n },\r\n parse: function (path) {\r\n validateString(path, 'path');\r\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\r\n if (path.length === 0) {\r\n return ret;\r\n }\r\n var len = path.length;\r\n var rootEnd = 0;\r\n var code = path.charCodeAt(0);\r\n // Try to match a root\r\n if (len > 1) {\r\n if (isPathSeparator(code)) {\r\n // Possible UNC root\r\n rootEnd = 1;\r\n if (isPathSeparator(path.charCodeAt(1))) {\r\n // Matched double path separator at beginning\r\n var j = 2;\r\n var last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n // Matched!\r\n last = j;\r\n // Match 1 or more path separators\r\n for (; j < len; ++j) {\r\n if (!isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j < len && j !== last) {\r\n // Matched!\r\n last = j;\r\n // Match 1 or more non-path separators\r\n for (; j < len; ++j) {\r\n if (isPathSeparator(path.charCodeAt(j))) {\r\n break;\r\n }\r\n }\r\n if (j === len) {\r\n // We matched a UNC root only\r\n rootEnd = j;\r\n }\r\n else if (j !== last) {\r\n // We matched a UNC root with leftovers\r\n rootEnd = j + 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (isWindowsDeviceRoot(code)) {\r\n // Possible device root\r\n if (path.charCodeAt(1) === CHAR_COLON) {\r\n rootEnd = 2;\r\n if (len > 2) {\r\n if (isPathSeparator(path.charCodeAt(2))) {\r\n if (len === 3) {\r\n // `path` contains just a drive root, exit early to avoid\r\n // unnecessary work\r\n ret.root = ret.dir = path;\r\n return ret;\r\n }\r\n rootEnd = 3;\r\n }\r\n }\r\n else {\r\n // `path` contains just a drive root, exit early to avoid\r\n // unnecessary work\r\n ret.root = ret.dir = path;\r\n return ret;\r\n }\r\n }\r\n }\r\n }\r\n else if (isPathSeparator(code)) {\r\n // `path` contains just a path separator, exit early to avoid\r\n // unnecessary work\r\n ret.root = ret.dir = path;\r\n return ret;\r\n }\r\n if (rootEnd > 0) {\r\n ret.root = path.slice(0, rootEnd);\r\n }\r\n var startDot = -1;\r\n var startPart = rootEnd;\r\n var end = -1;\r\n var matchedSlash = true;\r\n var i = path.length - 1;\r\n // Track the state of characters (if any) we see before our first dot and\r\n // after any path separator we find\r\n var preDotState = 0;\r\n // Get non-dir info\r\n for (; i >= rootEnd; --i) {\r\n code = path.charCodeAt(i);\r\n if (isPathSeparator(code)) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n startPart = i + 1;\r\n break;\r\n }\r\n continue;\r\n }\r\n if (end === -1) {\r\n // We saw the first non-path separator, mark this as the end of our\r\n // extension\r\n matchedSlash = false;\r\n end = i + 1;\r\n }\r\n if (code === CHAR_DOT) {\r\n // If this is our first dot, mark it as the start of our extension\r\n if (startDot === -1) {\r\n startDot = i;\r\n }\r\n else if (preDotState !== 1) {\r\n preDotState = 1;\r\n }\r\n }\r\n else if (startDot !== -1) {\r\n // We saw a non-dot and non-path separator before our dot, so we should\r\n // have a good chance at having a non-empty extension\r\n preDotState = -1;\r\n }\r\n }\r\n if (startDot === -1 ||\r\n end === -1 ||\r\n // We saw a non-dot character immediately before the dot\r\n preDotState === 0 ||\r\n // The (right-most) trimmed path component is exactly '..'\r\n (preDotState === 1 &&\r\n startDot === end - 1 &&\r\n startDot === startPart + 1)) {\r\n if (end !== -1) {\r\n ret.base = ret.name = path.slice(startPart, end);\r\n }\r\n }\r\n else {\r\n ret.name = path.slice(startPart, startDot);\r\n ret.base = path.slice(startPart, end);\r\n ret.ext = path.slice(startDot, end);\r\n }\r\n // If the directory is the root, use the entire root as the `dir` including\r\n // the trailing slash if any (`C:\\abc` -> `C:\\`). Otherwise, strip out the\r\n // trailing slash (`C:\\abc\\def` -> `C:\\abc`).\r\n if (startPart > 0 && startPart !== rootEnd) {\r\n ret.dir = path.slice(0, startPart - 1);\r\n }\r\n else {\r\n ret.dir = ret.root;\r\n }\r\n return ret;\r\n },\r\n sep: '\\\\',\r\n delimiter: ';',\r\n win32: null,\r\n posix: null\r\n};\r\nvar posix = {\r\n // path.resolve([from ...], to)\r\n resolve: function () {\r\n var pathSegments = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n pathSegments[_i] = arguments[_i];\r\n }\r\n var resolvedPath = '';\r\n var resolvedAbsolute = false;\r\n for (var i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\r\n var path = void 0;\r\n if (i >= 0) {\r\n path = pathSegments[i];\r\n }\r\n else {\r\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__[/* cwd */ \"a\"]();\r\n }\r\n validateString(path, 'path');\r\n // Skip empty entries\r\n if (path.length === 0) {\r\n continue;\r\n }\r\n resolvedPath = path + '/' + resolvedPath;\r\n resolvedAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n }\r\n // At this point the path should be resolved to a full absolute path, but\r\n // handle relative paths to be safe (might happen when process.cwd() fails)\r\n // Normalize the path\r\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, '/', isPosixPathSeparator);\r\n if (resolvedAbsolute) {\r\n if (resolvedPath.length > 0) {\r\n return '/' + resolvedPath;\r\n }\r\n else {\r\n return '/';\r\n }\r\n }\r\n else if (resolvedPath.length > 0) {\r\n return resolvedPath;\r\n }\r\n else {\r\n return '.';\r\n }\r\n },\r\n normalize: function (path) {\r\n validateString(path, 'path');\r\n if (path.length === 0) {\r\n return '.';\r\n }\r\n var isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n var trailingSeparator = path.charCodeAt(path.length - 1) === CHAR_FORWARD_SLASH;\r\n // Normalize the path\r\n path = normalizeString(path, !isAbsolute, '/', isPosixPathSeparator);\r\n if (path.length === 0 && !isAbsolute) {\r\n path = '.';\r\n }\r\n if (path.length > 0 && trailingSeparator) {\r\n path += '/';\r\n }\r\n if (isAbsolute) {\r\n return '/' + path;\r\n }\r\n return path;\r\n },\r\n isAbsolute: function (path) {\r\n validateString(path, 'path');\r\n return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n },\r\n join: function () {\r\n var paths = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n paths[_i] = arguments[_i];\r\n }\r\n if (paths.length === 0) {\r\n return '.';\r\n }\r\n var joined;\r\n for (var i = 0; i < paths.length; ++i) {\r\n var arg = arguments[i];\r\n validateString(arg, 'path');\r\n if (arg.length > 0) {\r\n if (joined === undefined) {\r\n joined = arg;\r\n }\r\n else {\r\n joined += '/' + arg;\r\n }\r\n }\r\n }\r\n if (joined === undefined) {\r\n return '.';\r\n }\r\n return posix.normalize(joined);\r\n },\r\n relative: function (from, to) {\r\n validateString(from, 'from');\r\n validateString(to, 'to');\r\n if (from === to) {\r\n return '';\r\n }\r\n from = posix.resolve(from);\r\n to = posix.resolve(to);\r\n if (from === to) {\r\n return '';\r\n }\r\n // Trim any leading backslashes\r\n var fromStart = 1;\r\n for (; fromStart < from.length; ++fromStart) {\r\n if (from.charCodeAt(fromStart) !== CHAR_FORWARD_SLASH) {\r\n break;\r\n }\r\n }\r\n var fromEnd = from.length;\r\n var fromLen = (fromEnd - fromStart);\r\n // Trim any leading backslashes\r\n var toStart = 1;\r\n for (; toStart < to.length; ++toStart) {\r\n if (to.charCodeAt(toStart) !== CHAR_FORWARD_SLASH) {\r\n break;\r\n }\r\n }\r\n var toEnd = to.length;\r\n var toLen = (toEnd - toStart);\r\n // Compare paths to find the longest common path from root\r\n var length = (fromLen < toLen ? fromLen : toLen);\r\n var lastCommonSep = -1;\r\n var i = 0;\r\n for (; i <= length; ++i) {\r\n if (i === length) {\r\n if (toLen > length) {\r\n if (to.charCodeAt(toStart + i) === CHAR_FORWARD_SLASH) {\r\n // We get here if `from` is the exact base path for `to`.\r\n // For example: from='/foo/bar'; to='/foo/bar/baz'\r\n return to.slice(toStart + i + 1);\r\n }\r\n else if (i === 0) {\r\n // We get here if `from` is the root\r\n // For example: from='/'; to='/foo'\r\n return to.slice(toStart + i);\r\n }\r\n }\r\n else if (fromLen > length) {\r\n if (from.charCodeAt(fromStart + i) === CHAR_FORWARD_SLASH) {\r\n // We get here if `to` is the exact base path for `from`.\r\n // For example: from='/foo/bar/baz'; to='/foo/bar'\r\n lastCommonSep = i;\r\n }\r\n else if (i === 0) {\r\n // We get here if `to` is the root.\r\n // For example: from='/foo'; to='/'\r\n lastCommonSep = 0;\r\n }\r\n }\r\n break;\r\n }\r\n var fromCode = from.charCodeAt(fromStart + i);\r\n var toCode = to.charCodeAt(toStart + i);\r\n if (fromCode !== toCode) {\r\n break;\r\n }\r\n else if (fromCode === CHAR_FORWARD_SLASH) {\r\n lastCommonSep = i;\r\n }\r\n }\r\n var out = '';\r\n // Generate the relative path based on the path difference between `to`\r\n // and `from`\r\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\r\n if (i === fromEnd || from.charCodeAt(i) === CHAR_FORWARD_SLASH) {\r\n if (out.length === 0) {\r\n out += '..';\r\n }\r\n else {\r\n out += '/..';\r\n }\r\n }\r\n }\r\n // Lastly, append the rest of the destination (`to`) path that comes after\r\n // the common path parts\r\n if (out.length > 0) {\r\n return out + to.slice(toStart + lastCommonSep);\r\n }\r\n else {\r\n toStart += lastCommonSep;\r\n if (to.charCodeAt(toStart) === CHAR_FORWARD_SLASH) {\r\n ++toStart;\r\n }\r\n return to.slice(toStart);\r\n }\r\n },\r\n toNamespacedPath: function (path) {\r\n // Non-op on posix systems\r\n return path;\r\n },\r\n dirname: function (path) {\r\n validateString(path, 'path');\r\n if (path.length === 0) {\r\n return '.';\r\n }\r\n var hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n var end = -1;\r\n var matchedSlash = true;\r\n for (var i = path.length - 1; i >= 1; --i) {\r\n if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {\r\n if (!matchedSlash) {\r\n end = i;\r\n break;\r\n }\r\n }\r\n else {\r\n // We saw the first non-path separator\r\n matchedSlash = false;\r\n }\r\n }\r\n if (end === -1) {\r\n return hasRoot ? '/' : '.';\r\n }\r\n if (hasRoot && end === 1) {\r\n return '//';\r\n }\r\n return path.slice(0, end);\r\n },\r\n basename: function (path, ext) {\r\n if (ext !== undefined) {\r\n validateString(ext, 'ext');\r\n }\r\n validateString(path, 'path');\r\n var start = 0;\r\n var end = -1;\r\n var matchedSlash = true;\r\n var i;\r\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\r\n if (ext.length === path.length && ext === path) {\r\n return '';\r\n }\r\n var extIdx = ext.length - 1;\r\n var firstNonSlashEnd = -1;\r\n for (i = path.length - 1; i >= 0; --i) {\r\n var code = path.charCodeAt(i);\r\n if (code === CHAR_FORWARD_SLASH) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n start = i + 1;\r\n break;\r\n }\r\n }\r\n else {\r\n if (firstNonSlashEnd === -1) {\r\n // We saw the first non-path separator, remember this index in case\r\n // we need it if the extension ends up not matching\r\n matchedSlash = false;\r\n firstNonSlashEnd = i + 1;\r\n }\r\n if (extIdx >= 0) {\r\n // Try to match the explicit extension\r\n if (code === ext.charCodeAt(extIdx)) {\r\n if (--extIdx === -1) {\r\n // We matched the extension, so mark this as the end of our path\r\n // component\r\n end = i;\r\n }\r\n }\r\n else {\r\n // Extension does not match, so our result is the entire path\r\n // component\r\n extIdx = -1;\r\n end = firstNonSlashEnd;\r\n }\r\n }\r\n }\r\n }\r\n if (start === end) {\r\n end = firstNonSlashEnd;\r\n }\r\n else if (end === -1) {\r\n end = path.length;\r\n }\r\n return path.slice(start, end);\r\n }\r\n else {\r\n for (i = path.length - 1; i >= 0; --i) {\r\n if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n start = i + 1;\r\n break;\r\n }\r\n }\r\n else if (end === -1) {\r\n // We saw the first non-path separator, mark this as the end of our\r\n // path component\r\n matchedSlash = false;\r\n end = i + 1;\r\n }\r\n }\r\n if (end === -1) {\r\n return '';\r\n }\r\n return path.slice(start, end);\r\n }\r\n },\r\n extname: function (path) {\r\n validateString(path, 'path');\r\n var startDot = -1;\r\n var startPart = 0;\r\n var end = -1;\r\n var matchedSlash = true;\r\n // Track the state of characters (if any) we see before our first dot and\r\n // after any path separator we find\r\n var preDotState = 0;\r\n for (var i = path.length - 1; i >= 0; --i) {\r\n var code = path.charCodeAt(i);\r\n if (code === CHAR_FORWARD_SLASH) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n startPart = i + 1;\r\n break;\r\n }\r\n continue;\r\n }\r\n if (end === -1) {\r\n // We saw the first non-path separator, mark this as the end of our\r\n // extension\r\n matchedSlash = false;\r\n end = i + 1;\r\n }\r\n if (code === CHAR_DOT) {\r\n // If this is our first dot, mark it as the start of our extension\r\n if (startDot === -1) {\r\n startDot = i;\r\n }\r\n else if (preDotState !== 1) {\r\n preDotState = 1;\r\n }\r\n }\r\n else if (startDot !== -1) {\r\n // We saw a non-dot and non-path separator before our dot, so we should\r\n // have a good chance at having a non-empty extension\r\n preDotState = -1;\r\n }\r\n }\r\n if (startDot === -1 ||\r\n end === -1 ||\r\n // We saw a non-dot character immediately before the dot\r\n preDotState === 0 ||\r\n // The (right-most) trimmed path component is exactly '..'\r\n (preDotState === 1 &&\r\n startDot === end - 1 &&\r\n startDot === startPart + 1)) {\r\n return '';\r\n }\r\n return path.slice(startDot, end);\r\n },\r\n format: function (pathObject) {\r\n if (pathObject === null || typeof pathObject !== 'object') {\r\n throw new ErrorInvalidArgType('pathObject', 'Object', pathObject);\r\n }\r\n return _format('/', pathObject);\r\n },\r\n parse: function (path) {\r\n validateString(path, 'path');\r\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\r\n if (path.length === 0) {\r\n return ret;\r\n }\r\n var isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n var start;\r\n if (isAbsolute) {\r\n ret.root = '/';\r\n start = 1;\r\n }\r\n else {\r\n start = 0;\r\n }\r\n var startDot = -1;\r\n var startPart = 0;\r\n var end = -1;\r\n var matchedSlash = true;\r\n var i = path.length - 1;\r\n // Track the state of characters (if any) we see before our first dot and\r\n // after any path separator we find\r\n var preDotState = 0;\r\n // Get non-dir info\r\n for (; i >= start; --i) {\r\n var code = path.charCodeAt(i);\r\n if (code === CHAR_FORWARD_SLASH) {\r\n // If we reached a path separator that was not part of a set of path\r\n // separators at the end of the string, stop now\r\n if (!matchedSlash) {\r\n startPart = i + 1;\r\n break;\r\n }\r\n continue;\r\n }\r\n if (end === -1) {\r\n // We saw the first non-path separator, mark this as the end of our\r\n // extension\r\n matchedSlash = false;\r\n end = i + 1;\r\n }\r\n if (code === CHAR_DOT) {\r\n // If this is our first dot, mark it as the start of our extension\r\n if (startDot === -1) {\r\n startDot = i;\r\n }\r\n else if (preDotState !== 1) {\r\n preDotState = 1;\r\n }\r\n }\r\n else if (startDot !== -1) {\r\n // We saw a non-dot and non-path separator before our dot, so we should\r\n // have a good chance at having a non-empty extension\r\n preDotState = -1;\r\n }\r\n }\r\n if (startDot === -1 ||\r\n end === -1 ||\r\n // We saw a non-dot character immediately before the dot\r\n preDotState === 0 ||\r\n // The (right-most) trimmed path component is exactly '..'\r\n (preDotState === 1 &&\r\n startDot === end - 1 &&\r\n startDot === startPart + 1)) {\r\n if (end !== -1) {\r\n if (startPart === 0 && isAbsolute) {\r\n ret.base = ret.name = path.slice(1, end);\r\n }\r\n else {\r\n ret.base = ret.name = path.slice(startPart, end);\r\n }\r\n }\r\n }\r\n else {\r\n if (startPart === 0 && isAbsolute) {\r\n ret.name = path.slice(1, startDot);\r\n ret.base = path.slice(1, end);\r\n }\r\n else {\r\n ret.name = path.slice(startPart, startDot);\r\n ret.base = path.slice(startPart, end);\r\n }\r\n ret.ext = path.slice(startDot, end);\r\n }\r\n if (startPart > 0) {\r\n ret.dir = path.slice(0, startPart - 1);\r\n }\r\n else if (isAbsolute) {\r\n ret.dir = '/';\r\n }\r\n return ret;\r\n },\r\n sep: '/',\r\n delimiter: ':',\r\n win32: null,\r\n posix: null\r\n};\r\nposix.win32 = win32.win32 = win32;\r\nposix.posix = win32.posix = posix;\r\nvar normalize = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.normalize : posix.normalize);\r\nvar join = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.join : posix.join);\r\nvar relative = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.relative : posix.relative);\r\nvar dirname = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.dirname : posix.dirname);\r\nvar basename = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.basename : posix.basename);\r\nvar extname = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.extname : posix.extname);\r\nvar sep = (_process_js__WEBPACK_IMPORTED_MODULE_0__[/* platform */ \"c\"] === 'win32' ? win32.sep : posix.sep);\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/path.js?")},Msxo:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'r',\r\n extensions: ['.r', '.rhistory', '.rprofile', '.rt'],\r\n aliases: ['R', 'r'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 201).then(__webpack_require__.bind(null, \"Qx4d\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js?")},MvK1:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export ColorZone */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return OverviewRulerZone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return OverviewZoneManager; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nvar ColorZone = /** @class */ (function () {\r\n function ColorZone(from, to, colorId) {\r\n this.from = from | 0;\r\n this.to = to | 0;\r\n this.colorId = colorId | 0;\r\n }\r\n ColorZone.compare = function (a, b) {\r\n if (a.colorId === b.colorId) {\r\n if (a.from === b.from) {\r\n return a.to - b.to;\r\n }\r\n return a.from - b.from;\r\n }\r\n return a.colorId - b.colorId;\r\n };\r\n return ColorZone;\r\n}());\r\n\r\n/**\r\n * A zone in the overview ruler\r\n */\r\nvar OverviewRulerZone = /** @class */ (function () {\r\n function OverviewRulerZone(startLineNumber, endLineNumber, color) {\r\n this.startLineNumber = startLineNumber;\r\n this.endLineNumber = endLineNumber;\r\n this.color = color;\r\n this._colorZone = null;\r\n }\r\n OverviewRulerZone.compare = function (a, b) {\r\n if (a.color === b.color) {\r\n if (a.startLineNumber === b.startLineNumber) {\r\n return a.endLineNumber - b.endLineNumber;\r\n }\r\n return a.startLineNumber - b.startLineNumber;\r\n }\r\n return a.color < b.color ? -1 : 1;\r\n };\r\n OverviewRulerZone.prototype.setColorZone = function (colorZone) {\r\n this._colorZone = colorZone;\r\n };\r\n OverviewRulerZone.prototype.getColorZones = function () {\r\n return this._colorZone;\r\n };\r\n return OverviewRulerZone;\r\n}());\r\n\r\nvar OverviewZoneManager = /** @class */ (function () {\r\n function OverviewZoneManager(getVerticalOffsetForLine) {\r\n this._getVerticalOffsetForLine = getVerticalOffsetForLine;\r\n this._zones = [];\r\n this._colorZonesInvalid = false;\r\n this._lineHeight = 0;\r\n this._domWidth = 0;\r\n this._domHeight = 0;\r\n this._outerHeight = 0;\r\n this._pixelRatio = 1;\r\n this._lastAssignedId = 0;\r\n this._color2Id = Object.create(null);\r\n this._id2Color = [];\r\n }\r\n OverviewZoneManager.prototype.getId2Color = function () {\r\n return this._id2Color;\r\n };\r\n OverviewZoneManager.prototype.setZones = function (newZones) {\r\n this._zones = newZones;\r\n this._zones.sort(OverviewRulerZone.compare);\r\n };\r\n OverviewZoneManager.prototype.setLineHeight = function (lineHeight) {\r\n if (this._lineHeight === lineHeight) {\r\n return false;\r\n }\r\n this._lineHeight = lineHeight;\r\n this._colorZonesInvalid = true;\r\n return true;\r\n };\r\n OverviewZoneManager.prototype.setPixelRatio = function (pixelRatio) {\r\n this._pixelRatio = pixelRatio;\r\n this._colorZonesInvalid = true;\r\n };\r\n OverviewZoneManager.prototype.getDOMWidth = function () {\r\n return this._domWidth;\r\n };\r\n OverviewZoneManager.prototype.getCanvasWidth = function () {\r\n return this._domWidth * this._pixelRatio;\r\n };\r\n OverviewZoneManager.prototype.setDOMWidth = function (width) {\r\n if (this._domWidth === width) {\r\n return false;\r\n }\r\n this._domWidth = width;\r\n this._colorZonesInvalid = true;\r\n return true;\r\n };\r\n OverviewZoneManager.prototype.getDOMHeight = function () {\r\n return this._domHeight;\r\n };\r\n OverviewZoneManager.prototype.getCanvasHeight = function () {\r\n return this._domHeight * this._pixelRatio;\r\n };\r\n OverviewZoneManager.prototype.setDOMHeight = function (height) {\r\n if (this._domHeight === height) {\r\n return false;\r\n }\r\n this._domHeight = height;\r\n this._colorZonesInvalid = true;\r\n return true;\r\n };\r\n OverviewZoneManager.prototype.getOuterHeight = function () {\r\n return this._outerHeight;\r\n };\r\n OverviewZoneManager.prototype.setOuterHeight = function (outerHeight) {\r\n if (this._outerHeight === outerHeight) {\r\n return false;\r\n }\r\n this._outerHeight = outerHeight;\r\n this._colorZonesInvalid = true;\r\n return true;\r\n };\r\n OverviewZoneManager.prototype.resolveColorZones = function () {\r\n var colorZonesInvalid = this._colorZonesInvalid;\r\n var lineHeight = Math.floor(this._lineHeight); // @perf\r\n var totalHeight = Math.floor(this.getCanvasHeight()); // @perf\r\n var outerHeight = Math.floor(this._outerHeight); // @perf\r\n var heightRatio = totalHeight / outerHeight;\r\n var halfMinimumHeight = Math.floor(4 /* MINIMUM_HEIGHT */ * this._pixelRatio / 2);\r\n var allColorZones = [];\r\n for (var i = 0, len = this._zones.length; i < len; i++) {\r\n var zone = this._zones[i];\r\n if (!colorZonesInvalid) {\r\n var colorZone_1 = zone.getColorZones();\r\n if (colorZone_1) {\r\n allColorZones.push(colorZone_1);\r\n continue;\r\n }\r\n }\r\n var y1 = Math.floor(heightRatio * (this._getVerticalOffsetForLine(zone.startLineNumber)));\r\n var y2 = Math.floor(heightRatio * (this._getVerticalOffsetForLine(zone.endLineNumber) + lineHeight));\r\n var ycenter = Math.floor((y1 + y2) / 2);\r\n var halfHeight = (y2 - ycenter);\r\n if (halfHeight < halfMinimumHeight) {\r\n halfHeight = halfMinimumHeight;\r\n }\r\n if (ycenter - halfHeight < 0) {\r\n ycenter = halfHeight;\r\n }\r\n if (ycenter + halfHeight > totalHeight) {\r\n ycenter = totalHeight - halfHeight;\r\n }\r\n var color = zone.color;\r\n var colorId = this._color2Id[color];\r\n if (!colorId) {\r\n colorId = (++this._lastAssignedId);\r\n this._color2Id[color] = colorId;\r\n this._id2Color[colorId] = color;\r\n }\r\n var colorZone = new ColorZone(ycenter - halfHeight, ycenter + halfHeight, colorId);\r\n zone.setColorZone(colorZone);\r\n allColorZones.push(colorZone);\r\n }\r\n this._colorZonesInvalid = false;\r\n allColorZones.sort(ColorZone.compare);\r\n return allColorZones;\r\n };\r\n return OverviewZoneManager;\r\n}());\r\n\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/common/view/overviewZoneManager.js?')},MvSz:function(module,exports,__webpack_require__){eval('var arrayFilter = __webpack_require__("LXxW"),\n stubArray = __webpack_require__("0ycA");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_getSymbols.js?')},MvwC:function(module,exports,__webpack_require__){eval('var document = __webpack_require__("5T2Y").document;\nmodule.exports = document && document.documentElement;\n\n\n//# sourceURL=webpack:///./node_modules/core-js/library/modules/_html.js?')},MwEJ:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__("bYtY");\n\nvar List = __webpack_require__("YXkt");\n\nvar createDimensions = __webpack_require__("sdST");\n\nvar _sourceType = __webpack_require__("k9D9");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\n\nvar _dimensionHelper = __webpack_require__("L0Ub");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _model = __webpack_require__("4NO4");\n\nvar getDataItemValue = _model.getDataItemValue;\n\nvar CoordinateSystem = __webpack_require__("IDmD");\n\nvar _referHelper = __webpack_require__("i38C");\n\nvar getCoordSysInfoBySeries = _referHelper.getCoordSysInfoBySeries;\n\nvar Source = __webpack_require__("7G+c");\n\nvar _dataStackHelper = __webpack_require__("7hqr");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\n\nvar _sourceHelper = __webpack_require__("D5nY");\n\nvar makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/data/Source|Array} source Or raw data.\n * @param {module:echarts/model/Series} seriesModel\n * @param {Object} [opt]\n * @param {string} [opt.generateCoord]\n * @param {boolean} [opt.useEncodeDefaulter]\n */\nfunction createListFromArray(source, seriesModel, opt) {\n opt = opt || {};\n\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n var coordSysName = seriesModel.get(\'coordinateSystem\');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysInfo = getCoordSysInfoBySeries(seriesModel);\n var coordSysDimDefs;\n\n if (coordSysInfo) {\n coordSysDimDefs = zrUtil.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 = getDimensionTypeByAxis(axisType); // dimInfo.stackable = isStackable(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 var dimInfoList = createDimensions(source, {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord,\n encodeDefaulter: opt.useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null\n });\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysInfo && zrUtil.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\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 var stackCalculationInfo = enableDataStack(seriesModel, dimInfoList);\n var list = new List(dimInfoList, seriesModel);\n list.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 list.hasItemOption = false;\n list.initData(source, null, dimValueGetter);\n return list;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return sampleItem != null && !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(data) {\n var i = 0;\n\n while (i < data.length && data[i] == null) {\n i++;\n }\n\n return data[i];\n}\n\nvar _default = createListFromArray;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/helper/createListFromArray.js?')},Mylv:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar _symbol = __webpack_require__(\"oVpE\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _number = __webpack_require__(\"OELB\");\n\nvar parsePercent = _number.parsePercent;\nvar isNumeric = _number.isNumeric;\n\nvar _helper = __webpack_require__(\"56rv\");\n\nvar setLabel = _helper.setLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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 graphic.Circle();\nvar BarView = echarts.extendChartView({\n type: 'pictorialBar',\n 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.grid.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 dispose: zrUtil.noop,\n 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, bar.dataIndex, ecModel, bar);\n });\n }\n } else {\n group.removeAll();\n }\n }\n}); // Set or calculate default value about symbol, and calculate layout info.\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 color: data.getItemVisual(dataIndex, 'color'),\n symbolClip: symbolClip,\n symbolRepeat: symbolRepeat,\n symbolRepeatDirection: itemModel.get('symbolRepeatDirection'),\n symbolPatternSize: symbolPatternSize,\n rotation: rotation,\n animationModel: isAnimationEnabled ? itemModel : null,\n hoverAnimation: isAnimationEnabled && itemModel.get('hoverAnimation'),\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 = itemModel.get('symbolOffset');\n\n if (zrUtil.isArray(symbolOffset)) {\n symbolOffset = [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])];\n }\n\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, output) {\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 (zrUtil.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 output.boundingLength = boundingLength;\n\n if (symbolRepeat) {\n output.repeatCutLength = layout[valueDim.wh];\n }\n\n output.pxSign = boundingLength > 0 ? 1 : boundingLength < 0 ? -1 : 0;\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, output) {\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\n if (zrUtil.isArray(symbolSize)) {\n symbolSize = symbolSize.slice();\n } else {\n if (symbolSize == null) {\n symbolSize = '100%';\n }\n\n symbolSize = [symbolSize, symbolSize];\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 symbolSize[categoryDim.index] = parsePercent(symbolSize[categoryDim.index], categorySize);\n symbolSize[valueDim.index] = parsePercent(symbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));\n output.symbolSize = symbolSize; // If x or y is less than zero, show reversed shape.\n\n var symbolScale = output.symbolScale = [symbolSize[0] / symbolPatternSize, symbolSize[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, output) {\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 scale: symbolScale.slice(),\n rotation: rotation\n });\n pathForLineWidth.updateTransform();\n valueLineWidth /= pathForLineWidth.getLineScale();\n valueLineWidth *= symbolScale[opt.valueDim.index];\n }\n\n output.valueLineWidth = valueLineWidth;\n}\n\nfunction prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, output) {\n var categoryDim = opt.categoryDim;\n var valueDim = opt.valueDim;\n var pxSign = output.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 = zrUtil.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 symbolMargin = parsePercent(symbolMargin, symbolSize[valueDim.index]);\n var uLenWithMargin = Math.max(unitLength + symbolMargin * 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 : symbolMargin * 2; // Both final repeatTimes and final symbolMargin area calculated based on\n // boundingLength.\n\n var repeatSpecified = 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 symbolMargin = mDiff / 2 / (hasEndGap ? repeatTimes : repeatTimes - 1);\n uLenWithMargin = unitLength + symbolMargin * 2;\n endFix = hasEndGap ? 0 : symbolMargin * 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 output.repeatTimes = repeatTimes;\n output.symbolMargin = symbolMargin;\n }\n\n var sizeFix = pxSign * (pathLen / 2);\n var pathPosition = output.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 = output.bundlePosition = [];\n bundlePosition[categoryDim.index] = layout[categoryDim.xy];\n bundlePosition[valueDim.index] = layout[valueDim.xy];\n var barRectShape = output.barRectShape = zrUtil.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 = output.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 = createSymbol( // Consider texture img, make a big size.\n symbolMeta.symbolType, -symbolPatternSize / 2, -symbolPatternSize / 2, symbolPatternSize, symbolPatternSize, symbolMeta.color);\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 scale: [0, 0]\n }, symbolMeta, isUpdate, function () {\n bundle.remove(path);\n });\n }\n\n updateHoverAnimation(path, symbolMeta);\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 position: target.position,\n scale: [0, 0]\n }, {\n scale: target.scale,\n rotation: target.rotation\n }, symbolMeta, isUpdate); // FIXME\n // If all emphasis/normal through action.\n\n path.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n updateHoverAnimation(path, symbolMeta);\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 position: position,\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n };\n }\n\n function onMouseOver() {\n eachPath(bar, function (path) {\n path.trigger('emphasis');\n });\n }\n\n function onMouseOut() {\n eachPath(bar, function (path) {\n path.trigger('normal');\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 position: symbolMeta.pathPosition.slice(),\n scale: [0, 0],\n rotation: symbolMeta.rotation\n }, {\n scale: symbolMeta.symbolScale.slice()\n }, symbolMeta, isUpdate);\n mainPath.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n } else {\n updateAttr(mainPath, null, {\n position: symbolMeta.pathPosition.slice(),\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n }, symbolMeta, isUpdate);\n }\n\n updateHoverAnimation(mainPath, symbolMeta);\n\n function onMouseOver() {\n this.trigger('emphasis');\n }\n\n function onMouseOut() {\n this.trigger('normal');\n }\n} // bar rect is used for label.\n\n\nfunction createOrUpdateBarRect(bar, symbolMeta, isUpdate) {\n var rectShape = zrUtil.extend({}, symbolMeta.barRectShape);\n var barRect = bar.__pictorialBarRect;\n\n if (!barRect) {\n barRect = bar.__pictorialBarRect = new graphic.Rect({\n z2: 2,\n shape: rectShape,\n silent: true,\n style: {\n stroke: 'transparent',\n fill: 'transparent',\n lineWidth: 0\n }\n });\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 = zrUtil.extend({}, symbolMeta.clipShape);\n var valueDim = opt.valueDim;\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n\n if (clipPath) {\n graphic.updateProps(clipPath, {\n shape: clipShape\n }, animationModel, dataIndex);\n } else {\n clipShape[valueDim.wh] = 0;\n clipPath = new graphic.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 graphic[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 updateHoverAnimation(path, symbolMeta) {\n path.off('emphasis').off('normal');\n var scale = symbolMeta.symbolScale.slice();\n symbolMeta.hoverAnimation && path.on('emphasis', function () {\n this.animateTo({\n scale: [scale[0] * 1.1, scale[1] * 1.1]\n }, 400, 'elasticOut');\n }).on('normal', function () {\n this.animateTo({\n scale: scale.slice()\n }, 400, 'elasticOut');\n });\n}\n\nfunction createBar(data, opt, symbolMeta, isUpdate) {\n // bar is the main element for each data.\n var bar = new graphic.Group(); // bundle is used for location and clip.\n\n var bundle = new graphic.Group();\n bar.add(bundle);\n bar.__pictorialBundle = bundle;\n bundle.attr('position', symbolMeta.bundlePosition.slice());\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 graphic.updateProps(bundle, {\n position: symbolMeta.bundlePosition.slice()\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.style.text = null);\n var pathes = [];\n eachPath(bar, function (path) {\n pathes.push(path);\n });\n bar.__pictorialMainPath && pathes.push(bar.__pictorialMainPath); // I do not find proper remove animation for clip yet.\n\n bar.__pictorialClipPath && (animationModel = null);\n zrUtil.each(pathes, function (path) {\n graphic.updateProps(path, {\n scale: [0, 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 zrUtil.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 && graphic[isUpdate ? 'updateProps' : 'initProps'](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);\n }\n}\n\nfunction updateCommon(bar, opt, symbolMeta) {\n var color = symbolMeta.color;\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 normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n eachPath(bar, function (path) {\n // PENDING setColor should be before setStyle!!!\n path.setColor(color);\n path.setStyle(zrUtil.defaults({\n fill: color,\n opacity: symbolMeta.opacity\n }, normalStyle));\n graphic.setHoverStyle(path, hoverStyle);\n cursorStyle && (path.cursor = cursorStyle);\n path.z2 = symbolMeta.z2;\n });\n var barRectHoverStyle = {};\n var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];\n var barRect = bar.__pictorialBarRect;\n setLabel(barRect.style, barRectHoverStyle, itemModel, color, opt.seriesModel, dataIndex, barPositionOutside);\n graphic.setHoverStyle(barRect, barRectHoverStyle);\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\nvar _default = BarView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarView.js?")},Mzro:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Microsoft Corporation. All rights reserved.\r\n* Licensed under the MIT License. See License.txt in the project root for license information.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'shell',\r\n extensions: ['.sh', '.bash'],\r\n aliases: ['Shell', 'sh'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 211).then(__webpack_require__.bind(null, \"l/4i\")); },\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js?")},N0LK:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return isFalsyOrWhitespace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return pad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return format; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return escape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return escapeRegExpCharacters; });\n/* unused harmony export trim */\n/* unused harmony export ltrim */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return rtrim; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return convertSimple2RegExpPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return startsWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return endsWith; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return createRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return regExpLeadsToEndlessLoop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return regExpFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return firstNonWhitespaceIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return getLeadingWhitespace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return lastNonWhitespaceIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return compareIgnoreCase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return isLowerAsciiLetter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return isUpperAsciiLetter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return equalsIgnoreCase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return startsWithIgnoreCase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return commonPrefixLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return commonSuffixLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return isHighSurrogate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return isLowSurrogate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return getNextCodePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return nextCharLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return prevCharLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return containsRTL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return containsEmoji; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return isBasicASCII; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return containsFullWidthCharacter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return isFullWidthCharacter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return isEmojiImprecise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UTF8_BOM_CHARACTER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return startsWithUTF8BOM; });\n/* unused harmony export safeBtoa */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return repeat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return containsUppercaseCharacter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return singleLetterHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return getGraphemeBreakType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return breakBetweenGraphemeBreakType; });\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nfunction isFalsyOrWhitespace(str) {\r\n if (!str || typeof str !== 'string') {\r\n return true;\r\n }\r\n return str.trim().length === 0;\r\n}\r\n/**\r\n * @returns the provided number with the given number of preceding zeros.\r\n */\r\nfunction pad(n, l, char) {\r\n if (char === void 0) { char = '0'; }\r\n var str = '' + n;\r\n var r = [str];\r\n for (var i = str.length; i < l; i++) {\r\n r.push(char);\r\n }\r\n return r.reverse().join('');\r\n}\r\nvar _formatRegexp = /{(\\d+)}/g;\r\n/**\r\n * Helper to produce a string with a variable number of arguments. Insert variable segments\r\n * into the string using the {n} notation where N is the index of the argument following the string.\r\n * @param value string to which formatting is applied\r\n * @param args replacements for {n}-entries\r\n */\r\nfunction format(value) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n if (args.length === 0) {\r\n return value;\r\n }\r\n return value.replace(_formatRegexp, function (match, group) {\r\n var idx = parseInt(group, 10);\r\n return isNaN(idx) || idx < 0 || idx >= args.length ?\r\n match :\r\n args[idx];\r\n });\r\n}\r\n/**\r\n * Converts HTML characters inside the string to use entities instead. Makes the string safe from\r\n * being used e.g. in HTMLElement.innerHTML.\r\n */\r\nfunction escape(html) {\r\n return html.replace(/[<>&]/g, function (match) {\r\n switch (match) {\r\n case '<': return '<';\r\n case '>': return '>';\r\n case '&': return '&';\r\n default: return match;\r\n }\r\n });\r\n}\r\n/**\r\n * Escapes regular expression characters in a given string\r\n */\r\nfunction escapeRegExpCharacters(value) {\r\n return value.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g, '\\\\$&');\r\n}\r\n/**\r\n * Removes all occurrences of needle from the beginning and end of haystack.\r\n * @param haystack string to trim\r\n * @param needle the thing to trim (default is a blank)\r\n */\r\nfunction trim(haystack, needle) {\r\n if (needle === void 0) { needle = ' '; }\r\n var trimmed = ltrim(haystack, needle);\r\n return rtrim(trimmed, needle);\r\n}\r\n/**\r\n * Removes all occurrences of needle from the beginning of haystack.\r\n * @param haystack string to trim\r\n * @param needle the thing to trim\r\n */\r\nfunction ltrim(haystack, needle) {\r\n if (!haystack || !needle) {\r\n return haystack;\r\n }\r\n var needleLen = needle.length;\r\n if (needleLen === 0 || haystack.length === 0) {\r\n return haystack;\r\n }\r\n var offset = 0;\r\n while (haystack.indexOf(needle, offset) === offset) {\r\n offset = offset + needleLen;\r\n }\r\n return haystack.substring(offset);\r\n}\r\n/**\r\n * Removes all occurrences of needle from the end of haystack.\r\n * @param haystack string to trim\r\n * @param needle the thing to trim\r\n */\r\nfunction rtrim(haystack, needle) {\r\n if (!haystack || !needle) {\r\n return haystack;\r\n }\r\n var needleLen = needle.length, haystackLen = haystack.length;\r\n if (needleLen === 0 || haystackLen === 0) {\r\n return haystack;\r\n }\r\n var offset = haystackLen, idx = -1;\r\n while (true) {\r\n idx = haystack.lastIndexOf(needle, offset - 1);\r\n if (idx === -1 || idx + needleLen !== offset) {\r\n break;\r\n }\r\n if (idx === 0) {\r\n return '';\r\n }\r\n offset = idx;\r\n }\r\n return haystack.substring(0, offset);\r\n}\r\nfunction convertSimple2RegExpPattern(pattern) {\r\n return pattern.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, '\\\\$&').replace(/[\\*]/g, '.*');\r\n}\r\n/**\r\n * Determines if haystack starts with needle.\r\n */\r\nfunction startsWith(haystack, needle) {\r\n if (haystack.length < needle.length) {\r\n return false;\r\n }\r\n if (haystack === needle) {\r\n return true;\r\n }\r\n for (var i = 0; i < needle.length; i++) {\r\n if (haystack[i] !== needle[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Determines if haystack ends with needle.\r\n */\r\nfunction endsWith(haystack, needle) {\r\n var diff = haystack.length - needle.length;\r\n if (diff > 0) {\r\n return haystack.indexOf(needle, diff) === diff;\r\n }\r\n else if (diff === 0) {\r\n return haystack === needle;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\nfunction createRegExp(searchString, isRegex, options) {\r\n if (options === void 0) { options = {}; }\r\n if (!searchString) {\r\n throw new Error('Cannot create regex from empty string');\r\n }\r\n if (!isRegex) {\r\n searchString = escapeRegExpCharacters(searchString);\r\n }\r\n if (options.wholeWord) {\r\n if (!/\\B/.test(searchString.charAt(0))) {\r\n searchString = '\\\\b' + searchString;\r\n }\r\n if (!/\\B/.test(searchString.charAt(searchString.length - 1))) {\r\n searchString = searchString + '\\\\b';\r\n }\r\n }\r\n var modifiers = '';\r\n if (options.global) {\r\n modifiers += 'g';\r\n }\r\n if (!options.matchCase) {\r\n modifiers += 'i';\r\n }\r\n if (options.multiline) {\r\n modifiers += 'm';\r\n }\r\n if (options.unicode) {\r\n modifiers += 'u';\r\n }\r\n return new RegExp(searchString, modifiers);\r\n}\r\nfunction regExpLeadsToEndlessLoop(regexp) {\r\n // Exit early if it's one of these special cases which are meant to match\r\n // against an empty string\r\n if (regexp.source === '^' || regexp.source === '^$' || regexp.source === '$' || regexp.source === '^\\\\s*$') {\r\n return false;\r\n }\r\n // We check against an empty string. If the regular expression doesn't advance\r\n // (e.g. ends in an endless loop) it will match an empty string.\r\n var match = regexp.exec('');\r\n return !!(match && regexp.lastIndex === 0);\r\n}\r\nfunction regExpFlags(regexp) {\r\n return (regexp.global ? 'g' : '')\r\n + (regexp.ignoreCase ? 'i' : '')\r\n + (regexp.multiline ? 'm' : '')\r\n + (regexp.unicode ? 'u' : '');\r\n}\r\n/**\r\n * Returns first index of the string that is not whitespace.\r\n * If string is empty or contains only whitespaces, returns -1\r\n */\r\nfunction firstNonWhitespaceIndex(str) {\r\n for (var i = 0, len = str.length; i < len; i++) {\r\n var chCode = str.charCodeAt(i);\r\n if (chCode !== 32 /* Space */ && chCode !== 9 /* Tab */) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Returns the leading whitespace of the string.\r\n * If the string contains only whitespaces, returns entire string\r\n */\r\nfunction getLeadingWhitespace(str, start, end) {\r\n if (start === void 0) { start = 0; }\r\n if (end === void 0) { end = str.length; }\r\n for (var i = start; i < end; i++) {\r\n var chCode = str.charCodeAt(i);\r\n if (chCode !== 32 /* Space */ && chCode !== 9 /* Tab */) {\r\n return str.substring(start, i);\r\n }\r\n }\r\n return str.substring(start, end);\r\n}\r\n/**\r\n * Returns last index of the string that is not whitespace.\r\n * If string is empty or contains only whitespaces, returns -1\r\n */\r\nfunction lastNonWhitespaceIndex(str, startIndex) {\r\n if (startIndex === void 0) { startIndex = str.length - 1; }\r\n for (var i = startIndex; i >= 0; i--) {\r\n var chCode = str.charCodeAt(i);\r\n if (chCode !== 32 /* Space */ && chCode !== 9 /* Tab */) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nfunction compare(a, b) {\r\n if (a < b) {\r\n return -1;\r\n }\r\n else if (a > b) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n}\r\nfunction compareIgnoreCase(a, b) {\r\n var len = Math.min(a.length, b.length);\r\n for (var i = 0; i < len; i++) {\r\n var codeA = a.charCodeAt(i);\r\n var codeB = b.charCodeAt(i);\r\n if (codeA === codeB) {\r\n // equal\r\n continue;\r\n }\r\n if (isUpperAsciiLetter(codeA)) {\r\n codeA += 32;\r\n }\r\n if (isUpperAsciiLetter(codeB)) {\r\n codeB += 32;\r\n }\r\n var diff = codeA - codeB;\r\n if (diff === 0) {\r\n // equal -> ignoreCase\r\n continue;\r\n }\r\n else if (isLowerAsciiLetter(codeA) && isLowerAsciiLetter(codeB)) {\r\n //\r\n return diff;\r\n }\r\n else {\r\n return compare(a.toLowerCase(), b.toLowerCase());\r\n }\r\n }\r\n if (a.length < b.length) {\r\n return -1;\r\n }\r\n else if (a.length > b.length) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n}\r\nfunction isLowerAsciiLetter(code) {\r\n return code >= 97 /* a */ && code <= 122 /* z */;\r\n}\r\nfunction isUpperAsciiLetter(code) {\r\n return code >= 65 /* A */ && code <= 90 /* Z */;\r\n}\r\nfunction isAsciiLetter(code) {\r\n return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);\r\n}\r\nfunction equalsIgnoreCase(a, b) {\r\n return a.length === b.length && doEqualsIgnoreCase(a, b);\r\n}\r\nfunction doEqualsIgnoreCase(a, b, stopAt) {\r\n if (stopAt === void 0) { stopAt = a.length; }\r\n for (var i = 0; i < stopAt; i++) {\r\n var codeA = a.charCodeAt(i);\r\n var codeB = b.charCodeAt(i);\r\n if (codeA === codeB) {\r\n continue;\r\n }\r\n // a-z A-Z\r\n if (isAsciiLetter(codeA) && isAsciiLetter(codeB)) {\r\n var diff = Math.abs(codeA - codeB);\r\n if (diff !== 0 && diff !== 32) {\r\n return false;\r\n }\r\n }\r\n // Any other charcode\r\n else {\r\n if (String.fromCharCode(codeA).toLowerCase() !== String.fromCharCode(codeB).toLowerCase()) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\nfunction startsWithIgnoreCase(str, candidate) {\r\n var candidateLength = candidate.length;\r\n if (candidate.length > str.length) {\r\n return false;\r\n }\r\n return doEqualsIgnoreCase(str, candidate, candidateLength);\r\n}\r\n/**\r\n * @returns the length of the common prefix of the two strings.\r\n */\r\nfunction commonPrefixLength(a, b) {\r\n var i, len = Math.min(a.length, b.length);\r\n for (i = 0; i < len; i++) {\r\n if (a.charCodeAt(i) !== b.charCodeAt(i)) {\r\n return i;\r\n }\r\n }\r\n return len;\r\n}\r\n/**\r\n * @returns the length of the common suffix of the two strings.\r\n */\r\nfunction commonSuffixLength(a, b) {\r\n var i, len = Math.min(a.length, b.length);\r\n var aLastIndex = a.length - 1;\r\n var bLastIndex = b.length - 1;\r\n for (i = 0; i < len; i++) {\r\n if (a.charCodeAt(aLastIndex - i) !== b.charCodeAt(bLastIndex - i)) {\r\n return i;\r\n }\r\n }\r\n return len;\r\n}\r\n// --- unicode\r\n// http://en.wikipedia.org/wiki/Surrogate_pair\r\n// Returns the code point starting at a specified index in a string\r\n// Code points U+0000 to U+D7FF and U+E000 to U+FFFF are represented on a single character\r\n// Code points U+10000 to U+10FFFF are represented on two consecutive characters\r\n//export function getUnicodePoint(str:string, index:number, len:number):number {\r\n//\tconst chrCode = str.charCodeAt(index);\r\n//\tif (0xD800 <= chrCode && chrCode <= 0xDBFF && index + 1 < len) {\r\n//\t\tconst nextChrCode = str.charCodeAt(index + 1);\r\n//\t\tif (0xDC00 <= nextChrCode && nextChrCode <= 0xDFFF) {\r\n//\t\t\treturn (chrCode - 0xD800) << 10 + (nextChrCode - 0xDC00) + 0x10000;\r\n//\t\t}\r\n//\t}\r\n//\treturn chrCode;\r\n//}\r\nfunction isHighSurrogate(charCode) {\r\n return (0xD800 <= charCode && charCode <= 0xDBFF);\r\n}\r\nfunction isLowSurrogate(charCode) {\r\n return (0xDC00 <= charCode && charCode <= 0xDFFF);\r\n}\r\n/**\r\n * get the code point that begins at offset `offset`\r\n */\r\nfunction getNextCodePoint(str, len, offset) {\r\n var charCode = str.charCodeAt(offset);\r\n if (isHighSurrogate(charCode) && offset + 1 < len) {\r\n var nextCharCode = str.charCodeAt(offset + 1);\r\n if (isLowSurrogate(nextCharCode)) {\r\n return ((charCode - 0xD800) << 10) + (nextCharCode - 0xDC00) + 0x10000;\r\n }\r\n }\r\n return charCode;\r\n}\r\n/**\r\n * get the code point that ends right before offset `offset`\r\n */\r\nfunction getPrevCodePoint(str, offset) {\r\n var charCode = str.charCodeAt(offset - 1);\r\n if (isLowSurrogate(charCode) && offset > 1) {\r\n var prevCharCode = str.charCodeAt(offset - 2);\r\n if (isHighSurrogate(prevCharCode)) {\r\n return ((prevCharCode - 0xD800) << 10) + (charCode - 0xDC00) + 0x10000;\r\n }\r\n }\r\n return charCode;\r\n}\r\nfunction nextCharLength(str, offset) {\r\n var graphemeBreakTree = GraphemeBreakTree.getInstance();\r\n var initialOffset = offset;\r\n var len = str.length;\r\n var initialCodePoint = getNextCodePoint(str, len, offset);\r\n offset += (initialCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n var graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(initialCodePoint);\r\n while (offset < len) {\r\n var nextCodePoint = getNextCodePoint(str, len, offset);\r\n var nextGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(nextCodePoint);\r\n if (breakBetweenGraphemeBreakType(graphemeBreakType, nextGraphemeBreakType)) {\r\n break;\r\n }\r\n offset += (nextCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n graphemeBreakType = nextGraphemeBreakType;\r\n }\r\n return (offset - initialOffset);\r\n}\r\nfunction prevCharLength(str, offset) {\r\n var graphemeBreakTree = GraphemeBreakTree.getInstance();\r\n var initialOffset = offset;\r\n var initialCodePoint = getPrevCodePoint(str, offset);\r\n offset -= (initialCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n var graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(initialCodePoint);\r\n while (offset > 0) {\r\n var prevCodePoint = getPrevCodePoint(str, offset);\r\n var prevGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(prevCodePoint);\r\n if (breakBetweenGraphemeBreakType(prevGraphemeBreakType, graphemeBreakType)) {\r\n break;\r\n }\r\n offset -= (prevCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n graphemeBreakType = prevGraphemeBreakType;\r\n }\r\n return (initialOffset - offset);\r\n}\r\n/**\r\n * Generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-rtl-test.js\r\n */\r\nvar CONTAINS_RTL = /(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u08BD\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE33\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDCFF]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD50-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/;\r\n/**\r\n * Returns true if `str` contains any Unicode character that is classified as \"R\" or \"AL\".\r\n */\r\nfunction containsRTL(str) {\r\n return CONTAINS_RTL.test(str);\r\n}\r\n/**\r\n * Generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-emoji-test.js\r\n */\r\nvar CONTAINS_EMOJI = /(?:[\\u231A\\u231B\\u23F0\\u23F3\\u2600-\\u27BF\\u2B50\\u2B55]|\\uD83C[\\uDDE6-\\uDDFF\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDE4F\\uDE80-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD00-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE82\\uDE90-\\uDE95])/;\r\nfunction containsEmoji(str) {\r\n return CONTAINS_EMOJI.test(str);\r\n}\r\nvar IS_BASIC_ASCII = /^[\\t\\n\\r\\x20-\\x7E]*$/;\r\n/**\r\n * Returns true if `str` contains only basic ASCII characters in the range 32 - 126 (including 32 and 126) or \\n, \\r, \\t\r\n */\r\nfunction isBasicASCII(str) {\r\n return IS_BASIC_ASCII.test(str);\r\n}\r\nfunction containsFullWidthCharacter(str) {\r\n for (var i = 0, len = str.length; i < len; i++) {\r\n if (isFullWidthCharacter(str.charCodeAt(i))) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction isFullWidthCharacter(charCode) {\r\n // Do a cheap trick to better support wrapping of wide characters, treat them as 2 columns\r\n // http://jrgraphix.net/research/unicode_blocks.php\r\n // 2E80 \u2014 2EFF CJK Radicals Supplement\r\n // 2F00 \u2014 2FDF Kangxi Radicals\r\n // 2FF0 \u2014 2FFF Ideographic Description Characters\r\n // 3000 \u2014 303F CJK Symbols and Punctuation\r\n // 3040 \u2014 309F Hiragana\r\n // 30A0 \u2014 30FF Katakana\r\n // 3100 \u2014 312F Bopomofo\r\n // 3130 \u2014 318F Hangul Compatibility Jamo\r\n // 3190 \u2014 319F Kanbun\r\n // 31A0 \u2014 31BF Bopomofo Extended\r\n // 31F0 \u2014 31FF Katakana Phonetic Extensions\r\n // 3200 \u2014 32FF Enclosed CJK Letters and Months\r\n // 3300 \u2014 33FF CJK Compatibility\r\n // 3400 \u2014 4DBF CJK Unified Ideographs Extension A\r\n // 4DC0 \u2014 4DFF Yijing Hexagram Symbols\r\n // 4E00 \u2014 9FFF CJK Unified Ideographs\r\n // A000 \u2014 A48F Yi Syllables\r\n // A490 \u2014 A4CF Yi Radicals\r\n // AC00 \u2014 D7AF Hangul Syllables\r\n // [IGNORE] D800 \u2014 DB7F High Surrogates\r\n // [IGNORE] DB80 \u2014 DBFF High Private Use Surrogates\r\n // [IGNORE] DC00 \u2014 DFFF Low Surrogates\r\n // [IGNORE] E000 \u2014 F8FF Private Use Area\r\n // F900 \u2014 FAFF CJK Compatibility Ideographs\r\n // [IGNORE] FB00 \u2014 FB4F Alphabetic Presentation Forms\r\n // [IGNORE] FB50 \u2014 FDFF Arabic Presentation Forms-A\r\n // [IGNORE] FE00 \u2014 FE0F Variation Selectors\r\n // [IGNORE] FE20 \u2014 FE2F Combining Half Marks\r\n // [IGNORE] FE30 \u2014 FE4F CJK Compatibility Forms\r\n // [IGNORE] FE50 \u2014 FE6F Small Form Variants\r\n // [IGNORE] FE70 \u2014 FEFF Arabic Presentation Forms-B\r\n // FF00 \u2014 FFEF Halfwidth and Fullwidth Forms\r\n // [https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms]\r\n // of which FF01 - FF5E fullwidth ASCII of 21 to 7E\r\n // [IGNORE] and FF65 - FFDC halfwidth of Katakana and Hangul\r\n // [IGNORE] FFF0 \u2014 FFFF Specials\r\n charCode = +charCode; // @perf\r\n return ((charCode >= 0x2E80 && charCode <= 0xD7AF)\r\n || (charCode >= 0xF900 && charCode <= 0xFAFF)\r\n || (charCode >= 0xFF01 && charCode <= 0xFF5E));\r\n}\r\n/**\r\n * A fast function (therefore imprecise) to check if code points are emojis.\r\n * Generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-emoji-test.js\r\n */\r\nfunction isEmojiImprecise(x) {\r\n return ((x >= 0x1F1E6 && x <= 0x1F1FF) || (x >= 9728 && x <= 10175) || (x >= 127744 && x <= 128591)\r\n || (x >= 128640 && x <= 128764) || (x >= 128992 && x <= 129003) || (x >= 129280 && x <= 129535)\r\n || (x >= 129648 && x <= 129651) || (x >= 129656 && x <= 129666) || (x >= 129680 && x <= 129685));\r\n}\r\n// -- UTF-8 BOM\r\nvar UTF8_BOM_CHARACTER = String.fromCharCode(65279 /* UTF8_BOM */);\r\nfunction startsWithUTF8BOM(str) {\r\n return !!(str && str.length > 0 && str.charCodeAt(0) === 65279 /* UTF8_BOM */);\r\n}\r\nfunction safeBtoa(str) {\r\n return btoa(encodeURIComponent(str)); // we use encodeURIComponent because btoa fails for non Latin 1 values\r\n}\r\nfunction repeat(s, count) {\r\n var result = '';\r\n for (var i = 0; i < count; i++) {\r\n result += s;\r\n }\r\n return result;\r\n}\r\nfunction containsUppercaseCharacter(target, ignoreEscapedChars) {\r\n if (ignoreEscapedChars === void 0) { ignoreEscapedChars = false; }\r\n if (!target) {\r\n return false;\r\n }\r\n if (ignoreEscapedChars) {\r\n target = target.replace(/\\\\./g, '');\r\n }\r\n return target.toLowerCase() !== target;\r\n}\r\n/**\r\n * Produces 'a'-'z', followed by 'A'-'Z'... followed by 'a'-'z', etc.\r\n */\r\nfunction singleLetterHash(n) {\r\n var LETTERS_CNT = (90 /* Z */ - 65 /* A */ + 1);\r\n n = n % (2 * LETTERS_CNT);\r\n if (n < LETTERS_CNT) {\r\n return String.fromCharCode(97 /* a */ + n);\r\n }\r\n return String.fromCharCode(65 /* A */ + n - LETTERS_CNT);\r\n}\r\n//#region Unicode Grapheme Break\r\nfunction getGraphemeBreakType(codePoint) {\r\n var graphemeBreakTree = GraphemeBreakTree.getInstance();\r\n return graphemeBreakTree.getGraphemeBreakType(codePoint);\r\n}\r\nfunction breakBetweenGraphemeBreakType(breakTypeA, breakTypeB) {\r\n // http://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules\r\n // !!! Let's make the common case a bit faster\r\n if (breakTypeA === 0 /* Other */) {\r\n // see https://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakTest-13.0.0d10.html#table\r\n return (breakTypeB !== 5 /* Extend */ && breakTypeB !== 7 /* SpacingMark */);\r\n }\r\n // Do not break between a CR and LF. Otherwise, break before and after controls.\r\n // GB3 CR \xd7 LF\r\n // GB4 (Control | CR | LF) \xf7\r\n // GB5 \xf7 (Control | CR | LF)\r\n if (breakTypeA === 2 /* CR */) {\r\n if (breakTypeB === 3 /* LF */) {\r\n return false; // GB3\r\n }\r\n }\r\n if (breakTypeA === 4 /* Control */ || breakTypeA === 2 /* CR */ || breakTypeA === 3 /* LF */) {\r\n return true; // GB4\r\n }\r\n if (breakTypeB === 4 /* Control */ || breakTypeB === 2 /* CR */ || breakTypeB === 3 /* LF */) {\r\n return true; // GB5\r\n }\r\n // Do not break Hangul syllable sequences.\r\n // GB6 L \xd7 (L | V | LV | LVT)\r\n // GB7 (LV | V) \xd7 (V | T)\r\n // GB8 (LVT | T) \xd7 T\r\n if (breakTypeA === 8 /* L */) {\r\n if (breakTypeB === 8 /* L */ || breakTypeB === 9 /* V */ || breakTypeB === 11 /* LV */ || breakTypeB === 12 /* LVT */) {\r\n return false; // GB6\r\n }\r\n }\r\n if (breakTypeA === 11 /* LV */ || breakTypeA === 9 /* V */) {\r\n if (breakTypeB === 9 /* V */ || breakTypeB === 10 /* T */) {\r\n return false; // GB7\r\n }\r\n }\r\n if (breakTypeA === 12 /* LVT */ || breakTypeA === 10 /* T */) {\r\n if (breakTypeB === 10 /* T */) {\r\n return false; // GB8\r\n }\r\n }\r\n // Do not break before extending characters or ZWJ.\r\n // GB9 \xd7 (Extend | ZWJ)\r\n if (breakTypeB === 5 /* Extend */ || breakTypeB === 13 /* ZWJ */) {\r\n return false; // GB9\r\n }\r\n // The GB9a and GB9b rules only apply to extended grapheme clusters:\r\n // Do not break before SpacingMarks, or after Prepend characters.\r\n // GB9a \xd7 SpacingMark\r\n // GB9b Prepend \xd7\r\n if (breakTypeB === 7 /* SpacingMark */) {\r\n return false; // GB9a\r\n }\r\n if (breakTypeA === 1 /* Prepend */) {\r\n return false; // GB9b\r\n }\r\n // Do not break within emoji modifier sequences or emoji zwj sequences.\r\n // GB11 \\p{Extended_Pictographic} Extend* ZWJ \xd7 \\p{Extended_Pictographic}\r\n if (breakTypeA === 13 /* ZWJ */ && breakTypeB === 14 /* Extended_Pictographic */) {\r\n // Note: we are not implementing the rule entirely here to avoid introducing states\r\n return false; // GB11\r\n }\r\n // GB12 sot (RI RI)* RI \xd7 RI\r\n // GB13 [^RI] (RI RI)* RI \xd7 RI\r\n if (breakTypeA === 6 /* Regional_Indicator */ && breakTypeB === 6 /* Regional_Indicator */) {\r\n // Note: we are not implementing the rule entirely here to avoid introducing states\r\n return false; // GB12 & GB13\r\n }\r\n // GB999 Any \xf7 Any\r\n return true;\r\n}\r\nvar GraphemeBreakTree = /** @class */ (function () {\r\n function GraphemeBreakTree() {\r\n this._data = getGraphemeBreakRawData();\r\n }\r\n GraphemeBreakTree.getInstance = function () {\r\n if (!GraphemeBreakTree._INSTANCE) {\r\n GraphemeBreakTree._INSTANCE = new GraphemeBreakTree();\r\n }\r\n return GraphemeBreakTree._INSTANCE;\r\n };\r\n GraphemeBreakTree.prototype.getGraphemeBreakType = function (codePoint) {\r\n // !!! Let's make 7bit ASCII a bit faster: 0..31\r\n if (codePoint < 32) {\r\n if (codePoint === 10 /* LineFeed */) {\r\n return 3 /* LF */;\r\n }\r\n if (codePoint === 13 /* CarriageReturn */) {\r\n return 2 /* CR */;\r\n }\r\n return 4 /* Control */;\r\n }\r\n // !!! Let's make 7bit ASCII a bit faster: 32..126\r\n if (codePoint < 127) {\r\n return 0 /* Other */;\r\n }\r\n var data = this._data;\r\n var nodeCount = data.length / 3;\r\n var nodeIndex = 1;\r\n while (nodeIndex <= nodeCount) {\r\n if (codePoint < data[3 * nodeIndex]) {\r\n // go left\r\n nodeIndex = 2 * nodeIndex;\r\n }\r\n else if (codePoint > data[3 * nodeIndex + 1]) {\r\n // go right\r\n nodeIndex = 2 * nodeIndex + 1;\r\n }\r\n else {\r\n // hit\r\n return data[3 * nodeIndex + 2];\r\n }\r\n }\r\n return 0 /* Other */;\r\n };\r\n GraphemeBreakTree._INSTANCE = null;\r\n return GraphemeBreakTree;\r\n}());\r\nfunction getGraphemeBreakRawData() {\r\n // generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-grapheme-break.js\r\n return JSON.parse('[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]');\r\n}\r\n//#endregion\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/common/strings.js?")},N2Kk:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = ({\n // Options.jsx\n items_per_page: '\u6761/\u9875',\n jump_to: '\u8df3\u81f3',\n jump_to_confirm: '\u786e\u5b9a',\n page: '\u9875',\n // Pagination.jsx\n prev_page: '\u4e0a\u4e00\u9875',\n next_page: '\u4e0b\u4e00\u9875',\n prev_5: '\u5411\u524d 5 \u9875',\n next_5: '\u5411\u540e 5 \u9875',\n prev_3: '\u5411\u524d 3 \u9875',\n next_3: '\u5411\u540e 3 \u9875'\n});\n\n//# sourceURL=webpack:///./node_modules/rc-pagination/es/locale/zh_CN.js?")},N5BQ:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 DataZoomModel = __webpack_require__(\"OlYY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 SliderZoomModel = DataZoomModel.extend({\n type: 'dataZoom.slider',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n // ph => placeholder. Using placehoder here because\n // deault value can only be drived in view stage.\n right: 'ph',\n // Default align to grid rect.\n top: 'ph',\n // Default align to grid rect.\n width: 'ph',\n // Default align to grid rect.\n height: 'ph',\n // Default align to grid rect.\n left: null,\n // Default align to grid rect.\n bottom: null,\n // Default align to grid rect.\n backgroundColor: 'rgba(47,69,84,0)',\n // Background of slider zoom component.\n // dataBackgroundColor: '#ddd', // Background coor of data shadow and border of box,\n // highest priority, remain for compatibility of\n // previous version, but not recommended any more.\n dataBackground: {\n lineStyle: {\n color: '#2f4554',\n width: 0.5,\n opacity: 0.3\n },\n areaStyle: {\n color: 'rgba(47,69,84,0.3)',\n opacity: 0.3\n }\n },\n borderColor: '#ddd',\n // border color of the box. For compatibility,\n // if dataBackgroundColor is set, borderColor\n // is ignored.\n fillerColor: 'rgba(167,183,204,0.4)',\n // Color of selected area.\n // handleColor: 'rgba(89,170,216,0.95)', // Color of handle.\n // handleIcon: 'path://M4.9,17.8c0-1.4,4.5-10.5,5.5-12.4c0-0.1,0.6-1.1,0.9-1.1c0.4,0,0.9,1,0.9,1.1c1.1,2.2,5.4,11,5.4,12.4v17.8c0,1.5-0.6,2.1-1.3,2.1H6.1c-0.7,0-1.3-0.6-1.3-2.1V17.8z',\n\n /* eslint-disable */\n handleIcon: 'M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z',\n\n /* eslint-enable */\n // Percent of the slider height\n handleSize: '100%',\n handleStyle: {\n color: '#a7b7cc'\n },\n labelPrecision: null,\n labelFormatter: null,\n showDetail: true,\n showDataShadow: 'auto',\n // Default auto decision.\n realtime: true,\n zoomLock: false,\n // Whether disable zoom.\n textStyle: {\n color: '#333'\n }\n }\n});\nvar _default = SliderZoomModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js?")},NA0q:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar ChartView = __webpack_require__(\"6Ic6\");\n\nvar SunburstPiece = __webpack_require__(\"TkdX\");\n\nvar DataDiffer = __webpack_require__(\"gPAo\");\n\nvar _format = __webpack_require__(\"7aKB\");\n\nvar windowOpen = _format.windowOpen;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\nvar SunburstView = ChartView.extend({\n type: 'sunburst',\n init: function () {},\n render: function (seriesModel, ecModel, api, payload) {\n var that = 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 if (payload && payload.highlight && payload.highlight.piece) {\n var highlightPolicy = seriesModel.getShallow('highlightPolicy');\n payload.highlight.piece.onEmphasis(highlightPolicy);\n } else if (payload && payload.unhighlight) {\n var piece = this.virtualPiece;\n\n if (!piece && virtualRoot.children.length) {\n piece = virtualRoot.children[0].piece;\n }\n\n if (piece) {\n piece.onNormal();\n }\n }\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 DataDiffer(oldChildren, newChildren, getKey, getKey).add(processNode).update(processNode).remove(zrUtil.curry(processNode, null)).execute();\n\n function getKey(node) {\n return node.getId();\n }\n\n function processNode(newId, oldId) {\n var newNode = newId == null ? null : newChildren[newId];\n var oldNode = oldId == null ? null : oldChildren[oldId];\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, 'normal', seriesModel, ecModel); // 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(newNode, seriesModel, ecModel);\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 (that.virtualPiece) {\n // Update\n that.virtualPiece.updateData(false, virtualRoot, 'normal', seriesModel, ecModel);\n } else {\n // Add\n that.virtualPiece = new SunburstPiece(virtualRoot, seriesModel, ecModel);\n group.add(that.virtualPiece);\n }\n\n if (viewRoot.piece._onclickEvent) {\n viewRoot.piece.off('click', viewRoot.piece._onclickEvent);\n }\n\n var event = function (e) {\n that._rootToNode(viewRoot.parentNode);\n };\n\n viewRoot.piece._onclickEvent = event;\n that.virtualPiece.on('click', event);\n } else if (that.virtualPiece) {\n // Remove\n group.remove(that.virtualPiece);\n that.virtualPiece = null;\n }\n }\n },\n dispose: function () {},\n\n /**\n * @private\n */\n _initEvents: function () {\n var that = this;\n\n var event = function (e) {\n var targetFound = false;\n var viewRoot = that.seriesModel.getViewRoot();\n viewRoot.eachNode(function (node) {\n if (!targetFound && node.piece && node.piece.childAt(0) === e.target) {\n var nodeClick = node.getModel().get('nodeClick');\n\n if (nodeClick === 'rootToNode') {\n that._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 windowOpen(link, linkTarget);\n }\n }\n\n targetFound = true;\n }\n });\n };\n\n if (this.group._onclickEvent) {\n this.group.off('click', this.group._onclickEvent);\n }\n\n this.group.on('click', event);\n this.group._onclickEvent = event;\n },\n\n /**\n * @private\n */\n _rootToNode: function (node) {\n if (node !== this.seriesModel.getViewRoot()) {\n this.api.dispatchAction({\n type: ROOT_TO_NODE_ACTION,\n from: this.uid,\n seriesId: this.seriesModel.id,\n targetNode: node\n });\n }\n },\n\n /**\n * @implement\n */\n 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});\nvar _default = SunburstView;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstView.js?")},NAnI:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckOutlined = _interopRequireDefault(__webpack_require__("wXyp"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _CheckOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/CheckOutlined.js?')},NC18:function(module,exports,__webpack_require__){eval("var Path = __webpack_require__(\"y+Vt\");\n\nvar PathProxy = __webpack_require__(\"IMiH\");\n\nvar transformPath = __webpack_require__(\"7oTu\");\n\n// command chars\n// var cc = [\n// 'm', 'M', 'l', 'L', 'v', 'V', 'h', 'H', 'z', 'Z',\n// 'c', 'C', 'q', 'Q', 't', 'T', 's', 'S', 'a', 'A'\n// ];\nvar mathSqrt = Math.sqrt;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\n\nvar vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n};\n\nvar vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n};\n\nvar vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * 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 + mathSin(psi) * (y1 - y2) / 2.0;\n var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0 + mathCos(psi) * (y1 - y2) / 2.0;\n var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);\n\n if (lambda > 1) {\n rx *= mathSqrt(lambda);\n ry *= mathSqrt(lambda);\n }\n\n var f = (fa === fs ? -1 : 1) * mathSqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + 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 + mathCos(psi) * cxp - mathSin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + mathSin(psi) * cxp + 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\n if (vRatio(u, v) <= -1) {\n dTheta = PI;\n }\n\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * PI;\n }\n\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * PI;\n }\n\n path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);\n}\n\nvar commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; // Consider case:\n// (1) delimiter can be comma or space, where continuous commas\n// or spaces should be seen as one comma.\n// (2) value can be like:\n// '2e-4', 'l.5.9' (ignore 0), 'M-10-10', 'l-2.43e-1,34.9983',\n// 'l-.5E1,54', '121-23-44-11' (no delimiter)\n\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g; // var valueSplitReg = /[\\s,]+/;\n\nfunction createPathProxyFromString(data) {\n if (!data) {\n return new PathProxy();\n } // var data = data.replace(/-/g, ' -')\n // .replace(/ /g, ' ')\n // .replace(/ /g, ',')\n // .replace(/,,/g, ',');\n // var n;\n // create pipes so that we can split the data\n // for (n = 0; n < cc.length; n++) {\n // cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n // }\n // data = data.replace(/-/g, ',-');\n // create array\n // var arr = cs.split('|');\n // init context point\n\n\n var cpx = 0;\n var cpy = 0;\n var subpathX = cpx;\n var subpathY = cpy;\n var prevCmd;\n var path = new PathProxy();\n var CMD = PathProxy.CMD; // commandReg.lastIndex = 0;\n // var cmdResult;\n // while ((cmdResult = commandReg.exec(data)) != null) {\n // var cmdStr = cmdResult[1];\n // var cmdContent = cmdResult[2];\n\n var cmdList = data.match(commandReg);\n\n for (var l = 0; l < cmdList.length; l++) {\n var cmdText = cmdList[l];\n var cmdStr = cmdText.charAt(0);\n var cmd; // String#split is faster a little bit than String#replace or RegExp#exec.\n // var p = cmdContent.split(valueSplitReg);\n // var pLen = 0;\n // for (var i = 0; i < p.length; i++) {\n // // '' and other invalid str => NaN\n // var val = parseFloat(p[i]);\n // !isNaN(val) && (p[pLen++] = val);\n // }\n\n var p = cmdText.match(numberReg) || [];\n var pLen = p.length;\n\n for (var i = 0; i < pLen; i++) {\n p[i] = parseFloat(p[i]);\n }\n\n var off = 0;\n\n while (off < pLen) {\n var ctlPtx;\n var ctlPty;\n var rx;\n var ry;\n var psi;\n var fa;\n var fs;\n var x1 = cpx;\n var y1 = cpy; // convert l, H, h, V, and v to L\n\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\n case 'L':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\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\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\n case 'h':\n cpx += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'H':\n cpx = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'v':\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'V':\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\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\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\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\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\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\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\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\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\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\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 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\n if (cmdStr === 'z' || cmdStr === 'Z') {\n cmd = CMD.Z;\n path.addData(cmd); // z may be in the middle of the path.\n\n cpx = subpathX;\n cpy = subpathY;\n }\n\n prevCmd = cmd;\n }\n\n path.toStatic();\n return path;\n} // TODO Optimize double memory cost problem\n\n\nfunction createPathOptions(str, opts) {\n var pathProxy = createPathProxyFromString(str);\n opts = opts || {};\n\n opts.buildPath = function (path) {\n if (path.setData) {\n path.setData(pathProxy.data); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n } else {\n var ctx = path;\n pathProxy.rebuildPath(ctx);\n }\n };\n\n opts.applyTransform = function (m) {\n transformPath(pathProxy, m);\n this.dirty(true);\n };\n\n return opts;\n}\n/**\n * Create a Path object from path string data\n * http://www.w3.org/TR/SVG/paths.html#PathData\n * @param {Object} opts Other options\n */\n\n\nfunction createFromString(str, opts) {\n return new Path(createPathOptions(str, opts));\n}\n/**\n * Create a Path class from path string data\n * @param {string} str\n * @param {Object} opts Other options\n */\n\n\nfunction extendFromString(str, opts) {\n return Path.extend(createPathOptions(str, opts));\n}\n/**\n * Merge multiple paths\n */\n// TODO Apply transform\n// TODO stroke dash\n// TODO Optimize double memory cost problem\n\n\nfunction mergePath(pathEls, opts) {\n var pathList = [];\n var len = pathEls.length;\n\n for (var i = 0; i < len; i++) {\n var pathEl = pathEls[i];\n\n if (!pathEl.path) {\n pathEl.createPathProxy();\n }\n\n if (pathEl.__dirtyPath) {\n pathEl.buildPath(pathEl.path, pathEl.shape, true);\n }\n\n pathList.push(pathEl.path);\n }\n\n var pathBundle = new Path(opts); // Need path proxy.\n\n pathBundle.createPathProxy();\n\n pathBundle.buildPath = function (path) {\n path.appendPath(pathList); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n };\n\n return pathBundle;\n}\n\nexports.createFromString = createFromString;\nexports.extendFromString = extendFromString;\nexports.mergePath = mergePath;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/tool/path.js?")},NH9N:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\nvar matrix = __webpack_require__(\"Fofx\");\n\nvar graphic = __webpack_require__(\"IwbS\");\n\nvar layout = __webpack_require__(\"+TT/\");\n\nvar TimelineView = __webpack_require__(\"kzvK\");\n\nvar TimelineAxis = __webpack_require__(\"CMP+\");\n\nvar _symbol = __webpack_require__(\"oVpE\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar axisHelper = __webpack_require__(\"aX7z\");\n\nvar numberUtil = __webpack_require__(\"OELB\");\n\nvar _format = __webpack_require__(\"7aKB\");\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 bind = zrUtil.bind;\nvar each = zrUtil.each;\nvar PI = Math.PI;\n\nvar _default = TimelineView.extend({\n type: 'timeline.slider',\n init: function (ecModel, api) {\n this.api = api;\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n this._axis;\n /**\n * @private\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._viewRect;\n /**\n * @type {number}\n */\n\n this._timer;\n /**\n * @type {module:zrender/Element}\n */\n\n this._currentPointer;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._mainGroup;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._labelGroup;\n },\n\n /**\n * @override\n */\n render: function (timelineModel, ecModel, api, payload) {\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 = this._layout(timelineModel, api);\n\n var mainGroup = this._createGroup('mainGroup');\n\n var labelGroup = this._createGroup('labelGroup');\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n\n var axis = this._axis = this._createAxis(layoutInfo, timelineModel);\n\n timelineModel.formatTooltip = function (dataIndex) {\n return encodeHTML(axis.scale.getLabel(dataIndex));\n };\n\n each(['AxisLine', 'AxisTick', 'Control', 'CurrentPointer'], function (name) {\n this['_render' + name](layoutInfo, mainGroup, axis, timelineModel);\n }, this);\n\n this._renderAxisLabel(layoutInfo, labelGroup, axis, timelineModel);\n\n this._position(layoutInfo, timelineModel);\n }\n\n this._doPlayStop();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearTimer();\n\n this.group.removeAll();\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearTimer();\n },\n _layout: function (timelineModel, api) {\n var labelPosOpt = timelineModel.get('label.position');\n var orient = timelineModel.get('orient');\n var viewRect = getViewRect(timelineModel, api); // Auto label offset.\n\n if (labelPosOpt == null || labelPosOpt === 'auto') {\n labelPosOpt = orient === 'horizontal' ? viewRect.y + viewRect.height / 2 < api.getHeight() / 2 ? '-' : '+' : viewRect.x + viewRect.width / 2 < api.getWidth() / 2 ? '+' : '-';\n } else if (isNaN(labelPosOpt)) {\n labelPosOpt = {\n horizontal: {\n top: '-',\n bottom: '+'\n },\n vertical: {\n left: '-',\n right: '+'\n }\n }[orient][labelPosOpt];\n }\n\n var labelAlignMap = {\n horizontal: 'center',\n vertical: labelPosOpt >= 0 || labelPosOpt === '+' ? 'left' : 'right'\n };\n var labelBaselineMap = {\n horizontal: labelPosOpt >= 0 || labelPosOpt === '+' ? '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 axisExtent;\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 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: labelPosOpt,\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 _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 = matrix.create();\n var rotateOriginX = viewRect.x;\n var rotateOriginY = viewRect.y + viewRect.height;\n matrix.translate(m, m, [-rotateOriginX, -rotateOriginY]);\n matrix.rotate(m, m, -PI / 2);\n matrix.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.position;\n var labelsPosition = labelGroup.position;\n labelsPosition[0] = mainPosition[0] = viewBound[0][0];\n var labelPosOpt = layoutInfo.labelPosOpt;\n\n if (isNaN(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.attr('position', mainPosition);\n labelGroup.attr('position', labelsPosition);\n mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;\n setOrigin(mainGroup);\n setOrigin(labelGroup);\n\n function setOrigin(targetGroup) {\n var pos = targetGroup.position;\n targetGroup.origin = [viewBound[0][0] - pos[0], viewBound[1][0] - pos[1]];\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 _createAxis: function (layoutInfo, timelineModel) {\n var data = timelineModel.getData();\n var axisType = timelineModel.get('axisType');\n var scale = axisHelper.createScaleByModel(timelineModel, axisType); // Customize scale. The `tickValue` is `dataIndex`.\n\n scale.getTicks = function () {\n return data.mapArray(['value'], function (value) {\n return value;\n });\n };\n\n var dataExtent = data.getDataExtent('value');\n scale.setExtent(dataExtent[0], dataExtent[1]);\n scale.niceTicks();\n var axis = new TimelineAxis('value', scale, layoutInfo.axisExtent, axisType);\n axis.model = timelineModel;\n return axis;\n },\n _createGroup: function (name) {\n var newGroup = this['_' + name] = new graphic.Group();\n this.group.add(newGroup);\n return newGroup;\n },\n _renderAxisLine: function (layoutInfo, group, axis, timelineModel) {\n var axisExtent = axis.getExtent();\n\n if (!timelineModel.get('lineStyle.show')) {\n return;\n }\n\n group.add(new graphic.Line({\n shape: {\n x1: axisExtent[0],\n y1: 0,\n x2: axisExtent[1],\n y2: 0\n },\n style: zrUtil.extend({\n lineCap: 'round'\n }, timelineModel.getModel('lineStyle').getLineStyle()),\n silent: true,\n z2: 1\n }));\n },\n\n /**\n * @private\n */\n _renderAxisTick: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData(); // Show all ticks, despite ignoring strategy.\n\n var ticks = axis.scale.getTicks(); // The value is dataIndex, see the costomized scale.\n\n each(ticks, function (value) {\n var tickCoord = axis.dataToCoord(value);\n var itemModel = data.getItemModel(value);\n var itemStyleModel = itemModel.getModel('itemStyle');\n var hoverStyleModel = itemModel.getModel('emphasis.itemStyle');\n var symbolOpt = {\n position: [tickCoord, 0],\n onclick: bind(this._changeTimeline, this, value)\n };\n var el = giveSymbol(itemModel, itemStyleModel, group, symbolOpt);\n graphic.setHoverStyle(el, hoverStyleModel.getItemStyle());\n\n if (itemModel.get('tooltip')) {\n el.dataIndex = value;\n el.dataModel = timelineModel;\n } else {\n el.dataIndex = el.dataModel = null;\n }\n }, this);\n },\n\n /**\n * @private\n */\n _renderAxisLabel: function (layoutInfo, group, axis, timelineModel) {\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 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 tickCoord = axis.dataToCoord(labelItem.tickValue);\n var textEl = new graphic.Text({\n position: [tickCoord, 0],\n rotation: layoutInfo.labelRotation - layoutInfo.rotation,\n onclick: bind(this._changeTimeline, this, dataIndex),\n silent: false\n });\n graphic.setTextStyle(textEl.style, normalLabelModel, {\n text: labelItem.formattedLabel,\n textAlign: layoutInfo.labelAlign,\n textVerticalAlign: layoutInfo.labelBaseline\n });\n group.add(textEl);\n graphic.setHoverStyle(textEl, graphic.setTextStyle({}, hoverLabelModel));\n }, this);\n },\n\n /**\n * @private\n */\n _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 rect = [0, -controlSize / 2, controlSize, controlSize];\n var playState = timelineModel.getPlayState();\n var inverse = timelineModel.get('inverse', true);\n makeBtn(layoutInfo.nextBtnPosition, 'controlStyle.nextIcon', bind(this._changeTimeline, this, inverse ? '-' : '+'));\n makeBtn(layoutInfo.prevBtnPosition, 'controlStyle.prevIcon', bind(this._changeTimeline, this, inverse ? '+' : '-'));\n makeBtn(layoutInfo.playPosition, 'controlStyle.' + (playState ? 'stopIcon' : 'playIcon'), bind(this._handlePlayClick, this, !playState), true);\n\n function makeBtn(position, iconPath, onclick, willRotate) {\n if (!position) {\n return;\n }\n\n var opt = {\n position: position,\n origin: [controlSize / 2, 0],\n rotation: willRotate ? -rotation : 0,\n rectHover: true,\n style: itemStyle,\n onclick: onclick\n };\n var btn = makeIcon(timelineModel, iconPath, rect, opt);\n group.add(btn);\n graphic.setHoverStyle(btn, hoverStyle);\n }\n },\n _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 = bind(me._handlePointerDrag, me);\n pointer.ondragend = bind(me._handlePointerDragend, me);\n pointerMoveTo(pointer, currentIndex, axis, timelineModel, true);\n },\n onUpdate: function (pointer) {\n pointerMoveTo(pointer, 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 _handlePlayClick: function (nextState) {\n this._clearTimer();\n\n this.api.dispatchAction({\n type: 'timelinePlayChange',\n playState: nextState,\n from: this.uid\n });\n },\n _handlePointerDrag: function (dx, dy, e) {\n this._clearTimer();\n\n this._pointerChangeTimeline([e.offsetX, e.offsetY]);\n },\n _handlePointerDragend: function (e) {\n this._pointerChangeTimeline([e.offsetX, e.offsetY], true);\n },\n _pointerChangeTimeline: function (mousePos, trigger) {\n var toCoord = this._toAxisCoord(mousePos)[0];\n\n var axis = this._axis;\n var axisExtent = numberUtil.asc(axis.getExtent().slice());\n toCoord > axisExtent[1] && (toCoord = axisExtent[1]);\n toCoord < axisExtent[0] && (toCoord = axisExtent[0]);\n this._currentPointer.position[0] = toCoord;\n\n this._currentPointer.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 _doPlayStop: function () {\n this._clearTimer();\n\n if (this.model.getPlayState()) {\n this._timer = setTimeout(bind(handleFrame, this), this.model.get('playInterval'));\n }\n\n function handleFrame() {\n // Do not cache\n var timelineModel = this.model;\n\n this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get('rewind', true) ? -1 : 1));\n }\n },\n _toAxisCoord: function (vertex) {\n var trans = this._mainGroup.getLocalTransform();\n\n return graphic.applyTransform(vertex, trans, true);\n },\n _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 _clearTimer: function () {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n },\n _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\nfunction getViewRect(model, api) {\n return layout.getLayoutRect(model.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n }, model.get('padding'));\n}\n\nfunction makeIcon(timelineModel, objPath, rect, opts) {\n var icon = graphic.makePath(timelineModel.get(objPath).replace(/^path:\\/\\//, ''), zrUtil.clone(opts || {}), new BoundingRect(rect[0], rect[1], rect[2], rect[3]), 'center');\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 = 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', 'symbol', 'symbolSize']);\n symbol.setStyle(itemStyle); // Transform and events.\n\n opt = zrUtil.merge({\n rectHover: true,\n z2: 100\n }, opt, true);\n var symbolSize = hostModel.get('symbolSize');\n symbolSize = symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n symbolSize[0] /= 2;\n symbolSize[1] /= 2;\n opt.scale = symbolSize;\n var symbolOffset = hostModel.get('symbolOffset');\n\n if (symbolOffset) {\n var pos = opt.position = opt.position || [0, 0];\n pos[0] += numberUtil.parsePercent(symbolOffset[0], symbolSize[0]);\n pos[1] += numberUtil.parsePercent(symbolOffset[1], symbolSize[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, 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 position: [toCoord, 0]\n });\n } else {\n pointer.stopAnimation(true);\n pointer.animateTo({\n position: [toCoord, 0]\n }, pointerModel.get('animationDuration', true), pointerModel.get('animationEasing', true));\n }\n}\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineView.js?")},NJEC:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _ant_design_icons_ExclamationCircleFilled__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("sKbD");\n/* harmony import */ var _ant_design_icons_ExclamationCircleFilled__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_ant_design_icons_ExclamationCircleFilled__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("4IlW");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("3S7+");\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("2/Rp");\n/* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("zvFY");\n/* harmony import */ var _locale_provider_LocaleReceiver__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("YMnH");\n/* harmony import */ var _locale_default__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("ZvpZ");\n/* harmony import */ var _config_provider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("H84U");\n/* harmony import */ var _util_getRenderPropValue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("bogI");\n/* harmony import */ var _util_reactNode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("0n0R");\nvar _this = undefined;\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\nvar Popconfirm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["forwardRef"](function (props, ref) {\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](props.visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n\n react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {\n if (\'visible\' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {\n if (\'defaultVisible\' in props) {\n setVisible(props.defaultVisible);\n }\n }, [props.defaultVisible]);\n\n var settingVisible = function settingVisible(value, e) {\n if (!(\'visible\' in props)) {\n setVisible(value);\n }\n\n if (props.onVisibleChange) {\n props.onVisibleChange(value, e);\n }\n };\n\n var onConfirm = function onConfirm(e) {\n settingVisible(false, e);\n\n if (props.onConfirm) {\n props.onConfirm.call(_this, e);\n }\n };\n\n var onCancel = function onCancel(e) {\n settingVisible(false, e);\n\n if (props.onCancel) {\n props.onCancel.call(_this, e);\n }\n };\n\n var _onKeyDown = function onKeyDown(e) {\n if (e.keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].ESC && visible) {\n settingVisible(false, e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(value) {\n var disabled = props.disabled;\n\n if (disabled) {\n return;\n }\n\n settingVisible(value);\n };\n\n var renderOverlay = function renderOverlay(prefixCls, popconfirmLocale) {\n var okButtonProps = props.okButtonProps,\n cancelButtonProps = props.cancelButtonProps,\n title = props.title,\n cancelText = props.cancelText,\n okText = props.okText,\n okType = props.okType,\n icon = props.icon;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {\n className: "".concat(prefixCls, "-inner-content")\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {\n className: "".concat(prefixCls, "-message")\n }, icon, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {\n className: "".concat(prefixCls, "-message-title")\n }, Object(_util_getRenderPropValue__WEBPACK_IMPORTED_MODULE_9__[/* getRenderPropValue */ "a"])(title))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {\n className: "".concat(prefixCls, "-buttons")\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_button__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], _extends({\n onClick: onCancel,\n size: "small"\n }, cancelButtonProps), cancelText || popconfirmLocale.cancelText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_button__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], _extends({\n onClick: onConfirm\n }, Object(_button_button__WEBPACK_IMPORTED_MODULE_5__[/* convertLegacyProps */ "a"])(okType), {\n size: "small"\n }, okButtonProps), okText || popconfirmLocale.okText)));\n };\n\n var _React$useContext = react__WEBPACK_IMPORTED_MODULE_0__["useContext"](_config_provider__WEBPACK_IMPORTED_MODULE_8__[/* ConfigContext */ "b"]),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n placement = props.placement,\n children = props.children,\n restProps = __rest(props, ["prefixCls", "placement", "children"]);\n\n var prefixCls = getPrefixCls(\'popover\', customizePrefixCls);\n var overlay = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_locale_provider_LocaleReceiver__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {\n componentName: "Popconfirm",\n defaultLocale: _locale_default__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"].Popconfirm\n }, function (popconfirmLocale) {\n return renderOverlay(prefixCls, popconfirmLocale);\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_tooltip__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _extends({}, restProps, {\n prefixCls: prefixCls,\n placement: placement,\n onVisibleChange: onVisibleChange,\n visible: visible,\n overlay: overlay,\n ref: ref\n }), Object(_util_reactNode__WEBPACK_IMPORTED_MODULE_10__[/* cloneElement */ "a"])(children, {\n onKeyDown: function onKeyDown(e) {\n var _a, _b;\n\n (_b = children === null || children === void 0 ? void 0 : (_a = children.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n\n _onKeyDown(e);\n }\n }));\n});\nPopconfirm.defaultProps = {\n transitionName: \'zoom-big\',\n placement: \'top\',\n trigger: \'click\',\n okType: \'primary\',\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ant_design_icons_ExclamationCircleFilled__WEBPACK_IMPORTED_MODULE_1___default.a, null),\n disabled: false\n};\n/* harmony default export */ __webpack_exports__["a"] = (Popconfirm);\n\n//# sourceURL=webpack:///./node_modules/antd/es/popconfirm/index.js?')},NKxu:function(module,exports,__webpack_require__){eval("var isFunction = __webpack_require__(\"lSCD\"),\n isMasked = __webpack_require__(\"E2jh\"),\n isObject = __webpack_require__(\"GoyQ\"),\n toSource = __webpack_require__(\"3Fdi\");\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_baseIsNative.js?")},NUBc:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__("wx14");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__("rePB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nvar classCallCheck = __webpack_require__("1OyB");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nvar createClass = __webpack_require__("vuIU");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules\nvar inherits = __webpack_require__("Ji7U");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\nvar possibleConstructorReturn = __webpack_require__("md7G");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nvar getPrototypeOf = __webpack_require__("foSv");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// CONCATENATED MODULE: ./node_modules/rc-pagination/es/Pager.js\n\n\n/* eslint react/prop-types: 0 */\n\n\n\nvar Pager_Pager = function Pager(props) {\n var _classNames;\n\n var prefixCls = "".concat(props.rootPrefixCls, "-item");\n var cls = classnames_default()(prefixCls, "".concat(prefixCls, "-").concat(props.page), (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, "".concat(prefixCls, "-active"), props.active), Object(defineProperty["a" /* default */])(_classNames, props.className, !!props.className), Object(defineProperty["a" /* default */])(_classNames, "".concat(prefixCls, "-disabled"), !props.page), _classNames));\n\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return /*#__PURE__*/react_default.a.createElement("li", {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: "0"\n }, props.itemRender(props.page, \'page\', /*#__PURE__*/react_default.a.createElement("a", null, props.page)));\n};\n\n/* harmony default export */ var es_Pager = (Pager_Pager);\n// CONCATENATED MODULE: ./node_modules/rc-pagination/es/KeyCode.js\n/* harmony default export */ var KeyCode = ({\n ZERO: 48,\n NINE: 57,\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n});\n// CONCATENATED MODULE: ./node_modules/rc-pagination/es/Options.js\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/* eslint react/prop-types: 0 */\n\n\n\nvar Options_Options = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Options, _React$Component);\n\n var _super = _createSuper(Options);\n\n function Options() {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Options);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n goInputText: \'\'\n };\n\n _this.buildOptionText = function (value) {\n return "".concat(value, " ").concat(_this.props.locale.items_per_page);\n };\n\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n\n _this.handleBlur = function (e) {\n var _this$props = _this.props,\n goButton = _this$props.goButton,\n quickGo = _this$props.quickGo,\n rootPrefixCls = _this$props.rootPrefixCls;\n\n if (goButton) {\n return;\n }\n\n if (e.relatedTarget && (e.relatedTarget.className.indexOf("".concat(rootPrefixCls, "-prev")) >= 0 || e.relatedTarget.className.indexOf("".concat(rootPrefixCls, "-next")) >= 0)) {\n return;\n }\n\n quickGo(_this.getValidValue());\n };\n\n _this.go = function (e) {\n var goInputText = _this.state.goInputText;\n\n if (goInputText === \'\') {\n return;\n }\n\n if (e.keyCode === KeyCode.ENTER || e.type === \'click\') {\n _this.setState({\n goInputText: \'\'\n });\n\n _this.props.quickGo(_this.getValidValue());\n }\n };\n\n return _this;\n }\n\n Object(createClass["a" /* default */])(Options, [{\n key: "getValidValue",\n value: function getValidValue() {\n var _this$state = this.state,\n goInputText = _this$state.goInputText,\n current = _this$state.current; // eslint-disable-next-line no-restricted-globals\n\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n }\n }, {\n key: "getPageSizeOptions",\n value: function getPageSizeOptions() {\n var _this$props2 = this.props,\n pageSize = _this$props2.pageSize,\n pageSizeOptions = _this$props2.pageSizeOptions;\n\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n // eslint-disable-next-line no-restricted-globals\n var numberA = isNaN(Number(a)) ? 0 : Number(a); // eslint-disable-next-line no-restricted-globals\n\n var numberB = isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n }\n }, {\n key: "render",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n pageSize = _this$props3.pageSize,\n locale = _this$props3.locale,\n rootPrefixCls = _this$props3.rootPrefixCls,\n changeSize = _this$props3.changeSize,\n quickGo = _this$props3.quickGo,\n goButton = _this$props3.goButton,\n selectComponentClass = _this$props3.selectComponentClass,\n buildOptionText = _this$props3.buildOptionText,\n selectPrefixCls = _this$props3.selectPrefixCls,\n disabled = _this$props3.disabled;\n var goInputText = this.state.goInputText;\n var prefixCls = "".concat(rootPrefixCls, "-options");\n var Select = selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n var pageSizeOptions = this.getPageSizeOptions();\n\n if (changeSize && Select) {\n var options = pageSizeOptions.map(function (opt, i) {\n return /*#__PURE__*/react_default.a.createElement(Select.Option, {\n key: i,\n value: opt\n }, (buildOptionText || _this2.buildOptionText)(opt));\n });\n changeSelect = /*#__PURE__*/react_default.a.createElement(Select, {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n className: "".concat(prefixCls, "-size-changer"),\n optionLabelProp: "children",\n dropdownMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n }, options);\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === \'boolean\' ? /*#__PURE__*/react_default.a.createElement("button", {\n type: "button",\n onClick: this.go,\n onKeyUp: this.go,\n disabled: disabled\n }, locale.jump_to_confirm) : /*#__PURE__*/react_default.a.createElement("span", {\n onClick: this.go,\n onKeyUp: this.go\n }, goButton);\n }\n\n goInput = /*#__PURE__*/react_default.a.createElement("div", {\n className: "".concat(prefixCls, "-quick-jumper")\n }, locale.jump_to, /*#__PURE__*/react_default.a.createElement("input", {\n disabled: disabled,\n type: "text",\n value: goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go,\n onBlur: this.handleBlur\n }), locale.page, gotoButton);\n }\n\n return /*#__PURE__*/react_default.a.createElement("li", {\n className: "".concat(prefixCls)\n }, changeSelect, goInput);\n }\n }]);\n\n return Options;\n}(react_default.a.Component);\n\nOptions_Options.defaultProps = {\n pageSizeOptions: [\'10\', \'20\', \'50\', \'100\']\n};\n/* harmony default export */ var es_Options = (Options_Options);\n// EXTERNAL MODULE: ./node_modules/rc-pagination/es/locale/zh_CN.js\nvar zh_CN = __webpack_require__("N2Kk");\n\n// CONCATENATED MODULE: ./node_modules/rc-pagination/es/Pagination.js\n\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction Pagination_createSuper(Derived) { var hasNativeReflectConstruct = Pagination_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }\n\nfunction Pagination_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/* eslint react/prop-types: 0 */\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction isInteger(value) {\n return (// eslint-disable-next-line no-restricted-globals\n typeof value === \'number\' && isFinite(value) && Math.floor(value) === value\n );\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = typeof p === \'undefined\' ? state.pageSize : p;\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nvar Pagination_Pagination = /*#__PURE__*/function (_React$Component) {\n Object(inherits["a" /* default */])(Pagination, _React$Component);\n\n var _super = Pagination_createSuper(Pagination);\n\n function Pagination(props) {\n var _this;\n\n Object(classCallCheck["a" /* default */])(this, Pagination);\n\n _this = _super.call(this, props);\n\n _this.getJumpPrevPage = function () {\n return Math.max(1, _this.state.current - (_this.props.showLessItems ? 3 : 5));\n };\n\n _this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this.state, _this.props), _this.state.current + (_this.props.showLessItems ? 3 : 5));\n };\n\n _this.getItemIcon = function (icon) {\n var prefixCls = _this.props.prefixCls; // eslint-disable-next-line jsx-a11y/anchor-has-content\n\n var iconNode = icon || /*#__PURE__*/react_default.a.createElement("a", {\n className: "".concat(prefixCls, "-item-link")\n });\n\n if (typeof icon === \'function\') {\n iconNode = react_default.a.createElement(icon, _objectSpread({}, _this.props));\n }\n\n return iconNode;\n };\n\n _this.savePaginationNode = function (node) {\n _this.paginationNode = node;\n };\n\n _this.isValid = function (page) {\n return isInteger(page) && page !== _this.state.current;\n };\n\n _this.shouldDisplayQuickJumper = function () {\n var _this$props = _this.props,\n showQuickJumper = _this$props.showQuickJumper,\n pageSize = _this$props.pageSize,\n total = _this$props.total;\n\n if (total <= pageSize) {\n return false;\n }\n\n return showQuickJumper;\n };\n\n _this.handleKeyDown = function (e) {\n if (e.keyCode === KeyCode.ARROW_UP || e.keyCode === KeyCode.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n _this.handleKeyUp = function (e) {\n var value = _this.getValidValue(e);\n\n var currentInputValue = _this.state.currentInputValue;\n\n if (value !== currentInputValue) {\n _this.setState({\n currentInputValue: value\n });\n }\n\n if (e.keyCode === KeyCode.ENTER) {\n _this.handleChange(value);\n } else if (e.keyCode === KeyCode.ARROW_UP) {\n _this.handleChange(value - 1);\n } else if (e.keyCode === KeyCode.ARROW_DOWN) {\n _this.handleChange(value + 1);\n }\n };\n\n _this.changePageSize = function (size) {\n var current = _this.state.current;\n var newCurrent = calculatePage(size, _this.state, _this.props);\n current = current > newCurrent ? newCurrent : current; // fix the issue:\n // Once \'total\' is 0, \'current\' in \'onShowSizeChange\' is 0, which is not correct.\n\n if (newCurrent === 0) {\n // eslint-disable-next-line prefer-destructuring\n current = _this.state.current;\n }\n\n if (typeof size === \'number\') {\n if (!(\'pageSize\' in _this.props)) {\n _this.setState({\n pageSize: size\n });\n }\n\n if (!(\'current\' in _this.props)) {\n _this.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n\n _this.props.onShowSizeChange(current, size);\n };\n\n _this.handleChange = function (p) {\n var disabled = _this.props.disabled;\n var page = p;\n\n if (_this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, _this.state, _this.props);\n\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n\n if (!(\'current\' in _this.props)) {\n _this.setState({\n current: page,\n currentInputValue: page\n });\n }\n\n var pageSize = _this.state.pageSize;\n\n _this.props.onChange(page, pageSize);\n\n return page;\n }\n\n return _this.state.current;\n };\n\n _this.prev = function () {\n if (_this.hasPrev()) {\n _this.handleChange(_this.state.current - 1);\n }\n };\n\n _this.next = function () {\n if (_this.hasNext()) {\n _this.handleChange(_this.state.current + 1);\n }\n };\n\n _this.jumpPrev = function () {\n _this.handleChange(_this.getJumpPrevPage());\n };\n\n _this.jumpNext = function () {\n _this.handleChange(_this.getJumpNextPage());\n };\n\n _this.hasPrev = function () {\n return _this.state.current > 1;\n };\n\n _this.hasNext = function () {\n return _this.state.current < calculatePage(undefined, _this.state, _this.props);\n };\n\n _this.runIfEnter = function (event, callback) {\n if (event.key === \'Enter\' || event.charCode === 13) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n callback.apply(void 0, restParams);\n }\n };\n\n _this.runIfEnterPrev = function (e) {\n _this.runIfEnter(e, _this.prev);\n };\n\n _this.runIfEnterNext = function (e) {\n _this.runIfEnter(e, _this.next);\n };\n\n _this.runIfEnterJumpPrev = function (e) {\n _this.runIfEnter(e, _this.jumpPrev);\n };\n\n _this.runIfEnterJumpNext = function (e) {\n _this.runIfEnter(e, _this.jumpNext);\n };\n\n _this.handleGoTO = function (e) {\n if (e.keyCode === KeyCode.ENTER || e.type === \'click\') {\n _this.handleChange(_this.state.currentInputValue);\n }\n };\n\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = (\'current\' in props);\n\n if (hasCurrent && !hasOnChange) {\n // eslint-disable-next-line no-console\n console.warn(\'Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.\');\n }\n\n var _current = props.defaultCurrent;\n\n if (\'current\' in props) {\n // eslint-disable-next-line prefer-destructuring\n _current = props.current;\n }\n\n var _pageSize = props.defaultPageSize;\n\n if (\'pageSize\' in props) {\n // eslint-disable-next-line prefer-destructuring\n _pageSize = props.pageSize;\n }\n\n _current = Math.min(_current, calculatePage(_pageSize, undefined, props));\n _this.state = {\n current: _current,\n currentInputValue: _current,\n pageSize: _pageSize\n };\n return _this;\n }\n\n Object(createClass["a" /* default */])(Pagination, [{\n key: "componentDidUpdate",\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector(".".concat(prefixCls, "-item-").concat(prevState.current));\n\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: "getValidValue",\n value: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.state, this.props);\n var currentInputValue = this.state.currentInputValue;\n var value;\n\n if (inputValue === \'\') {\n value = inputValue; // eslint-disable-next-line no-restricted-globals\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n\n return value;\n }\n }, {\n key: "getShowSizeChanger",\n value: function getShowSizeChanger() {\n var _this$props2 = this.props,\n showSizeChanger = _this$props2.showSizeChanger,\n total = _this$props2.total,\n totalBoundaryShowSizeChanger = _this$props2.totalBoundaryShowSizeChanger;\n\n if (typeof showSizeChanger !== \'undefined\') {\n return showSizeChanger;\n }\n\n return total > totalBoundaryShowSizeChanger;\n }\n }, {\n key: "renderPrev",\n value: function renderPrev(prevPage) {\n var _this$props3 = this.props,\n prevIcon = _this$props3.prevIcon,\n itemRender = _this$props3.itemRender;\n var prevButton = itemRender(prevPage, \'prev\', this.getItemIcon(prevIcon));\n var disabled = !this.hasPrev();\n return Object(react["isValidElement"])(prevButton) ? Object(react["cloneElement"])(prevButton, {\n disabled: disabled\n }) : prevButton;\n }\n }, {\n key: "renderNext",\n value: function renderNext(nextPage) {\n var _this$props4 = this.props,\n nextIcon = _this$props4.nextIcon,\n itemRender = _this$props4.itemRender;\n var nextButton = itemRender(nextPage, \'next\', this.getItemIcon(nextIcon));\n var disabled = !this.hasNext();\n return Object(react["isValidElement"])(nextButton) ? Object(react["cloneElement"])(nextButton, {\n disabled: disabled\n }) : nextButton;\n }\n }, {\n key: "render",\n value: function render() {\n var _this2 = this;\n\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n className = _this$props5.className,\n style = _this$props5.style,\n disabled = _this$props5.disabled,\n hideOnSinglePage = _this$props5.hideOnSinglePage,\n total = _this$props5.total,\n locale = _this$props5.locale,\n showQuickJumper = _this$props5.showQuickJumper,\n showLessItems = _this$props5.showLessItems,\n showTitle = _this$props5.showTitle,\n showTotal = _this$props5.showTotal,\n simple = _this$props5.simple,\n itemRender = _this$props5.itemRender,\n showPrevNextJumpers = _this$props5.showPrevNextJumpers,\n jumpPrevIcon = _this$props5.jumpPrevIcon,\n jumpNextIcon = _this$props5.jumpNextIcon,\n selectComponentClass = _this$props5.selectComponentClass,\n selectPrefixCls = _this$props5.selectPrefixCls,\n pageSizeOptions = _this$props5.pageSizeOptions;\n var _this$state = this.state,\n current = _this$state.current,\n pageSize = _this$state.pageSize,\n currentInputValue = _this$state.currentInputValue; // When hideOnSinglePage is true and there is only 1 page, hide the pager\n\n if (hideOnSinglePage === true && total <= pageSize) {\n return null;\n }\n\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n var pageBufferSize = showLessItems ? 1 : 2;\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (prev, key) {\n if (key.substr(0, 5) === \'data-\' || key.substr(0, 5) === \'aria-\' || key === \'role\') {\n // eslint-disable-next-line no-param-reassign\n prev[key] = _this2.props[key];\n }\n\n return prev;\n }, {});\n\n if (simple) {\n if (goButton) {\n if (typeof goButton === \'boolean\') {\n gotoButton = /*#__PURE__*/react_default.a.createElement("button", {\n type: "button",\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/react_default.a.createElement("span", {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, goButton);\n }\n\n gotoButton = /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? "".concat(locale.jump_to).concat(current, "/").concat(allPages) : null,\n className: "".concat(prefixCls, "-simple-pager")\n }, gotoButton);\n }\n\n return /*#__PURE__*/react_default.a.createElement("ul", Object(esm_extends["a" /* default */])({\n className: classnames_default()(prefixCls, "".concat(prefixCls, "-simple"), className),\n style: style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps), /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: classnames_default()("".concat(prefixCls, "-prev"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-disabled"), !this.hasPrev())),\n "aria-disabled": !this.hasPrev()\n }, this.renderPrev(prevPage)), /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? "".concat(current, "/").concat(allPages) : null,\n className: "".concat(prefixCls, "-simple-pager")\n }, /*#__PURE__*/react_default.a.createElement("input", {\n type: "text",\n value: currentInputValue,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n size: "3"\n }), /*#__PURE__*/react_default.a.createElement("span", {\n className: "".concat(prefixCls, "-slash")\n }, "/"), allPages), /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: classnames_default()("".concat(prefixCls, "-next"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-disabled"), !this.hasNext())),\n "aria-disabled": !this.hasNext()\n }, this.renderNext(nextPage)), gotoButton);\n }\n\n if (allPages <= 3 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender\n };\n\n if (!allPages) {\n pagerList.push( /*#__PURE__*/react_default.a.createElement(es_Pager, Object(esm_extends["a" /* default */])({}, pagerProps, {\n key: "noPager",\n page: allPages,\n className: "".concat(prefixCls, "-disabled")\n })));\n }\n\n for (var i = 1; i <= allPages; i += 1) {\n var active = current === i;\n pagerList.push( /*#__PURE__*/react_default.a.createElement(es_Pager, Object(esm_extends["a" /* default */])({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n\n if (showPrevNextJumpers) {\n jumpPrev = /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? prevItemTitle : null,\n key: "prev",\n onClick: this.jumpPrev,\n tabIndex: "0",\n onKeyPress: this.runIfEnterJumpPrev,\n className: classnames_default()("".concat(prefixCls, "-jump-prev"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-jump-prev-custom-icon"), !!jumpPrevIcon))\n }, itemRender(this.getJumpPrevPage(), \'jump-prev\', this.getItemIcon(jumpPrevIcon)));\n jumpNext = /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? nextItemTitle : null,\n key: "next",\n tabIndex: "0",\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: classnames_default()("".concat(prefixCls, "-jump-next"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-jump-next-custom-icon"), !!jumpNextIcon))\n }, itemRender(this.getJumpNextPage(), \'jump-next\', this.getItemIcon(jumpNextIcon)));\n }\n\n lastPager = /*#__PURE__*/react_default.a.createElement(es_Pager, {\n locale: locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n firstPager = /*#__PURE__*/react_default.a.createElement(es_Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i += 1) {\n var _active = current === _i;\n\n pagerList.push( /*#__PURE__*/react_default.a.createElement(es_Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: showTitle,\n itemRender: itemRender\n }));\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = Object(react["cloneElement"])(pagerList[0], {\n className: "".concat(prefixCls, "-item-after-jump-prev")\n });\n pagerList.unshift(jumpPrev);\n }\n\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = Object(react["cloneElement"])(pagerList[pagerList.length - 1], {\n className: "".concat(prefixCls, "-item-before-jump-next")\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (showTotal) {\n totalText = /*#__PURE__*/react_default.a.createElement("li", {\n className: "".concat(prefixCls, "-total-text")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n }\n\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return /*#__PURE__*/react_default.a.createElement("ul", Object(esm_extends["a" /* default */])({\n className: classnames_default()(prefixCls, className, Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-disabled"), disabled)),\n style: style,\n unselectable: "unselectable",\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps), totalText, /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: classnames_default()("".concat(prefixCls, "-prev"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-disabled"), prevDisabled)),\n "aria-disabled": prevDisabled\n }, this.renderPrev(prevPage)), pagerList, /*#__PURE__*/react_default.a.createElement("li", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: classnames_default()("".concat(prefixCls, "-next"), Object(defineProperty["a" /* default */])({}, "".concat(prefixCls, "-disabled"), nextDisabled)),\n "aria-disabled": nextDisabled\n }, this.renderNext(nextPage)), /*#__PURE__*/react_default.a.createElement(es_Options, {\n disabled: disabled,\n locale: locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: this.getShowSizeChanger() ? this.changePageSize : null,\n current: current,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: this.shouldDisplayQuickJumper() ? this.handleChange : null,\n goButton: goButton\n }));\n }\n }], [{\n key: "getDerivedStateFromProps",\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n\n if (\'current\' in props) {\n newState.current = props.current;\n\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n\n if (\'pageSize\' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!(\'current\' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n\n newState.pageSize = props.pageSize;\n }\n\n return newState;\n }\n }]);\n\n return Pagination;\n}(react_default.a.Component);\n\nPagination_Pagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: \'\',\n selectPrefixCls: \'rc-select\',\n prefixCls: \'rc-pagination\',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: zh_CN["a" /* default */],\n style: {},\n itemRender: defaultItemRender,\n totalBoundaryShowSizeChanger: 50\n};\n/* harmony default export */ var es_Pagination = (Pagination_Pagination);\n// CONCATENATED MODULE: ./node_modules/rc-pagination/es/index.js\n\n// EXTERNAL MODULE: ./node_modules/rc-pagination/es/locale/en_US.js\nvar en_US = __webpack_require__("H4fg");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/LeftOutlined.js\nvar LeftOutlined = __webpack_require__("DFhj");\nvar LeftOutlined_default = /*#__PURE__*/__webpack_require__.n(LeftOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/RightOutlined.js\nvar RightOutlined = __webpack_require__("fEPi");\nvar RightOutlined_default = /*#__PURE__*/__webpack_require__.n(RightOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/DoubleLeftOutlined.js\nvar DoubleLeftOutlined = __webpack_require__("u9fO");\nvar DoubleLeftOutlined_default = /*#__PURE__*/__webpack_require__.n(DoubleLeftOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/DoubleRightOutlined.js\nvar DoubleRightOutlined = __webpack_require__("mO/d");\nvar DoubleRightOutlined_default = /*#__PURE__*/__webpack_require__.n(DoubleRightOutlined);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/select/index.js + 7 modules\nvar es_select = __webpack_require__("2fM7");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/pagination/MiniSelect.js\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\n\n\n\nvar MiniSelect_MiniSelect = function MiniSelect(props) {\n return /*#__PURE__*/react["createElement"](es_select["a" /* default */], _extends({\n size: "small"\n }, props));\n};\n\nMiniSelect_MiniSelect.Option = es_select["a" /* default */].Option;\n/* harmony default export */ var pagination_MiniSelect = (MiniSelect_MiniSelect);\n// EXTERNAL MODULE: ./node_modules/antd/es/locale-provider/LocaleReceiver.js + 1 modules\nvar LocaleReceiver = __webpack_require__("YMnH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/grid/hooks/useBreakpoint.js\nvar useBreakpoint = __webpack_require__("5OYt");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/pagination/Pagination.js\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction Pagination_extends() { Pagination_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; }; return Pagination_extends.apply(this, arguments); }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") 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])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar pagination_Pagination_Pagination = function Pagination(_a) {\n var customizePrefixCls = _a.prefixCls,\n customizeSelectPrefixCls = _a.selectPrefixCls,\n className = _a.className,\n size = _a.size,\n customLocale = _a.locale,\n restProps = __rest(_a, ["prefixCls", "selectPrefixCls", "className", "size", "locale"]);\n\n var _useBreakpoint = Object(useBreakpoint["a" /* default */])(),\n xs = _useBreakpoint.xs;\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls(\'pagination\', customizePrefixCls);\n\n var getIconsProps = function getIconsProps() {\n var prevIcon = /*#__PURE__*/react["createElement"]("a", {\n className: "".concat(prefixCls, "-item-link")\n }, /*#__PURE__*/react["createElement"](LeftOutlined_default.a, null));\n var nextIcon = /*#__PURE__*/react["createElement"]("a", {\n className: "".concat(prefixCls, "-item-link")\n }, /*#__PURE__*/react["createElement"](RightOutlined_default.a, null));\n var jumpPrevIcon = /*#__PURE__*/react["createElement"]("a", {\n className: "".concat(prefixCls, "-item-link")\n }, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-item-container")\n }, /*#__PURE__*/react["createElement"](DoubleLeftOutlined_default.a, {\n className: "".concat(prefixCls, "-item-link-icon")\n }), /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-item-ellipsis")\n }, "\\u2022\\u2022\\u2022")));\n var jumpNextIcon = /*#__PURE__*/react["createElement"]("a", {\n className: "".concat(prefixCls, "-item-link")\n }, /*#__PURE__*/react["createElement"]("div", {\n className: "".concat(prefixCls, "-item-container")\n }, /*#__PURE__*/react["createElement"](DoubleRightOutlined_default.a, {\n className: "".concat(prefixCls, "-item-link-icon")\n }), /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-item-ellipsis")\n }, "\\u2022\\u2022\\u2022"))); // change arrows direction in right-to-left direction\n\n if (direction === \'rtl\') {\n var temp;\n temp = prevIcon;\n prevIcon = nextIcon;\n nextIcon = temp;\n temp = jumpPrevIcon;\n jumpPrevIcon = jumpNextIcon;\n jumpNextIcon = temp;\n }\n\n return {\n prevIcon: prevIcon,\n nextIcon: nextIcon,\n jumpPrevIcon: jumpPrevIcon,\n jumpNextIcon: jumpNextIcon\n };\n };\n\n var renderPagination = function renderPagination(contextLocale) {\n var locale = Pagination_extends(Pagination_extends({}, contextLocale), customLocale);\n\n var isSmall = size === \'small\' || !!(xs && !size && restProps.responsive);\n var selectPrefixCls = getPrefixCls(\'select\', customizeSelectPrefixCls);\n var extendedClassName = classnames_default()(className, _defineProperty({\n mini: isSmall\n }, "".concat(prefixCls, "-rtl"), direction === \'rtl\'));\n return /*#__PURE__*/react["createElement"](es_Pagination, Pagination_extends({}, restProps, {\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls\n }, getIconsProps(), {\n className: extendedClassName,\n selectComponentClass: isSmall ? pagination_MiniSelect : es_select["a" /* default */],\n locale: locale\n }));\n };\n\n return /*#__PURE__*/react["createElement"](LocaleReceiver["a" /* default */], {\n componentName: "Pagination",\n defaultLocale: en_US["a" /* default */]\n }, renderPagination);\n};\n\n/* harmony default export */ var pagination_Pagination = (pagination_Pagination_Pagination);\n// CONCATENATED MODULE: ./node_modules/antd/es/pagination/index.js\n\n/* harmony default export */ var pagination = __webpack_exports__["a"] = (pagination_Pagination);\n\n//# sourceURL=webpack:///./node_modules/antd/es/pagination/index.js_+_7_modules?')},NohK:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports["default"] = void 0;\n\n/**\n * Created by hustcc on 18/6/9.\n * Contract: i@hust.cc\n */\nvar _default = function _default(fn) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60;\n var timer = null;\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 clearTimeout(timer);\n timer = setTimeout(function () {\n fn.apply(_this, args);\n }, delay);\n };\n};\n\nexports["default"] = _default;\n\n//# sourceURL=webpack:///./node_modules/size-sensor/lib/debounce.js?')},Npjl:function(module,exports){eval("/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_getValue.js?")},Nu4q:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar PictureTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M276 368a28 28 0 1056 0 28 28 0 10-56 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z", "fill": primaryColor } }] }; }, "name": "picture", "theme": "twotone" };\nexports.default = PictureTwoTone;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/PictureTwoTone.js?')},NvD2:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export isCheckDisabled */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return conductCheck; });\n/* harmony import */ var rc_util_es_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Kwbf");\n\n\nfunction removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {\n var filteredKeys = new Set();\n halfCheckedKeys.forEach(function (key) {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\n\nfunction isCheckDisabled(node) {\n var _ref = node || {},\n disabled = _ref.disabled,\n disableCheckbox = _ref.disableCheckbox,\n checkable = _ref.checkable;\n\n return !!(disabled || disableCheckbox) || checkable === false;\n} // Fill miss keys\n\nfunction fillConductCheck(keys, levelEntities, maxLevel) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(); // Add checked keys top to bottom\n\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children = entity.children,\n children = _entity$children === void 0 ? [] : _entity$children;\n\n if (checkedKeys.has(key) && !isCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !isCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n } // Add checked keys from bottom to top\n\n\n var visitedKeys = new Set();\n\n for (var _level = maxLevel; _level >= 0; _level -= 1) {\n var _entities = levelEntities.get(_level) || new Set();\n\n _entities.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node; // Skip if no need to check\n\n if (isCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n } // Skip if parent is disabled\n\n\n if (isCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !isCheckDisabled(childEntity.node);\n }).forEach(function (_ref2) {\n var key = _ref2.key;\n var checked = checkedKeys.has(key);\n\n if (allChecked && !checked) {\n allChecked = false;\n }\n\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n\n visitedKeys.add(parent.key);\n });\n }\n\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n} // Remove useless key\n\n\nfunction cleanConductCheck(keys, halfKeys, levelEntities, maxLevel) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(halfKeys); // Remove checked keys from top to bottom\n\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children2 = entity.children,\n children = _entity$children2 === void 0 ? [] : _entity$children2;\n\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !isCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !isCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n } // Remove checked keys form bottom to top\n\n\n halfCheckedKeys = new Set();\n var visitedKeys = new Set();\n\n for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {\n var _entities2 = levelEntities.get(_level2) || new Set();\n\n _entities2.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node; // Skip if no need to check\n\n if (isCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n } // Skip if parent is disabled\n\n\n if (isCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !isCheckDisabled(childEntity.node);\n }).forEach(function (_ref3) {\n var key = _ref3.key;\n var checked = checkedKeys.has(key);\n\n if (allChecked && !checked) {\n allChecked = false;\n }\n\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n\n visitedKeys.add(parent.key);\n });\n }\n\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\n\n\nfunction conductCheck(keyList, checked, keyEntities) {\n var warningMissKeys = []; // We only handle exist keys\n\n var keys = new Set(keyList.filter(function (key) {\n var hasEntity = !!keyEntities[key];\n\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n\n return hasEntity;\n }));\n var levelEntities = new Map();\n var maxLevel = 0; // Convert entities by level for calculation\n\n Object.keys(keyEntities).forEach(function (key) {\n var entity = keyEntities[key];\n var level = entity.level;\n var levelSet = levelEntities.get(level);\n\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n\n levelSet.add(entity);\n maxLevel = Math.max(maxLevel, level);\n });\n Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(!warningMissKeys.length, "Tree missing follow keys: ".concat(warningMissKeys.slice(0, 100).map(function (key) {\n return "\'".concat(key, "\'");\n }).join(\', \')));\n var result;\n\n if (checked === true) {\n result = fillConductCheck(keys, levelEntities, maxLevel);\n } else {\n result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel);\n }\n\n return result;\n}\n\n//# sourceURL=webpack:///./node_modules/rc-tree/es/utils/conductUtil.js?')},"O/iA":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/auto-complete/style/index.less?")},O3gP:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("O/iA");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _select_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("OaEy");\n\n // style dependencies\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/auto-complete/style/index.js?')},OBOq:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return setARIAContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return alert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return status; });\n/* harmony import */ var _aria_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"UCkY\");\n/* harmony import */ var _aria_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aria_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"3/fG\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"MNsG\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"EffR\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\r\n\r\nvar ariaContainer;\r\nvar alertContainer;\r\nvar statusContainer;\r\nfunction setARIAContainer(parent) {\r\n ariaContainer = document.createElement('div');\r\n ariaContainer.className = 'monaco-aria-container';\r\n alertContainer = document.createElement('div');\r\n alertContainer.className = 'monaco-alert';\r\n alertContainer.setAttribute('role', 'alert');\r\n alertContainer.setAttribute('aria-atomic', 'true');\r\n ariaContainer.appendChild(alertContainer);\r\n statusContainer = document.createElement('div');\r\n statusContainer.className = 'monaco-status';\r\n statusContainer.setAttribute('role', 'status');\r\n statusContainer.setAttribute('aria-atomic', 'true');\r\n ariaContainer.appendChild(statusContainer);\r\n parent.appendChild(ariaContainer);\r\n}\r\n/**\r\n * Given the provided message, will make sure that it is read as alert to screen readers.\r\n */\r\nfunction alert(msg, disableRepeat) {\r\n insertMessage(alertContainer, msg, disableRepeat);\r\n}\r\n/**\r\n * Given the provided message, will make sure that it is read as status to screen readers.\r\n */\r\nfunction status(msg, disableRepeat) {\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__[/* isMacintosh */ \"e\"]) {\r\n alert(msg, disableRepeat); // VoiceOver does not seem to support status role\r\n }\r\n else {\r\n insertMessage(statusContainer, msg, disableRepeat);\r\n }\r\n}\r\nvar repeatedTimes = 0;\r\nvar prevText = undefined;\r\nfunction insertMessage(target, msg, disableRepeat) {\r\n if (!ariaContainer) {\r\n return;\r\n }\r\n // If the same message should be inserted that is already present, a screen reader would\r\n // not announce this message because it matches the previous one. As a workaround, we\r\n // alter the message with the number of occurences unless this is explicitly disabled\r\n // via the disableRepeat flag.\r\n if (!disableRepeat) {\r\n if (prevText === msg) {\r\n repeatedTimes++;\r\n }\r\n else {\r\n prevText = msg;\r\n repeatedTimes = 0;\r\n }\r\n switch (repeatedTimes) {\r\n case 0: break;\r\n case 1:\r\n msg = _nls_js__WEBPACK_IMPORTED_MODULE_1__[/* localize */ \"a\"]('repeated', \"{0} (occurred again)\", msg);\r\n break;\r\n default:\r\n msg = _nls_js__WEBPACK_IMPORTED_MODULE_1__[/* localize */ \"a\"]('repeatedNtimes', \"{0} (occurred {1} times)\", msg, repeatedTimes);\r\n break;\r\n }\r\n }\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__[/* clearNode */ \"s\"](target);\r\n target.textContent = msg;\r\n // See https://www.paciellogroup.com/blog/2012/06/html5-accessibility-chops-aria-rolealert-browser-support/\r\n target.style.visibility = 'hidden';\r\n target.style.visibility = 'visible';\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js?")},OELB:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, 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* ).\n*/\nvar RADIAN_EPSILON = 1e-4;\n\nfunction _trim(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n/**\n * Linear mapping a value from domain to range\n * @memberOf module:echarts/util/number\n * @param {(number|Array.)} val\n * @param {Array.} domain Domain extent domain[0] can be bigger than domain[1]\n * @param {Array.} range Range extent range[0] can be bigger than range[1]\n * @param {boolean} clamp\n * @return {(number|Array.}\n */\n\n\nfunction linearMap(val, domain, range, clamp) {\n var subDomain = domain[1] - domain[0];\n var subRange = range[1] - range[0];\n\n if (subDomain === 0) {\n return subRange === 0 ? range[0] : (range[0] + range[1]) / 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 <= domain[0]) {\n return range[0];\n } else if (val >= domain[1]) {\n return range[1];\n }\n } else {\n if (val >= domain[0]) {\n return range[0];\n } else if (val <= domain[1]) {\n return range[1];\n }\n }\n } else {\n if (val === domain[0]) {\n return range[0];\n }\n\n if (val === domain[1]) {\n return range[1];\n }\n }\n\n return (val - domain[0]) / subDomain * subRange + range[0];\n}\n/**\n * Convert a percent string to absolute number.\n * Returns NaN if percent is not a valid string or number\n * @memberOf module:echarts/util/number\n * @param {string|number} percent\n * @param {number} all\n * @return {number}\n */\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 (typeof percent === 'string') {\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}\n/**\n * (1) Fix rounding error of float numbers.\n * (2) Support return string to avoid scientific notation like '3.5e-7'.\n *\n * @param {number} x\n * @param {number} [precision]\n * @param {boolean} [returnStr]\n * @return {number|string}\n */\n\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), 20);\n x = (+x).toFixed(precision);\n return returnStr ? x : +x;\n}\n/**\n * asc sort arr.\n * The input arr will be modified.\n *\n * @param {Array} arr\n * @return {Array} The input arr.\n */\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 * @param {number} val\n */\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 // var tmp = val.toString();\n // return tmp.length - 1 - tmp.indexOf('.');\n // especially when precision is low\n\n\n var e = 1;\n var count = 0;\n\n while (Math.round(val * e) / e !== val) {\n e *= 10;\n count++;\n }\n\n return count;\n}\n/**\n * @param {string|number} val\n * @return {number}\n */\n\n\nfunction getPrecisionSafe(val) {\n var str = val.toString(); // Consider scientific notation: '3.4e-12' '3.4e+12'\n\n var eIndex = str.indexOf('e');\n\n if (eIndex > 0) {\n var precision = +str.slice(eIndex + 1);\n return precision < 0 ? -precision : 0;\n } else {\n var dotIndex = str.indexOf('.');\n return dotIndex < 0 ? 0 : str.length - 1 - dotIndex;\n }\n}\n/**\n * Minimal dicernible data precisioin according to a single pixel.\n *\n * @param {Array.} dataExtent\n * @param {Array.} pixelExtent\n * @return {number} precision\n */\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 {Array.} valueList a list of all data\n * @param {number} idx index of the data to be processed in valueList\n * @param {number} precision integer number showing digits of precision\n * @return {number} percent ranging from 0 to 100\n */\n\n\nfunction getPercentWithPrecision(valueList, idx, precision) {\n if (!valueList[idx]) {\n return 0;\n }\n\n var sum = zrUtil.reduce(valueList, function (acc, val) {\n return acc + (isNaN(val) ? 0 : val);\n }, 0);\n\n if (sum === 0) {\n return 0;\n }\n\n var digits = Math.pow(10, precision);\n var votesPerQuota = zrUtil.map(valueList, function (val) {\n return (isNaN(val) ? 0 : val) / sum * digits * 100;\n });\n var targetSeats = digits * 100;\n var seats = zrUtil.map(votesPerQuota, function (votes) {\n // Assign automatic seats.\n return Math.floor(votes);\n });\n var currentSum = zrUtil.reduce(seats, function (acc, val) {\n return acc + val;\n }, 0);\n var remainder = zrUtil.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 seats[idx] / digits;\n} // Number.MAX_SAFE_INTEGER, ie do not support.\n\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * To 0 - 2 * PI, considering negative radian.\n * @param {number} radian\n * @return {number}\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\n\nfunction isRadianAroundZero(val) {\n return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;\n}\n/* eslint-disable */\n\n\nvar TIME_REG = /^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d\\d)(?::(\\d\\d)(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/; // jshint ignore:line\n\n/* eslint-enable */\n\n/**\n * @param {string|Date|number} value 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 ).\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} date\n */\n\nfunction parseDate(value) {\n if (value instanceof Date) {\n return value;\n } else if (typeof value === 'string') {\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] || 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] || 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 {number} val\n * @return {number}\n */\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 {number} val non-negative value\n * @return {number}\n */\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 \u201cnice\u201d number approximately equal to x. Round the number if round = true,\n * take ceiling if round = false. The primary observation is that the \u201cnicest\u201d\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 {number} val Non-negative value.\n * @param {boolean} round\n * @return {number}\n */\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 * .\n * See the license statement at the head of this file.\n * @param {Array.} ascArr\n */\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 {Array.} list, where `close` mean open or close\n * of the interval, and Infinity can be used.\n * @return {Array.} The origin list, which has been reformed.\n */\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 = list[i].close;\n\n for (var lg = 0; lg < 2; lg++) {\n if (interval[lg] <= curr) {\n interval[lg] = curr;\n close[lg] = !lg ? 1 - currClose : 1;\n }\n\n curr = interval[lg];\n currClose = close[lg];\n }\n\n if (interval[0] === interval[1] && close[0] * close[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 * parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n * ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n * subtraction forces infinities to NaN\n *\n * @param {*} v\n * @return {boolean}\n */\n\n\nfunction isNumeric(v) {\n return v - parseFloat(v) >= 0;\n}\n\nexports.linearMap = linearMap;\nexports.parsePercent = parsePercent;\nexports.round = round;\nexports.asc = asc;\nexports.getPrecision = getPrecision;\nexports.getPrecisionSafe = getPrecisionSafe;\nexports.getPixelPrecision = getPixelPrecision;\nexports.getPercentWithPrecision = getPercentWithPrecision;\nexports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\nexports.remRadian = remRadian;\nexports.isRadianAroundZero = isRadianAroundZero;\nexports.parseDate = parseDate;\nexports.quantity = quantity;\nexports.quantityExponent = quantityExponent;\nexports.nice = nice;\nexports.quantile = quantile;\nexports.reformIntervals = reformIntervals;\nexports.isNumeric = isNumeric;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/util/number.js?")},OKJ2:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _dataProvider = __webpack_require__(\"KxfA\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\nvar _format = __webpack_require__(\"7aKB\");\n\nvar getTooltipMarker = _format.getTooltipMarker;\nvar formatTpl = _format.formatTpl;\n\nvar _model = __webpack_require__(\"4NO4\");\n\nvar getTooltipRenderMode = _model.getTooltipRenderMode;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g; // PENDING A little ugly\n\nvar _default = {\n /**\n * Get params for formatter\n * @param {number} dataIndex\n * @param {string} [dataType]\n * @return {Object}\n */\n 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 color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor');\n var tooltipModel = this.ecModel.getComponent('tooltip');\n var renderModeOption = tooltipModel && tooltipModel.get('renderMode');\n var renderMode = getTooltipRenderMode(renderModeOption);\n var mainType = this.mainType;\n var isSeries = mainType === 'series';\n var userOutput = data.userOutput;\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.dimensionNames : null,\n encode: userOutput ? userOutput.encode : null,\n marker: getTooltipMarker({\n color: color,\n renderMode: renderMode\n }),\n // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n $vars: ['seriesName', 'name', 'value']\n };\n },\n\n /**\n * Format label\n * @param {number} dataIndex\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @param {string} [dataType]\n * @param {number} [dimIndex] Only used in some chart that\n * use formatter in different dimensions, like radar.\n * @param {string} [labelProp='label']\n * @return {string} If not formatter, return null/undefined\n */\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex, labelProp) {\n status = status || 'normal';\n var data = this.getData(dataType);\n var itemModel = data.getItemModel(dataIndex);\n var params = this.getDataParams(dataIndex, dataType);\n\n if (dimIndex != null && params.value instanceof Array) {\n params.value = params.value[dimIndex];\n }\n\n var formatter = itemModel.get(status === 'normal' ? [labelProp || 'label', 'formatter'] : [status, labelProp || 'label', 'formatter']);\n\n if (typeof formatter === 'function') {\n params.status = status;\n params.dimensionIndex = dimIndex;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n var str = 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, dim) {\n var len = dim.length;\n\n if (dim.charAt(0) === '[' && dim.charAt(len - 1) === ']') {\n dim = +dim.slice(1, len - 1); // Also: '[]' => 0\n }\n\n return retrieveRawValue(data, dataIndex, dim);\n });\n }\n },\n\n /**\n * Get raw value in option\n * @param {number} idx\n * @param {string} [dataType]\n * @return {Array|number|string}\n */\n getRawValue: function (idx, dataType) {\n return retrieveRawValue(this.getData(dataType), idx);\n },\n\n /**\n * Should be implemented.\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @return {string} tooltip string\n */\n formatTooltip: function () {// Empty function\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/dataFormat.js?")},OKK6:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css?")},OOlL:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"+hIS\");\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n\r\nObject(_contribution_js__WEBPACK_IMPORTED_MODULE_0__[/* registerLanguage */ \"a\"])({\r\n id: 'azcli',\r\n extensions: ['.azcli'],\r\n aliases: ['Azure CLI', 'azcli'],\r\n loader: function () { return __webpack_require__.e(/* import() */ 167).then(__webpack_require__.bind(null, \"NlLO\")); }\r\n});\r\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js?")},OPEp:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/space/style/index.less?")},OQFs:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 makeStyleMapper = __webpack_require__(\"KCsZ\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 getLineStyle = makeStyleMapper([['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\nvar _default = {\n getLineStyle: function (excludes) {\n var style = getLineStyle(this, excludes); // Always set lineDash whether dashed, otherwise we can not\n // erase the previous style when assigning to el.style.\n\n style.lineDash = this.getLineDash(style.lineWidth);\n return style;\n },\n getLineDash: function (lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n var lineType = this.get('type');\n var dotSize = Math.max(lineWidth, 2);\n var dashSize = lineWidth * 4;\n return lineType === 'solid' || lineType == null ? // Use `false` but not `null` for the solid line here, because `null` might be\n // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as\n // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the\n // `lineDash` gotten form the latter one is not able to erase that from the former\n // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.\n false : lineType === 'dashed' ? [dashSize, dashSize] : [dotSize, dotSize];\n }\n};\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/model/mixin/lineStyle.js?")},OS9S:function(module,exports,__webpack_require__){eval('var _util = __webpack_require__("bYtY");\n\nvar inherits = _util.inherits;\n\nvar Displayble = __webpack_require__("Gev7");\n\nvar BoundingRect = __webpack_require__("mFDi");\n\n/**\n * Displayable for incremental rendering. It will be rendered in a separate layer\n * IncrementalDisplay have two main methods. `clearDisplayables` and `addDisplayables`\n * addDisplayables will render the added displayables incremetally.\n *\n * It use a not clearFlag to tell the painter don\'t clear the layer if it\'s the first element.\n */\n// TODO Style override ?\nfunction IncrementalDisplayble(opts) {\n Displayble.call(this, opts);\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.notClear = true;\n}\n\nIncrementalDisplayble.prototype.incremental = true;\n\nIncrementalDisplayble.prototype.clearDisplaybles = function () {\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.dirty();\n this.notClear = false;\n};\n\nIncrementalDisplayble.prototype.addDisplayable = function (displayable, notPersistent) {\n if (notPersistent) {\n this._temporaryDisplayables.push(displayable);\n } else {\n this._displayables.push(displayable);\n }\n\n this.dirty();\n};\n\nIncrementalDisplayble.prototype.addDisplayables = function (displayables, notPersistent) {\n notPersistent = notPersistent || false;\n\n for (var i = 0; i < displayables.length; i++) {\n this.addDisplayable(displayables[i], notPersistent);\n }\n};\n\nIncrementalDisplayble.prototype.eachPendingDisplayable = function (cb) {\n for (var i = this._cursor; i < this._displayables.length; i++) {\n cb && cb(this._displayables[i]);\n }\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n cb && cb(this._temporaryDisplayables[i]);\n }\n};\n\nIncrementalDisplayble.prototype.update = function () {\n this.updateTransform();\n\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i]; // PENDING\n\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i]; // PENDING\n\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n};\n\nIncrementalDisplayble.prototype.brush = function (ctx, prevEl) {\n // Render persistant displayables.\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n displayable.beforeBrush && displayable.beforeBrush(ctx);\n displayable.brush(ctx, i === this._cursor ? null : this._displayables[i - 1]);\n displayable.afterBrush && displayable.afterBrush(ctx);\n }\n\n this._cursor = i; // Render temporary displayables.\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i];\n displayable.beforeBrush && displayable.beforeBrush(ctx);\n displayable.brush(ctx, i === 0 ? null : this._temporaryDisplayables[i - 1]);\n displayable.afterBrush && displayable.afterBrush(ctx);\n }\n\n this._temporaryDisplayables = [];\n this.notClear = true;\n};\n\nvar m = [];\n\nIncrementalDisplayble.prototype.getBoundingRect = function () {\n if (!this._rect) {\n var rect = new BoundingRect(Infinity, Infinity, -Infinity, -Infinity);\n\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n var childRect = displayable.getBoundingRect().clone();\n\n if (displayable.needLocalTransform()) {\n childRect.applyTransform(displayable.getLocalTransform(m));\n }\n\n rect.union(childRect);\n }\n\n this._rect = rect;\n }\n\n return this._rect;\n};\n\nIncrementalDisplayble.prototype.contain = function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n\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\n if (displayable.contain(x, y)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\ninherits(IncrementalDisplayble, Displayble);\nvar _default = IncrementalDisplayble;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/zrender/lib/graphic/IncrementalDisplayable.js?')},OUJF:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerAction({\n type: 'timelineChange',\n event: 'timelineChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\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()) {\n timelineModel.setPlayState(false);\n }\n } // Set normalized currentIndex to payload.\n\n\n ecModel.resetOption('timeline');\n return zrUtil.defaults({\n currentIndex: timelineModel.option.currentIndex\n }, payload);\n});\necharts.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//# sourceURL=webpack:///./node_modules/echarts/lib/component/timeline/timelineAction.js?")},OXB0:function(module,exports,__webpack_require__){eval('\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 SeriesModel = __webpack_require__("T4UG");\n\nvar createListFromArray = __webpack_require__("MwEJ");\n\nvar CoordinateSystem = __webpack_require__("IDmD");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* "License"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 _default = SeriesModel.extend({\n type: \'series.heatmap\',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n generateCoord: \'value\'\n });\n },\n preventIncremental: function () {\n var coordSysCreator = CoordinateSystem.get(this.get(\'coordinateSystem\'));\n\n if (coordSysCreator && coordSysCreator.dimensions) {\n return coordSysCreator.dimensions[0] === \'lng\' && coordSysCreator.dimensions[1] === \'lat\';\n }\n },\n defaultOption: {\n // Cartesian2D or geo\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 }\n});\n\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js?')},OZM5:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return arrDel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrAdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return posToArr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return isTreeNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getDragNodesKeys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return calcDropPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return calcSelectedKeys; });\n/* unused harmony export convertDataToTree */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return parseCheckedKeys; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return conductExpandParent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getDataAndAria; });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("KQm4");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("U8pU");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("Ff2n");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("Kwbf");\n/* harmony import */ var _TreeNode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("WaYH");\n\n\n\n\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\n\n\n\nvar DRAG_SIDE_RANGE = 0.25;\nvar DRAG_MIN_GAP = 2;\nfunction arrDel(list, value) {\n var clone = list.slice();\n var index = clone.indexOf(value);\n\n if (index >= 0) {\n clone.splice(index, 1);\n }\n\n return clone;\n}\nfunction arrAdd(list, value) {\n var clone = list.slice();\n\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n\n return clone;\n}\nfunction posToArr(pos) {\n return pos.split(\'-\');\n}\nfunction getPosition(level, index) {\n return "".concat(level, "-").concat(index);\n}\nfunction isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nfunction getDragNodesKeys(dragNodeKey, keyEntities) {\n var dragNodesKeys = [dragNodeKey];\n var entity = keyEntities[dragNodeKey];\n\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragNodesKeys.push(key);\n dig(children);\n });\n }\n\n dig(entity.children);\n return dragNodesKeys;\n} // Only used when drag, not affect SSR.\n\nfunction calcDropPosition(event, treeNode) {\n var clientY = event.clientY;\n\n var _treeNode$selectHandl = treeNode.selectHandle.getBoundingClientRect(),\n top = _treeNode$selectHandl.top,\n bottom = _treeNode$selectHandl.bottom,\n height = _treeNode$selectHandl.height;\n\n var des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);\n\n if (clientY <= top + des) {\n return -1;\n }\n\n if (clientY >= bottom - des) {\n return 1;\n }\n\n return 0;\n}\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\n\nfunction calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n\n if (multiple) {\n return selectedKeys.slice();\n }\n\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n\n return selectedKeys;\n}\n\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\n\nfunction convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref3, ["children"]);\n\n var childrenNodes = convertDataToTree(children, processor);\n return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_TreeNode__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], Object.assign({}, processProps(props)), childrenNodes);\n });\n}\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\n\nfunction parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n } // Convert keys to object format\n\n\n var keyProps;\n\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (Object(_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(keys) === \'object\') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(false, \'`checkedKeys` is not an array or an object\');\n return null;\n }\n\n return keyProps;\n}\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\n\nfunction conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = keyEntities[key];\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(expandedKeys);\n}\n/**\n * Returns only the data- and aria- key/value pairs\n */\n\nfunction getDataAndAria(props) {\n var omitProps = {};\n Object.keys(props).forEach(function (key) {\n if (key.startsWith(\'data-\') || key.startsWith(\'aria-\')) {\n omitProps[key] = props[key];\n }\n });\n return omitProps;\n}\n\n//# sourceURL=webpack:///./node_modules/rc-tree/es/util.js?')},OaEy:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("bKJz");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _empty_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("R9oj");\n\n // style dependencies\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/select/style/index.js?')},"Of+w":function(module,exports,__webpack_require__){eval('var getNative = __webpack_require__("Cwc5"),\n root = __webpack_require__("Kz5y");\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, \'WeakMap\');\n\nmodule.exports = WeakMap;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_WeakMap.js?')},Ol7k:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("PKem");\n/* harmony import */ var _Sider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ZX9x");\n\n\n_layout__WEBPACK_IMPORTED_MODULE_0__[/* default */ "b"].Sider = _Sider__WEBPACK_IMPORTED_MODULE_1__[/* default */ "b"];\n/* harmony default export */ __webpack_exports__["a"] = (_layout__WEBPACK_IMPORTED_MODULE_0__[/* default */ "b"]);\n\n//# sourceURL=webpack:///./node_modules/antd/es/layout/index.js?')},OlYY:function(module,exports,__webpack_require__){eval("\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 _config = __webpack_require__(\"Tghj\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(\"ProS\");\n\nvar zrUtil = __webpack_require__(\"bYtY\");\n\nvar env = __webpack_require__(\"ItGF\");\n\nvar modelUtil = __webpack_require__(\"4NO4\");\n\nvar helper = __webpack_require__(\"UOVi\");\n\nvar AxisProxy = __webpack_require__(\"zDms\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar eachAxisDim = helper.eachAxisDim;\nvar DataZoomModel = echarts.extendComponentModel({\n type: 'dataZoom',\n dependencies: ['xAxis', 'yAxis', 'zAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n z: 4,\n // Higher than normal component (z: 2).\n orient: null,\n // Default auto by axisIndex. Possible value: 'horizontal', 'vertical'.\n xAxisIndex: null,\n // Default the first horizontal category axis.\n yAxisIndex: null,\n // Default the first vertical category axis.\n filterMode: 'filter',\n // Possible values: 'filter' or 'empty' or 'weakFilter'.\n // 'filter': data items which are out of window will be removed. This option is\n // applicable when filtering outliers. For each data item, it will be\n // filtered if one of the relevant dimensions is out of the window.\n // 'weakFilter': data items which are out of window will be removed. This option\n // is applicable when filtering outliers. For each data item, it will be\n // filtered only if all of the relevant dimensions are out of the same\n // side of the window.\n // 'empty': data items which are out of window will be set to empty.\n // This option is applicable when user should not neglect\n // that there are some data items out of window.\n // 'none': Do not filter.\n // Taking line chart as an example, line will be broken in\n // the filtered points when filterModel is set to 'empty', but\n // be connected when set to 'filter'.\n throttle: null,\n // Dispatch action by the fixed rate, avoid frequency.\n // default 100. Do not throttle when use null/undefined.\n // If animation === true and animationDurationUpdate > 0,\n // default value is 100, otherwise 20.\n start: 0,\n // Start percent. 0 ~ 100\n end: 100,\n // End percent. 0 ~ 100\n startValue: null,\n // Start value. If startValue specified, start is ignored.\n endValue: null,\n // End value. If endValue specified, end is ignored.\n minSpan: null,\n // 0 ~ 100\n maxSpan: null,\n // 0 ~ 100\n minValueSpan: null,\n // The range of dataZoom can not be smaller than that.\n maxValueSpan: null,\n // The range of dataZoom can not be larger than that.\n rangeMode: null // Array, can be 'value' or 'percent'.\n\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * key like x_0, y_1\n * @private\n * @type {Object}\n */\n this._dataIntervalByAxis = {};\n /**\n * @private\n */\n\n this._dataInfo = {};\n /**\n * key like x_0, y_1\n * @private\n */\n\n this._axisProxies = {};\n /**\n * @readOnly\n */\n\n this.textStyleModel;\n /**\n * @private\n */\n\n this._autoThrottle = 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 * @private\n */\n\n this._rangePropMode = ['percent', 'percent'];\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 * @readOnly\n */\n\n this.settledOption = inputRawOption;\n this.mergeDefaultAndTheme(option, ecModel);\n this.doInit(inputRawOption);\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var inputRawOption = retrieveRawOption(newOption); //FIX #2591\n\n zrUtil.merge(this.option, newOption, true);\n zrUtil.merge(this.settledOption, inputRawOption, true);\n this.doInit(inputRawOption);\n },\n\n /**\n * @protected\n */\n doInit: function (inputRawOption) {\n var thisOption = this.option; // Disable realtime view update if canvas is not supported.\n\n if (!env.canvasSupported) {\n thisOption.realtime = false;\n }\n\n this._setDefaultThrottle(inputRawOption);\n\n updateRangeUse(this, inputRawOption);\n var settledOption = this.settledOption;\n 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 this.textStyleModel = this.getModel('textStyle');\n\n this._resetTarget();\n\n this._giveAxisProxies();\n },\n\n /**\n * @private\n */\n _giveAxisProxies: function () {\n var axisProxies = this._axisProxies;\n this.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel, ecModel) {\n var axisModel = this.dependentModels[dimNames.axis][axisIndex]; // If exists, share axisProxy with other dataZoomModels.\n\n var axisProxy = axisModel.__dzAxisProxy || ( // Use the first dataZoomModel as the main model of axisProxy.\n axisModel.__dzAxisProxy = new AxisProxy(dimNames.name, axisIndex, this, ecModel)); // FIXME\n // dispose __dzAxisProxy\n\n axisProxies[dimNames.name + '_' + axisIndex] = axisProxy;\n }, this);\n },\n\n /**\n * @private\n */\n _resetTarget: function () {\n var thisOption = this.option;\n\n var autoMode = this._judgeAutoMode();\n\n eachAxisDim(function (dimNames) {\n var axisIndexName = dimNames.axisIndex;\n thisOption[axisIndexName] = modelUtil.normalizeToArray(thisOption[axisIndexName]);\n }, this);\n\n if (autoMode === 'axisIndex') {\n this._autoSetAxisIndex();\n } else if (autoMode === 'orient') {\n this._autoSetOrient();\n }\n },\n\n /**\n * @private\n */\n _judgeAutoMode: function () {\n // Auto set only works for setOption at the first time.\n // The following is user's reponsibility. So using merged\n // option is OK.\n var thisOption = this.option;\n var hasIndexSpecified = false;\n eachAxisDim(function (dimNames) {\n // 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 if (thisOption[dimNames.axisIndex] != null) {\n hasIndexSpecified = true;\n }\n }, this);\n var orient = thisOption.orient;\n\n if (orient == null && hasIndexSpecified) {\n return 'orient';\n } else if (!hasIndexSpecified) {\n if (orient == null) {\n thisOption.orient = 'horizontal';\n }\n\n return 'axisIndex';\n }\n },\n\n /**\n * @private\n */\n _autoSetAxisIndex: function () {\n var autoAxisIndex = true;\n var orient = this.get('orient', true);\n var thisOption = this.option;\n var dependentModels = this.dependentModels;\n\n if (autoAxisIndex) {\n // Find axis that parallel to dataZoom as default.\n var dimName = orient === 'vertical' ? 'y' : 'x';\n\n if (dependentModels[dimName + 'Axis'].length) {\n thisOption[dimName + 'AxisIndex'] = [0];\n autoAxisIndex = false;\n } else {\n each(dependentModels.singleAxis, function (singleAxisModel) {\n if (autoAxisIndex && singleAxisModel.get('orient', true) === orient) {\n thisOption.singleAxisIndex = [singleAxisModel.componentIndex];\n autoAxisIndex = false;\n }\n });\n }\n }\n\n if (autoAxisIndex) {\n // Find the first category axis as default. (consider polar)\n eachAxisDim(function (dimNames) {\n if (!autoAxisIndex) {\n return;\n }\n\n var axisIndices = [];\n var axisModels = this.dependentModels[dimNames.axis];\n\n if (axisModels.length && !axisIndices.length) {\n for (var i = 0, len = axisModels.length; i < len; i++) {\n if (axisModels[i].get('type') === 'category') {\n axisIndices.push(i);\n }\n }\n }\n\n thisOption[dimNames.axisIndex] = axisIndices;\n\n if (axisIndices.length) {\n autoAxisIndex = false;\n }\n }, this);\n }\n\n if (autoAxisIndex) {\n // FIXME\n // \u8fd9\u91cc\u662f\u517c\u5bb9ec2\u7684\u5199\u6cd5\uff08\u6ca1\u6307\u5b9axAxisIndex\u548cyAxisIndex\u65f6\u628ascatter\u548c\u53cc\u6570\u503c\u8f74\u6298\u67f1\u7eb3\u5165dataZoom\u63a7\u5236\uff09\uff0c\n // \u4f46\u662f\u5b9e\u9645\u662f\u5426\u9700\u8981Grid.js#getScaleByOption\u6765\u5224\u65ad\uff08\u8003\u8651time\uff0clog\u7b49axis type\uff09\uff1f\n // If both dataZoom.xAxisIndex and dataZoom.yAxisIndex is not specified,\n // dataZoom component auto adopts series that reference to\n // both xAxis and yAxis which type is 'value'.\n this.ecModel.eachSeries(function (seriesModel) {\n if (this._isSeriesHasAllAxesTypeOf(seriesModel, 'value')) {\n eachAxisDim(function (dimNames) {\n var axisIndices = thisOption[dimNames.axisIndex];\n var axisIndex = seriesModel.get(dimNames.axisIndex);\n var axisId = seriesModel.get(dimNames.axisId);\n var axisModel = seriesModel.ecModel.queryComponents({\n mainType: dimNames.axis,\n index: axisIndex,\n id: axisId\n })[0];\n axisIndex = axisModel.componentIndex;\n\n if (zrUtil.indexOf(axisIndices, axisIndex) < 0) {\n axisIndices.push(axisIndex);\n }\n });\n }\n }, this);\n }\n },\n\n /**\n * @private\n */\n _autoSetOrient: function () {\n var dim; // Find the first axis\n\n this.eachTargetAxis(function (dimNames) {\n !dim && (dim = dimNames.name);\n }, this);\n this.option.orient = dim === 'y' ? 'vertical' : 'horizontal';\n },\n\n /**\n * @private\n */\n _isSeriesHasAllAxesTypeOf: function (seriesModel, axisType) {\n // FIXME\n // \u9700\u8981series\u7684xAxisIndex\u548cyAxisIndex\u90fd\u9996\u5148\u81ea\u52a8\u8bbe\u7f6e\u4e0a\u3002\n // \u4f8b\u5982series.type === scatter\u65f6\u3002\n var is = true;\n eachAxisDim(function (dimNames) {\n var seriesAxisIndex = seriesModel.get(dimNames.axisIndex);\n var axisModel = this.dependentModels[dimNames.axis][seriesAxisIndex];\n\n if (!axisModel || axisModel.get('type') !== axisType) {\n is = false;\n }\n }, this);\n return is;\n },\n\n /**\n * @private\n */\n _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 /**\n * @public\n */\n getFirstTargetAxisModel: function () {\n var firstAxisModel;\n eachAxisDim(function (dimNames) {\n if (firstAxisModel == null) {\n var indices = this.get(dimNames.axisIndex);\n\n if (indices.length) {\n firstAxisModel = this.dependentModels[dimNames.axis][indices[0]];\n }\n }\n }, this);\n return firstAxisModel;\n },\n\n /**\n * @public\n * @param {Function} callback param: axisModel, dimNames, axisIndex, dataZoomModel, ecModel\n */\n eachTargetAxis: function (callback, context) {\n var ecModel = this.ecModel;\n eachAxisDim(function (dimNames) {\n each(this.get(dimNames.axisIndex), function (axisIndex) {\n callback.call(context, dimNames, axisIndex, this, ecModel);\n }, this);\n }, this);\n },\n\n /**\n * @param {string} dimName\n * @param {number} axisIndex\n * @return {module:echarts/component/dataZoom/AxisProxy} If not found, return null/undefined.\n */\n getAxisProxy: function (dimName, axisIndex) {\n return this._axisProxies[dimName + '_' + axisIndex];\n },\n\n /**\n * @param {string} dimName\n * @param {number} axisIndex\n * @return {module:echarts/model/Model} If not found, return null/undefined.\n */\n getAxisModel: function (dimName, axisIndex) {\n var axisProxy = this.getAxisProxy(dimName, axisIndex);\n return axisProxy && axisProxy.getAxisModel();\n },\n\n /**\n * If not specified, set to undefined.\n *\n * @public\n * @param {Object} opt\n * @param {number} [opt.start]\n * @param {number} [opt.end]\n * @param {number} [opt.startValue]\n * @param {number} [opt.endValue]\n */\n setRawRange: function (opt) {\n var thisOption = this.option;\n var settledOption = this.settledOption;\n each([['start', 'startValue'], ['end', 'endValue']], function (names) {\n // Consider the pair :\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 but not set when calling\n // `dispatchAction`.\n // The pair 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 updateRangeUse(this, opt);\n },\n\n /**\n * @public\n * @param {Object} opt\n * @param {number} [opt.start]\n * @param {number} [opt.end]\n * @param {number} [opt.startValue]\n * @param {number} [opt.endValue]\n */\n setCalculatedRange: function (opt) {\n var option = this.option;\n each(['start', 'startValue', 'end', 'endValue'], function (name) {\n option[name] = opt[name];\n });\n },\n\n /**\n * @public\n * @return {Array.} [startPercent, endPercent]\n */\n getPercentRange: function () {\n var axisProxy = this.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n return axisProxy.getDataPercentWindow();\n }\n },\n\n /**\n * @public\n * For example, chart.getModel().getComponent('dataZoom').getValueRange('y', 0);\n *\n * @param {string} [axisDimName]\n * @param {number} [axisIndex]\n * @return {Array.} [startValue, endValue] value can only be '-' or finite number.\n */\n getValueRange: function (axisDimName, axisIndex) {\n if (axisDimName == null && axisIndex == null) {\n var axisProxy = this.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n return axisProxy.getDataValueWindow();\n }\n } else {\n return this.getAxisProxy(axisDimName, axisIndex).getDataValueWindow();\n }\n },\n\n /**\n * @public\n * @param {module:echarts/model/Model} [axisModel] If axisModel given, find axisProxy\n * corresponding to the axisModel\n * @return {module:echarts/component/dataZoom/AxisProxy}\n */\n findRepresentativeAxisProxy: function (axisModel) {\n if (axisModel) {\n return axisModel.__dzAxisProxy;\n } // Find the first hosted axisProxy\n\n\n var axisProxies = this._axisProxies;\n\n for (var key in axisProxies) {\n if (axisProxies.hasOwnProperty(key) && axisProxies[key].hostedBy(this)) {\n return axisProxies[key];\n }\n } // If no hosted axis find not hosted axisProxy.\n // Consider this case: dataZoomModel1 and dataZoomModel2 control the same axis,\n // and the option.start or option.end settings are different. The percentRange\n // should follow axisProxy.\n // (We encounter this problem in toolbox data zoom.)\n\n\n for (var key in axisProxies) {\n if (axisProxies.hasOwnProperty(key) && !axisProxies[key].hostedBy(this)) {\n return axisProxies[key];\n }\n }\n },\n\n /**\n * @return {Array.}\n */\n getRangePropMode: function () {\n return this._rangePropMode.slice();\n }\n});\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\nfunction retrieveRawOption(option) {\n var ret = {};\n each(['start', 'end', 'startValue', 'endValue', 'throttle'], function (name) {\n option.hasOwnProperty(name) && (ret[name] = option[name]);\n });\n return ret;\n}\n\nfunction updateRangeUse(dataZoomModel, inputRawOption) {\n var rangePropMode = dataZoomModel._rangePropMode;\n var rangeModeInOption = dataZoomModel.get('rangeMode');\n 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\nvar _default = DataZoomModel;\nmodule.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js?")},OnYD:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/input/style/index.less?")},"Oy/b":function(module,exports,__webpack_require__){eval('(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})((typeof self !== \'undefined\' ? self : 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/******/ \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 = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n"use strict";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./src/katex.less\nvar katex = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./src/SourceLocation.js\n/**\n * Lexing or parsing positional information for error reporting.\n * This object is immutable.\n */\nvar SourceLocation =\n/*#__PURE__*/\nfunction () {\n // The + prefix indicates that these fields aren\'t writeable\n // Lexer holding the input string.\n // Start offset, zero-based inclusive.\n // End offset, zero-based exclusive.\n function SourceLocation(lexer, start, end) {\n this.lexer = void 0;\n this.start = void 0;\n this.end = void 0;\n this.lexer = lexer;\n this.start = start;\n this.end = end;\n }\n /**\n * Merges two `SourceLocation`s from location providers, given they are\n * provided in order of appearance.\n * - Returns the first one\'s location if only the first is provided.\n * - Returns a merged range of the first and the last if both are provided\n * and their lexers match.\n * - Otherwise, returns null.\n */\n\n\n SourceLocation.range = function range(first, second) {\n if (!second) {\n return first && first.loc;\n } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {\n return null;\n } else {\n return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);\n }\n };\n\n return SourceLocation;\n}();\n\n\n// CONCATENATED MODULE: ./src/Token.js\n\n/**\n * Interface required to break circular dependency between Token, Lexer, and\n * ParseError.\n */\n\n/**\n * The resulting token returned from `lex`.\n *\n * It consists of the token text plus some position information.\n * The position information is essentially a range in an input string,\n * but instead of referencing the bare input string, we refer to the lexer.\n * That way it is possible to attach extra metadata to the input string,\n * like for example a file name or similar.\n *\n * The position information is optional, so it is OK to construct synthetic\n * tokens if appropriate. Not providing available position information may\n * lead to degraded error reporting, though.\n */\nvar Token_Token =\n/*#__PURE__*/\nfunction () {\n function Token(text, // the text of this token\n loc) {\n this.text = void 0;\n this.loc = void 0;\n this.text = text;\n this.loc = loc;\n }\n /**\n * Given a pair of tokens (this and endToken), compute a `Token` encompassing\n * the whole input range enclosed by these two.\n */\n\n\n var _proto = Token.prototype;\n\n _proto.range = function range(endToken, // last token of the range, inclusive\n text) // the text of the newly constructed token\n {\n return new Token(text, SourceLocation.range(this, endToken));\n };\n\n return Token;\n}();\n// CONCATENATED MODULE: ./src/ParseError.js\n\n\n/**\n * This is the ParseError class, which is the main error thrown by KaTeX\n * functions when something has gone wrong. This is used to distinguish internal\n * errors from errors in the expression that the user provided.\n *\n * If possible, a caller should provide a Token or ParseNode with information\n * about where in the source string the problem occurred.\n */\nvar ParseError = // Error position based on passed-in Token or ParseNode.\nfunction ParseError(message, // The error message\ntoken) // An object providing position information\n{\n this.position = void 0;\n var error = "KaTeX parse error: " + message;\n var start;\n var loc = token && token.loc;\n\n if (loc && loc.start <= loc.end) {\n // If we have the input and a position, make the error a bit fancier\n // Get the input\n var input = loc.lexer.input; // Prepend some information\n\n start = loc.start;\n var end = loc.end;\n\n if (start === input.length) {\n error += " at end of input: ";\n } else {\n error += " at position " + (start + 1) + ": ";\n } // Underline token in question using combining underscores\n\n\n var underlined = input.slice(start, end).replace(/[^]/g, "$&\\u0332"); // Extract some context from the input and add it to the error\n\n var left;\n\n if (start > 15) {\n left = "\u2026" + input.slice(start - 15, start);\n } else {\n left = input.slice(0, start);\n }\n\n var right;\n\n if (end + 15 < input.length) {\n right = input.slice(end, end + 15) + "\u2026";\n } else {\n right = input.slice(end);\n }\n\n error += left + underlined + right;\n } // Some hackery to make ParseError a prototype of Error\n // See http://stackoverflow.com/a/8460753\n\n\n var self = new Error(error);\n self.name = "ParseError"; // $FlowFixMe\n\n self.__proto__ = ParseError.prototype; // $FlowFixMe\n\n self.position = start;\n return self;\n}; // $FlowFixMe More hackery\n\n\nParseError.prototype.__proto__ = Error.prototype;\n/* harmony default export */ var src_ParseError = (ParseError);\n// CONCATENATED MODULE: ./src/utils.js\n/**\n * This file contains a list of utility functions which are useful in other\n * files.\n */\n\n/**\n * Return whether an element is contained in a list\n */\nvar contains = function contains(list, elem) {\n return list.indexOf(elem) !== -1;\n};\n/**\n * Provide a default value if a setting is undefined\n * NOTE: Couldn\'t use `T` as the output type due to facebook/flow#5022.\n */\n\n\nvar deflt = function deflt(setting, defaultIfUndefined) {\n return setting === undefined ? defaultIfUndefined : setting;\n}; // hyphenate and escape adapted from Facebook\'s React under Apache 2 license\n\n\nvar uppercase = /([A-Z])/g;\n\nvar hyphenate = function hyphenate(str) {\n return str.replace(uppercase, "-$1").toLowerCase();\n};\n\nvar ESCAPE_LOOKUP = {\n "&": "&",\n ">": ">",\n "<": "<",\n "\\"": """,\n "\'": "'"\n};\nvar ESCAPE_REGEX = /[&><"\']/g;\n/**\n * Escapes text to prevent scripting attacks.\n */\n\nfunction utils_escape(text) {\n return String(text).replace(ESCAPE_REGEX, function (match) {\n return ESCAPE_LOOKUP[match];\n });\n}\n/**\n * Sometimes we want to pull out the innermost element of a group. In most\n * cases, this will just be the group itself, but when ordgroups and colors have\n * a single element, we want to pull that out.\n */\n\n\nvar getBaseElem = function getBaseElem(group) {\n if (group.type === "ordgroup") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === "color") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === "font") {\n return getBaseElem(group.body);\n } else {\n return group;\n }\n};\n/**\n * TeXbook algorithms often reference "character boxes", which are simply groups\n * with a single character in them. To decide if something is a character box,\n * we find its innermost group, and see if it is a single character.\n */\n\n\nvar utils_isCharacterBox = function isCharacterBox(group) {\n var baseElem = getBaseElem(group); // These are all they types of groups which hold single characters\n\n return baseElem.type === "mathord" || baseElem.type === "textord" || baseElem.type === "atom";\n};\n\nvar assert = function assert(value) {\n if (!value) {\n throw new Error(\'Expected non-null, but got \' + String(value));\n }\n\n return value;\n};\n/**\n * Return the protocol of a URL, or "_relative" if the URL does not specify a\n * protocol (and thus is relative).\n */\n\nvar protocolFromUrl = function protocolFromUrl(url) {\n var protocol = /^\\s*([^\\\\/#]*?)(?::|�*58|�*3a)/i.exec(url);\n return protocol != null ? protocol[1] : "_relative";\n};\n/* harmony default export */ var utils = ({\n contains: contains,\n deflt: deflt,\n escape: utils_escape,\n hyphenate: hyphenate,\n getBaseElem: getBaseElem,\n isCharacterBox: utils_isCharacterBox,\n protocolFromUrl: protocolFromUrl\n});\n// CONCATENATED MODULE: ./src/Settings.js\n/* eslint no-console:0 */\n\n/**\n * This is a module for storing settings passed into KaTeX. It correctly handles\n * default settings.\n */\n\n\n\n\n/**\n * The main Settings object\n *\n * The current options stored are:\n * - displayMode: Whether the expression should be typeset as inline math\n * (false, the default), meaning that the math starts in\n * \\textstyle and is placed in an inline-block); or as display\n * math (true), meaning that the math starts in \\displaystyle\n * and is placed in a block with vertical margin.\n */\nvar Settings_Settings =\n/*#__PURE__*/\nfunction () {\n function Settings(options) {\n this.displayMode = void 0;\n this.output = void 0;\n this.leqno = void 0;\n this.fleqn = void 0;\n this.throwOnError = void 0;\n this.errorColor = void 0;\n this.macros = void 0;\n this.minRuleThickness = void 0;\n this.colorIsTextColor = void 0;\n this.strict = void 0;\n this.trust = void 0;\n this.maxSize = void 0;\n this.maxExpand = void 0;\n // allow null options\n options = options || {};\n this.displayMode = utils.deflt(options.displayMode, false);\n this.output = utils.deflt(options.output, "htmlAndMathml");\n this.leqno = utils.deflt(options.leqno, false);\n this.fleqn = utils.deflt(options.fleqn, false);\n this.throwOnError = utils.deflt(options.throwOnError, true);\n this.errorColor = utils.deflt(options.errorColor, "#cc0000");\n this.macros = options.macros || {};\n this.minRuleThickness = Math.max(0, utils.deflt(options.minRuleThickness, 0));\n this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false);\n this.strict = utils.deflt(options.strict, "warn");\n this.trust = utils.deflt(options.trust, false);\n this.maxSize = Math.max(0, utils.deflt(options.maxSize, Infinity));\n this.maxExpand = Math.max(0, utils.deflt(options.maxExpand, 1000));\n }\n /**\n * Report nonstrict (non-LaTeX-compatible) input.\n * Can safely not be called if `this.strict` is false in JavaScript.\n */\n\n\n var _proto = Settings.prototype;\n\n _proto.reportNonstrict = function reportNonstrict(errorCode, errorMsg, token) {\n var strict = this.strict;\n\n if (typeof strict === "function") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n strict = strict(errorCode, errorMsg, token);\n }\n\n if (!strict || strict === "ignore") {\n return;\n } else if (strict === true || strict === "error") {\n throw new src_ParseError("LaTeX-incompatible input and strict mode is set to \'error\': " + (errorMsg + " [" + errorCode + "]"), token);\n } else if (strict === "warn") {\n typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to \'warn\': " + (errorMsg + " [" + errorCode + "]"));\n } else {\n // won\'t happen in type-safe code\n typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized \'" + strict + "\': " + errorMsg + " [" + errorCode + "]"));\n }\n }\n /**\n * Check whether to apply strict (LaTeX-adhering) behavior for unusual\n * input (like `\\\\`). Unlike `nonstrict`, will not throw an error;\n * instead, "error" translates to a return value of `true`, while "ignore"\n * translates to a return value of `false`. May still print a warning:\n * "warn" prints a warning and returns `false`.\n * This is for the second category of `errorCode`s listed in the README.\n */\n ;\n\n _proto.useStrictBehavior = function useStrictBehavior(errorCode, errorMsg, token) {\n var strict = this.strict;\n\n if (typeof strict === "function") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n // But catch any exceptions thrown by function, treating them\n // like "error".\n try {\n strict = strict(errorCode, errorMsg, token);\n } catch (error) {\n strict = "error";\n }\n }\n\n if (!strict || strict === "ignore") {\n return false;\n } else if (strict === true || strict === "error") {\n return true;\n } else if (strict === "warn") {\n typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to \'warn\': " + (errorMsg + " [" + errorCode + "]"));\n return false;\n } else {\n // won\'t happen in type-safe code\n typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized \'" + strict + "\': " + errorMsg + " [" + errorCode + "]"));\n return false;\n }\n }\n /**\n * Check whether to test potentially dangerous input, and return\n * `true` (trusted) or `false` (untrusted). The sole argument `context`\n * should be an object with `command` field specifying the relevant LaTeX\n * command (as a string starting with `\\`), and any other arguments, etc.\n * If `context` has a `url` field, a `protocol` field will automatically\n * get added by this function (changing the specified object).\n */\n ;\n\n _proto.isTrusted = function isTrusted(context) {\n if (context.url && !context.protocol) {\n context.protocol = utils.protocolFromUrl(context.url);\n }\n\n var trust = typeof this.trust === "function" ? this.trust(context) : this.trust;\n return Boolean(trust);\n };\n\n return Settings;\n}();\n\n\n// CONCATENATED MODULE: ./src/Style.js\n/**\n * This file contains information and classes for the various kinds of styles\n * used in TeX. It provides a generic `Style` class, which holds information\n * about a specific style. It then provides instances of all the different kinds\n * of styles possible, and provides functions to move between them and get\n * information about them.\n */\n\n/**\n * The main style class. Contains a unique id for the style, a size (which is\n * the same for cramped and uncramped version of a style), and a cramped flag.\n */\nvar Style =\n/*#__PURE__*/\nfunction () {\n function Style(id, size, cramped) {\n this.id = void 0;\n this.size = void 0;\n this.cramped = void 0;\n this.id = id;\n this.size = size;\n this.cramped = cramped;\n }\n /**\n * Get the style of a superscript given a base in the current style.\n */\n\n\n var _proto = Style.prototype;\n\n _proto.sup = function sup() {\n return Style_styles[_sup[this.id]];\n }\n /**\n * Get the style of a subscript given a base in the current style.\n */\n ;\n\n _proto.sub = function sub() {\n return Style_styles[_sub[this.id]];\n }\n /**\n * Get the style of a fraction numerator given the fraction in the current\n * style.\n */\n ;\n\n _proto.fracNum = function fracNum() {\n return Style_styles[_fracNum[this.id]];\n }\n /**\n * Get the style of a fraction denominator given the fraction in the current\n * style.\n */\n ;\n\n _proto.fracDen = function fracDen() {\n return Style_styles[_fracDen[this.id]];\n }\n /**\n * Get the cramped version of a style (in particular, cramping a cramped style\n * doesn\'t change the style).\n */\n ;\n\n _proto.cramp = function cramp() {\n return Style_styles[_cramp[this.id]];\n }\n /**\n * Get a text or display version of this style.\n */\n ;\n\n _proto.text = function text() {\n return Style_styles[_text[this.id]];\n }\n /**\n * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle)\n */\n ;\n\n _proto.isTight = function isTight() {\n return this.size >= 2;\n };\n\n return Style;\n}(); // Export an interface for type checking, but don\'t expose the implementation.\n// This way, no more styles can be generated.\n\n\n// IDs of the different styles\nvar D = 0;\nvar Dc = 1;\nvar T = 2;\nvar Tc = 3;\nvar S = 4;\nvar Sc = 5;\nvar SS = 6;\nvar SSc = 7; // Instances of the different styles\n\nvar Style_styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another\n\nvar _sup = [S, Sc, S, Sc, SS, SSc, SS, SSc];\nvar _sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar _fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc];\nvar _fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar _cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc];\nvar _text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles.\n\n/* harmony default export */ var src_Style = ({\n DISPLAY: Style_styles[D],\n TEXT: Style_styles[T],\n SCRIPT: Style_styles[S],\n SCRIPTSCRIPT: Style_styles[SS]\n});\n// CONCATENATED MODULE: ./src/unicodeScripts.js\n/*\n * This file defines the Unicode scripts and script families that we\n * support. To add new scripts or families, just add a new entry to the\n * scriptData array below. Adding scripts to the scriptData array allows\n * characters from that script to appear in \\text{} environments.\n */\n\n/**\n * Each script or script family has a name and an array of blocks.\n * Each block is an array of two numbers which specify the start and\n * end points (inclusive) of a block of Unicode codepoints.\n */\n\n/**\n * Unicode block data for the families of scripts we support in \\text{}.\n * Scripts only need to appear here if they do not have font metrics.\n */\nvar scriptData = [{\n // Latin characters beyond the Latin-1 characters we have metrics for.\n // Needed for Czech, Hungarian and Turkish text, for example.\n name: \'latin\',\n blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B\n [0x0300, 0x036f]]\n}, {\n // The Cyrillic script used by Russian and related languages.\n // A Cyrillic subset used to be supported as explicitly defined\n // symbols in symbols.js\n name: \'cyrillic\',\n blocks: [[0x0400, 0x04ff]]\n}, {\n // The Brahmic scripts of South and Southeast Asia\n // Devanagari (0900\u2013097F)\n // Bengali (0980\u201309FF)\n // Gurmukhi (0A00\u20130A7F)\n // Gujarati (0A80\u20130AFF)\n // Oriya (0B00\u20130B7F)\n // Tamil (0B80\u20130BFF)\n // Telugu (0C00\u20130C7F)\n // Kannada (0C80\u20130CFF)\n // Malayalam (0D00\u20130D7F)\n // Sinhala (0D80\u20130DFF)\n // Thai (0E00\u20130E7F)\n // Lao (0E80\u20130EFF)\n // Tibetan (0F00\u20130FFF)\n // Myanmar (1000\u2013109F)\n name: \'brahmic\',\n blocks: [[0x0900, 0x109F]]\n}, {\n name: \'georgian\',\n blocks: [[0x10A0, 0x10ff]]\n}, {\n // Chinese and Japanese.\n // The "k" in cjk is for Korean, but we\'ve separated Korean out\n name: "cjk",\n blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana\n [0x4E00, 0x9FAF], // CJK ideograms\n [0xFF00, 0xFF60]]\n}, {\n // Korean\n name: \'hangul\',\n blocks: [[0xAC00, 0xD7AF]]\n}];\n/**\n * Given a codepoint, return the name of the script or script family\n * it is from, or null if it is not part of a known block\n */\n\nfunction scriptFromCodepoint(codepoint) {\n for (var i = 0; i < scriptData.length; i++) {\n var script = scriptData[i];\n\n for (var _i = 0; _i < script.blocks.length; _i++) {\n var block = script.blocks[_i];\n\n if (codepoint >= block[0] && codepoint <= block[1]) {\n return script.name;\n }\n }\n }\n\n return null;\n}\n/**\n * A flattened version of all the supported blocks in a single array.\n * This is an optimization to make supportedCodepoint() fast.\n */\n\nvar allBlocks = [];\nscriptData.forEach(function (s) {\n return s.blocks.forEach(function (b) {\n return allBlocks.push.apply(allBlocks, b);\n });\n});\n/**\n * Given a codepoint, return true if it falls within one of the\n * scripts or script families defined above and false otherwise.\n *\n * Micro benchmarks shows that this is faster than\n * /[\\u3000-\\u30FF\\u4E00-\\u9FAF\\uFF00-\\uFF60\\uAC00-\\uD7AF\\u0900-\\u109F]/.test()\n * in Firefox, Chrome and Node.\n */\n\nfunction supportedCodepoint(codepoint) {\n for (var i = 0; i < allBlocks.length; i += 2) {\n if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) {\n return true;\n }\n }\n\n return false;\n}\n// CONCATENATED MODULE: ./src/svgGeometry.js\n/**\n * This file provides support to domTree.js and delimiter.js.\n * It\'s a storehouse of path geometry for SVG images.\n */\n// In all paths below, the viewBox-to-em scale is 1000:1.\nvar hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping.\n// The viniculum of a \\sqrt can be made thicker by a KaTeX rendering option.\n// Think of variable extraViniculum as two detours in the SVG path.\n// The detour begins at the lower left of the area labeled extraViniculum below.\n// The detour proceeds one extraViniculum distance up and slightly to the right,\n// displacing the radiused corner between surd and viniculum. The radius is\n// traversed as usual, then the detour resumes. It goes right, to the end of\n// the very long viniculumn, then down one extraViniculum distance,\n// after which it resumes regular path geometry for the radical.\n\n/* viniculum\n /\n /\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2190extraViniculum\n / \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u21900.04em (40 unit) std viniculum thickness\n / /\n / /\n / /\\\n / / surd\n*/\n\nvar sqrtMain = function sqrtMain(extraViniculum, hLinePad) {\n // sqrtMain path geometry is from glyph U221A in the font KaTeX Main\n return "M95," + (622 + extraViniculum + hLinePad) + "\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl" + extraViniculum / 2.075 + " -" + extraViniculum + "\\nc5.3,-9.3,12,-14,20,-14\\nH400000v" + (40 + extraViniculum) + "H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM" + (834 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z";\n};\n\nvar sqrtSize1 = function sqrtSize1(extraViniculum, hLinePad) {\n // size1 is from glyph U221A in the font KaTeX_Size1-Regular\n return "M263," + (601 + extraViniculum + hLinePad) + "c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl" + extraViniculum / 2.084 + " -" + extraViniculum + "\\nc4.7,-7.3,11,-11,19,-11\\nH40000v" + (40 + extraViniculum) + "H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z";\n};\n\nvar sqrtSize2 = function sqrtSize2(extraViniculum, hLinePad) {\n // size2 is from glyph U221A in the font KaTeX_Size2-Regular\n return "M983 " + (10 + extraViniculum + hLinePad) + "\\nl" + extraViniculum / 3.13 + " -" + extraViniculum + "\\nc4,-6.7,10,-10,18,-10 H400000v" + (40 + extraViniculum) + "\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z";\n};\n\nvar sqrtSize3 = function sqrtSize3(extraViniculum, hLinePad) {\n // size3 is from glyph U221A in the font KaTeX_Size3-Regular\n return "M424," + (2398 + extraViniculum + hLinePad) + "\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl" + extraViniculum / 4.223 + " -" + extraViniculum + "c4,-6.7,10,-10,18,-10 H400000\\nv" + (40 + extraViniculum) + "H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M" + (1001 + extraViniculum) + " " + hLinePad + "\\nh400000v" + (40 + extraViniculum) + "h-400000z";\n};\n\nvar sqrtSize4 = function sqrtSize4(extraViniculum, hLinePad) {\n // size4 is from glyph U221A in the font KaTeX_Size4-Regular\n return "M473," + (2713 + extraViniculum + hLinePad) + "\\nc339.3,-1799.3,509.3,-2700,510,-2702 l" + extraViniculum / 5.298 + " -" + extraViniculum + "\\nc3.3,-7.3,9.3,-11,18,-11 H400000v" + (40 + extraViniculum) + "H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "H1017.7z";\n};\n\nvar sqrtTall = function sqrtTall(extraViniculum, hLinePad, viewBoxHeight) {\n // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular\n // One path edge has a variable length. It runs vertically from the viniculumn\n // to a point near (14 units) the bottom of the surd. The viniculum\n // is normally 40 units thick. So the length of the line in question is:\n var vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum;\n return "M702 " + (extraViniculum + hLinePad) + "H400000" + (40 + extraViniculum) + "\\nH742v" + vertSegment + "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 " + hLinePad + "H400000v" + (40 + extraViniculum) + "H742z";\n};\n\nvar sqrtPath = function sqrtPath(size, extraViniculum, viewBoxHeight) {\n extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox.\n\n var path = "";\n\n switch (size) {\n case "sqrtMain":\n path = sqrtMain(extraViniculum, hLinePad);\n break;\n\n case "sqrtSize1":\n path = sqrtSize1(extraViniculum, hLinePad);\n break;\n\n case "sqrtSize2":\n path = sqrtSize2(extraViniculum, hLinePad);\n break;\n\n case "sqrtSize3":\n path = sqrtSize3(extraViniculum, hLinePad);\n break;\n\n case "sqrtSize4":\n path = sqrtSize4(extraViniculum, hLinePad);\n break;\n\n case "sqrtTall":\n path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight);\n }\n\n return path;\n};\nvar svgGeometry_path = {\n // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main\n doubleleftarrow: "M262 157\\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\\nm8 0v40h399730v-40zm0 194v40h399730v-40z",\n // doublerightarrow is from glyph U+21D2 in font KaTeX Main\n doublerightarrow: "M399738 392l\\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",\n // leftarrow is from glyph U+2190 in font KaTeX Main\n leftarrow: "M400000 241H110l3-3c68.7-52.7 113.7-120\\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\\n l-3-3h399890zM100 241v40h399900v-40z",\n // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular\n leftbrace: "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",\n leftbraceunder: "M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",\n // overgroup is from the MnSymbol package (public domain)\n leftgroup: "M400000 80\\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\\n 435 0h399565z",\n leftgroupunder: "M400000 262\\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\\n 435 219h399565z",\n // Harpoons are from glyph U+21BD in font KaTeX Main\n leftharpoon: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",\n leftharpoonplus: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\\nm0 0v40h400000v-40z",\n leftharpoondown: "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",\n leftharpoondownplus: "M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",\n // hook is from glyph U+21A9 in font KaTeX Main\n lefthook: "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\\n 71.5 23h399859zM103 281v-40h399897v40z",\n leftlinesegment: "M40 281 V428 H0 V94 H40 V241 H400000 v40z\\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",\n leftmapsto: "M40 281 V448H0V74H40V241H400000v40z\\nM40 281 V448H0V74H40V241H400000v40z",\n // tofrom is from glyph U+21C4 in font KaTeX AMS Regular\n leftToFrom: "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",\n longequal: "M0 50 h400000 v40H0z m0 194h40000v40H0z\\nM0 50 h400000 v40H0z m0 194h40000v40H0z",\n midbrace: "M200428 334\\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",\n midbraceunder: "M199572 214\\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",\n oiintSize1: "M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",\n oiintSize2: "M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\\nc0 110 84 276 504 276s502.4-166 502.4-276z",\n oiiintSize1: "M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",\n oiiintSize2: "M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",\n rightarrow: "M0 241v40h399891c-47.3 35.3-84 78-110 128\\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n 151.7 139 205zm0 0v40h399900v-40z",\n rightbrace: "M400000 542l\\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",\n rightbraceunder: "M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",\n rightgroup: "M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",\n rightgroupunder: "M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",\n rightharpoon: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\\n 69.2 92 94.5zm0 0v40h399900v-40z",\n rightharpoonplus: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",\n rightharpoondown: "M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",\n rightharpoondownplus: "M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\\nm0-194v40h400000v-40zm0 0v40h400000v-40z",\n righthook: "M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",\n rightlinesegment: "M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",\n rightToFrom: "M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",\n // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular\n twoheadleftarrow: "M0 167c68 40\\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",\n twoheadrightarrow: "M400000 167\\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",\n // tilde1 is a modified version of a glyph from the MnSymbol package\n tilde1: "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\\n-68.267.847-113-73.952-191-73.952z",\n // ditto tilde2, tilde3, & tilde4\n tilde2: "M344 55.266c-142 0-300.638 81.316-311.5 86.418\\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",\n tilde3: "M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\\n -338 0-409-156.573-744-156.573z",\n tilde4: "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\\n -175.236-744-175.236z",\n // vec is from glyph U+20D7 in font KaTeX Main\n vec: "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\\nc-16-25.333-24-45-24-59z",\n // widehat1 is a modified version of a glyph from the MnSymbol package\n widehat1: "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",\n // ditto widehat2, widehat3, & widehat4\n widehat2: "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",\n widehat3: "M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",\n widehat4: "M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",\n // widecheck paths are all inverted versions of widehat\n widecheck1: "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",\n widecheck2: "M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",\n widecheck3: "M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",\n widecheck4: "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",\n // The next ten paths support reaction arrows from the mhchem package.\n // Arrows for \\ce{<--\x3e} are offset from xAxis by 0.22ex, per mhchem in LaTeX\n // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main\n baraboveleftarrow: "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",\n // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main\n rightarrowabovebar: "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",\n // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end.\n // Ref from mhchem.sty: \\rlap{\\raisebox{-.22ex}{$\\kern0.5em\n baraboveshortleftharpoon: "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",\n rightharpoonaboveshortbar: "M0,241 l0,40c399126,0,399993,0,399993,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",\n shortbaraboveleftharpoon: "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",\n shortrightharpoonabovebar: "M53,241l0,40c398570,0,399437,0,399437,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"\n};\n// CONCATENATED MODULE: ./src/tree.js\n\n\n/**\n * This node represents a document fragment, which contains elements, but when\n * placed into the DOM doesn\'t have any representation itself. It only contains\n * children and doesn\'t have any DOM node properties.\n */\nvar tree_DocumentFragment =\n/*#__PURE__*/\nfunction () {\n // HtmlDomNode\n // Never used; needed for satisfying interface.\n function DocumentFragment(children) {\n this.children = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.children = children;\n this.classes = [];\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = {};\n }\n\n var _proto = DocumentFragment.prototype;\n\n _proto.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /** Convert the fragment into a node. */\n ;\n\n _proto.toNode = function toNode() {\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < this.children.length; i++) {\n frag.appendChild(this.children[i].toNode());\n }\n\n return frag;\n }\n /** Convert the fragment into HTML markup. */\n ;\n\n _proto.toMarkup = function toMarkup() {\n var markup = ""; // Simply concatenate the markup for the children together.\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText. Applies to\n * MathDomNode\'s only.\n */\n ;\n\n _proto.toText = function toText() {\n // To avoid this, we would subclass documentFragment separately for\n // MathML, but polyfills for subclassing is expensive per PR 1469.\n // $FlowFixMe: Only works for ChildType = MathDomNode.\n var toText = function toText(child) {\n return child.toText();\n };\n\n return this.children.map(toText).join("");\n };\n\n return DocumentFragment;\n}();\n// CONCATENATED MODULE: ./src/domTree.js\n/**\n * These objects store the data about the DOM nodes we create, as well as some\n * extra data. They can then be transformed into real DOM nodes with the\n * `toNode` function or HTML markup using `toMarkup`. They are useful for both\n * storing extra properties on the nodes, as well as providing a way to easily\n * work with the DOM.\n *\n * Similar functions for working with MathML nodes exist in mathMLTree.js.\n *\n * TODO: refactor `span` and `anchor` into common superclass when\n * target environments support class inheritance\n */\n\n\n\n\n\n/**\n * Create an HTML className based on a list of classes. In addition to joining\n * with spaces, we also remove empty classes.\n */\nvar createClass = function createClass(classes) {\n return classes.filter(function (cls) {\n return cls;\n }).join(" ");\n};\n\nvar initNode = function initNode(classes, options, style) {\n this.classes = classes || [];\n this.attributes = {};\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = style || {};\n\n if (options) {\n if (options.style.isTight()) {\n this.classes.push("mtight");\n }\n\n var color = options.getColor();\n\n if (color) {\n this.style.color = color;\n }\n }\n};\n/**\n * Convert into an HTML node\n */\n\n\nvar _toNode = function toNode(tagName) {\n var node = document.createElement(tagName); // Apply the class\n\n node.className = createClass(this.classes); // Apply inline styles\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe Flow doesn\'t seem to understand span.style\'s type.\n node.style[style] = this.style[style];\n }\n } // Apply attributes\n\n\n for (var attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n } // Append the children, also as HTML nodes\n\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n};\n/**\n * Convert into an HTML markup string\n */\n\n\nvar _toMarkup = function toMarkup(tagName) {\n var markup = "<" + tagName; // Add the class\n\n if (this.classes.length) {\n markup += " class=\\"" + utils.escape(createClass(this.classes)) + "\\"";\n }\n\n var styles = ""; // Add the styles, after hyphenation\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + ":" + this.style[style] + ";";\n }\n }\n\n if (styles) {\n markup += " style=\\"" + utils.escape(styles) + "\\"";\n } // Add the attributes\n\n\n for (var attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n markup += " " + attr + "=\\"" + utils.escape(this.attributes[attr]) + "\\"";\n }\n }\n\n markup += ">"; // Add the markup of the children, also as markup\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += "";\n return markup;\n}; // Making the type below exact with all optional fields doesn\'t work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n// This type does not include all CSS properties. Additional properties should\n// be added as needed.\n\n\n/**\n * This node represents a span node, with a className, a list of children, and\n * an inline style. It also contains information about its height, depth, and\n * maxFontSize.\n *\n * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan\n * otherwise. This typesafety is important when HTML builders access a span\'s\n * children.\n */\nvar domTree_Span =\n/*#__PURE__*/\nfunction () {\n function Span(classes, children, options, style) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options, style);\n this.children = children || [];\n }\n /**\n * Sets an arbitrary attribute on the span. Warning: use this wisely. Not\n * all browsers support attributes the same, and having too many custom\n * attributes is probably bad.\n */\n\n\n var _proto = Span.prototype;\n\n _proto.setAttribute = function setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n };\n\n _proto.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n };\n\n _proto.toNode = function toNode() {\n return _toNode.call(this, "span");\n };\n\n _proto.toMarkup = function toMarkup() {\n return _toMarkup.call(this, "span");\n };\n\n return Span;\n}();\n/**\n * This node represents an anchor () element with a hyperlink. See `span`\n * for further details.\n */\n\nvar domTree_Anchor =\n/*#__PURE__*/\nfunction () {\n function Anchor(href, classes, children, options) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options);\n this.children = children || [];\n this.setAttribute(\'href\', href);\n }\n\n var _proto2 = Anchor.prototype;\n\n _proto2.setAttribute = function setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n };\n\n _proto2.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n };\n\n _proto2.toNode = function toNode() {\n return _toNode.call(this, "a");\n };\n\n _proto2.toMarkup = function toMarkup() {\n return _toMarkup.call(this, "a");\n };\n\n return Anchor;\n}();\n/**\n * This node represents an image embed () element.\n */\n\nvar domTree_Img =\n/*#__PURE__*/\nfunction () {\n function Img(src, alt, style) {\n this.src = void 0;\n this.alt = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.alt = alt;\n this.src = src;\n this.classes = ["mord"];\n this.style = style;\n }\n\n var _proto3 = Img.prototype;\n\n _proto3.hasClass = function hasClass(className) {\n return utils.contains(this.classes, className);\n };\n\n _proto3.toNode = function toNode() {\n var node = document.createElement("img");\n node.src = this.src;\n node.alt = this.alt;\n node.className = "mord"; // Apply inline styles\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe\n node.style[style] = this.style[style];\n }\n }\n\n return node;\n };\n\n _proto3.toMarkup = function toMarkup() {\n var markup = " 0) {\n span = document.createElement("span");\n span.style.marginRight = this.italic + "em";\n }\n\n if (this.classes.length > 0) {\n span = span || document.createElement("span");\n span.className = createClass(this.classes);\n }\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n span = span || document.createElement("span"); // $FlowFixMe Flow doesn\'t seem to understand span.style\'s type.\n\n span.style[style] = this.style[style];\n }\n }\n\n if (span) {\n span.appendChild(node);\n return span;\n } else {\n return node;\n }\n }\n /**\n * Creates markup for a symbol node.\n */\n ;\n\n _proto4.toMarkup = function toMarkup() {\n // TODO(alpert): More duplication than I\'d like from\n // span.prototype.toMarkup and symbolNode.prototype.toNode...\n var needsSpan = false;\n var markup = " 0) {\n styles += "margin-right:" + this.italic + "em;";\n }\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + ":" + this.style[style] + ";";\n }\n }\n\n if (styles) {\n needsSpan = true;\n markup += " style=\\"" + utils.escape(styles) + "\\"";\n }\n\n var escaped = utils.escape(this.text);\n\n if (needsSpan) {\n markup += ">";\n markup += escaped;\n markup += "";\n return markup;\n } else {\n return escaped;\n }\n };\n\n return SymbolNode;\n}();\n/**\n * SVG nodes are used to render stretchy wide elements.\n */\n\nvar SvgNode =\n/*#__PURE__*/\nfunction () {\n function SvgNode(children, attributes) {\n this.children = void 0;\n this.attributes = void 0;\n this.children = children || [];\n this.attributes = attributes || {};\n }\n\n var _proto5 = SvgNode.prototype;\n\n _proto5.toNode = function toNode() {\n var svgNS = "http://www.w3.org/2000/svg";\n var node = document.createElementNS(svgNS, "svg"); // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n };\n\n _proto5.toMarkup = function toMarkup() {\n var markup = "";\n } else {\n return "";\n }\n };\n\n return PathNode;\n}();\nvar LineNode =\n/*#__PURE__*/\nfunction () {\n function LineNode(attributes) {\n this.attributes = void 0;\n this.attributes = attributes || {};\n }\n\n var _proto7 = LineNode.prototype;\n\n _proto7.toNode = function toNode() {\n var svgNS = "http://www.w3.org/2000/svg";\n var node = document.createElementNS(svgNS, "line"); // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n return node;\n };\n\n _proto7.toMarkup = function toMarkup() {\n var markup = " but got " + String(group) + ".");\n }\n}\n// CONCATENATED MODULE: ./submodules/katex-fonts/fontMetricsData.js\n// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY.\n/* harmony default export */ var fontMetricsData = ({\n "AMS-Regular": {\n "65": [0, 0.68889, 0, 0, 0.72222],\n "66": [0, 0.68889, 0, 0, 0.66667],\n "67": [0, 0.68889, 0, 0, 0.72222],\n "68": [0, 0.68889, 0, 0, 0.72222],\n "69": [0, 0.68889, 0, 0, 0.66667],\n "70": [0, 0.68889, 0, 0, 0.61111],\n "71": [0, 0.68889, 0, 0, 0.77778],\n "72": [0, 0.68889, 0, 0, 0.77778],\n "73": [0, 0.68889, 0, 0, 0.38889],\n "74": [0.16667, 0.68889, 0, 0, 0.5],\n "75": [0, 0.68889, 0, 0, 0.77778],\n "76": [0, 0.68889, 0, 0, 0.66667],\n "77": [0, 0.68889, 0, 0, 0.94445],\n "78": [0, 0.68889, 0, 0, 0.72222],\n "79": [0.16667, 0.68889, 0, 0, 0.77778],\n "80": [0, 0.68889, 0, 0, 0.61111],\n "81": [0.16667, 0.68889, 0, 0, 0.77778],\n "82": [0, 0.68889, 0, 0, 0.72222],\n "83": [0, 0.68889, 0, 0, 0.55556],\n "84": [0, 0.68889, 0, 0, 0.66667],\n "85": [0, 0.68889, 0, 0, 0.72222],\n "86": [0, 0.68889, 0, 0, 0.72222],\n "87": [0, 0.68889, 0, 0, 1.0],\n "88": [0, 0.68889, 0, 0, 0.72222],\n "89": [0, 0.68889, 0, 0, 0.72222],\n "90": [0, 0.68889, 0, 0, 0.66667],\n "107": [0, 0.68889, 0, 0, 0.55556],\n "165": [0, 0.675, 0.025, 0, 0.75],\n "174": [0.15559, 0.69224, 0, 0, 0.94666],\n "240": [0, 0.68889, 0, 0, 0.55556],\n "295": [0, 0.68889, 0, 0, 0.54028],\n "710": [0, 0.825, 0, 0, 2.33334],\n "732": [0, 0.9, 0, 0, 2.33334],\n "770": [0, 0.825, 0, 0, 2.33334],\n "771": [0, 0.9, 0, 0, 2.33334],\n "989": [0.08167, 0.58167, 0, 0, 0.77778],\n "1008": [0, 0.43056, 0.04028, 0, 0.66667],\n "8245": [0, 0.54986, 0, 0, 0.275],\n "8463": [0, 0.68889, 0, 0, 0.54028],\n "8487": [0, 0.68889, 0, 0, 0.72222],\n "8498": [0, 0.68889, 0, 0, 0.55556],\n "8502": [0, 0.68889, 0, 0, 0.66667],\n "8503": [0, 0.68889, 0, 0, 0.44445],\n "8504": [0, 0.68889, 0, 0, 0.66667],\n "8513": [0, 0.68889, 0, 0, 0.63889],\n "8592": [-0.03598, 0.46402, 0, 0, 0.5],\n "8594": [-0.03598, 0.46402, 0, 0, 0.5],\n "8602": [-0.13313, 0.36687, 0, 0, 1.0],\n "8603": [-0.13313, 0.36687, 0, 0, 1.0],\n "8606": [0.01354, 0.52239, 0, 0, 1.0],\n "8608": [0.01354, 0.52239, 0, 0, 1.0],\n "8610": [0.01354, 0.52239, 0, 0, 1.11111],\n "8611": [0.01354, 0.52239, 0, 0, 1.11111],\n "8619": [0, 0.54986, 0, 0, 1.0],\n "8620": [0, 0.54986, 0, 0, 1.0],\n "8621": [-0.13313, 0.37788, 0, 0, 1.38889],\n "8622": [-0.13313, 0.36687, 0, 0, 1.0],\n "8624": [0, 0.69224, 0, 0, 0.5],\n "8625": [0, 0.69224, 0, 0, 0.5],\n "8630": [0, 0.43056, 0, 0, 1.0],\n "8631": [0, 0.43056, 0, 0, 1.0],\n "8634": [0.08198, 0.58198, 0, 0, 0.77778],\n "8635": [0.08198, 0.58198, 0, 0, 0.77778],\n "8638": [0.19444, 0.69224, 0, 0, 0.41667],\n "8639": [0.19444, 0.69224, 0, 0, 0.41667],\n "8642": [0.19444, 0.69224, 0, 0, 0.41667],\n "8643": [0.19444, 0.69224, 0, 0, 0.41667],\n "8644": [0.1808, 0.675, 0, 0, 1.0],\n "8646": [0.1808, 0.675, 0, 0, 1.0],\n "8647": [0.1808, 0.675, 0, 0, 1.0],\n "8648": [0.19444, 0.69224, 0, 0, 0.83334],\n "8649": [0.1808, 0.675, 0, 0, 1.0],\n "8650": [0.19444, 0.69224, 0, 0, 0.83334],\n "8651": [0.01354, 0.52239, 0, 0, 1.0],\n "8652": [0.01354, 0.52239, 0, 0, 1.0],\n "8653": [-0.13313, 0.36687, 0, 0, 1.0],\n "8654": [-0.13313, 0.36687, 0, 0, 1.0],\n "8655": [-0.13313, 0.36687, 0, 0, 1.0],\n "8666": [0.13667, 0.63667, 0, 0, 1.0],\n "8667": [0.13667, 0.63667, 0, 0, 1.0],\n "8669": [-0.13313, 0.37788, 0, 0, 1.0],\n "8672": [-0.064, 0.437, 0, 0, 1.334],\n "8674": [-0.064, 0.437, 0, 0, 1.334],\n "8705": [0, 0.825, 0, 0, 0.5],\n "8708": [0, 0.68889, 0, 0, 0.55556],\n "8709": [0.08167, 0.58167, 0, 0, 0.77778],\n "8717": [0, 0.43056, 0, 0, 0.42917],\n "8722": [-0.03598, 0.46402, 0, 0, 0.5],\n "8724": [0.08198, 0.69224, 0, 0, 0.77778],\n "8726": [0.08167, 0.58167, 0, 0, 0.77778],\n "8733": [0, 0.69224, 0, 0, 0.77778],\n "8736": [0, 0.69224, 0, 0, 0.72222],\n "8737": [0, 0.69224, 0, 0, 0.72222],\n "8738": [0.03517, 0.52239, 0, 0, 0.72222],\n "8739": [0.08167, 0.58167, 0, 0, 0.22222],\n "8740": [0.25142, 0.74111, 0, 0, 0.27778],\n "8741": [0.08167, 0.58167, 0, 0, 0.38889],\n "8742": [0.25142, 0.74111, 0, 0, 0.5],\n "8756": [0, 0.69224, 0, 0, 0.66667],\n "8757": [0, 0.69224, 0, 0, 0.66667],\n "8764": [-0.13313, 0.36687, 0, 0, 0.77778],\n "8765": [-0.13313, 0.37788, 0, 0, 0.77778],\n "8769": [-0.13313, 0.36687, 0, 0, 0.77778],\n "8770": [-0.03625, 0.46375, 0, 0, 0.77778],\n "8774": [0.30274, 0.79383, 0, 0, 0.77778],\n "8776": [-0.01688, 0.48312, 0, 0, 0.77778],\n "8778": [0.08167, 0.58167, 0, 0, 0.77778],\n "8782": [0.06062, 0.54986, 0, 0, 0.77778],\n "8783": [0.06062, 0.54986, 0, 0, 0.77778],\n "8785": [0.08198, 0.58198, 0, 0, 0.77778],\n "8786": [0.08198, 0.58198, 0, 0, 0.77778],\n "8787": [0.08198, 0.58198, 0, 0, 0.77778],\n "8790": [0, 0.69224, 0, 0, 0.77778],\n "8791": [0.22958, 0.72958, 0, 0, 0.77778],\n "8796": [0.08198, 0.91667, 0, 0, 0.77778],\n "8806": [0.25583, 0.75583, 0, 0, 0.77778],\n "8807": [0.25583, 0.75583, 0, 0, 0.77778],\n "8808": [0.25142, 0.75726, 0, 0, 0.77778],\n "8809": [0.25142, 0.75726, 0, 0, 0.77778],\n "8812": [0.25583, 0.75583, 0, 0, 0.5],\n "8814": [0.20576, 0.70576, 0, 0, 0.77778],\n "8815": [0.20576, 0.70576, 0, 0, 0.77778],\n "8816": [0.30274, 0.79383, 0, 0, 0.77778],\n "8817": [0.30274, 0.79383, 0, 0, 0.77778],\n "8818": [0.22958, 0.72958, 0, 0, 0.77778],\n "8819": [0.22958, 0.72958, 0, 0, 0.77778],\n "8822": [0.1808, 0.675, 0, 0, 0.77778],\n "8823": [0.1808, 0.675, 0, 0, 0.77778],\n "8828": [0.13667, 0.63667, 0, 0, 0.77778],\n "8829": [0.13667, 0.63667, 0, 0, 0.77778],\n "8830": [0.22958, 0.72958, 0, 0, 0.77778],\n "8831": [0.22958, 0.72958, 0, 0, 0.77778],\n "8832": [0.20576, 0.70576, 0, 0, 0.77778],\n "8833": [0.20576, 0.70576, 0, 0, 0.77778],\n "8840": [0.30274, 0.79383, 0, 0, 0.77778],\n "8841": [0.30274, 0.79383, 0, 0, 0.77778],\n "8842": [0.13597, 0.63597, 0, 0, 0.77778],\n "8843": [0.13597, 0.63597, 0, 0, 0.77778],\n "8847": [0.03517, 0.54986, 0, 0, 0.77778],\n "8848": [0.03517, 0.54986, 0, 0, 0.77778],\n "8858": [0.08198, 0.58198, 0, 0, 0.77778],\n "8859": [0.08198, 0.58198, 0, 0, 0.77778],\n "8861": [0.08198, 0.58198, 0, 0, 0.77778],\n "8862": [0, 0.675, 0, 0, 0.77778],\n "8863": [0, 0.675, 0, 0, 0.77778],\n "8864": [0, 0.675, 0, 0, 0.77778],\n "8865": [0, 0.675, 0, 0, 0.77778],\n "8872": [0, 0.69224, 0, 0, 0.61111],\n "8873": [0, 0.69224, 0, 0, 0.72222],\n "8874": [0, 0.69224, 0, 0, 0.88889],\n "8876": [0, 0.68889, 0, 0, 0.61111],\n "8877": [0, 0.68889, 0, 0, 0.61111],\n "8878": [0, 0.68889, 0, 0, 0.72222],\n "8879": [0, 0.68889, 0, 0, 0.72222],\n "8882": [0.03517, 0.54986, 0, 0, 0.77778],\n "8883": [0.03517, 0.54986, 0, 0, 0.77778],\n "8884": [0.13667, 0.63667, 0, 0, 0.77778],\n "8885": [0.13667, 0.63667, 0, 0, 0.77778],\n "8888": [0, 0.54986, 0, 0, 1.11111],\n "8890": [0.19444, 0.43056, 0, 0, 0.55556],\n "8891": [0.19444, 0.69224, 0, 0, 0.61111],\n "8892": [0.19444, 0.69224, 0, 0, 0.61111],\n "8901": [0, 0.54986, 0, 0, 0.27778],\n "8903": [0.08167, 0.58167, 0, 0, 0.77778],\n "8905": [0.08167, 0.58167, 0, 0, 0.77778],\n "8906": [0.08167, 0.58167, 0, 0, 0.77778],\n "8907": [0, 0.69224, 0, 0, 0.77778],\n "8908": [0, 0.69224, 0, 0, 0.77778],\n "8909": [-0.03598, 0.46402, 0, 0, 0.77778],\n "8910": [0, 0.54986, 0, 0, 0.76042],\n "8911": [0, 0.54986, 0, 0, 0.76042],\n "8912": [0.03517, 0.54986, 0, 0, 0.77778],\n "8913": [0.03517, 0.54986, 0, 0, 0.77778],\n "8914": [0, 0.54986, 0, 0, 0.66667],\n "8915": [0, 0.54986, 0, 0, 0.66667],\n "8916": [0, 0.69224, 0, 0, 0.66667],\n "8918": [0.0391, 0.5391, 0, 0, 0.77778],\n "8919": [0.0391, 0.5391, 0, 0, 0.77778],\n "8920": [0.03517, 0.54986, 0, 0, 1.33334],\n "8921": [0.03517, 0.54986, 0, 0, 1.33334],\n "8922": [0.38569, 0.88569, 0, 0, 0.77778],\n "8923": [0.38569, 0.88569, 0, 0, 0.77778],\n "8926": [0.13667, 0.63667, 0, 0, 0.77778],\n "8927": [0.13667, 0.63667, 0, 0, 0.77778],\n "8928": [0.30274, 0.79383, 0, 0, 0.77778],\n "8929": [0.30274, 0.79383, 0, 0, 0.77778],\n "8934": [0.23222, 0.74111, 0, 0, 0.77778],\n "8935": [0.23222, 0.74111, 0, 0, 0.77778],\n "8936": [0.23222, 0.74111, 0, 0, 0.77778],\n "8937": [0.23222, 0.74111, 0, 0, 0.77778],\n "8938": [0.20576, 0.70576, 0, 0, 0.77778],\n "8939": [0.20576, 0.70576, 0, 0, 0.77778],\n "8940": [0.30274, 0.79383, 0, 0, 0.77778],\n "8941": [0.30274, 0.79383, 0, 0, 0.77778],\n "8994": [0.19444, 0.69224, 0, 0, 0.77778],\n "8995": [0.19444, 0.69224, 0, 0, 0.77778],\n "9416": [0.15559, 0.69224, 0, 0, 0.90222],\n "9484": [0, 0.69224, 0, 0, 0.5],\n "9488": [0, 0.69224, 0, 0, 0.5],\n "9492": [0, 0.37788, 0, 0, 0.5],\n "9496": [0, 0.37788, 0, 0, 0.5],\n "9585": [0.19444, 0.68889, 0, 0, 0.88889],\n "9586": [0.19444, 0.74111, 0, 0, 0.88889],\n "9632": [0, 0.675, 0, 0, 0.77778],\n "9633": [0, 0.675, 0, 0, 0.77778],\n "9650": [0, 0.54986, 0, 0, 0.72222],\n "9651": [0, 0.54986, 0, 0, 0.72222],\n "9654": [0.03517, 0.54986, 0, 0, 0.77778],\n "9660": [0, 0.54986, 0, 0, 0.72222],\n "9661": [0, 0.54986, 0, 0, 0.72222],\n "9664": [0.03517, 0.54986, 0, 0, 0.77778],\n "9674": [0.11111, 0.69224, 0, 0, 0.66667],\n "9733": [0.19444, 0.69224, 0, 0, 0.94445],\n "10003": [0, 0.69224, 0, 0, 0.83334],\n "10016": [0, 0.69224, 0, 0, 0.83334],\n "10731": [0.11111, 0.69224, 0, 0, 0.66667],\n "10846": [0.19444, 0.75583, 0, 0, 0.61111],\n "10877": [0.13667, 0.63667, 0, 0, 0.77778],\n "10878": [0.13667, 0.63667, 0, 0, 0.77778],\n "10885": [0.25583, 0.75583, 0, 0, 0.77778],\n "10886": [0.25583, 0.75583, 0, 0, 0.77778],\n "10887": [0.13597, 0.63597, 0, 0, 0.77778],\n "10888": [0.13597, 0.63597, 0, 0, 0.77778],\n "10889": [0.26167, 0.75726, 0, 0, 0.77778],\n "10890": [0.26167, 0.75726, 0, 0, 0.77778],\n "10891": [0.48256, 0.98256, 0, 0, 0.77778],\n "10892": [0.48256, 0.98256, 0, 0, 0.77778],\n "10901": [0.13667, 0.63667, 0, 0, 0.77778],\n "10902": [0.13667, 0.63667, 0, 0, 0.77778],\n "10933": [0.25142, 0.75726, 0, 0, 0.77778],\n "10934": [0.25142, 0.75726, 0, 0, 0.77778],\n "10935": [0.26167, 0.75726, 0, 0, 0.77778],\n "10936": [0.26167, 0.75726, 0, 0, 0.77778],\n "10937": [0.26167, 0.75726, 0, 0, 0.77778],\n "10938": [0.26167, 0.75726, 0, 0, 0.77778],\n "10949": [0.25583, 0.75583, 0, 0, 0.77778],\n "10950": [0.25583, 0.75583, 0, 0, 0.77778],\n "10955": [0.28481, 0.79383, 0, 0, 0.77778],\n "10956": [0.28481, 0.79383, 0, 0, 0.77778],\n "57350": [0.08167, 0.58167, 0, 0, 0.22222],\n "57351": [0.08167, 0.58167, 0, 0, 0.38889],\n "57352": [0.08167, 0.58167, 0, 0, 0.77778],\n "57353": [0, 0.43056, 0.04028, 0, 0.66667],\n "57356": [0.25142, 0.75726, 0, 0, 0.77778],\n "57357": [0.25142, 0.75726, 0, 0, 0.77778],\n "57358": [0.41951, 0.91951, 0, 0, 0.77778],\n "57359": [0.30274, 0.79383, 0, 0, 0.77778],\n "57360": [0.30274, 0.79383, 0, 0, 0.77778],\n "57361": [0.41951, 0.91951, 0, 0, 0.77778],\n "57366": [0.25142, 0.75726, 0, 0, 0.77778],\n "57367": [0.25142, 0.75726, 0, 0, 0.77778],\n "57368": [0.25142, 0.75726, 0, 0, 0.77778],\n "57369": [0.25142, 0.75726, 0, 0, 0.77778],\n "57370": [0.13597, 0.63597, 0, 0, 0.77778],\n "57371": [0.13597, 0.63597, 0, 0, 0.77778]\n },\n "Caligraphic-Regular": {\n "48": [0, 0.43056, 0, 0, 0.5],\n "49": [0, 0.43056, 0, 0, 0.5],\n "50": [0, 0.43056, 0, 0, 0.5],\n "51": [0.19444, 0.43056, 0, 0, 0.5],\n "52": [0.19444, 0.43056, 0, 0, 0.5],\n "53": [0.19444, 0.43056, 0, 0, 0.5],\n "54": [0, 0.64444, 0, 0, 0.5],\n "55": [0.19444, 0.43056, 0, 0, 0.5],\n "56": [0, 0.64444, 0, 0, 0.5],\n "57": [0.19444, 0.43056, 0, 0, 0.5],\n "65": [0, 0.68333, 0, 0.19445, 0.79847],\n "66": [0, 0.68333, 0.03041, 0.13889, 0.65681],\n "67": [0, 0.68333, 0.05834, 0.13889, 0.52653],\n "68": [0, 0.68333, 0.02778, 0.08334, 0.77139],\n "69": [0, 0.68333, 0.08944, 0.11111, 0.52778],\n "70": [0, 0.68333, 0.09931, 0.11111, 0.71875],\n "71": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],\n "72": [0, 0.68333, 0.00965, 0.11111, 0.84452],\n "73": [0, 0.68333, 0.07382, 0, 0.54452],\n "74": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],\n "75": [0, 0.68333, 0.01445, 0.05556, 0.76195],\n "76": [0, 0.68333, 0, 0.13889, 0.68972],\n "77": [0, 0.68333, 0, 0.13889, 1.2009],\n "78": [0, 0.68333, 0.14736, 0.08334, 0.82049],\n "79": [0, 0.68333, 0.02778, 0.11111, 0.79611],\n "80": [0, 0.68333, 0.08222, 0.08334, 0.69556],\n "81": [0.09722, 0.68333, 0, 0.11111, 0.81667],\n "82": [0, 0.68333, 0, 0.08334, 0.8475],\n "83": [0, 0.68333, 0.075, 0.13889, 0.60556],\n "84": [0, 0.68333, 0.25417, 0, 0.54464],\n "85": [0, 0.68333, 0.09931, 0.08334, 0.62583],\n "86": [0, 0.68333, 0.08222, 0, 0.61278],\n "87": [0, 0.68333, 0.08222, 0.08334, 0.98778],\n "88": [0, 0.68333, 0.14643, 0.13889, 0.7133],\n "89": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],\n "90": [0, 0.68333, 0.07944, 0.13889, 0.72473]\n },\n "Fraktur-Regular": {\n "33": [0, 0.69141, 0, 0, 0.29574],\n "34": [0, 0.69141, 0, 0, 0.21471],\n "38": [0, 0.69141, 0, 0, 0.73786],\n "39": [0, 0.69141, 0, 0, 0.21201],\n "40": [0.24982, 0.74947, 0, 0, 0.38865],\n "41": [0.24982, 0.74947, 0, 0, 0.38865],\n "42": [0, 0.62119, 0, 0, 0.27764],\n "43": [0.08319, 0.58283, 0, 0, 0.75623],\n "44": [0, 0.10803, 0, 0, 0.27764],\n "45": [0.08319, 0.58283, 0, 0, 0.75623],\n "46": [0, 0.10803, 0, 0, 0.27764],\n "47": [0.24982, 0.74947, 0, 0, 0.50181],\n "48": [0, 0.47534, 0, 0, 0.50181],\n "49": [0, 0.47534, 0, 0, 0.50181],\n "50": [0, 0.47534, 0, 0, 0.50181],\n "51": [0.18906, 0.47534, 0, 0, 0.50181],\n "52": [0.18906, 0.47534, 0, 0, 0.50181],\n "53": [0.18906, 0.47534, 0, 0, 0.50181],\n "54": [0, 0.69141, 0, 0, 0.50181],\n "55": [0.18906, 0.47534, 0, 0, 0.50181],\n "56": [0, 0.69141, 0, 0, 0.50181],\n "57": [0.18906, 0.47534, 0, 0, 0.50181],\n "58": [0, 0.47534, 0, 0, 0.21606],\n "59": [0.12604, 0.47534, 0, 0, 0.21606],\n "61": [-0.13099, 0.36866, 0, 0, 0.75623],\n "63": [0, 0.69141, 0, 0, 0.36245],\n "65": [0, 0.69141, 0, 0, 0.7176],\n "66": [0, 0.69141, 0, 0, 0.88397],\n "67": [0, 0.69141, 0, 0, 0.61254],\n "68": [0, 0.69141, 0, 0, 0.83158],\n "69": [0, 0.69141, 0, 0, 0.66278],\n "70": [0.12604, 0.69141, 0, 0, 0.61119],\n "71": [0, 0.69141, 0, 0, 0.78539],\n "72": [0.06302, 0.69141, 0, 0, 0.7203],\n "73": [0, 0.69141, 0, 0, 0.55448],\n "74": [0.12604, 0.69141, 0, 0, 0.55231],\n "75": [0, 0.69141, 0, 0, 0.66845],\n "76": [0, 0.69141, 0, 0, 0.66602],\n "77": [0, 0.69141, 0, 0, 1.04953],\n "78": [0, 0.69141, 0, 0, 0.83212],\n "79": [0, 0.69141, 0, 0, 0.82699],\n "80": [0.18906, 0.69141, 0, 0, 0.82753],\n "81": [0.03781, 0.69141, 0, 0, 0.82699],\n "82": [0, 0.69141, 0, 0, 0.82807],\n "83": [0, 0.69141, 0, 0, 0.82861],\n "84": [0, 0.69141, 0, 0, 0.66899],\n "85": [0, 0.69141, 0, 0, 0.64576],\n "86": [0, 0.69141, 0, 0, 0.83131],\n "87": [0, 0.69141, 0, 0, 1.04602],\n "88": [0, 0.69141, 0, 0, 0.71922],\n "89": [0.18906, 0.69141, 0, 0, 0.83293],\n "90": [0.12604, 0.69141, 0, 0, 0.60201],\n "91": [0.24982, 0.74947, 0, 0, 0.27764],\n "93": [0.24982, 0.74947, 0, 0, 0.27764],\n "94": [0, 0.69141, 0, 0, 0.49965],\n "97": [0, 0.47534, 0, 0, 0.50046],\n "98": [0, 0.69141, 0, 0, 0.51315],\n "99": [0, 0.47534, 0, 0, 0.38946],\n "100": [0, 0.62119, 0, 0, 0.49857],\n "101": [0, 0.47534, 0, 0, 0.40053],\n "102": [0.18906, 0.69141, 0, 0, 0.32626],\n "103": [0.18906, 0.47534, 0, 0, 0.5037],\n "104": [0.18906, 0.69141, 0, 0, 0.52126],\n "105": [0, 0.69141, 0, 0, 0.27899],\n "106": [0, 0.69141, 0, 0, 0.28088],\n "107": [0, 0.69141, 0, 0, 0.38946],\n "108": [0, 0.69141, 0, 0, 0.27953],\n "109": [0, 0.47534, 0, 0, 0.76676],\n "110": [0, 0.47534, 0, 0, 0.52666],\n "111": [0, 0.47534, 0, 0, 0.48885],\n "112": [0.18906, 0.52396, 0, 0, 0.50046],\n "113": [0.18906, 0.47534, 0, 0, 0.48912],\n "114": [0, 0.47534, 0, 0, 0.38919],\n "115": [0, 0.47534, 0, 0, 0.44266],\n "116": [0, 0.62119, 0, 0, 0.33301],\n "117": [0, 0.47534, 0, 0, 0.5172],\n "118": [0, 0.52396, 0, 0, 0.5118],\n "119": [0, 0.52396, 0, 0, 0.77351],\n "120": [0.18906, 0.47534, 0, 0, 0.38865],\n "121": [0.18906, 0.47534, 0, 0, 0.49884],\n "122": [0.18906, 0.47534, 0, 0, 0.39054],\n "8216": [0, 0.69141, 0, 0, 0.21471],\n "8217": [0, 0.69141, 0, 0, 0.21471],\n "58112": [0, 0.62119, 0, 0, 0.49749],\n "58113": [0, 0.62119, 0, 0, 0.4983],\n "58114": [0.18906, 0.69141, 0, 0, 0.33328],\n "58115": [0.18906, 0.69141, 0, 0, 0.32923],\n "58116": [0.18906, 0.47534, 0, 0, 0.50343],\n "58117": [0, 0.69141, 0, 0, 0.33301],\n "58118": [0, 0.62119, 0, 0, 0.33409],\n "58119": [0, 0.47534, 0, 0, 0.50073]\n },\n "Main-Bold": {\n "33": [0, 0.69444, 0, 0, 0.35],\n "34": [0, 0.69444, 0, 0, 0.60278],\n "35": [0.19444, 0.69444, 0, 0, 0.95833],\n "36": [0.05556, 0.75, 0, 0, 0.575],\n "37": [0.05556, 0.75, 0, 0, 0.95833],\n "38": [0, 0.69444, 0, 0, 0.89444],\n "39": [0, 0.69444, 0, 0, 0.31944],\n "40": [0.25, 0.75, 0, 0, 0.44722],\n "41": [0.25, 0.75, 0, 0, 0.44722],\n "42": [0, 0.75, 0, 0, 0.575],\n "43": [0.13333, 0.63333, 0, 0, 0.89444],\n "44": [0.19444, 0.15556, 0, 0, 0.31944],\n "45": [0, 0.44444, 0, 0, 0.38333],\n "46": [0, 0.15556, 0, 0, 0.31944],\n "47": [0.25, 0.75, 0, 0, 0.575],\n "48": [0, 0.64444, 0, 0, 0.575],\n "49": [0, 0.64444, 0, 0, 0.575],\n "50": [0, 0.64444, 0, 0, 0.575],\n "51": [0, 0.64444, 0, 0, 0.575],\n "52": [0, 0.64444, 0, 0, 0.575],\n "53": [0, 0.64444, 0, 0, 0.575],\n "54": [0, 0.64444, 0, 0, 0.575],\n "55": [0, 0.64444, 0, 0, 0.575],\n "56": [0, 0.64444, 0, 0, 0.575],\n "57": [0, 0.64444, 0, 0, 0.575],\n "58": [0, 0.44444, 0, 0, 0.31944],\n "59": [0.19444, 0.44444, 0, 0, 0.31944],\n "60": [0.08556, 0.58556, 0, 0, 0.89444],\n "61": [-0.10889, 0.39111, 0, 0, 0.89444],\n "62": [0.08556, 0.58556, 0, 0, 0.89444],\n "63": [0, 0.69444, 0, 0, 0.54305],\n "64": [0, 0.69444, 0, 0, 0.89444],\n "65": [0, 0.68611, 0, 0, 0.86944],\n "66": [0, 0.68611, 0, 0, 0.81805],\n "67": [0, 0.68611, 0, 0, 0.83055],\n "68": [0, 0.68611, 0, 0, 0.88194],\n "69": [0, 0.68611, 0, 0, 0.75555],\n "70": [0, 0.68611, 0, 0, 0.72361],\n "71": [0, 0.68611, 0, 0, 0.90416],\n "72": [0, 0.68611, 0, 0, 0.9],\n "73": [0, 0.68611, 0, 0, 0.43611],\n "74": [0, 0.68611, 0, 0, 0.59444],\n "75": [0, 0.68611, 0, 0, 0.90138],\n "76": [0, 0.68611, 0, 0, 0.69166],\n "77": [0, 0.68611, 0, 0, 1.09166],\n "78": [0, 0.68611, 0, 0, 0.9],\n "79": [0, 0.68611, 0, 0, 0.86388],\n "80": [0, 0.68611, 0, 0, 0.78611],\n "81": [0.19444, 0.68611, 0, 0, 0.86388],\n "82": [0, 0.68611, 0, 0, 0.8625],\n "83": [0, 0.68611, 0, 0, 0.63889],\n "84": [0, 0.68611, 0, 0, 0.8],\n "85": [0, 0.68611, 0, 0, 0.88472],\n "86": [0, 0.68611, 0.01597, 0, 0.86944],\n "87": [0, 0.68611, 0.01597, 0, 1.18888],\n "88": [0, 0.68611, 0, 0, 0.86944],\n "89": [0, 0.68611, 0.02875, 0, 0.86944],\n "90": [0, 0.68611, 0, 0, 0.70277],\n "91": [0.25, 0.75, 0, 0, 0.31944],\n "92": [0.25, 0.75, 0, 0, 0.575],\n "93": [0.25, 0.75, 0, 0, 0.31944],\n "94": [0, 0.69444, 0, 0, 0.575],\n "95": [0.31, 0.13444, 0.03194, 0, 0.575],\n "97": [0, 0.44444, 0, 0, 0.55902],\n "98": [0, 0.69444, 0, 0, 0.63889],\n "99": [0, 0.44444, 0, 0, 0.51111],\n "100": [0, 0.69444, 0, 0, 0.63889],\n "101": [0, 0.44444, 0, 0, 0.52708],\n "102": [0, 0.69444, 0.10903, 0, 0.35139],\n "103": [0.19444, 0.44444, 0.01597, 0, 0.575],\n "104": [0, 0.69444, 0, 0, 0.63889],\n "105": [0, 0.69444, 0, 0, 0.31944],\n "106": [0.19444, 0.69444, 0, 0, 0.35139],\n "107": [0, 0.69444, 0, 0, 0.60694],\n "108": [0, 0.69444, 0, 0, 0.31944],\n "109": [0, 0.44444, 0, 0, 0.95833],\n "110": [0, 0.44444, 0, 0, 0.63889],\n "111": [0, 0.44444, 0, 0, 0.575],\n "112": [0.19444, 0.44444, 0, 0, 0.63889],\n "113": [0.19444, 0.44444, 0, 0, 0.60694],\n "114": [0, 0.44444, 0, 0, 0.47361],\n "115": [0, 0.44444, 0, 0, 0.45361],\n "116": [0, 0.63492, 0, 0, 0.44722],\n "117": [0, 0.44444, 0, 0, 0.63889],\n "118": [0, 0.44444, 0.01597, 0, 0.60694],\n "119": [0, 0.44444, 0.01597, 0, 0.83055],\n "120": [0, 0.44444, 0, 0, 0.60694],\n "121": [0.19444, 0.44444, 0.01597, 0, 0.60694],\n "122": [0, 0.44444, 0, 0, 0.51111],\n "123": [0.25, 0.75, 0, 0, 0.575],\n "124": [0.25, 0.75, 0, 0, 0.31944],\n "125": [0.25, 0.75, 0, 0, 0.575],\n "126": [0.35, 0.34444, 0, 0, 0.575],\n "168": [0, 0.69444, 0, 0, 0.575],\n "172": [0, 0.44444, 0, 0, 0.76666],\n "176": [0, 0.69444, 0, 0, 0.86944],\n "177": [0.13333, 0.63333, 0, 0, 0.89444],\n "184": [0.17014, 0, 0, 0, 0.51111],\n "198": [0, 0.68611, 0, 0, 1.04166],\n "215": [0.13333, 0.63333, 0, 0, 0.89444],\n "216": [0.04861, 0.73472, 0, 0, 0.89444],\n "223": [0, 0.69444, 0, 0, 0.59722],\n "230": [0, 0.44444, 0, 0, 0.83055],\n "247": [0.13333, 0.63333, 0, 0, 0.89444],\n "248": [0.09722, 0.54167, 0, 0, 0.575],\n "305": [0, 0.44444, 0, 0, 0.31944],\n "338": [0, 0.68611, 0, 0, 1.16944],\n "339": [0, 0.44444, 0, 0, 0.89444],\n "567": [0.19444, 0.44444, 0, 0, 0.35139],\n "710": [0, 0.69444, 0, 0, 0.575],\n "711": [0, 0.63194, 0, 0, 0.575],\n "713": [0, 0.59611, 0, 0, 0.575],\n "714": [0, 0.69444, 0, 0, 0.575],\n "715": [0, 0.69444, 0, 0, 0.575],\n "728": [0, 0.69444, 0, 0, 0.575],\n "729": [0, 0.69444, 0, 0, 0.31944],\n "730": [0, 0.69444, 0, 0, 0.86944],\n "732": [0, 0.69444, 0, 0, 0.575],\n "733": [0, 0.69444, 0, 0, 0.575],\n "915": [0, 0.68611, 0, 0, 0.69166],\n "916": [0, 0.68611, 0, 0, 0.95833],\n "920": [0, 0.68611, 0, 0, 0.89444],\n "923": [0, 0.68611, 0, 0, 0.80555],\n "926": [0, 0.68611, 0, 0, 0.76666],\n "928": [0, 0.68611, 0, 0, 0.9],\n "931": [0, 0.68611, 0, 0, 0.83055],\n "933": [0, 0.68611, 0, 0, 0.89444],\n "934": [0, 0.68611, 0, 0, 0.83055],\n "936": [0, 0.68611, 0, 0, 0.89444],\n "937": [0, 0.68611, 0, 0, 0.83055],\n "8211": [0, 0.44444, 0.03194, 0, 0.575],\n "8212": [0, 0.44444, 0.03194, 0, 1.14999],\n "8216": [0, 0.69444, 0, 0, 0.31944],\n "8217": [0, 0.69444, 0, 0, 0.31944],\n "8220": [0, 0.69444, 0, 0, 0.60278],\n "8221": [0, 0.69444, 0, 0, 0.60278],\n "8224": [0.19444, 0.69444, 0, 0, 0.51111],\n "8225": [0.19444, 0.69444, 0, 0, 0.51111],\n "8242": [0, 0.55556, 0, 0, 0.34444],\n "8407": [0, 0.72444, 0.15486, 0, 0.575],\n "8463": [0, 0.69444, 0, 0, 0.66759],\n "8465": [0, 0.69444, 0, 0, 0.83055],\n "8467": [0, 0.69444, 0, 0, 0.47361],\n "8472": [0.19444, 0.44444, 0, 0, 0.74027],\n "8476": [0, 0.69444, 0, 0, 0.83055],\n "8501": [0, 0.69444, 0, 0, 0.70277],\n "8592": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8593": [0.19444, 0.69444, 0, 0, 0.575],\n "8594": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8595": [0.19444, 0.69444, 0, 0, 0.575],\n "8596": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8597": [0.25, 0.75, 0, 0, 0.575],\n "8598": [0.19444, 0.69444, 0, 0, 1.14999],\n "8599": [0.19444, 0.69444, 0, 0, 1.14999],\n "8600": [0.19444, 0.69444, 0, 0, 1.14999],\n "8601": [0.19444, 0.69444, 0, 0, 1.14999],\n "8636": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8637": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8640": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8641": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8656": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8657": [0.19444, 0.69444, 0, 0, 0.70277],\n "8658": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8659": [0.19444, 0.69444, 0, 0, 0.70277],\n "8660": [-0.10889, 0.39111, 0, 0, 1.14999],\n "8661": [0.25, 0.75, 0, 0, 0.70277],\n "8704": [0, 0.69444, 0, 0, 0.63889],\n "8706": [0, 0.69444, 0.06389, 0, 0.62847],\n "8707": [0, 0.69444, 0, 0, 0.63889],\n "8709": [0.05556, 0.75, 0, 0, 0.575],\n "8711": [0, 0.68611, 0, 0, 0.95833],\n "8712": [0.08556, 0.58556, 0, 0, 0.76666],\n "8715": [0.08556, 0.58556, 0, 0, 0.76666],\n "8722": [0.13333, 0.63333, 0, 0, 0.89444],\n "8723": [0.13333, 0.63333, 0, 0, 0.89444],\n "8725": [0.25, 0.75, 0, 0, 0.575],\n "8726": [0.25, 0.75, 0, 0, 0.575],\n "8727": [-0.02778, 0.47222, 0, 0, 0.575],\n "8728": [-0.02639, 0.47361, 0, 0, 0.575],\n "8729": [-0.02639, 0.47361, 0, 0, 0.575],\n "8730": [0.18, 0.82, 0, 0, 0.95833],\n "8733": [0, 0.44444, 0, 0, 0.89444],\n "8734": [0, 0.44444, 0, 0, 1.14999],\n "8736": [0, 0.69224, 0, 0, 0.72222],\n "8739": [0.25, 0.75, 0, 0, 0.31944],\n "8741": [0.25, 0.75, 0, 0, 0.575],\n "8743": [0, 0.55556, 0, 0, 0.76666],\n "8744": [0, 0.55556, 0, 0, 0.76666],\n "8745": [0, 0.55556, 0, 0, 0.76666],\n "8746": [0, 0.55556, 0, 0, 0.76666],\n "8747": [0.19444, 0.69444, 0.12778, 0, 0.56875],\n "8764": [-0.10889, 0.39111, 0, 0, 0.89444],\n "8768": [0.19444, 0.69444, 0, 0, 0.31944],\n "8771": [0.00222, 0.50222, 0, 0, 0.89444],\n "8776": [0.02444, 0.52444, 0, 0, 0.89444],\n "8781": [0.00222, 0.50222, 0, 0, 0.89444],\n "8801": [0.00222, 0.50222, 0, 0, 0.89444],\n "8804": [0.19667, 0.69667, 0, 0, 0.89444],\n "8805": [0.19667, 0.69667, 0, 0, 0.89444],\n "8810": [0.08556, 0.58556, 0, 0, 1.14999],\n "8811": [0.08556, 0.58556, 0, 0, 1.14999],\n "8826": [0.08556, 0.58556, 0, 0, 0.89444],\n "8827": [0.08556, 0.58556, 0, 0, 0.89444],\n "8834": [0.08556, 0.58556, 0, 0, 0.89444],\n "8835": [0.08556, 0.58556, 0, 0, 0.89444],\n "8838": [0.19667, 0.69667, 0, 0, 0.89444],\n "8839": [0.19667, 0.69667, 0, 0, 0.89444],\n "8846": [0, 0.55556, 0, 0, 0.76666],\n "8849": [0.19667, 0.69667, 0, 0, 0.89444],\n "8850": [0.19667, 0.69667, 0, 0, 0.89444],\n "8851": [0, 0.55556, 0, 0, 0.76666],\n "8852": [0, 0.55556, 0, 0, 0.76666],\n "8853": [0.13333, 0.63333, 0, 0, 0.89444],\n "8854": [0.13333, 0.63333, 0, 0, 0.89444],\n "8855": [0.13333, 0.63333, 0, 0, 0.89444],\n "8856": [0.13333, 0.63333, 0, 0, 0.89444],\n "8857": [0.13333, 0.63333, 0, 0, 0.89444],\n "8866": [0, 0.69444, 0, 0, 0.70277],\n "8867": [0, 0.69444, 0, 0, 0.70277],\n "8868": [0, 0.69444, 0, 0, 0.89444],\n "8869": [0, 0.69444, 0, 0, 0.89444],\n "8900": [-0.02639, 0.47361, 0, 0, 0.575],\n "8901": [-0.02639, 0.47361, 0, 0, 0.31944],\n "8902": [-0.02778, 0.47222, 0, 0, 0.575],\n "8968": [0.25, 0.75, 0, 0, 0.51111],\n "8969": [0.25, 0.75, 0, 0, 0.51111],\n "8970": [0.25, 0.75, 0, 0, 0.51111],\n "8971": [0.25, 0.75, 0, 0, 0.51111],\n "8994": [-0.13889, 0.36111, 0, 0, 1.14999],\n "8995": [-0.13889, 0.36111, 0, 0, 1.14999],\n "9651": [0.19444, 0.69444, 0, 0, 1.02222],\n "9657": [-0.02778, 0.47222, 0, 0, 0.575],\n "9661": [0.19444, 0.69444, 0, 0, 1.02222],\n "9667": [-0.02778, 0.47222, 0, 0, 0.575],\n "9711": [0.19444, 0.69444, 0, 0, 1.14999],\n "9824": [0.12963, 0.69444, 0, 0, 0.89444],\n "9825": [0.12963, 0.69444, 0, 0, 0.89444],\n "9826": [0.12963, 0.69444, 0, 0, 0.89444],\n "9827": [0.12963, 0.69444, 0, 0, 0.89444],\n "9837": [0, 0.75, 0, 0, 0.44722],\n "9838": [0.19444, 0.69444, 0, 0, 0.44722],\n "9839": [0.19444, 0.69444, 0, 0, 0.44722],\n "10216": [0.25, 0.75, 0, 0, 0.44722],\n "10217": [0.25, 0.75, 0, 0, 0.44722],\n "10815": [0, 0.68611, 0, 0, 0.9],\n "10927": [0.19667, 0.69667, 0, 0, 0.89444],\n "10928": [0.19667, 0.69667, 0, 0, 0.89444],\n "57376": [0.19444, 0.69444, 0, 0, 0]\n },\n "Main-BoldItalic": {\n "33": [0, 0.69444, 0.11417, 0, 0.38611],\n "34": [0, 0.69444, 0.07939, 0, 0.62055],\n "35": [0.19444, 0.69444, 0.06833, 0, 0.94444],\n "37": [0.05556, 0.75, 0.12861, 0, 0.94444],\n "38": [0, 0.69444, 0.08528, 0, 0.88555],\n "39": [0, 0.69444, 0.12945, 0, 0.35555],\n "40": [0.25, 0.75, 0.15806, 0, 0.47333],\n "41": [0.25, 0.75, 0.03306, 0, 0.47333],\n "42": [0, 0.75, 0.14333, 0, 0.59111],\n "43": [0.10333, 0.60333, 0.03306, 0, 0.88555],\n "44": [0.19444, 0.14722, 0, 0, 0.35555],\n "45": [0, 0.44444, 0.02611, 0, 0.41444],\n "46": [0, 0.14722, 0, 0, 0.35555],\n "47": [0.25, 0.75, 0.15806, 0, 0.59111],\n "48": [0, 0.64444, 0.13167, 0, 0.59111],\n "49": [0, 0.64444, 0.13167, 0, 0.59111],\n "50": [0, 0.64444, 0.13167, 0, 0.59111],\n "51": [0, 0.64444, 0.13167, 0, 0.59111],\n "52": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n "53": [0, 0.64444, 0.13167, 0, 0.59111],\n "54": [0, 0.64444, 0.13167, 0, 0.59111],\n "55": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n "56": [0, 0.64444, 0.13167, 0, 0.59111],\n "57": [0, 0.64444, 0.13167, 0, 0.59111],\n "58": [0, 0.44444, 0.06695, 0, 0.35555],\n "59": [0.19444, 0.44444, 0.06695, 0, 0.35555],\n "61": [-0.10889, 0.39111, 0.06833, 0, 0.88555],\n "63": [0, 0.69444, 0.11472, 0, 0.59111],\n "64": [0, 0.69444, 0.09208, 0, 0.88555],\n "65": [0, 0.68611, 0, 0, 0.86555],\n "66": [0, 0.68611, 0.0992, 0, 0.81666],\n "67": [0, 0.68611, 0.14208, 0, 0.82666],\n "68": [0, 0.68611, 0.09062, 0, 0.87555],\n "69": [0, 0.68611, 0.11431, 0, 0.75666],\n "70": [0, 0.68611, 0.12903, 0, 0.72722],\n "71": [0, 0.68611, 0.07347, 0, 0.89527],\n "72": [0, 0.68611, 0.17208, 0, 0.8961],\n "73": [0, 0.68611, 0.15681, 0, 0.47166],\n "74": [0, 0.68611, 0.145, 0, 0.61055],\n "75": [0, 0.68611, 0.14208, 0, 0.89499],\n "76": [0, 0.68611, 0, 0, 0.69777],\n "77": [0, 0.68611, 0.17208, 0, 1.07277],\n "78": [0, 0.68611, 0.17208, 0, 0.8961],\n "79": [0, 0.68611, 0.09062, 0, 0.85499],\n "80": [0, 0.68611, 0.0992, 0, 0.78721],\n "81": [0.19444, 0.68611, 0.09062, 0, 0.85499],\n "82": [0, 0.68611, 0.02559, 0, 0.85944],\n "83": [0, 0.68611, 0.11264, 0, 0.64999],\n "84": [0, 0.68611, 0.12903, 0, 0.7961],\n "85": [0, 0.68611, 0.17208, 0, 0.88083],\n "86": [0, 0.68611, 0.18625, 0, 0.86555],\n "87": [0, 0.68611, 0.18625, 0, 1.15999],\n "88": [0, 0.68611, 0.15681, 0, 0.86555],\n "89": [0, 0.68611, 0.19803, 0, 0.86555],\n "90": [0, 0.68611, 0.14208, 0, 0.70888],\n "91": [0.25, 0.75, 0.1875, 0, 0.35611],\n "93": [0.25, 0.75, 0.09972, 0, 0.35611],\n "94": [0, 0.69444, 0.06709, 0, 0.59111],\n "95": [0.31, 0.13444, 0.09811, 0, 0.59111],\n "97": [0, 0.44444, 0.09426, 0, 0.59111],\n "98": [0, 0.69444, 0.07861, 0, 0.53222],\n "99": [0, 0.44444, 0.05222, 0, 0.53222],\n "100": [0, 0.69444, 0.10861, 0, 0.59111],\n "101": [0, 0.44444, 0.085, 0, 0.53222],\n "102": [0.19444, 0.69444, 0.21778, 0, 0.4],\n "103": [0.19444, 0.44444, 0.105, 0, 0.53222],\n "104": [0, 0.69444, 0.09426, 0, 0.59111],\n "105": [0, 0.69326, 0.11387, 0, 0.35555],\n "106": [0.19444, 0.69326, 0.1672, 0, 0.35555],\n "107": [0, 0.69444, 0.11111, 0, 0.53222],\n "108": [0, 0.69444, 0.10861, 0, 0.29666],\n "109": [0, 0.44444, 0.09426, 0, 0.94444],\n "110": [0, 0.44444, 0.09426, 0, 0.64999],\n "111": [0, 0.44444, 0.07861, 0, 0.59111],\n "112": [0.19444, 0.44444, 0.07861, 0, 0.59111],\n "113": [0.19444, 0.44444, 0.105, 0, 0.53222],\n "114": [0, 0.44444, 0.11111, 0, 0.50167],\n "115": [0, 0.44444, 0.08167, 0, 0.48694],\n "116": [0, 0.63492, 0.09639, 0, 0.385],\n "117": [0, 0.44444, 0.09426, 0, 0.62055],\n "118": [0, 0.44444, 0.11111, 0, 0.53222],\n "119": [0, 0.44444, 0.11111, 0, 0.76777],\n "120": [0, 0.44444, 0.12583, 0, 0.56055],\n "121": [0.19444, 0.44444, 0.105, 0, 0.56166],\n "122": [0, 0.44444, 0.13889, 0, 0.49055],\n "126": [0.35, 0.34444, 0.11472, 0, 0.59111],\n "163": [0, 0.69444, 0, 0, 0.86853],\n "168": [0, 0.69444, 0.11473, 0, 0.59111],\n "176": [0, 0.69444, 0, 0, 0.94888],\n "184": [0.17014, 0, 0, 0, 0.53222],\n "198": [0, 0.68611, 0.11431, 0, 1.02277],\n "216": [0.04861, 0.73472, 0.09062, 0, 0.88555],\n "223": [0.19444, 0.69444, 0.09736, 0, 0.665],\n "230": [0, 0.44444, 0.085, 0, 0.82666],\n "248": [0.09722, 0.54167, 0.09458, 0, 0.59111],\n "305": [0, 0.44444, 0.09426, 0, 0.35555],\n "338": [0, 0.68611, 0.11431, 0, 1.14054],\n "339": [0, 0.44444, 0.085, 0, 0.82666],\n "567": [0.19444, 0.44444, 0.04611, 0, 0.385],\n "710": [0, 0.69444, 0.06709, 0, 0.59111],\n "711": [0, 0.63194, 0.08271, 0, 0.59111],\n "713": [0, 0.59444, 0.10444, 0, 0.59111],\n "714": [0, 0.69444, 0.08528, 0, 0.59111],\n "715": [0, 0.69444, 0, 0, 0.59111],\n "728": [0, 0.69444, 0.10333, 0, 0.59111],\n "729": [0, 0.69444, 0.12945, 0, 0.35555],\n "730": [0, 0.69444, 0, 0, 0.94888],\n "732": [0, 0.69444, 0.11472, 0, 0.59111],\n "733": [0, 0.69444, 0.11472, 0, 0.59111],\n "915": [0, 0.68611, 0.12903, 0, 0.69777],\n "916": [0, 0.68611, 0, 0, 0.94444],\n "920": [0, 0.68611, 0.09062, 0, 0.88555],\n "923": [0, 0.68611, 0, 0, 0.80666],\n "926": [0, 0.68611, 0.15092, 0, 0.76777],\n "928": [0, 0.68611, 0.17208, 0, 0.8961],\n "931": [0, 0.68611, 0.11431, 0, 0.82666],\n "933": [0, 0.68611, 0.10778, 0, 0.88555],\n "934": [0, 0.68611, 0.05632, 0, 0.82666],\n "936": [0, 0.68611, 0.10778, 0, 0.88555],\n "937": [0, 0.68611, 0.0992, 0, 0.82666],\n "8211": [0, 0.44444, 0.09811, 0, 0.59111],\n "8212": [0, 0.44444, 0.09811, 0, 1.18221],\n "8216": [0, 0.69444, 0.12945, 0, 0.35555],\n "8217": [0, 0.69444, 0.12945, 0, 0.35555],\n "8220": [0, 0.69444, 0.16772, 0, 0.62055],\n "8221": [0, 0.69444, 0.07939, 0, 0.62055]\n },\n "Main-Italic": {\n "33": [0, 0.69444, 0.12417, 0, 0.30667],\n "34": [0, 0.69444, 0.06961, 0, 0.51444],\n "35": [0.19444, 0.69444, 0.06616, 0, 0.81777],\n "37": [0.05556, 0.75, 0.13639, 0, 0.81777],\n "38": [0, 0.69444, 0.09694, 0, 0.76666],\n "39": [0, 0.69444, 0.12417, 0, 0.30667],\n "40": [0.25, 0.75, 0.16194, 0, 0.40889],\n "41": [0.25, 0.75, 0.03694, 0, 0.40889],\n "42": [0, 0.75, 0.14917, 0, 0.51111],\n "43": [0.05667, 0.56167, 0.03694, 0, 0.76666],\n "44": [0.19444, 0.10556, 0, 0, 0.30667],\n "45": [0, 0.43056, 0.02826, 0, 0.35778],\n "46": [0, 0.10556, 0, 0, 0.30667],\n "47": [0.25, 0.75, 0.16194, 0, 0.51111],\n "48": [0, 0.64444, 0.13556, 0, 0.51111],\n "49": [0, 0.64444, 0.13556, 0, 0.51111],\n "50": [0, 0.64444, 0.13556, 0, 0.51111],\n "51": [0, 0.64444, 0.13556, 0, 0.51111],\n "52": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n "53": [0, 0.64444, 0.13556, 0, 0.51111],\n "54": [0, 0.64444, 0.13556, 0, 0.51111],\n "55": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n "56": [0, 0.64444, 0.13556, 0, 0.51111],\n "57": [0, 0.64444, 0.13556, 0, 0.51111],\n "58": [0, 0.43056, 0.0582, 0, 0.30667],\n "59": [0.19444, 0.43056, 0.0582, 0, 0.30667],\n "61": [-0.13313, 0.36687, 0.06616, 0, 0.76666],\n "63": [0, 0.69444, 0.1225, 0, 0.51111],\n "64": [0, 0.69444, 0.09597, 0, 0.76666],\n "65": [0, 0.68333, 0, 0, 0.74333],\n "66": [0, 0.68333, 0.10257, 0, 0.70389],\n "67": [0, 0.68333, 0.14528, 0, 0.71555],\n "68": [0, 0.68333, 0.09403, 0, 0.755],\n "69": [0, 0.68333, 0.12028, 0, 0.67833],\n "70": [0, 0.68333, 0.13305, 0, 0.65277],\n "71": [0, 0.68333, 0.08722, 0, 0.77361],\n "72": [0, 0.68333, 0.16389, 0, 0.74333],\n "73": [0, 0.68333, 0.15806, 0, 0.38555],\n "74": [0, 0.68333, 0.14028, 0, 0.525],\n "75": [0, 0.68333, 0.14528, 0, 0.76888],\n "76": [0, 0.68333, 0, 0, 0.62722],\n "77": [0, 0.68333, 0.16389, 0, 0.89666],\n "78": [0, 0.68333, 0.16389, 0, 0.74333],\n "79": [0, 0.68333, 0.09403, 0, 0.76666],\n "80": [0, 0.68333, 0.10257, 0, 0.67833],\n "81": [0.19444, 0.68333, 0.09403, 0, 0.76666],\n "82": [0, 0.68333, 0.03868, 0, 0.72944],\n "83": [0, 0.68333, 0.11972, 0, 0.56222],\n "84": [0, 0.68333, 0.13305, 0, 0.71555],\n "85": [0, 0.68333, 0.16389, 0, 0.74333],\n "86": [0, 0.68333, 0.18361, 0, 0.74333],\n "87": [0, 0.68333, 0.18361, 0, 0.99888],\n "88": [0, 0.68333, 0.15806, 0, 0.74333],\n "89": [0, 0.68333, 0.19383, 0, 0.74333],\n "90": [0, 0.68333, 0.14528, 0, 0.61333],\n "91": [0.25, 0.75, 0.1875, 0, 0.30667],\n "93": [0.25, 0.75, 0.10528, 0, 0.30667],\n "94": [0, 0.69444, 0.06646, 0, 0.51111],\n "95": [0.31, 0.12056, 0.09208, 0, 0.51111],\n "97": [0, 0.43056, 0.07671, 0, 0.51111],\n "98": [0, 0.69444, 0.06312, 0, 0.46],\n "99": [0, 0.43056, 0.05653, 0, 0.46],\n "100": [0, 0.69444, 0.10333, 0, 0.51111],\n "101": [0, 0.43056, 0.07514, 0, 0.46],\n "102": [0.19444, 0.69444, 0.21194, 0, 0.30667],\n "103": [0.19444, 0.43056, 0.08847, 0, 0.46],\n "104": [0, 0.69444, 0.07671, 0, 0.51111],\n "105": [0, 0.65536, 0.1019, 0, 0.30667],\n "106": [0.19444, 0.65536, 0.14467, 0, 0.30667],\n "107": [0, 0.69444, 0.10764, 0, 0.46],\n "108": [0, 0.69444, 0.10333, 0, 0.25555],\n "109": [0, 0.43056, 0.07671, 0, 0.81777],\n "110": [0, 0.43056, 0.07671, 0, 0.56222],\n "111": [0, 0.43056, 0.06312, 0, 0.51111],\n "112": [0.19444, 0.43056, 0.06312, 0, 0.51111],\n "113": [0.19444, 0.43056, 0.08847, 0, 0.46],\n "114": [0, 0.43056, 0.10764, 0, 0.42166],\n "115": [0, 0.43056, 0.08208, 0, 0.40889],\n "116": [0, 0.61508, 0.09486, 0, 0.33222],\n "117": [0, 0.43056, 0.07671, 0, 0.53666],\n "118": [0, 0.43056, 0.10764, 0, 0.46],\n "119": [0, 0.43056, 0.10764, 0, 0.66444],\n "120": [0, 0.43056, 0.12042, 0, 0.46389],\n "121": [0.19444, 0.43056, 0.08847, 0, 0.48555],\n "122": [0, 0.43056, 0.12292, 0, 0.40889],\n "126": [0.35, 0.31786, 0.11585, 0, 0.51111],\n "163": [0, 0.69444, 0, 0, 0.76909],\n "168": [0, 0.66786, 0.10474, 0, 0.51111],\n "176": [0, 0.69444, 0, 0, 0.83129],\n "184": [0.17014, 0, 0, 0, 0.46],\n "198": [0, 0.68333, 0.12028, 0, 0.88277],\n "216": [0.04861, 0.73194, 0.09403, 0, 0.76666],\n "223": [0.19444, 0.69444, 0.10514, 0, 0.53666],\n "230": [0, 0.43056, 0.07514, 0, 0.71555],\n "248": [0.09722, 0.52778, 0.09194, 0, 0.51111],\n "305": [0, 0.43056, 0, 0.02778, 0.32246],\n "338": [0, 0.68333, 0.12028, 0, 0.98499],\n "339": [0, 0.43056, 0.07514, 0, 0.71555],\n "567": [0.19444, 0.43056, 0, 0.08334, 0.38403],\n "710": [0, 0.69444, 0.06646, 0, 0.51111],\n "711": [0, 0.62847, 0.08295, 0, 0.51111],\n "713": [0, 0.56167, 0.10333, 0, 0.51111],\n "714": [0, 0.69444, 0.09694, 0, 0.51111],\n "715": [0, 0.69444, 0, 0, 0.51111],\n "728": [0, 0.69444, 0.10806, 0, 0.51111],\n "729": [0, 0.66786, 0.11752, 0, 0.30667],\n "730": [0, 0.69444, 0, 0, 0.83129],\n "732": [0, 0.66786, 0.11585, 0, 0.51111],\n "733": [0, 0.69444, 0.1225, 0, 0.51111],\n "915": [0, 0.68333, 0.13305, 0, 0.62722],\n "916": [0, 0.68333, 0, 0, 0.81777],\n "920": [0, 0.68333, 0.09403, 0, 0.76666],\n "923": [0, 0.68333, 0, 0, 0.69222],\n "926": [0, 0.68333, 0.15294, 0, 0.66444],\n "928": [0, 0.68333, 0.16389, 0, 0.74333],\n "931": [0, 0.68333, 0.12028, 0, 0.71555],\n "933": [0, 0.68333, 0.11111, 0, 0.76666],\n "934": [0, 0.68333, 0.05986, 0, 0.71555],\n "936": [0, 0.68333, 0.11111, 0, 0.76666],\n "937": [0, 0.68333, 0.10257, 0, 0.71555],\n "8211": [0, 0.43056, 0.09208, 0, 0.51111],\n "8212": [0, 0.43056, 0.09208, 0, 1.02222],\n "8216": [0, 0.69444, 0.12417, 0, 0.30667],\n "8217": [0, 0.69444, 0.12417, 0, 0.30667],\n "8220": [0, 0.69444, 0.1685, 0, 0.51444],\n "8221": [0, 0.69444, 0.06961, 0, 0.51444],\n "8463": [0, 0.68889, 0, 0, 0.54028]\n },\n "Main-Regular": {\n "32": [0, 0, 0, 0, 0.25],\n "33": [0, 0.69444, 0, 0, 0.27778],\n "34": [0, 0.69444, 0, 0, 0.5],\n "35": [0.19444, 0.69444, 0, 0, 0.83334],\n "36": [0.05556, 0.75, 0, 0, 0.5],\n "37": [0.05556, 0.75, 0, 0, 0.83334],\n "38": [0, 0.69444, 0, 0, 0.77778],\n "39": [0, 0.69444, 0, 0, 0.27778],\n "40": [0.25, 0.75, 0, 0, 0.38889],\n "41": [0.25, 0.75, 0, 0, 0.38889],\n "42": [0, 0.75, 0, 0, 0.5],\n "43": [0.08333, 0.58333, 0, 0, 0.77778],\n "44": [0.19444, 0.10556, 0, 0, 0.27778],\n "45": [0, 0.43056, 0, 0, 0.33333],\n "46": [0, 0.10556, 0, 0, 0.27778],\n "47": [0.25, 0.75, 0, 0, 0.5],\n "48": [0, 0.64444, 0, 0, 0.5],\n "49": [0, 0.64444, 0, 0, 0.5],\n "50": [0, 0.64444, 0, 0, 0.5],\n "51": [0, 0.64444, 0, 0, 0.5],\n "52": [0, 0.64444, 0, 0, 0.5],\n "53": [0, 0.64444, 0, 0, 0.5],\n "54": [0, 0.64444, 0, 0, 0.5],\n "55": [0, 0.64444, 0, 0, 0.5],\n "56": [0, 0.64444, 0, 0, 0.5],\n "57": [0, 0.64444, 0, 0, 0.5],\n "58": [0, 0.43056, 0, 0, 0.27778],\n "59": [0.19444, 0.43056, 0, 0, 0.27778],\n "60": [0.0391, 0.5391, 0, 0, 0.77778],\n "61": [-0.13313, 0.36687, 0, 0, 0.77778],\n "62": [0.0391, 0.5391, 0, 0, 0.77778],\n "63": [0, 0.69444, 0, 0, 0.47222],\n "64": [0, 0.69444, 0, 0, 0.77778],\n "65": [0, 0.68333, 0, 0, 0.75],\n "66": [0, 0.68333, 0, 0, 0.70834],\n "67": [0, 0.68333, 0, 0, 0.72222],\n "68": [0, 0.68333, 0, 0, 0.76389],\n "69": [0, 0.68333, 0, 0, 0.68056],\n "70": [0, 0.68333, 0, 0, 0.65278],\n "71": [0, 0.68333, 0, 0, 0.78472],\n "72": [0, 0.68333, 0, 0, 0.75],\n "73": [0, 0.68333, 0, 0, 0.36111],\n "74": [0, 0.68333, 0, 0, 0.51389],\n "75": [0, 0.68333, 0, 0, 0.77778],\n "76": [0, 0.68333, 0, 0, 0.625],\n "77": [0, 0.68333, 0, 0, 0.91667],\n "78": [0, 0.68333, 0, 0, 0.75],\n "79": [0, 0.68333, 0, 0, 0.77778],\n "80": [0, 0.68333, 0, 0, 0.68056],\n "81": [0.19444, 0.68333, 0, 0, 0.77778],\n "82": [0, 0.68333, 0, 0, 0.73611],\n "83": [0, 0.68333, 0, 0, 0.55556],\n "84": [0, 0.68333, 0, 0, 0.72222],\n "85": [0, 0.68333, 0, 0, 0.75],\n "86": [0, 0.68333, 0.01389, 0, 0.75],\n "87": [0, 0.68333, 0.01389, 0, 1.02778],\n "88": [0, 0.68333, 0, 0, 0.75],\n "89": [0, 0.68333, 0.025, 0, 0.75],\n "90": [0, 0.68333, 0, 0, 0.61111],\n "91": [0.25, 0.75, 0, 0, 0.27778],\n "92": [0.25, 0.75, 0, 0, 0.5],\n "93": [0.25, 0.75, 0, 0, 0.27778],\n "94": [0, 0.69444, 0, 0, 0.5],\n "95": [0.31, 0.12056, 0.02778, 0, 0.5],\n "97": [0, 0.43056, 0, 0, 0.5],\n "98": [0, 0.69444, 0, 0, 0.55556],\n "99": [0, 0.43056, 0, 0, 0.44445],\n "100": [0, 0.69444, 0, 0, 0.55556],\n "101": [0, 0.43056, 0, 0, 0.44445],\n "102": [0, 0.69444, 0.07778, 0, 0.30556],\n "103": [0.19444, 0.43056, 0.01389, 0, 0.5],\n "104": [0, 0.69444, 0, 0, 0.55556],\n "105": [0, 0.66786, 0, 0, 0.27778],\n "106": [0.19444, 0.66786, 0, 0, 0.30556],\n "107": [0, 0.69444, 0, 0, 0.52778],\n "108": [0, 0.69444, 0, 0, 0.27778],\n "109": [0, 0.43056, 0, 0, 0.83334],\n "110": [0, 0.43056, 0, 0, 0.55556],\n "111": [0, 0.43056, 0, 0, 0.5],\n "112": [0.19444, 0.43056, 0, 0, 0.55556],\n "113": [0.19444, 0.43056, 0, 0, 0.52778],\n "114": [0, 0.43056, 0, 0, 0.39167],\n "115": [0, 0.43056, 0, 0, 0.39445],\n "116": [0, 0.61508, 0, 0, 0.38889],\n "117": [0, 0.43056, 0, 0, 0.55556],\n "118": [0, 0.43056, 0.01389, 0, 0.52778],\n "119": [0, 0.43056, 0.01389, 0, 0.72222],\n "120": [0, 0.43056, 0, 0, 0.52778],\n "121": [0.19444, 0.43056, 0.01389, 0, 0.52778],\n "122": [0, 0.43056, 0, 0, 0.44445],\n "123": [0.25, 0.75, 0, 0, 0.5],\n "124": [0.25, 0.75, 0, 0, 0.27778],\n "125": [0.25, 0.75, 0, 0, 0.5],\n "126": [0.35, 0.31786, 0, 0, 0.5],\n "160": [0, 0, 0, 0, 0.25],\n "167": [0.19444, 0.69444, 0, 0, 0.44445],\n "168": [0, 0.66786, 0, 0, 0.5],\n "172": [0, 0.43056, 0, 0, 0.66667],\n "176": [0, 0.69444, 0, 0, 0.75],\n "177": [0.08333, 0.58333, 0, 0, 0.77778],\n "182": [0.19444, 0.69444, 0, 0, 0.61111],\n "184": [0.17014, 0, 0, 0, 0.44445],\n "198": [0, 0.68333, 0, 0, 0.90278],\n "215": [0.08333, 0.58333, 0, 0, 0.77778],\n "216": [0.04861, 0.73194, 0, 0, 0.77778],\n "223": [0, 0.69444, 0, 0, 0.5],\n "230": [0, 0.43056, 0, 0, 0.72222],\n "247": [0.08333, 0.58333, 0, 0, 0.77778],\n "248": [0.09722, 0.52778, 0, 0, 0.5],\n "305": [0, 0.43056, 0, 0, 0.27778],\n "338": [0, 0.68333, 0, 0, 1.01389],\n "339": [0, 0.43056, 0, 0, 0.77778],\n "567": [0.19444, 0.43056, 0, 0, 0.30556],\n "710": [0, 0.69444, 0, 0, 0.5],\n "711": [0, 0.62847, 0, 0, 0.5],\n "713": [0, 0.56778, 0, 0, 0.5],\n "714": [0, 0.69444, 0, 0, 0.5],\n "715": [0, 0.69444, 0, 0, 0.5],\n "728": [0, 0.69444, 0, 0, 0.5],\n "729": [0, 0.66786, 0, 0, 0.27778],\n "730": [0, 0.69444, 0, 0, 0.75],\n "732": [0, 0.66786, 0, 0, 0.5],\n "733": [0, 0.69444, 0, 0, 0.5],\n "915": [0, 0.68333, 0, 0, 0.625],\n "916": [0, 0.68333, 0, 0, 0.83334],\n "920": [0, 0.68333, 0, 0, 0.77778],\n "923": [0, 0.68333, 0, 0, 0.69445],\n "926": [0, 0.68333, 0, 0, 0.66667],\n "928": [0, 0.68333, 0, 0, 0.75],\n "931": [0, 0.68333, 0, 0, 0.72222],\n "933": [0, 0.68333, 0, 0, 0.77778],\n "934": [0, 0.68333, 0, 0, 0.72222],\n "936": [0, 0.68333, 0, 0, 0.77778],\n "937": [0, 0.68333, 0, 0, 0.72222],\n "8211": [0, 0.43056, 0.02778, 0, 0.5],\n "8212": [0, 0.43056, 0.02778, 0, 1.0],\n "8216": [0, 0.69444, 0, 0, 0.27778],\n "8217": [0, 0.69444, 0, 0, 0.27778],\n "8220": [0, 0.69444, 0, 0, 0.5],\n "8221": [0, 0.69444, 0, 0, 0.5],\n "8224": [0.19444, 0.69444, 0, 0, 0.44445],\n "8225": [0.19444, 0.69444, 0, 0, 0.44445],\n "8230": [0, 0.12, 0, 0, 1.172],\n "8242": [0, 0.55556, 0, 0, 0.275],\n "8407": [0, 0.71444, 0.15382, 0, 0.5],\n "8463": [0, 0.68889, 0, 0, 0.54028],\n "8465": [0, 0.69444, 0, 0, 0.72222],\n "8467": [0, 0.69444, 0, 0.11111, 0.41667],\n "8472": [0.19444, 0.43056, 0, 0.11111, 0.63646],\n "8476": [0, 0.69444, 0, 0, 0.72222],\n "8501": [0, 0.69444, 0, 0, 0.61111],\n "8592": [-0.13313, 0.36687, 0, 0, 1.0],\n "8593": [0.19444, 0.69444, 0, 0, 0.5],\n "8594": [-0.13313, 0.36687, 0, 0, 1.0],\n "8595": [0.19444, 0.69444, 0, 0, 0.5],\n "8596": [-0.13313, 0.36687, 0, 0, 1.0],\n "8597": [0.25, 0.75, 0, 0, 0.5],\n "8598": [0.19444, 0.69444, 0, 0, 1.0],\n "8599": [0.19444, 0.69444, 0, 0, 1.0],\n "8600": [0.19444, 0.69444, 0, 0, 1.0],\n "8601": [0.19444, 0.69444, 0, 0, 1.0],\n "8614": [0.011, 0.511, 0, 0, 1.0],\n "8617": [0.011, 0.511, 0, 0, 1.126],\n "8618": [0.011, 0.511, 0, 0, 1.126],\n "8636": [-0.13313, 0.36687, 0, 0, 1.0],\n "8637": [-0.13313, 0.36687, 0, 0, 1.0],\n "8640": [-0.13313, 0.36687, 0, 0, 1.0],\n "8641": [-0.13313, 0.36687, 0, 0, 1.0],\n "8652": [0.011, 0.671, 0, 0, 1.0],\n "8656": [-0.13313, 0.36687, 0, 0, 1.0],\n "8657": [0.19444, 0.69444, 0, 0, 0.61111],\n "8658": [-0.13313, 0.36687, 0, 0, 1.0],\n "8659": [0.19444, 0.69444, 0, 0, 0.61111],\n "8660": [-0.13313, 0.36687, 0, 0, 1.0],\n "8661": [0.25, 0.75, 0, 0, 0.61111],\n "8704": [0, 0.69444, 0, 0, 0.55556],\n "8706": [0, 0.69444, 0.05556, 0.08334, 0.5309],\n "8707": [0, 0.69444, 0, 0, 0.55556],\n "8709": [0.05556, 0.75, 0, 0, 0.5],\n "8711": [0, 0.68333, 0, 0, 0.83334],\n "8712": [0.0391, 0.5391, 0, 0, 0.66667],\n "8715": [0.0391, 0.5391, 0, 0, 0.66667],\n "8722": [0.08333, 0.58333, 0, 0, 0.77778],\n "8723": [0.08333, 0.58333, 0, 0, 0.77778],\n "8725": [0.25, 0.75, 0, 0, 0.5],\n "8726": [0.25, 0.75, 0, 0, 0.5],\n "8727": [-0.03472, 0.46528, 0, 0, 0.5],\n "8728": [-0.05555, 0.44445, 0, 0, 0.5],\n "8729": [-0.05555, 0.44445, 0, 0, 0.5],\n "8730": [0.2, 0.8, 0, 0, 0.83334],\n "8733": [0, 0.43056, 0, 0, 0.77778],\n "8734": [0, 0.43056, 0, 0, 1.0],\n "8736": [0, 0.69224, 0, 0, 0.72222],\n "8739": [0.25, 0.75, 0, 0, 0.27778],\n "8741": [0.25, 0.75, 0, 0, 0.5],\n "8743": [0, 0.55556, 0, 0, 0.66667],\n "8744": [0, 0.55556, 0, 0, 0.66667],\n "8745": [0, 0.55556, 0, 0, 0.66667],\n "8746": [0, 0.55556, 0, 0, 0.66667],\n "8747": [0.19444, 0.69444, 0.11111, 0, 0.41667],\n "8764": [-0.13313, 0.36687, 0, 0, 0.77778],\n "8768": [0.19444, 0.69444, 0, 0, 0.27778],\n "8771": [-0.03625, 0.46375, 0, 0, 0.77778],\n "8773": [-0.022, 0.589, 0, 0, 1.0],\n "8776": [-0.01688, 0.48312, 0, 0, 0.77778],\n "8781": [-0.03625, 0.46375, 0, 0, 0.77778],\n "8784": [-0.133, 0.67, 0, 0, 0.778],\n "8801": [-0.03625, 0.46375, 0, 0, 0.77778],\n "8804": [0.13597, 0.63597, 0, 0, 0.77778],\n "8805": [0.13597, 0.63597, 0, 0, 0.77778],\n "8810": [0.0391, 0.5391, 0, 0, 1.0],\n "8811": [0.0391, 0.5391, 0, 0, 1.0],\n "8826": [0.0391, 0.5391, 0, 0, 0.77778],\n "8827": [0.0391, 0.5391, 0, 0, 0.77778],\n "8834": [0.0391, 0.5391, 0, 0, 0.77778],\n "8835": [0.0391, 0.5391, 0, 0, 0.77778],\n "8838": [0.13597, 0.63597, 0, 0, 0.77778],\n "8839": [0.13597, 0.63597, 0, 0, 0.77778],\n "8846": [0, 0.55556, 0, 0, 0.66667],\n "8849": [0.13597, 0.63597, 0, 0, 0.77778],\n "8850": [0.13597, 0.63597, 0, 0, 0.77778],\n "8851": [0, 0.55556, 0, 0, 0.66667],\n "8852": [0, 0.55556, 0, 0, 0.66667],\n "8853": [0.08333, 0.58333, 0, 0, 0.77778],\n "8854": [0.08333, 0.58333, 0, 0, 0.77778],\n "8855": [0.08333, 0.58333, 0, 0, 0.77778],\n "8856": [0.08333, 0.58333, 0, 0, 0.77778],\n "8857": [0.08333, 0.58333, 0, 0, 0.77778],\n "8866": [0, 0.69444, 0, 0, 0.61111],\n "8867": [0, 0.69444, 0, 0, 0.61111],\n "8868": [0, 0.69444, 0, 0, 0.77778],\n "8869": [0, 0.69444, 0, 0, 0.77778],\n "8872": [0.249, 0.75, 0, 0, 0.867],\n "8900": [-0.05555, 0.44445, 0, 0, 0.5],\n "8901": [-0.05555, 0.44445, 0, 0, 0.27778],\n "8902": [-0.03472, 0.46528, 0, 0, 0.5],\n "8904": [0.005, 0.505, 0, 0, 0.9],\n "8942": [0.03, 0.9, 0, 0, 0.278],\n "8943": [-0.19, 0.31, 0, 0, 1.172],\n "8945": [-0.1, 0.82, 0, 0, 1.282],\n "8968": [0.25, 0.75, 0, 0, 0.44445],\n "8969": [0.25, 0.75, 0, 0, 0.44445],\n "8970": [0.25, 0.75, 0, 0, 0.44445],\n "8971": [0.25, 0.75, 0, 0, 0.44445],\n "8994": [-0.14236, 0.35764, 0, 0, 1.0],\n "8995": [-0.14236, 0.35764, 0, 0, 1.0],\n "9136": [0.244, 0.744, 0, 0, 0.412],\n "9137": [0.244, 0.744, 0, 0, 0.412],\n "9651": [0.19444, 0.69444, 0, 0, 0.88889],\n "9657": [-0.03472, 0.46528, 0, 0, 0.5],\n "9661": [0.19444, 0.69444, 0, 0, 0.88889],\n "9667": [-0.03472, 0.46528, 0, 0, 0.5],\n "9711": [0.19444, 0.69444, 0, 0, 1.0],\n "9824": [0.12963, 0.69444, 0, 0, 0.77778],\n "9825": [0.12963, 0.69444, 0, 0, 0.77778],\n "9826": [0.12963, 0.69444, 0, 0, 0.77778],\n "9827": [0.12963, 0.69444, 0, 0, 0.77778],\n "9837": [0, 0.75, 0, 0, 0.38889],\n "9838": [0.19444, 0.69444, 0, 0, 0.38889],\n "9839": [0.19444, 0.69444, 0, 0, 0.38889],\n "10216": [0.25, 0.75, 0, 0, 0.38889],\n "10217": [0.25, 0.75, 0, 0, 0.38889],\n "10222": [0.244, 0.744, 0, 0, 0.412],\n "10223": [0.244, 0.744, 0, 0, 0.412],\n "10229": [0.011, 0.511, 0, 0, 1.609],\n "10230": [0.011, 0.511, 0, 0, 1.638],\n "10231": [0.011, 0.511, 0, 0, 1.859],\n "10232": [0.024, 0.525, 0, 0, 1.609],\n "10233": [0.024, 0.525, 0, 0, 1.638],\n "10234": [0.024, 0.525, 0, 0, 1.858],\n "10236": [0.011, 0.511, 0, 0, 1.638],\n "10815": [0, 0.68333, 0, 0, 0.75],\n "10927": [0.13597, 0.63597, 0, 0, 0.77778],\n "10928": [0.13597, 0.63597, 0, 0, 0.77778],\n "57376": [0.19444, 0.69444, 0, 0, 0]\n },\n "Math-BoldItalic": {\n "65": [0, 0.68611, 0, 0, 0.86944],\n "66": [0, 0.68611, 0.04835, 0, 0.8664],\n "67": [0, 0.68611, 0.06979, 0, 0.81694],\n "68": [0, 0.68611, 0.03194, 0, 0.93812],\n "69": [0, 0.68611, 0.05451, 0, 0.81007],\n "70": [0, 0.68611, 0.15972, 0, 0.68889],\n "71": [0, 0.68611, 0, 0, 0.88673],\n "72": [0, 0.68611, 0.08229, 0, 0.98229],\n "73": [0, 0.68611, 0.07778, 0, 0.51111],\n "74": [0, 0.68611, 0.10069, 0, 0.63125],\n "75": [0, 0.68611, 0.06979, 0, 0.97118],\n "76": [0, 0.68611, 0, 0, 0.75555],\n "77": [0, 0.68611, 0.11424, 0, 1.14201],\n "78": [0, 0.68611, 0.11424, 0, 0.95034],\n "79": [0, 0.68611, 0.03194, 0, 0.83666],\n "80": [0, 0.68611, 0.15972, 0, 0.72309],\n "81": [0.19444, 0.68611, 0, 0, 0.86861],\n "82": [0, 0.68611, 0.00421, 0, 0.87235],\n "83": [0, 0.68611, 0.05382, 0, 0.69271],\n "84": [0, 0.68611, 0.15972, 0, 0.63663],\n "85": [0, 0.68611, 0.11424, 0, 0.80027],\n "86": [0, 0.68611, 0.25555, 0, 0.67778],\n "87": [0, 0.68611, 0.15972, 0, 1.09305],\n "88": [0, 0.68611, 0.07778, 0, 0.94722],\n "89": [0, 0.68611, 0.25555, 0, 0.67458],\n "90": [0, 0.68611, 0.06979, 0, 0.77257],\n "97": [0, 0.44444, 0, 0, 0.63287],\n "98": [0, 0.69444, 0, 0, 0.52083],\n "99": [0, 0.44444, 0, 0, 0.51342],\n "100": [0, 0.69444, 0, 0, 0.60972],\n "101": [0, 0.44444, 0, 0, 0.55361],\n "102": [0.19444, 0.69444, 0.11042, 0, 0.56806],\n "103": [0.19444, 0.44444, 0.03704, 0, 0.5449],\n "104": [0, 0.69444, 0, 0, 0.66759],\n "105": [0, 0.69326, 0, 0, 0.4048],\n "106": [0.19444, 0.69326, 0.0622, 0, 0.47083],\n "107": [0, 0.69444, 0.01852, 0, 0.6037],\n "108": [0, 0.69444, 0.0088, 0, 0.34815],\n "109": [0, 0.44444, 0, 0, 1.0324],\n "110": [0, 0.44444, 0, 0, 0.71296],\n "111": [0, 0.44444, 0, 0, 0.58472],\n "112": [0.19444, 0.44444, 0, 0, 0.60092],\n "113": [0.19444, 0.44444, 0.03704, 0, 0.54213],\n "114": [0, 0.44444, 0.03194, 0, 0.5287],\n "115": [0, 0.44444, 0, 0, 0.53125],\n "116": [0, 0.63492, 0, 0, 0.41528],\n "117": [0, 0.44444, 0, 0, 0.68102],\n "118": [0, 0.44444, 0.03704, 0, 0.56666],\n "119": [0, 0.44444, 0.02778, 0, 0.83148],\n "120": [0, 0.44444, 0, 0, 0.65903],\n "121": [0.19444, 0.44444, 0.03704, 0, 0.59028],\n "122": [0, 0.44444, 0.04213, 0, 0.55509],\n "915": [0, 0.68611, 0.15972, 0, 0.65694],\n "916": [0, 0.68611, 0, 0, 0.95833],\n "920": [0, 0.68611, 0.03194, 0, 0.86722],\n "923": [0, 0.68611, 0, 0, 0.80555],\n "926": [0, 0.68611, 0.07458, 0, 0.84125],\n "928": [0, 0.68611, 0.08229, 0, 0.98229],\n "931": [0, 0.68611, 0.05451, 0, 0.88507],\n "933": [0, 0.68611, 0.15972, 0, 0.67083],\n "934": [0, 0.68611, 0, 0, 0.76666],\n "936": [0, 0.68611, 0.11653, 0, 0.71402],\n "937": [0, 0.68611, 0.04835, 0, 0.8789],\n "945": [0, 0.44444, 0, 0, 0.76064],\n "946": [0.19444, 0.69444, 0.03403, 0, 0.65972],\n "947": [0.19444, 0.44444, 0.06389, 0, 0.59003],\n "948": [0, 0.69444, 0.03819, 0, 0.52222],\n "949": [0, 0.44444, 0, 0, 0.52882],\n "950": [0.19444, 0.69444, 0.06215, 0, 0.50833],\n "951": [0.19444, 0.44444, 0.03704, 0, 0.6],\n "952": [0, 0.69444, 0.03194, 0, 0.5618],\n "953": [0, 0.44444, 0, 0, 0.41204],\n "954": [0, 0.44444, 0, 0, 0.66759],\n "955": [0, 0.69444, 0, 0, 0.67083],\n "956": [0.19444, 0.44444, 0, 0, 0.70787],\n "957": [0, 0.44444, 0.06898, 0, 0.57685],\n "958": [0.19444, 0.69444, 0.03021, 0, 0.50833],\n "959": [0, 0.44444, 0, 0, 0.58472],\n "960": [0, 0.44444, 0.03704, 0, 0.68241],\n "961": [0.19444, 0.44444, 0, 0, 0.6118],\n "962": [0.09722, 0.44444, 0.07917, 0, 0.42361],\n "963": [0, 0.44444, 0.03704, 0, 0.68588],\n "964": [0, 0.44444, 0.13472, 0, 0.52083],\n "965": [0, 0.44444, 0.03704, 0, 0.63055],\n "966": [0.19444, 0.44444, 0, 0, 0.74722],\n "967": [0.19444, 0.44444, 0, 0, 0.71805],\n "968": [0.19444, 0.69444, 0.03704, 0, 0.75833],\n "969": [0, 0.44444, 0.03704, 0, 0.71782],\n "977": [0, 0.69444, 0, 0, 0.69155],\n "981": [0.19444, 0.69444, 0, 0, 0.7125],\n "982": [0, 0.44444, 0.03194, 0, 0.975],\n "1009": [0.19444, 0.44444, 0, 0, 0.6118],\n "1013": [0, 0.44444, 0, 0, 0.48333]\n },\n "Math-Italic": {\n "65": [0, 0.68333, 0, 0.13889, 0.75],\n "66": [0, 0.68333, 0.05017, 0.08334, 0.75851],\n "67": [0, 0.68333, 0.07153, 0.08334, 0.71472],\n "68": [0, 0.68333, 0.02778, 0.05556, 0.82792],\n "69": [0, 0.68333, 0.05764, 0.08334, 0.7382],\n "70": [0, 0.68333, 0.13889, 0.08334, 0.64306],\n "71": [0, 0.68333, 0, 0.08334, 0.78625],\n "72": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n "73": [0, 0.68333, 0.07847, 0.11111, 0.43958],\n "74": [0, 0.68333, 0.09618, 0.16667, 0.55451],\n "75": [0, 0.68333, 0.07153, 0.05556, 0.84931],\n "76": [0, 0.68333, 0, 0.02778, 0.68056],\n "77": [0, 0.68333, 0.10903, 0.08334, 0.97014],\n "78": [0, 0.68333, 0.10903, 0.08334, 0.80347],\n "79": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n "80": [0, 0.68333, 0.13889, 0.08334, 0.64201],\n "81": [0.19444, 0.68333, 0, 0.08334, 0.79056],\n "82": [0, 0.68333, 0.00773, 0.08334, 0.75929],\n "83": [0, 0.68333, 0.05764, 0.08334, 0.6132],\n "84": [0, 0.68333, 0.13889, 0.08334, 0.58438],\n "85": [0, 0.68333, 0.10903, 0.02778, 0.68278],\n "86": [0, 0.68333, 0.22222, 0, 0.58333],\n "87": [0, 0.68333, 0.13889, 0, 0.94445],\n "88": [0, 0.68333, 0.07847, 0.08334, 0.82847],\n "89": [0, 0.68333, 0.22222, 0, 0.58056],\n "90": [0, 0.68333, 0.07153, 0.08334, 0.68264],\n "97": [0, 0.43056, 0, 0, 0.52859],\n "98": [0, 0.69444, 0, 0, 0.42917],\n "99": [0, 0.43056, 0, 0.05556, 0.43276],\n "100": [0, 0.69444, 0, 0.16667, 0.52049],\n "101": [0, 0.43056, 0, 0.05556, 0.46563],\n "102": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],\n "103": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],\n "104": [0, 0.69444, 0, 0, 0.57616],\n "105": [0, 0.65952, 0, 0, 0.34451],\n "106": [0.19444, 0.65952, 0.05724, 0, 0.41181],\n "107": [0, 0.69444, 0.03148, 0, 0.5206],\n "108": [0, 0.69444, 0.01968, 0.08334, 0.29838],\n "109": [0, 0.43056, 0, 0, 0.87801],\n "110": [0, 0.43056, 0, 0, 0.60023],\n "111": [0, 0.43056, 0, 0.05556, 0.48472],\n "112": [0.19444, 0.43056, 0, 0.08334, 0.50313],\n "113": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],\n "114": [0, 0.43056, 0.02778, 0.05556, 0.45116],\n "115": [0, 0.43056, 0, 0.05556, 0.46875],\n "116": [0, 0.61508, 0, 0.08334, 0.36111],\n "117": [0, 0.43056, 0, 0.02778, 0.57246],\n "118": [0, 0.43056, 0.03588, 0.02778, 0.48472],\n "119": [0, 0.43056, 0.02691, 0.08334, 0.71592],\n "120": [0, 0.43056, 0, 0.02778, 0.57153],\n "121": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],\n "122": [0, 0.43056, 0.04398, 0.05556, 0.46505],\n "915": [0, 0.68333, 0.13889, 0.08334, 0.61528],\n "916": [0, 0.68333, 0, 0.16667, 0.83334],\n "920": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n "923": [0, 0.68333, 0, 0.16667, 0.69445],\n "926": [0, 0.68333, 0.07569, 0.08334, 0.74236],\n "928": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n "931": [0, 0.68333, 0.05764, 0.08334, 0.77986],\n "933": [0, 0.68333, 0.13889, 0.05556, 0.58333],\n "934": [0, 0.68333, 0, 0.08334, 0.66667],\n "936": [0, 0.68333, 0.11, 0.05556, 0.61222],\n "937": [0, 0.68333, 0.05017, 0.08334, 0.7724],\n "945": [0, 0.43056, 0.0037, 0.02778, 0.6397],\n "946": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],\n "947": [0.19444, 0.43056, 0.05556, 0, 0.51773],\n "948": [0, 0.69444, 0.03785, 0.05556, 0.44444],\n "949": [0, 0.43056, 0, 0.08334, 0.46632],\n "950": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],\n "951": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],\n "952": [0, 0.69444, 0.02778, 0.08334, 0.46944],\n "953": [0, 0.43056, 0, 0.05556, 0.35394],\n "954": [0, 0.43056, 0, 0, 0.57616],\n "955": [0, 0.69444, 0, 0, 0.58334],\n "956": [0.19444, 0.43056, 0, 0.02778, 0.60255],\n "957": [0, 0.43056, 0.06366, 0.02778, 0.49398],\n "958": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],\n "959": [0, 0.43056, 0, 0.05556, 0.48472],\n "960": [0, 0.43056, 0.03588, 0, 0.57003],\n "961": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n "962": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],\n "963": [0, 0.43056, 0.03588, 0, 0.57141],\n "964": [0, 0.43056, 0.1132, 0.02778, 0.43715],\n "965": [0, 0.43056, 0.03588, 0.02778, 0.54028],\n "966": [0.19444, 0.43056, 0, 0.08334, 0.65417],\n "967": [0.19444, 0.43056, 0, 0.05556, 0.62569],\n "968": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],\n "969": [0, 0.43056, 0.03588, 0, 0.62245],\n "977": [0, 0.69444, 0, 0.08334, 0.59144],\n "981": [0.19444, 0.69444, 0, 0.08334, 0.59583],\n "982": [0, 0.43056, 0.02778, 0, 0.82813],\n "1009": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n "1013": [0, 0.43056, 0, 0.05556, 0.4059]\n },\n "Math-Regular": {\n "65": [0, 0.68333, 0, 0.13889, 0.75],\n "66": [0, 0.68333, 0.05017, 0.08334, 0.75851],\n "67": [0, 0.68333, 0.07153, 0.08334, 0.71472],\n "68": [0, 0.68333, 0.02778, 0.05556, 0.82792],\n "69": [0, 0.68333, 0.05764, 0.08334, 0.7382],\n "70": [0, 0.68333, 0.13889, 0.08334, 0.64306],\n "71": [0, 0.68333, 0, 0.08334, 0.78625],\n "72": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n "73": [0, 0.68333, 0.07847, 0.11111, 0.43958],\n "74": [0, 0.68333, 0.09618, 0.16667, 0.55451],\n "75": [0, 0.68333, 0.07153, 0.05556, 0.84931],\n "76": [0, 0.68333, 0, 0.02778, 0.68056],\n "77": [0, 0.68333, 0.10903, 0.08334, 0.97014],\n "78": [0, 0.68333, 0.10903, 0.08334, 0.80347],\n "79": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n "80": [0, 0.68333, 0.13889, 0.08334, 0.64201],\n "81": [0.19444, 0.68333, 0, 0.08334, 0.79056],\n "82": [0, 0.68333, 0.00773, 0.08334, 0.75929],\n "83": [0, 0.68333, 0.05764, 0.08334, 0.6132],\n "84": [0, 0.68333, 0.13889, 0.08334, 0.58438],\n "85": [0, 0.68333, 0.10903, 0.02778, 0.68278],\n "86": [0, 0.68333, 0.22222, 0, 0.58333],\n "87": [0, 0.68333, 0.13889, 0, 0.94445],\n "88": [0, 0.68333, 0.07847, 0.08334, 0.82847],\n "89": [0, 0.68333, 0.22222, 0, 0.58056],\n "90": [0, 0.68333, 0.07153, 0.08334, 0.68264],\n "97": [0, 0.43056, 0, 0, 0.52859],\n "98": [0, 0.69444, 0, 0, 0.42917],\n "99": [0, 0.43056, 0, 0.05556, 0.43276],\n "100": [0, 0.69444, 0, 0.16667, 0.52049],\n "101": [0, 0.43056, 0, 0.05556, 0.46563],\n "102": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],\n "103": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],\n "104": [0, 0.69444, 0, 0, 0.57616],\n "105": [0, 0.65952, 0, 0, 0.34451],\n "106": [0.19444, 0.65952, 0.05724, 0, 0.41181],\n "107": [0, 0.69444, 0.03148, 0, 0.5206],\n "108": [0, 0.69444, 0.01968, 0.08334, 0.29838],\n "109": [0, 0.43056, 0, 0, 0.87801],\n "110": [0, 0.43056, 0, 0, 0.60023],\n "111": [0, 0.43056, 0, 0.05556, 0.48472],\n "112": [0.19444, 0.43056, 0, 0.08334, 0.50313],\n "113": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],\n "114": [0, 0.43056, 0.02778, 0.05556, 0.45116],\n "115": [0, 0.43056, 0, 0.05556, 0.46875],\n "116": [0, 0.61508, 0, 0.08334, 0.36111],\n "117": [0, 0.43056, 0, 0.02778, 0.57246],\n "118": [0, 0.43056, 0.03588, 0.02778, 0.48472],\n "119": [0, 0.43056, 0.02691, 0.08334, 0.71592],\n "120": [0, 0.43056, 0, 0.02778, 0.57153],\n "121": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],\n "122": [0, 0.43056, 0.04398, 0.05556, 0.46505],\n "915": [0, 0.68333, 0.13889, 0.08334, 0.61528],\n "916": [0, 0.68333, 0, 0.16667, 0.83334],\n "920": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n "923": [0, 0.68333, 0, 0.16667, 0.69445],\n "926": [0, 0.68333, 0.07569, 0.08334, 0.74236],\n "928": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n "931": [0, 0.68333, 0.05764, 0.08334, 0.77986],\n "933": [0, 0.68333, 0.13889, 0.05556, 0.58333],\n "934": [0, 0.68333, 0, 0.08334, 0.66667],\n "936": [0, 0.68333, 0.11, 0.05556, 0.61222],\n "937": [0, 0.68333, 0.05017, 0.08334, 0.7724],\n "945": [0, 0.43056, 0.0037, 0.02778, 0.6397],\n "946": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],\n "947": [0.19444, 0.43056, 0.05556, 0, 0.51773],\n "948": [0, 0.69444, 0.03785, 0.05556, 0.44444],\n "949": [0, 0.43056, 0, 0.08334, 0.46632],\n "950": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],\n "951": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],\n "952": [0, 0.69444, 0.02778, 0.08334, 0.46944],\n "953": [0, 0.43056, 0, 0.05556, 0.35394],\n "954": [0, 0.43056, 0, 0, 0.57616],\n "955": [0, 0.69444, 0, 0, 0.58334],\n "956": [0.19444, 0.43056, 0, 0.02778, 0.60255],\n "957": [0, 0.43056, 0.06366, 0.02778, 0.49398],\n "958": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],\n "959": [0, 0.43056, 0, 0.05556, 0.48472],\n "960": [0, 0.43056, 0.03588, 0, 0.57003],\n "961": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n "962": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],\n "963": [0, 0.43056, 0.03588, 0, 0.57141],\n "964": [0, 0.43056, 0.1132, 0.02778, 0.43715],\n "965": [0, 0.43056, 0.03588, 0.02778, 0.54028],\n "966": [0.19444, 0.43056, 0, 0.08334, 0.65417],\n "967": [0.19444, 0.43056, 0, 0.05556, 0.62569],\n "968": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],\n "969": [0, 0.43056, 0.03588, 0, 0.62245],\n "977": [0, 0.69444, 0, 0.08334, 0.59144],\n "981": [0.19444, 0.69444, 0, 0.08334, 0.59583],\n "982": [0, 0.43056, 0.02778, 0, 0.82813],\n "1009": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n "1013": [0, 0.43056, 0, 0.05556, 0.4059]\n },\n "SansSerif-Bold": {\n "33": [0, 0.69444, 0, 0, 0.36667],\n "34": [0, 0.69444, 0, 0, 0.55834],\n "35": [0.19444, 0.69444, 0, 0, 0.91667],\n "36": [0.05556, 0.75, 0, 0, 0.55],\n "37": [0.05556, 0.75, 0, 0, 1.02912],\n "38": [0, 0.69444, 0, 0, 0.83056],\n "39": [0, 0.69444, 0, 0, 0.30556],\n "40": [0.25, 0.75, 0, 0, 0.42778],\n "41": [0.25, 0.75, 0, 0, 0.42778],\n "42": [0, 0.75, 0, 0, 0.55],\n "43": [0.11667, 0.61667, 0, 0, 0.85556],\n "44": [0.10556, 0.13056, 0, 0, 0.30556],\n "45": [0, 0.45833, 0, 0, 0.36667],\n "46": [0, 0.13056, 0, 0, 0.30556],\n "47": [0.25, 0.75, 0, 0, 0.55],\n "48": [0, 0.69444, 0, 0, 0.55],\n "49": [0, 0.69444, 0, 0, 0.55],\n "50": [0, 0.69444, 0, 0, 0.55],\n "51": [0, 0.69444, 0, 0, 0.55],\n "52": [0, 0.69444, 0, 0, 0.55],\n "53": [0, 0.69444, 0, 0, 0.55],\n "54": [0, 0.69444, 0, 0, 0.55],\n "55": [0, 0.69444, 0, 0, 0.55],\n "56": [0, 0.69444, 0, 0, 0.55],\n "57": [0, 0.69444, 0, 0, 0.55],\n "58": [0, 0.45833, 0, 0, 0.30556],\n "59": [0.10556, 0.45833, 0, 0, 0.30556],\n "61": [-0.09375, 0.40625, 0, 0, 0.85556],\n "63": [0, 0.69444, 0, 0, 0.51945],\n "64": [0, 0.69444, 0, 0, 0.73334],\n "65": [0, 0.69444, 0, 0, 0.73334],\n "66": [0, 0.69444, 0, 0, 0.73334],\n "67": [0, 0.69444, 0, 0, 0.70278],\n "68": [0, 0.69444, 0, 0, 0.79445],\n "69": [0, 0.69444, 0, 0, 0.64167],\n "70": [0, 0.69444, 0, 0, 0.61111],\n "71": [0, 0.69444, 0, 0, 0.73334],\n "72": [0, 0.69444, 0, 0, 0.79445],\n "73": [0, 0.69444, 0, 0, 0.33056],\n "74": [0, 0.69444, 0, 0, 0.51945],\n "75": [0, 0.69444, 0, 0, 0.76389],\n "76": [0, 0.69444, 0, 0, 0.58056],\n "77": [0, 0.69444, 0, 0, 0.97778],\n "78": [0, 0.69444, 0, 0, 0.79445],\n "79": [0, 0.69444, 0, 0, 0.79445],\n "80": [0, 0.69444, 0, 0, 0.70278],\n "81": [0.10556, 0.69444, 0, 0, 0.79445],\n "82": [0, 0.69444, 0, 0, 0.70278],\n "83": [0, 0.69444, 0, 0, 0.61111],\n "84": [0, 0.69444, 0, 0, 0.73334],\n "85": [0, 0.69444, 0, 0, 0.76389],\n "86": [0, 0.69444, 0.01528, 0, 0.73334],\n "87": [0, 0.69444, 0.01528, 0, 1.03889],\n "88": [0, 0.69444, 0, 0, 0.73334],\n "89": [0, 0.69444, 0.0275, 0, 0.73334],\n "90": [0, 0.69444, 0, 0, 0.67223],\n "91": [0.25, 0.75, 0, 0, 0.34306],\n "93": [0.25, 0.75, 0, 0, 0.34306],\n "94": [0, 0.69444, 0, 0, 0.55],\n "95": [0.35, 0.10833, 0.03056, 0, 0.55],\n "97": [0, 0.45833, 0, 0, 0.525],\n "98": [0, 0.69444, 0, 0, 0.56111],\n "99": [0, 0.45833, 0, 0, 0.48889],\n "100": [0, 0.69444, 0, 0, 0.56111],\n "101": [0, 0.45833, 0, 0, 0.51111],\n "102": [0, 0.69444, 0.07639, 0, 0.33611],\n "103": [0.19444, 0.45833, 0.01528, 0, 0.55],\n "104": [0, 0.69444, 0, 0, 0.56111],\n "105": [0, 0.69444, 0, 0, 0.25556],\n "106": [0.19444, 0.69444, 0, 0, 0.28611],\n "107": [0, 0.69444, 0, 0, 0.53056],\n "108": [0, 0.69444, 0, 0, 0.25556],\n "109": [0, 0.45833, 0, 0, 0.86667],\n "110": [0, 0.45833, 0, 0, 0.56111],\n "111": [0, 0.45833, 0, 0, 0.55],\n "112": [0.19444, 0.45833, 0, 0, 0.56111],\n "113": [0.19444, 0.45833, 0, 0, 0.56111],\n "114": [0, 0.45833, 0.01528, 0, 0.37222],\n "115": [0, 0.45833, 0, 0, 0.42167],\n "116": [0, 0.58929, 0, 0, 0.40417],\n "117": [0, 0.45833, 0, 0, 0.56111],\n "118": [0, 0.45833, 0.01528, 0, 0.5],\n "119": [0, 0.45833, 0.01528, 0, 0.74445],\n "120": [0, 0.45833, 0, 0, 0.5],\n "121": [0.19444, 0.45833, 0.01528, 0, 0.5],\n "122": [0, 0.45833, 0, 0, 0.47639],\n "126": [0.35, 0.34444, 0, 0, 0.55],\n "168": [0, 0.69444, 0, 0, 0.55],\n "176": [0, 0.69444, 0, 0, 0.73334],\n "180": [0, 0.69444, 0, 0, 0.55],\n "184": [0.17014, 0, 0, 0, 0.48889],\n "305": [0, 0.45833, 0, 0, 0.25556],\n "567": [0.19444, 0.45833, 0, 0, 0.28611],\n "710": [0, 0.69444, 0, 0, 0.55],\n "711": [0, 0.63542, 0, 0, 0.55],\n "713": [0, 0.63778, 0, 0, 0.55],\n "728": [0, 0.69444, 0, 0, 0.55],\n "729": [0, 0.69444, 0, 0, 0.30556],\n "730": [0, 0.69444, 0, 0, 0.73334],\n "732": [0, 0.69444, 0, 0, 0.55],\n "733": [0, 0.69444, 0, 0, 0.55],\n "915": [0, 0.69444, 0, 0, 0.58056],\n "916": [0, 0.69444, 0, 0, 0.91667],\n "920": [0, 0.69444, 0, 0, 0.85556],\n "923": [0, 0.69444, 0, 0, 0.67223],\n "926": [0, 0.69444, 0, 0, 0.73334],\n "928": [0, 0.69444, 0, 0, 0.79445],\n "931": [0, 0.69444, 0, 0, 0.79445],\n "933": [0, 0.69444, 0, 0, 0.85556],\n "934": [0, 0.69444, 0, 0, 0.79445],\n "936": [0, 0.69444, 0, 0, 0.85556],\n "937": [0, 0.69444, 0, 0, 0.79445],\n "8211": [0, 0.45833, 0.03056, 0, 0.55],\n "8212": [0, 0.45833, 0.03056, 0, 1.10001],\n "8216": [0, 0.69444, 0, 0, 0.30556],\n "8217": [0, 0.69444, 0, 0, 0.30556],\n "8220": [0, 0.69444, 0, 0, 0.55834],\n "8221": [0, 0.69444, 0, 0, 0.55834]\n },\n "SansSerif-Italic": {\n "33": [0, 0.69444, 0.05733, 0, 0.31945],\n "34": [0, 0.69444, 0.00316, 0, 0.5],\n "35": [0.19444, 0.69444, 0.05087, 0, 0.83334],\n "36": [0.05556, 0.75, 0.11156, 0, 0.5],\n "37": [0.05556, 0.75, 0.03126, 0, 0.83334],\n "38": [0, 0.69444, 0.03058, 0, 0.75834],\n "39": [0, 0.69444, 0.07816, 0, 0.27778],\n "40": [0.25, 0.75, 0.13164, 0, 0.38889],\n "41": [0.25, 0.75, 0.02536, 0, 0.38889],\n "42": [0, 0.75, 0.11775, 0, 0.5],\n "43": [0.08333, 0.58333, 0.02536, 0, 0.77778],\n "44": [0.125, 0.08333, 0, 0, 0.27778],\n "45": [0, 0.44444, 0.01946, 0, 0.33333],\n "46": [0, 0.08333, 0, 0, 0.27778],\n "47": [0.25, 0.75, 0.13164, 0, 0.5],\n "48": [0, 0.65556, 0.11156, 0, 0.5],\n "49": [0, 0.65556, 0.11156, 0, 0.5],\n "50": [0, 0.65556, 0.11156, 0, 0.5],\n "51": [0, 0.65556, 0.11156, 0, 0.5],\n "52": [0, 0.65556, 0.11156, 0, 0.5],\n "53": [0, 0.65556, 0.11156, 0, 0.5],\n "54": [0, 0.65556, 0.11156, 0, 0.5],\n "55": [0, 0.65556, 0.11156, 0, 0.5],\n "56": [0, 0.65556, 0.11156, 0, 0.5],\n "57": [0, 0.65556, 0.11156, 0, 0.5],\n "58": [0, 0.44444, 0.02502, 0, 0.27778],\n "59": [0.125, 0.44444, 0.02502, 0, 0.27778],\n "61": [-0.13, 0.37, 0.05087, 0, 0.77778],\n "63": [0, 0.69444, 0.11809, 0, 0.47222],\n "64": [0, 0.69444, 0.07555, 0, 0.66667],\n "65": [0, 0.69444, 0, 0, 0.66667],\n "66": [0, 0.69444, 0.08293, 0, 0.66667],\n "67": [0, 0.69444, 0.11983, 0, 0.63889],\n "68": [0, 0.69444, 0.07555, 0, 0.72223],\n "69": [0, 0.69444, 0.11983, 0, 0.59722],\n "70": [0, 0.69444, 0.13372, 0, 0.56945],\n "71": [0, 0.69444, 0.11983, 0, 0.66667],\n "72": [0, 0.69444, 0.08094, 0, 0.70834],\n "73": [0, 0.69444, 0.13372, 0, 0.27778],\n "74": [0, 0.69444, 0.08094, 0, 0.47222],\n "75": [0, 0.69444, 0.11983, 0, 0.69445],\n "76": [0, 0.69444, 0, 0, 0.54167],\n "77": [0, 0.69444, 0.08094, 0, 0.875],\n "78": [0, 0.69444, 0.08094, 0, 0.70834],\n "79": [0, 0.69444, 0.07555, 0, 0.73611],\n "80": [0, 0.69444, 0.08293, 0, 0.63889],\n "81": [0.125, 0.69444, 0.07555, 0, 0.73611],\n "82": [0, 0.69444, 0.08293, 0, 0.64584],\n "83": [0, 0.69444, 0.09205, 0, 0.55556],\n "84": [0, 0.69444, 0.13372, 0, 0.68056],\n "85": [0, 0.69444, 0.08094, 0, 0.6875],\n "86": [0, 0.69444, 0.1615, 0, 0.66667],\n "87": [0, 0.69444, 0.1615, 0, 0.94445],\n "88": [0, 0.69444, 0.13372, 0, 0.66667],\n "89": [0, 0.69444, 0.17261, 0, 0.66667],\n "90": [0, 0.69444, 0.11983, 0, 0.61111],\n "91": [0.25, 0.75, 0.15942, 0, 0.28889],\n "93": [0.25, 0.75, 0.08719, 0, 0.28889],\n "94": [0, 0.69444, 0.0799, 0, 0.5],\n "95": [0.35, 0.09444, 0.08616, 0, 0.5],\n "97": [0, 0.44444, 0.00981, 0, 0.48056],\n "98": [0, 0.69444, 0.03057, 0, 0.51667],\n "99": [0, 0.44444, 0.08336, 0, 0.44445],\n "100": [0, 0.69444, 0.09483, 0, 0.51667],\n "101": [0, 0.44444, 0.06778, 0, 0.44445],\n "102": [0, 0.69444, 0.21705, 0, 0.30556],\n "103": [0.19444, 0.44444, 0.10836, 0, 0.5],\n "104": [0, 0.69444, 0.01778, 0, 0.51667],\n "105": [0, 0.67937, 0.09718, 0, 0.23889],\n "106": [0.19444, 0.67937, 0.09162, 0, 0.26667],\n "107": [0, 0.69444, 0.08336, 0, 0.48889],\n "108": [0, 0.69444, 0.09483, 0, 0.23889],\n "109": [0, 0.44444, 0.01778, 0, 0.79445],\n "110": [0, 0.44444, 0.01778, 0, 0.51667],\n "111": [0, 0.44444, 0.06613, 0, 0.5],\n "112": [0.19444, 0.44444, 0.0389, 0, 0.51667],\n "113": [0.19444, 0.44444, 0.04169, 0, 0.51667],\n "114": [0, 0.44444, 0.10836, 0, 0.34167],\n "115": [0, 0.44444, 0.0778, 0, 0.38333],\n "116": [0, 0.57143, 0.07225, 0, 0.36111],\n "117": [0, 0.44444, 0.04169, 0, 0.51667],\n "118": [0, 0.44444, 0.10836, 0, 0.46111],\n "119": [0, 0.44444, 0.10836, 0, 0.68334],\n "120": [0, 0.44444, 0.09169, 0, 0.46111],\n "121": [0.19444, 0.44444, 0.10836, 0, 0.46111],\n "122": [0, 0.44444, 0.08752, 0, 0.43472],\n "126": [0.35, 0.32659, 0.08826, 0, 0.5],\n "168": [0, 0.67937, 0.06385, 0, 0.5],\n "176": [0, 0.69444, 0, 0, 0.73752],\n "184": [0.17014, 0, 0, 0, 0.44445],\n "305": [0, 0.44444, 0.04169, 0, 0.23889],\n "567": [0.19444, 0.44444, 0.04169, 0, 0.26667],\n "710": [0, 0.69444, 0.0799, 0, 0.5],\n "711": [0, 0.63194, 0.08432, 0, 0.5],\n "713": [0, 0.60889, 0.08776, 0, 0.5],\n "714": [0, 0.69444, 0.09205, 0, 0.5],\n "715": [0, 0.69444, 0, 0, 0.5],\n "728": [0, 0.69444, 0.09483, 0, 0.5],\n "729": [0, 0.67937, 0.07774, 0, 0.27778],\n "730": [0, 0.69444, 0, 0, 0.73752],\n "732": [0, 0.67659, 0.08826, 0, 0.5],\n "733": [0, 0.69444, 0.09205, 0, 0.5],\n "915": [0, 0.69444, 0.13372, 0, 0.54167],\n "916": [0, 0.69444, 0, 0, 0.83334],\n "920": [0, 0.69444, 0.07555, 0, 0.77778],\n "923": [0, 0.69444, 0, 0, 0.61111],\n "926": [0, 0.69444, 0.12816, 0, 0.66667],\n "928": [0, 0.69444, 0.08094, 0, 0.70834],\n "931": [0, 0.69444, 0.11983, 0, 0.72222],\n "933": [0, 0.69444, 0.09031, 0, 0.77778],\n "934": [0, 0.69444, 0.04603, 0, 0.72222],\n "936": [0, 0.69444, 0.09031, 0, 0.77778],\n "937": [0, 0.69444, 0.08293, 0, 0.72222],\n "8211": [0, 0.44444, 0.08616, 0, 0.5],\n "8212": [0, 0.44444, 0.08616, 0, 1.0],\n "8216": [0, 0.69444, 0.07816, 0, 0.27778],\n "8217": [0, 0.69444, 0.07816, 0, 0.27778],\n "8220": [0, 0.69444, 0.14205, 0, 0.5],\n "8221": [0, 0.69444, 0.00316, 0, 0.5]\n },\n "SansSerif-Regular": {\n "33": [0, 0.69444, 0, 0, 0.31945],\n "34": [0, 0.69444, 0, 0, 0.5],\n "35": [0.19444, 0.69444, 0, 0, 0.83334],\n "36": [0.05556, 0.75, 0, 0, 0.5],\n "37": [0.05556, 0.75, 0, 0, 0.83334],\n "38": [0, 0.69444, 0, 0, 0.75834],\n "39": [0, 0.69444, 0, 0, 0.27778],\n "40": [0.25, 0.75, 0, 0, 0.38889],\n "41": [0.25, 0.75, 0, 0, 0.38889],\n "42": [0, 0.75, 0, 0, 0.5],\n "43": [0.08333, 0.58333, 0, 0, 0.77778],\n "44": [0.125, 0.08333, 0, 0, 0.27778],\n "45": [0, 0.44444, 0, 0, 0.33333],\n "46": [0, 0.08333, 0, 0, 0.27778],\n "47": [0.25, 0.75, 0, 0, 0.5],\n "48": [0, 0.65556, 0, 0, 0.5],\n "49": [0, 0.65556, 0, 0, 0.5],\n "50": [0, 0.65556, 0, 0, 0.5],\n "51": [0, 0.65556, 0, 0, 0.5],\n "52": [0, 0.65556, 0, 0, 0.5],\n "53": [0, 0.65556, 0, 0, 0.5],\n "54": [0, 0.65556, 0, 0, 0.5],\n "55": [0, 0.65556, 0, 0, 0.5],\n "56": [0, 0.65556, 0, 0, 0.5],\n "57": [0, 0.65556, 0, 0, 0.5],\n "58": [0, 0.44444, 0, 0, 0.27778],\n "59": [0.125, 0.44444, 0, 0, 0.27778],\n "61": [-0.13, 0.37, 0, 0, 0.77778],\n "63": [0, 0.69444, 0, 0, 0.47222],\n "64": [0, 0.69444, 0, 0, 0.66667],\n "65": [0, 0.69444, 0, 0, 0.66667],\n "66": [0, 0.69444, 0, 0, 0.66667],\n "67": [0, 0.69444, 0, 0, 0.63889],\n "68": [0, 0.69444, 0, 0, 0.72223],\n "69": [0, 0.69444, 0, 0, 0.59722],\n "70": [0, 0.69444, 0, 0, 0.56945],\n "71": [0, 0.69444, 0, 0, 0.66667],\n "72": [0, 0.69444, 0, 0, 0.70834],\n "73": [0, 0.69444, 0, 0, 0.27778],\n "74": [0, 0.69444, 0, 0, 0.47222],\n "75": [0, 0.69444, 0, 0, 0.69445],\n "76": [0, 0.69444, 0, 0, 0.54167],\n "77": [0, 0.69444, 0, 0, 0.875],\n "78": [0, 0.69444, 0, 0, 0.70834],\n "79": [0, 0.69444, 0, 0, 0.73611],\n "80": [0, 0.69444, 0, 0, 0.63889],\n "81": [0.125, 0.69444, 0, 0, 0.73611],\n "82": [0, 0.69444, 0, 0, 0.64584],\n "83": [0, 0.69444, 0, 0, 0.55556],\n "84": [0, 0.69444, 0, 0, 0.68056],\n "85": [0, 0.69444, 0, 0, 0.6875],\n "86": [0, 0.69444, 0.01389, 0, 0.66667],\n "87": [0, 0.69444, 0.01389, 0, 0.94445],\n "88": [0, 0.69444, 0, 0, 0.66667],\n "89": [0, 0.69444, 0.025, 0, 0.66667],\n "90": [0, 0.69444, 0, 0, 0.61111],\n "91": [0.25, 0.75, 0, 0, 0.28889],\n "93": [0.25, 0.75, 0, 0, 0.28889],\n "94": [0, 0.69444, 0, 0, 0.5],\n "95": [0.35, 0.09444, 0.02778, 0, 0.5],\n "97": [0, 0.44444, 0, 0, 0.48056],\n "98": [0, 0.69444, 0, 0, 0.51667],\n "99": [0, 0.44444, 0, 0, 0.44445],\n "100": [0, 0.69444, 0, 0, 0.51667],\n "101": [0, 0.44444, 0, 0, 0.44445],\n "102": [0, 0.69444, 0.06944, 0, 0.30556],\n "103": [0.19444, 0.44444, 0.01389, 0, 0.5],\n "104": [0, 0.69444, 0, 0, 0.51667],\n "105": [0, 0.67937, 0, 0, 0.23889],\n "106": [0.19444, 0.67937, 0, 0, 0.26667],\n "107": [0, 0.69444, 0, 0, 0.48889],\n "108": [0, 0.69444, 0, 0, 0.23889],\n "109": [0, 0.44444, 0, 0, 0.79445],\n "110": [0, 0.44444, 0, 0, 0.51667],\n "111": [0, 0.44444, 0, 0, 0.5],\n "112": [0.19444, 0.44444, 0, 0, 0.51667],\n "113": [0.19444, 0.44444, 0, 0, 0.51667],\n "114": [0, 0.44444, 0.01389, 0, 0.34167],\n "115": [0, 0.44444, 0, 0, 0.38333],\n "116": [0, 0.57143, 0, 0, 0.36111],\n "117": [0, 0.44444, 0, 0, 0.51667],\n "118": [0, 0.44444, 0.01389, 0, 0.46111],\n "119": [0, 0.44444, 0.01389, 0, 0.68334],\n "120": [0, 0.44444, 0, 0, 0.46111],\n "121": [0.19444, 0.44444, 0.01389, 0, 0.46111],\n "122": [0, 0.44444, 0, 0, 0.43472],\n "126": [0.35, 0.32659, 0, 0, 0.5],\n "168": [0, 0.67937, 0, 0, 0.5],\n "176": [0, 0.69444, 0, 0, 0.66667],\n "184": [0.17014, 0, 0, 0, 0.44445],\n "305": [0, 0.44444, 0, 0, 0.23889],\n "567": [0.19444, 0.44444, 0, 0, 0.26667],\n "710": [0, 0.69444, 0, 0, 0.5],\n "711": [0, 0.63194, 0, 0, 0.5],\n "713": [0, 0.60889, 0, 0, 0.5],\n "714": [0, 0.69444, 0, 0, 0.5],\n "715": [0, 0.69444, 0, 0, 0.5],\n "728": [0, 0.69444, 0, 0, 0.5],\n "729": [0, 0.67937, 0, 0, 0.27778],\n "730": [0, 0.69444, 0, 0, 0.66667],\n "732": [0, 0.67659, 0, 0, 0.5],\n "733": [0, 0.69444, 0, 0, 0.5],\n "915": [0, 0.69444, 0, 0, 0.54167],\n "916": [0, 0.69444, 0, 0, 0.83334],\n "920": [0, 0.69444, 0, 0, 0.77778],\n "923": [0, 0.69444, 0, 0, 0.61111],\n "926": [0, 0.69444, 0, 0, 0.66667],\n "928": [0, 0.69444, 0, 0, 0.70834],\n "931": [0, 0.69444, 0, 0, 0.72222],\n "933": [0, 0.69444, 0, 0, 0.77778],\n "934": [0, 0.69444, 0, 0, 0.72222],\n "936": [0, 0.69444, 0, 0, 0.77778],\n "937": [0, 0.69444, 0, 0, 0.72222],\n "8211": [0, 0.44444, 0.02778, 0, 0.5],\n "8212": [0, 0.44444, 0.02778, 0, 1.0],\n "8216": [0, 0.69444, 0, 0, 0.27778],\n "8217": [0, 0.69444, 0, 0, 0.27778],\n "8220": [0, 0.69444, 0, 0, 0.5],\n "8221": [0, 0.69444, 0, 0, 0.5]\n },\n "Script-Regular": {\n "65": [0, 0.7, 0.22925, 0, 0.80253],\n "66": [0, 0.7, 0.04087, 0, 0.90757],\n "67": [0, 0.7, 0.1689, 0, 0.66619],\n "68": [0, 0.7, 0.09371, 0, 0.77443],\n "69": [0, 0.7, 0.18583, 0, 0.56162],\n "70": [0, 0.7, 0.13634, 0, 0.89544],\n "71": [0, 0.7, 0.17322, 0, 0.60961],\n "72": [0, 0.7, 0.29694, 0, 0.96919],\n "73": [0, 0.7, 0.19189, 0, 0.80907],\n "74": [0.27778, 0.7, 0.19189, 0, 1.05159],\n "75": [0, 0.7, 0.31259, 0, 0.91364],\n "76": [0, 0.7, 0.19189, 0, 0.87373],\n "77": [0, 0.7, 0.15981, 0, 1.08031],\n "78": [0, 0.7, 0.3525, 0, 0.9015],\n "79": [0, 0.7, 0.08078, 0, 0.73787],\n "80": [0, 0.7, 0.08078, 0, 1.01262],\n "81": [0, 0.7, 0.03305, 0, 0.88282],\n "82": [0, 0.7, 0.06259, 0, 0.85],\n "83": [0, 0.7, 0.19189, 0, 0.86767],\n "84": [0, 0.7, 0.29087, 0, 0.74697],\n "85": [0, 0.7, 0.25815, 0, 0.79996],\n "86": [0, 0.7, 0.27523, 0, 0.62204],\n "87": [0, 0.7, 0.27523, 0, 0.80532],\n "88": [0, 0.7, 0.26006, 0, 0.94445],\n "89": [0, 0.7, 0.2939, 0, 0.70961],\n "90": [0, 0.7, 0.24037, 0, 0.8212]\n },\n "Size1-Regular": {\n "40": [0.35001, 0.85, 0, 0, 0.45834],\n "41": [0.35001, 0.85, 0, 0, 0.45834],\n "47": [0.35001, 0.85, 0, 0, 0.57778],\n "91": [0.35001, 0.85, 0, 0, 0.41667],\n "92": [0.35001, 0.85, 0, 0, 0.57778],\n "93": [0.35001, 0.85, 0, 0, 0.41667],\n "123": [0.35001, 0.85, 0, 0, 0.58334],\n "125": [0.35001, 0.85, 0, 0, 0.58334],\n "710": [0, 0.72222, 0, 0, 0.55556],\n "732": [0, 0.72222, 0, 0, 0.55556],\n "770": [0, 0.72222, 0, 0, 0.55556],\n "771": [0, 0.72222, 0, 0, 0.55556],\n "8214": [-0.00099, 0.601, 0, 0, 0.77778],\n "8593": [1e-05, 0.6, 0, 0, 0.66667],\n "8595": [1e-05, 0.6, 0, 0, 0.66667],\n "8657": [1e-05, 0.6, 0, 0, 0.77778],\n "8659": [1e-05, 0.6, 0, 0, 0.77778],\n "8719": [0.25001, 0.75, 0, 0, 0.94445],\n "8720": [0.25001, 0.75, 0, 0, 0.94445],\n "8721": [0.25001, 0.75, 0, 0, 1.05556],\n "8730": [0.35001, 0.85, 0, 0, 1.0],\n "8739": [-0.00599, 0.606, 0, 0, 0.33333],\n "8741": [-0.00599, 0.606, 0, 0, 0.55556],\n "8747": [0.30612, 0.805, 0.19445, 0, 0.47222],\n "8748": [0.306, 0.805, 0.19445, 0, 0.47222],\n "8749": [0.306, 0.805, 0.19445, 0, 0.47222],\n "8750": [0.30612, 0.805, 0.19445, 0, 0.47222],\n "8896": [0.25001, 0.75, 0, 0, 0.83334],\n "8897": [0.25001, 0.75, 0, 0, 0.83334],\n "8898": [0.25001, 0.75, 0, 0, 0.83334],\n "8899": [0.25001, 0.75, 0, 0, 0.83334],\n "8968": [0.35001, 0.85, 0, 0, 0.47222],\n "8969": [0.35001, 0.85, 0, 0, 0.47222],\n "8970": [0.35001, 0.85, 0, 0, 0.47222],\n "8971": [0.35001, 0.85, 0, 0, 0.47222],\n "9168": [-0.00099, 0.601, 0, 0, 0.66667],\n "10216": [0.35001, 0.85, 0, 0, 0.47222],\n "10217": [0.35001, 0.85, 0, 0, 0.47222],\n "10752": [0.25001, 0.75, 0, 0, 1.11111],\n "10753": [0.25001, 0.75, 0, 0, 1.11111],\n "10754": [0.25001, 0.75, 0, 0, 1.11111],\n "10756": [0.25001, 0.75, 0, 0, 0.83334],\n "10758": [0.25001, 0.75, 0, 0, 0.83334]\n },\n "Size2-Regular": {\n "40": [0.65002, 1.15, 0, 0, 0.59722],\n "41": [0.65002, 1.15, 0, 0, 0.59722],\n "47": [0.65002, 1.15, 0, 0, 0.81111],\n "91": [0.65002, 1.15, 0, 0, 0.47222],\n "92": [0.65002, 1.15, 0, 0, 0.81111],\n "93": [0.65002, 1.15, 0, 0, 0.47222],\n "123": [0.65002, 1.15, 0, 0, 0.66667],\n "125": [0.65002, 1.15, 0, 0, 0.66667],\n "710": [0, 0.75, 0, 0, 1.0],\n "732": [0, 0.75, 0, 0, 1.0],\n "770": [0, 0.75, 0, 0, 1.0],\n "771": [0, 0.75, 0, 0, 1.0],\n "8719": [0.55001, 1.05, 0, 0, 1.27778],\n "8720": [0.55001, 1.05, 0, 0, 1.27778],\n "8721": [0.55001, 1.05, 0, 0, 1.44445],\n "8730": [0.65002, 1.15, 0, 0, 1.0],\n "8747": [0.86225, 1.36, 0.44445, 0, 0.55556],\n "8748": [0.862, 1.36, 0.44445, 0, 0.55556],\n "8749": [0.862, 1.36, 0.44445, 0, 0.55556],\n "8750": [0.86225, 1.36, 0.44445, 0, 0.55556],\n "8896": [0.55001, 1.05, 0, 0, 1.11111],\n "8897": [0.55001, 1.05, 0, 0, 1.11111],\n "8898": [0.55001, 1.05, 0, 0, 1.11111],\n "8899": [0.55001, 1.05, 0, 0, 1.11111],\n "8968": [0.65002, 1.15, 0, 0, 0.52778],\n "8969": [0.65002, 1.15, 0, 0, 0.52778],\n "8970": [0.65002, 1.15, 0, 0, 0.52778],\n "8971": [0.65002, 1.15, 0, 0, 0.52778],\n "10216": [0.65002, 1.15, 0, 0, 0.61111],\n "10217": [0.65002, 1.15, 0, 0, 0.61111],\n "10752": [0.55001, 1.05, 0, 0, 1.51112],\n "10753": [0.55001, 1.05, 0, 0, 1.51112],\n "10754": [0.55001, 1.05, 0, 0, 1.51112],\n "10756": [0.55001, 1.05, 0, 0, 1.11111],\n "10758": [0.55001, 1.05, 0, 0, 1.11111]\n },\n "Size3-Regular": {\n "40": [0.95003, 1.45, 0, 0, 0.73611],\n "41": [0.95003, 1.45, 0, 0, 0.73611],\n "47": [0.95003, 1.45, 0, 0, 1.04445],\n "91": [0.95003, 1.45, 0, 0, 0.52778],\n "92": [0.95003, 1.45, 0, 0, 1.04445],\n "93": [0.95003, 1.45, 0, 0, 0.52778],\n "123": [0.95003, 1.45, 0, 0, 0.75],\n "125": [0.95003, 1.45, 0, 0, 0.75],\n "710": [0, 0.75, 0, 0, 1.44445],\n "732": [0, 0.75, 0, 0, 1.44445],\n "770": [0, 0.75, 0, 0, 1.44445],\n "771": [0, 0.75, 0, 0, 1.44445],\n "8730": [0.95003, 1.45, 0, 0, 1.0],\n "8968": [0.95003, 1.45, 0, 0, 0.58334],\n "8969": [0.95003, 1.45, 0, 0, 0.58334],\n "8970": [0.95003, 1.45, 0, 0, 0.58334],\n "8971": [0.95003, 1.45, 0, 0, 0.58334],\n "10216": [0.95003, 1.45, 0, 0, 0.75],\n "10217": [0.95003, 1.45, 0, 0, 0.75]\n },\n "Size4-Regular": {\n "40": [1.25003, 1.75, 0, 0, 0.79167],\n "41": [1.25003, 1.75, 0, 0, 0.79167],\n "47": [1.25003, 1.75, 0, 0, 1.27778],\n "91": [1.25003, 1.75, 0, 0, 0.58334],\n "92": [1.25003, 1.75, 0, 0, 1.27778],\n "93": [1.25003, 1.75, 0, 0, 0.58334],\n "123": [1.25003, 1.75, 0, 0, 0.80556],\n "125": [1.25003, 1.75, 0, 0, 0.80556],\n "710": [0, 0.825, 0, 0, 1.8889],\n "732": [0, 0.825, 0, 0, 1.8889],\n "770": [0, 0.825, 0, 0, 1.8889],\n "771": [0, 0.825, 0, 0, 1.8889],\n "8730": [1.25003, 1.75, 0, 0, 1.0],\n "8968": [1.25003, 1.75, 0, 0, 0.63889],\n "8969": [1.25003, 1.75, 0, 0, 0.63889],\n "8970": [1.25003, 1.75, 0, 0, 0.63889],\n "8971": [1.25003, 1.75, 0, 0, 0.63889],\n "9115": [0.64502, 1.155, 0, 0, 0.875],\n "9116": [1e-05, 0.6, 0, 0, 0.875],\n "9117": [0.64502, 1.155, 0, 0, 0.875],\n "9118": [0.64502, 1.155, 0, 0, 0.875],\n "9119": [1e-05, 0.6, 0, 0, 0.875],\n "9120": [0.64502, 1.155, 0, 0, 0.875],\n "9121": [0.64502, 1.155, 0, 0, 0.66667],\n "9122": [-0.00099, 0.601, 0, 0, 0.66667],\n "9123": [0.64502, 1.155, 0, 0, 0.66667],\n "9124": [0.64502, 1.155, 0, 0, 0.66667],\n "9125": [-0.00099, 0.601, 0, 0, 0.66667],\n "9126": [0.64502, 1.155, 0, 0, 0.66667],\n "9127": [1e-05, 0.9, 0, 0, 0.88889],\n "9128": [0.65002, 1.15, 0, 0, 0.88889],\n "9129": [0.90001, 0, 0, 0, 0.88889],\n "9130": [0, 0.3, 0, 0, 0.88889],\n "9131": [1e-05, 0.9, 0, 0, 0.88889],\n "9132": [0.65002, 1.15, 0, 0, 0.88889],\n "9133": [0.90001, 0, 0, 0, 0.88889],\n "9143": [0.88502, 0.915, 0, 0, 1.05556],\n "10216": [1.25003, 1.75, 0, 0, 0.80556],\n "10217": [1.25003, 1.75, 0, 0, 0.80556],\n "57344": [-0.00499, 0.605, 0, 0, 1.05556],\n "57345": [-0.00499, 0.605, 0, 0, 1.05556],\n "57680": [0, 0.12, 0, 0, 0.45],\n "57681": [0, 0.12, 0, 0, 0.45],\n "57682": [0, 0.12, 0, 0, 0.45],\n "57683": [0, 0.12, 0, 0, 0.45]\n },\n "Typewriter-Regular": {\n "32": [0, 0, 0, 0, 0.525],\n "33": [0, 0.61111, 0, 0, 0.525],\n "34": [0, 0.61111, 0, 0, 0.525],\n "35": [0, 0.61111, 0, 0, 0.525],\n "36": [0.08333, 0.69444, 0, 0, 0.525],\n "37": [0.08333, 0.69444, 0, 0, 0.525],\n "38": [0, 0.61111, 0, 0, 0.525],\n "39": [0, 0.61111, 0, 0, 0.525],\n "40": [0.08333, 0.69444, 0, 0, 0.525],\n "41": [0.08333, 0.69444, 0, 0, 0.525],\n "42": [0, 0.52083, 0, 0, 0.525],\n "43": [-0.08056, 0.53055, 0, 0, 0.525],\n "44": [0.13889, 0.125, 0, 0, 0.525],\n "45": [-0.08056, 0.53055, 0, 0, 0.525],\n "46": [0, 0.125, 0, 0, 0.525],\n "47": [0.08333, 0.69444, 0, 0, 0.525],\n "48": [0, 0.61111, 0, 0, 0.525],\n "49": [0, 0.61111, 0, 0, 0.525],\n "50": [0, 0.61111, 0, 0, 0.525],\n "51": [0, 0.61111, 0, 0, 0.525],\n "52": [0, 0.61111, 0, 0, 0.525],\n "53": [0, 0.61111, 0, 0, 0.525],\n "54": [0, 0.61111, 0, 0, 0.525],\n "55": [0, 0.61111, 0, 0, 0.525],\n "56": [0, 0.61111, 0, 0, 0.525],\n "57": [0, 0.61111, 0, 0, 0.525],\n "58": [0, 0.43056, 0, 0, 0.525],\n "59": [0.13889, 0.43056, 0, 0, 0.525],\n "60": [-0.05556, 0.55556, 0, 0, 0.525],\n "61": [-0.19549, 0.41562, 0, 0, 0.525],\n "62": [-0.05556, 0.55556, 0, 0, 0.525],\n "63": [0, 0.61111, 0, 0, 0.525],\n "64": [0, 0.61111, 0, 0, 0.525],\n "65": [0, 0.61111, 0, 0, 0.525],\n "66": [0, 0.61111, 0, 0, 0.525],\n "67": [0, 0.61111, 0, 0, 0.525],\n "68": [0, 0.61111, 0, 0, 0.525],\n "69": [0, 0.61111, 0, 0, 0.525],\n "70": [0, 0.61111, 0, 0, 0.525],\n "71": [0, 0.61111, 0, 0, 0.525],\n "72": [0, 0.61111, 0, 0, 0.525],\n "73": [0, 0.61111, 0, 0, 0.525],\n "74": [0, 0.61111, 0, 0, 0.525],\n "75": [0, 0.61111, 0, 0, 0.525],\n "76": [0, 0.61111, 0, 0, 0.525],\n "77": [0, 0.61111, 0, 0, 0.525],\n "78": [0, 0.61111, 0, 0, 0.525],\n "79": [0, 0.61111, 0, 0, 0.525],\n "80": [0, 0.61111, 0, 0, 0.525],\n "81": [0.13889, 0.61111, 0, 0, 0.525],\n "82": [0, 0.61111, 0, 0, 0.525],\n "83": [0, 0.61111, 0, 0, 0.525],\n "84": [0, 0.61111, 0, 0, 0.525],\n "85": [0, 0.61111, 0, 0, 0.525],\n "86": [0, 0.61111, 0, 0, 0.525],\n "87": [0, 0.61111, 0, 0, 0.525],\n "88": [0, 0.61111, 0, 0, 0.525],\n "89": [0, 0.61111, 0, 0, 0.525],\n "90": [0, 0.61111, 0, 0, 0.525],\n "91": [0.08333, 0.69444, 0, 0, 0.525],\n "92": [0.08333, 0.69444, 0, 0, 0.525],\n "93": [0.08333, 0.69444, 0, 0, 0.525],\n "94": [0, 0.61111, 0, 0, 0.525],\n "95": [0.09514, 0, 0, 0, 0.525],\n "96": [0, 0.61111, 0, 0, 0.525],\n "97": [0, 0.43056, 0, 0, 0.525],\n "98": [0, 0.61111, 0, 0, 0.525],\n "99": [0, 0.43056, 0, 0, 0.525],\n "100": [0, 0.61111, 0, 0, 0.525],\n "101": [0, 0.43056, 0, 0, 0.525],\n "102": [0, 0.61111, 0, 0, 0.525],\n "103": [0.22222, 0.43056, 0, 0, 0.525],\n "104": [0, 0.61111, 0, 0, 0.525],\n "105": [0, 0.61111, 0, 0, 0.525],\n "106": [0.22222, 0.61111, 0, 0, 0.525],\n "107": [0, 0.61111, 0, 0, 0.525],\n "108": [0, 0.61111, 0, 0, 0.525],\n "109": [0, 0.43056, 0, 0, 0.525],\n "110": [0, 0.43056, 0, 0, 0.525],\n "111": [0, 0.43056, 0, 0, 0.525],\n "112": [0.22222, 0.43056, 0, 0, 0.525],\n "113": [0.22222, 0.43056, 0, 0, 0.525],\n "114": [0, 0.43056, 0, 0, 0.525],\n "115": [0, 0.43056, 0, 0, 0.525],\n "116": [0, 0.55358, 0, 0, 0.525],\n "117": [0, 0.43056, 0, 0, 0.525],\n "118": [0, 0.43056, 0, 0, 0.525],\n "119": [0, 0.43056, 0, 0, 0.525],\n "120": [0, 0.43056, 0, 0, 0.525],\n "121": [0.22222, 0.43056, 0, 0, 0.525],\n "122": [0, 0.43056, 0, 0, 0.525],\n "123": [0.08333, 0.69444, 0, 0, 0.525],\n "124": [0.08333, 0.69444, 0, 0, 0.525],\n "125": [0.08333, 0.69444, 0, 0, 0.525],\n "126": [0, 0.61111, 0, 0, 0.525],\n "127": [0, 0.61111, 0, 0, 0.525],\n "160": [0, 0, 0, 0, 0.525],\n "176": [0, 0.61111, 0, 0, 0.525],\n "184": [0.19445, 0, 0, 0, 0.525],\n "305": [0, 0.43056, 0, 0, 0.525],\n "567": [0.22222, 0.43056, 0, 0, 0.525],\n "711": [0, 0.56597, 0, 0, 0.525],\n "713": [0, 0.56555, 0, 0, 0.525],\n "714": [0, 0.61111, 0, 0, 0.525],\n "715": [0, 0.61111, 0, 0, 0.525],\n "728": [0, 0.61111, 0, 0, 0.525],\n "730": [0, 0.61111, 0, 0, 0.525],\n "770": [0, 0.61111, 0, 0, 0.525],\n "771": [0, 0.61111, 0, 0, 0.525],\n "776": [0, 0.61111, 0, 0, 0.525],\n "915": [0, 0.61111, 0, 0, 0.525],\n "916": [0, 0.61111, 0, 0, 0.525],\n "920": [0, 0.61111, 0, 0, 0.525],\n "923": [0, 0.61111, 0, 0, 0.525],\n "926": [0, 0.61111, 0, 0, 0.525],\n "928": [0, 0.61111, 0, 0, 0.525],\n "931": [0, 0.61111, 0, 0, 0.525],\n "933": [0, 0.61111, 0, 0, 0.525],\n "934": [0, 0.61111, 0, 0, 0.525],\n "936": [0, 0.61111, 0, 0, 0.525],\n "937": [0, 0.61111, 0, 0, 0.525],\n "8216": [0, 0.61111, 0, 0, 0.525],\n "8217": [0, 0.61111, 0, 0, 0.525],\n "8242": [0, 0.61111, 0, 0, 0.525],\n "9251": [0.11111, 0.21944, 0, 0, 0.525]\n }\n});\n// CONCATENATED MODULE: ./src/fontMetrics.js\n\n\n/**\n * This file contains metrics regarding fonts and individual symbols. The sigma\n * and xi variables, as well as the metricMap map contain data extracted from\n * TeX, TeX font metrics, and the TTF files. These data are then exposed via the\n * `metrics` variable and the getCharacterMetrics function.\n */\n// In TeX, there are actually three sets of dimensions, one for each of\n// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4:\n// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are\n// provided in the the arrays below, in that order.\n//\n// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively.\n// This was determined by running the following script:\n//\n// latex -interaction=nonstopmode \\\n// \'\\documentclass{article}\\usepackage{amsmath}\\begin{document}\' \\\n// \'$a$ \\expandafter\\show\\the\\textfont2\' \\\n// \'\\expandafter\\show\\the\\scriptfont2\' \\\n// \'\\expandafter\\show\\the\\scriptscriptfont2\' \\\n// \'\\stop\'\n//\n// The metrics themselves were retreived using the following commands:\n//\n// tftopl cmsy10\n// tftopl cmsy7\n// tftopl cmsy5\n//\n// The output of each of these commands is quite lengthy. The only part we\n// care about is the FONTDIMEN section. Each value is measured in EMs.\nvar sigmasAndXis = {\n slant: [0.250, 0.250, 0.250],\n // sigma1\n space: [0.000, 0.000, 0.000],\n // sigma2\n stretch: [0.000, 0.000, 0.000],\n // sigma3\n shrink: [0.000, 0.000, 0.000],\n // sigma4\n xHeight: [0.431, 0.431, 0.431],\n // sigma5\n quad: [1.000, 1.171, 1.472],\n // sigma6\n extraSpace: [0.000, 0.000, 0.000],\n // sigma7\n num1: [0.677, 0.732, 0.925],\n // sigma8\n num2: [0.394, 0.384, 0.387],\n // sigma9\n num3: [0.444, 0.471, 0.504],\n // sigma10\n denom1: [0.686, 0.752, 1.025],\n // sigma11\n denom2: [0.345, 0.344, 0.532],\n // sigma12\n sup1: [0.413, 0.503, 0.504],\n // sigma13\n sup2: [0.363, 0.431, 0.404],\n // sigma14\n sup3: [0.289, 0.286, 0.294],\n // sigma15\n sub1: [0.150, 0.143, 0.200],\n // sigma16\n sub2: [0.247, 0.286, 0.400],\n // sigma17\n supDrop: [0.386, 0.353, 0.494],\n // sigma18\n subDrop: [0.050, 0.071, 0.100],\n // sigma19\n delim1: [2.390, 1.700, 1.980],\n // sigma20\n delim2: [1.010, 1.157, 1.420],\n // sigma21\n axisHeight: [0.250, 0.250, 0.250],\n // sigma22\n // These font metrics are extracted from TeX by using tftopl on cmex10.tfm;\n // they correspond to the font parameters of the extension fonts (family 3).\n // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to\n // match cmex7, we\'d use cmex7.tfm values for script and scriptscript\n // values.\n defaultRuleThickness: [0.04, 0.049, 0.049],\n // xi8; cmex7: 0.049\n bigOpSpacing1: [0.111, 0.111, 0.111],\n // xi9\n bigOpSpacing2: [0.166, 0.166, 0.166],\n // xi10\n bigOpSpacing3: [0.2, 0.2, 0.2],\n // xi11\n bigOpSpacing4: [0.6, 0.611, 0.611],\n // xi12; cmex7: 0.611\n bigOpSpacing5: [0.1, 0.143, 0.143],\n // xi13; cmex7: 0.143\n // The \\sqrt rule width is taken from the height of the surd character.\n // Since we use the same font at all sizes, this thickness doesn\'t scale.\n sqrtRuleThickness: [0.04, 0.04, 0.04],\n // This value determines how large a pt is, for metrics which are defined\n // in terms of pts.\n // This value is also used in katex.less; if you change it make sure the\n // values match.\n ptPerEm: [10.0, 10.0, 10.0],\n // The space between adjacent `|` columns in an array definition. From\n // `\\showthe\\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm.\n doubleRuleSep: [0.2, 0.2, 0.2],\n // The width of separator lines in {array} environments. From\n // `\\showthe\\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm.\n arrayRuleWidth: [0.04, 0.04, 0.04],\n // Two values from LaTeX source2e:\n fboxsep: [0.3, 0.3, 0.3],\n // 3 pt / ptPerEm\n fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm\n\n}; // This map contains a mapping from font name and character code to character\n// metrics, including height, depth, italic correction, and skew (kern from the\n// character to the corresponding \\skewchar)\n// This map is generated via `make metrics`. It should not be changed manually.\n\n // These are very rough approximations. We default to Times New Roman which\n// should have Latin-1 and Cyrillic characters, but may not depending on the\n// operating system. The metrics do not account for extra height from the\n// accents. In the case of Cyrillic characters which have both ascenders and\n// descenders we prefer approximations with ascenders, primarily to prevent\n// the fraction bar or root line from intersecting the glyph.\n// TODO(kevinb) allow union of multiple glyph metrics for better accuracy.\n\nvar extraCharacterMap = {\n // Latin-1\n \'\xc5\': \'A\',\n \'\xc7\': \'C\',\n \'\xd0\': \'D\',\n \'\xde\': \'o\',\n \'\xe5\': \'a\',\n \'\xe7\': \'c\',\n \'\xf0\': \'d\',\n \'\xfe\': \'o\',\n // Cyrillic\n \'\u0410\': \'A\',\n \'\u0411\': \'B\',\n \'\u0412\': \'B\',\n \'\u0413\': \'F\',\n \'\u0414\': \'A\',\n \'\u0415\': \'E\',\n \'\u0416\': \'K\',\n \'\u0417\': \'3\',\n \'\u0418\': \'N\',\n \'\u0419\': \'N\',\n \'\u041a\': \'K\',\n \'\u041b\': \'N\',\n \'\u041c\': \'M\',\n \'\u041d\': \'H\',\n \'\u041e\': \'O\',\n \'\u041f\': \'N\',\n \'\u0420\': \'P\',\n \'\u0421\': \'C\',\n \'\u0422\': \'T\',\n \'\u0423\': \'y\',\n \'\u0424\': \'O\',\n \'\u0425\': \'X\',\n \'\u0426\': \'U\',\n \'\u0427\': \'h\',\n \'\u0428\': \'W\',\n \'\u0429\': \'W\',\n \'\u042a\': \'B\',\n \'\u042b\': \'X\',\n \'\u042c\': \'B\',\n \'\u042d\': \'3\',\n \'\u042e\': \'X\',\n \'\u042f\': \'R\',\n \'\u0430\': \'a\',\n \'\u0431\': \'b\',\n \'\u0432\': \'a\',\n \'\u0433\': \'r\',\n \'\u0434\': \'y\',\n \'\u0435\': \'e\',\n \'\u0436\': \'m\',\n \'\u0437\': \'e\',\n \'\u0438\': \'n\',\n \'\u0439\': \'n\',\n \'\u043a\': \'n\',\n \'\u043b\': \'n\',\n \'\u043c\': \'m\',\n \'\u043d\': \'n\',\n \'\u043e\': \'o\',\n \'\u043f\': \'n\',\n \'\u0440\': \'p\',\n \'\u0441\': \'c\',\n \'\u0442\': \'o\',\n \'\u0443\': \'y\',\n \'\u0444\': \'b\',\n \'\u0445\': \'x\',\n \'\u0446\': \'n\',\n \'\u0447\': \'n\',\n \'\u0448\': \'w\',\n \'\u0449\': \'w\',\n \'\u044a\': \'a\',\n \'\u044b\': \'m\',\n \'\u044c\': \'a\',\n \'\u044d\': \'e\',\n \'\u044e\': \'m\',\n \'\u044f\': \'r\'\n};\n\n/**\n * This function adds new font metrics to default metricMap\n * It can also override existing metrics\n */\nfunction setFontMetrics(fontName, metrics) {\n fontMetricsData[fontName] = metrics;\n}\n/**\n * This function is a convenience function for looking up information in the\n * metricMap table. It takes a character as a string, and a font.\n *\n * Note: the `width` property may be undefined if fontMetricsData.js wasn\'t\n * built using `Make extended_metrics`.\n */\n\nfunction getCharacterMetrics(character, font, mode) {\n if (!fontMetricsData[font]) {\n throw new Error("Font metrics not found for font: " + font + ".");\n }\n\n var ch = character.charCodeAt(0);\n var metrics = fontMetricsData[font][ch];\n\n if (!metrics && character[0] in extraCharacterMap) {\n ch = extraCharacterMap[character[0]].charCodeAt(0);\n metrics = fontMetricsData[font][ch];\n }\n\n if (!metrics && mode === \'text\') {\n // We don\'t typically have font metrics for Asian scripts.\n // But since we support them in text mode, we need to return\n // some sort of metrics.\n // So if the character is in a script we support but we\n // don\'t have metrics for it, just use the metrics for\n // the Latin capital letter M. This is close enough because\n // we (currently) only care about the height of the glpyh\n // not its width.\n if (supportedCodepoint(ch)) {\n metrics = fontMetricsData[font][77]; // 77 is the charcode for \'M\'\n }\n }\n\n if (metrics) {\n return {\n depth: metrics[0],\n height: metrics[1],\n italic: metrics[2],\n skew: metrics[3],\n width: metrics[4]\n };\n }\n}\nvar fontMetricsBySizeIndex = {};\n/**\n * Get the font metrics for a given size.\n */\n\nfunction getGlobalMetrics(size) {\n var sizeIndex;\n\n if (size >= 5) {\n sizeIndex = 0;\n } else if (size >= 3) {\n sizeIndex = 1;\n } else {\n sizeIndex = 2;\n }\n\n if (!fontMetricsBySizeIndex[sizeIndex]) {\n var metrics = fontMetricsBySizeIndex[sizeIndex] = {\n cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18\n };\n\n for (var key in sigmasAndXis) {\n if (sigmasAndXis.hasOwnProperty(key)) {\n metrics[key] = sigmasAndXis[key][sizeIndex];\n }\n }\n }\n\n return fontMetricsBySizeIndex[sizeIndex];\n}\n// CONCATENATED MODULE: ./src/symbols.js\n/**\n * This file holds a list of all no-argument functions and single-character\n * symbols (like \'a\' or \';\').\n *\n * For each of the symbols, there are three properties they can have:\n * - font (required): the font to be used for this symbol. Either "main" (the\n normal font), or "ams" (the ams fonts).\n * - group (required): the ParseNode group type the symbol should have (i.e.\n "textord", "mathord", etc).\n See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types\n * - replace: the character that this symbol or function should be\n * replaced with (i.e. "\\phi" has a replace value of "\\u03d5", the phi\n * character in the main font).\n *\n * The outermost map in the table indicates what mode the symbols should be\n * accepted in (e.g. "math" or "text").\n */\n// Some of these have a "-token" suffix since these are also used as `ParseNode`\n// types for raw text tokens, and we want to avoid conflicts with higher-level\n// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by\n// looking up the `symbols` map.\nvar ATOMS = {\n "bin": 1,\n "close": 1,\n "inner": 1,\n "open": 1,\n "punct": 1,\n "rel": 1\n};\nvar NON_ATOMS = {\n "accent-token": 1,\n "mathord": 1,\n "op-token": 1,\n "spacing": 1,\n "textord": 1\n};\nvar symbols = {\n "math": {},\n "text": {}\n};\n/* harmony default export */ var src_symbols = (symbols);\n/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */\n\nfunction defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) {\n symbols[mode][name] = {\n font: font,\n group: group,\n replace: replace\n };\n\n if (acceptUnicodeChar && replace) {\n symbols[mode][replace] = symbols[mode][name];\n }\n} // Some abbreviations for commonly used strings.\n// This helps minify the code, and also spotting typos using jshint.\n// modes:\n\nvar symbols_math = "math";\nvar symbols_text = "text"; // fonts:\n\nvar main = "main";\nvar ams = "ams"; // groups:\n\nvar symbols_accent = "accent-token";\nvar bin = "bin";\nvar symbols_close = "close";\nvar symbols_inner = "inner";\nvar mathord = "mathord";\nvar op = "op-token";\nvar symbols_open = "open";\nvar punct = "punct";\nvar rel = "rel";\nvar symbols_spacing = "spacing";\nvar symbols_textord = "textord"; // Now comes the symbol table\n// Relation Symbols\n\ndefineSymbol(symbols_math, main, rel, "\\u2261", "\\\\equiv", true);\ndefineSymbol(symbols_math, main, rel, "\\u227A", "\\\\prec", true);\ndefineSymbol(symbols_math, main, rel, "\\u227B", "\\\\succ", true);\ndefineSymbol(symbols_math, main, rel, "\\u223C", "\\\\sim", true);\ndefineSymbol(symbols_math, main, rel, "\\u22A5", "\\\\perp");\ndefineSymbol(symbols_math, main, rel, "\\u2AAF", "\\\\preceq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2AB0", "\\\\succeq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2243", "\\\\simeq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2223", "\\\\mid", true);\ndefineSymbol(symbols_math, main, rel, "\\u226A", "\\\\ll", true);\ndefineSymbol(symbols_math, main, rel, "\\u226B", "\\\\gg", true);\ndefineSymbol(symbols_math, main, rel, "\\u224D", "\\\\asymp", true);\ndefineSymbol(symbols_math, main, rel, "\\u2225", "\\\\parallel");\ndefineSymbol(symbols_math, main, rel, "\\u22C8", "\\\\bowtie", true);\ndefineSymbol(symbols_math, main, rel, "\\u2323", "\\\\smile", true);\ndefineSymbol(symbols_math, main, rel, "\\u2291", "\\\\sqsubseteq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2292", "\\\\sqsupseteq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2250", "\\\\doteq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2322", "\\\\frown", true);\ndefineSymbol(symbols_math, main, rel, "\\u220B", "\\\\ni", true);\ndefineSymbol(symbols_math, main, rel, "\\u221D", "\\\\propto", true);\ndefineSymbol(symbols_math, main, rel, "\\u22A2", "\\\\vdash", true);\ndefineSymbol(symbols_math, main, rel, "\\u22A3", "\\\\dashv", true);\ndefineSymbol(symbols_math, main, rel, "\\u220B", "\\\\owns"); // Punctuation\n\ndefineSymbol(symbols_math, main, punct, ".", "\\\\ldotp");\ndefineSymbol(symbols_math, main, punct, "\\u22C5", "\\\\cdotp"); // Misc Symbols\n\ndefineSymbol(symbols_math, main, symbols_textord, "#", "\\\\#");\ndefineSymbol(symbols_text, main, symbols_textord, "#", "\\\\#");\ndefineSymbol(symbols_math, main, symbols_textord, "&", "\\\\&");\ndefineSymbol(symbols_text, main, symbols_textord, "&", "\\\\&");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2135", "\\\\aleph", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2200", "\\\\forall", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u210F", "\\\\hbar", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2203", "\\\\exists", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2207", "\\\\nabla", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u266D", "\\\\flat", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2113", "\\\\ell", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u266E", "\\\\natural", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2663", "\\\\clubsuit", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2118", "\\\\wp", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u266F", "\\\\sharp", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2662", "\\\\diamondsuit", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u211C", "\\\\Re", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2661", "\\\\heartsuit", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2111", "\\\\Im", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2660", "\\\\spadesuit", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xA7", "\\\\S", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xB6", "\\\\P", true); // Math and Text\n\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2020", "\\\\dag");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2020", "\\\\dag");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2020", "\\\\textdagger");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2021", "\\\\ddag");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2021", "\\\\ddag");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2021", "\\\\textdaggerdbl"); // Large Delimiters\n\ndefineSymbol(symbols_math, main, symbols_close, "\\u23B1", "\\\\rmoustache", true);\ndefineSymbol(symbols_math, main, symbols_open, "\\u23B0", "\\\\lmoustache", true);\ndefineSymbol(symbols_math, main, symbols_close, "\\u27EF", "\\\\rgroup", true);\ndefineSymbol(symbols_math, main, symbols_open, "\\u27EE", "\\\\lgroup", true); // Binary Operators\n\ndefineSymbol(symbols_math, main, bin, "\\u2213", "\\\\mp", true);\ndefineSymbol(symbols_math, main, bin, "\\u2296", "\\\\ominus", true);\ndefineSymbol(symbols_math, main, bin, "\\u228E", "\\\\uplus", true);\ndefineSymbol(symbols_math, main, bin, "\\u2293", "\\\\sqcap", true);\ndefineSymbol(symbols_math, main, bin, "\\u2217", "\\\\ast");\ndefineSymbol(symbols_math, main, bin, "\\u2294", "\\\\sqcup", true);\ndefineSymbol(symbols_math, main, bin, "\\u25EF", "\\\\bigcirc");\ndefineSymbol(symbols_math, main, bin, "\\u2219", "\\\\bullet");\ndefineSymbol(symbols_math, main, bin, "\\u2021", "\\\\ddagger");\ndefineSymbol(symbols_math, main, bin, "\\u2240", "\\\\wr", true);\ndefineSymbol(symbols_math, main, bin, "\\u2A3F", "\\\\amalg");\ndefineSymbol(symbols_math, main, bin, "&", "\\\\And"); // from amsmath\n// Arrow Symbols\n\ndefineSymbol(symbols_math, main, rel, "\\u27F5", "\\\\longleftarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21D0", "\\\\Leftarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u27F8", "\\\\Longleftarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u27F6", "\\\\longrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21D2", "\\\\Rightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u27F9", "\\\\Longrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u2194", "\\\\leftrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u27F7", "\\\\longleftrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21D4", "\\\\Leftrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u27FA", "\\\\Longleftrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21A6", "\\\\mapsto", true);\ndefineSymbol(symbols_math, main, rel, "\\u27FC", "\\\\longmapsto", true);\ndefineSymbol(symbols_math, main, rel, "\\u2197", "\\\\nearrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21A9", "\\\\hookleftarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21AA", "\\\\hookrightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u2198", "\\\\searrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21BC", "\\\\leftharpoonup", true);\ndefineSymbol(symbols_math, main, rel, "\\u21C0", "\\\\rightharpoonup", true);\ndefineSymbol(symbols_math, main, rel, "\\u2199", "\\\\swarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21BD", "\\\\leftharpoondown", true);\ndefineSymbol(symbols_math, main, rel, "\\u21C1", "\\\\rightharpoondown", true);\ndefineSymbol(symbols_math, main, rel, "\\u2196", "\\\\nwarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21CC", "\\\\rightleftharpoons", true); // AMS Negated Binary Relations\n\ndefineSymbol(symbols_math, ams, rel, "\\u226E", "\\\\nless", true); // Symbol names preceeded by "@" each have a corresponding macro.\n\ndefineSymbol(symbols_math, ams, rel, "\\uE010", "\\\\@nleqslant");\ndefineSymbol(symbols_math, ams, rel, "\\uE011", "\\\\@nleqq");\ndefineSymbol(symbols_math, ams, rel, "\\u2A87", "\\\\lneq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2268", "\\\\lneqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE00C", "\\\\@lvertneqq");\ndefineSymbol(symbols_math, ams, rel, "\\u22E6", "\\\\lnsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A89", "\\\\lnapprox", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2280", "\\\\nprec", true); // unicode-math maps \\u22e0 to \\npreccurlyeq. We\'ll use the AMS synonym.\n\ndefineSymbol(symbols_math, ams, rel, "\\u22E0", "\\\\npreceq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22E8", "\\\\precnsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2AB9", "\\\\precnapprox", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2241", "\\\\nsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE006", "\\\\@nshortmid");\ndefineSymbol(symbols_math, ams, rel, "\\u2224", "\\\\nmid", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22AC", "\\\\nvdash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22AD", "\\\\nvDash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22EA", "\\\\ntriangleleft");\ndefineSymbol(symbols_math, ams, rel, "\\u22EC", "\\\\ntrianglelefteq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u228A", "\\\\subsetneq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE01A", "\\\\@varsubsetneq");\ndefineSymbol(symbols_math, ams, rel, "\\u2ACB", "\\\\subsetneqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE017", "\\\\@varsubsetneqq");\ndefineSymbol(symbols_math, ams, rel, "\\u226F", "\\\\ngtr", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE00F", "\\\\@ngeqslant");\ndefineSymbol(symbols_math, ams, rel, "\\uE00E", "\\\\@ngeqq");\ndefineSymbol(symbols_math, ams, rel, "\\u2A88", "\\\\gneq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2269", "\\\\gneqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE00D", "\\\\@gvertneqq");\ndefineSymbol(symbols_math, ams, rel, "\\u22E7", "\\\\gnsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A8A", "\\\\gnapprox", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2281", "\\\\nsucc", true); // unicode-math maps \\u22e1 to \\nsucccurlyeq. We\'ll use the AMS synonym.\n\ndefineSymbol(symbols_math, ams, rel, "\\u22E1", "\\\\nsucceq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22E9", "\\\\succnsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2ABA", "\\\\succnapprox", true); // unicode-math maps \\u2246 to \\simneqq. We\'ll use the AMS synonym.\n\ndefineSymbol(symbols_math, ams, rel, "\\u2246", "\\\\ncong", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE007", "\\\\@nshortparallel");\ndefineSymbol(symbols_math, ams, rel, "\\u2226", "\\\\nparallel", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22AF", "\\\\nVDash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22EB", "\\\\ntriangleright");\ndefineSymbol(symbols_math, ams, rel, "\\u22ED", "\\\\ntrianglerighteq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE018", "\\\\@nsupseteqq");\ndefineSymbol(symbols_math, ams, rel, "\\u228B", "\\\\supsetneq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE01B", "\\\\@varsupsetneq");\ndefineSymbol(symbols_math, ams, rel, "\\u2ACC", "\\\\supsetneqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE019", "\\\\@varsupsetneqq");\ndefineSymbol(symbols_math, ams, rel, "\\u22AE", "\\\\nVdash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2AB5", "\\\\precneqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2AB6", "\\\\succneqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\uE016", "\\\\@nsubseteqq");\ndefineSymbol(symbols_math, ams, bin, "\\u22B4", "\\\\unlhd");\ndefineSymbol(symbols_math, ams, bin, "\\u22B5", "\\\\unrhd"); // AMS Negated Arrows\n\ndefineSymbol(symbols_math, ams, rel, "\\u219A", "\\\\nleftarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u219B", "\\\\nrightarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21CD", "\\\\nLeftarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21CF", "\\\\nRightarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21AE", "\\\\nleftrightarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21CE", "\\\\nLeftrightarrow", true); // AMS Misc\n\ndefineSymbol(symbols_math, ams, rel, "\\u25B3", "\\\\vartriangle");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u210F", "\\\\hslash");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25BD", "\\\\triangledown");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25CA", "\\\\lozenge");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u24C8", "\\\\circledS");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\xAE", "\\\\circledR");\ndefineSymbol(symbols_text, ams, symbols_textord, "\\xAE", "\\\\circledR");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2221", "\\\\measuredangle", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2204", "\\\\nexists");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2127", "\\\\mho");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2132", "\\\\Finv", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2141", "\\\\Game", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2035", "\\\\backprime");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25B2", "\\\\blacktriangle");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25BC", "\\\\blacktriangledown");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25A0", "\\\\blacksquare");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u29EB", "\\\\blacklozenge");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2605", "\\\\bigstar");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2222", "\\\\sphericalangle", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2201", "\\\\complement", true); // unicode-math maps U+F0 (\xf0) to \\matheth. We map to AMS function \\eth\n\ndefineSymbol(symbols_math, ams, symbols_textord, "\\xF0", "\\\\eth", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2571", "\\\\diagup");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2572", "\\\\diagdown");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25A1", "\\\\square");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25A1", "\\\\Box");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u25CA", "\\\\Diamond"); // unicode-math maps U+A5 to \\mathyen. We map to AMS function \\yen\n\ndefineSymbol(symbols_math, ams, symbols_textord, "\\xA5", "\\\\yen", true);\ndefineSymbol(symbols_text, ams, symbols_textord, "\\xA5", "\\\\yen", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2713", "\\\\checkmark", true);\ndefineSymbol(symbols_text, ams, symbols_textord, "\\u2713", "\\\\checkmark"); // AMS Hebrew\n\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2136", "\\\\beth", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2138", "\\\\daleth", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2137", "\\\\gimel", true); // AMS Greek\n\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u03DD", "\\\\digamma", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u03F0", "\\\\varkappa"); // AMS Delimiters\n\ndefineSymbol(symbols_math, ams, symbols_open, "\\u250C", "\\\\ulcorner", true);\ndefineSymbol(symbols_math, ams, symbols_close, "\\u2510", "\\\\urcorner", true);\ndefineSymbol(symbols_math, ams, symbols_open, "\\u2514", "\\\\llcorner", true);\ndefineSymbol(symbols_math, ams, symbols_close, "\\u2518", "\\\\lrcorner", true); // AMS Binary Relations\n\ndefineSymbol(symbols_math, ams, rel, "\\u2266", "\\\\leqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A7D", "\\\\leqslant", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A95", "\\\\eqslantless", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2272", "\\\\lesssim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A85", "\\\\lessapprox", true);\ndefineSymbol(symbols_math, ams, rel, "\\u224A", "\\\\approxeq", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22D6", "\\\\lessdot");\ndefineSymbol(symbols_math, ams, rel, "\\u22D8", "\\\\lll", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2276", "\\\\lessgtr", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22DA", "\\\\lesseqgtr", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A8B", "\\\\lesseqqgtr", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2251", "\\\\doteqdot");\ndefineSymbol(symbols_math, ams, rel, "\\u2253", "\\\\risingdotseq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2252", "\\\\fallingdotseq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u223D", "\\\\backsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22CD", "\\\\backsimeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2AC5", "\\\\subseteqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22D0", "\\\\Subset", true);\ndefineSymbol(symbols_math, ams, rel, "\\u228F", "\\\\sqsubset", true);\ndefineSymbol(symbols_math, ams, rel, "\\u227C", "\\\\preccurlyeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22DE", "\\\\curlyeqprec", true);\ndefineSymbol(symbols_math, ams, rel, "\\u227E", "\\\\precsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2AB7", "\\\\precapprox", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22B2", "\\\\vartriangleleft");\ndefineSymbol(symbols_math, ams, rel, "\\u22B4", "\\\\trianglelefteq");\ndefineSymbol(symbols_math, ams, rel, "\\u22A8", "\\\\vDash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22AA", "\\\\Vvdash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2323", "\\\\smallsmile");\ndefineSymbol(symbols_math, ams, rel, "\\u2322", "\\\\smallfrown");\ndefineSymbol(symbols_math, ams, rel, "\\u224F", "\\\\bumpeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u224E", "\\\\Bumpeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2267", "\\\\geqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A7E", "\\\\geqslant", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A96", "\\\\eqslantgtr", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2273", "\\\\gtrsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A86", "\\\\gtrapprox", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22D7", "\\\\gtrdot");\ndefineSymbol(symbols_math, ams, rel, "\\u22D9", "\\\\ggg", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2277", "\\\\gtrless", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22DB", "\\\\gtreqless", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2A8C", "\\\\gtreqqless", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2256", "\\\\eqcirc", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2257", "\\\\circeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u225C", "\\\\triangleq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u223C", "\\\\thicksim");\ndefineSymbol(symbols_math, ams, rel, "\\u2248", "\\\\thickapprox");\ndefineSymbol(symbols_math, ams, rel, "\\u2AC6", "\\\\supseteqq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22D1", "\\\\Supset", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2290", "\\\\sqsupset", true);\ndefineSymbol(symbols_math, ams, rel, "\\u227D", "\\\\succcurlyeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22DF", "\\\\curlyeqsucc", true);\ndefineSymbol(symbols_math, ams, rel, "\\u227F", "\\\\succsim", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2AB8", "\\\\succapprox", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22B3", "\\\\vartriangleright");\ndefineSymbol(symbols_math, ams, rel, "\\u22B5", "\\\\trianglerighteq");\ndefineSymbol(symbols_math, ams, rel, "\\u22A9", "\\\\Vdash", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2223", "\\\\shortmid");\ndefineSymbol(symbols_math, ams, rel, "\\u2225", "\\\\shortparallel");\ndefineSymbol(symbols_math, ams, rel, "\\u226C", "\\\\between", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22D4", "\\\\pitchfork", true);\ndefineSymbol(symbols_math, ams, rel, "\\u221D", "\\\\varpropto");\ndefineSymbol(symbols_math, ams, rel, "\\u25C0", "\\\\blacktriangleleft"); // unicode-math says that \\therefore is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(symbols_math, ams, rel, "\\u2234", "\\\\therefore", true);\ndefineSymbol(symbols_math, ams, rel, "\\u220D", "\\\\backepsilon");\ndefineSymbol(symbols_math, ams, rel, "\\u25B6", "\\\\blacktriangleright"); // unicode-math says that \\because is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(symbols_math, ams, rel, "\\u2235", "\\\\because", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22D8", "\\\\llless");\ndefineSymbol(symbols_math, ams, rel, "\\u22D9", "\\\\gggtr");\ndefineSymbol(symbols_math, ams, bin, "\\u22B2", "\\\\lhd");\ndefineSymbol(symbols_math, ams, bin, "\\u22B3", "\\\\rhd");\ndefineSymbol(symbols_math, ams, rel, "\\u2242", "\\\\eqsim", true);\ndefineSymbol(symbols_math, main, rel, "\\u22C8", "\\\\Join");\ndefineSymbol(symbols_math, ams, rel, "\\u2251", "\\\\Doteq", true); // AMS Binary Operators\n\ndefineSymbol(symbols_math, ams, bin, "\\u2214", "\\\\dotplus", true);\ndefineSymbol(symbols_math, ams, bin, "\\u2216", "\\\\smallsetminus");\ndefineSymbol(symbols_math, ams, bin, "\\u22D2", "\\\\Cap", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22D3", "\\\\Cup", true);\ndefineSymbol(symbols_math, ams, bin, "\\u2A5E", "\\\\doublebarwedge", true);\ndefineSymbol(symbols_math, ams, bin, "\\u229F", "\\\\boxminus", true);\ndefineSymbol(symbols_math, ams, bin, "\\u229E", "\\\\boxplus", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22C7", "\\\\divideontimes", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22C9", "\\\\ltimes", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22CA", "\\\\rtimes", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22CB", "\\\\leftthreetimes", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22CC", "\\\\rightthreetimes", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22CF", "\\\\curlywedge", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22CE", "\\\\curlyvee", true);\ndefineSymbol(symbols_math, ams, bin, "\\u229D", "\\\\circleddash", true);\ndefineSymbol(symbols_math, ams, bin, "\\u229B", "\\\\circledast", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22C5", "\\\\centerdot");\ndefineSymbol(symbols_math, ams, bin, "\\u22BA", "\\\\intercal", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22D2", "\\\\doublecap");\ndefineSymbol(symbols_math, ams, bin, "\\u22D3", "\\\\doublecup");\ndefineSymbol(symbols_math, ams, bin, "\\u22A0", "\\\\boxtimes", true); // AMS Arrows\n// Note: unicode-math maps \\u21e2 to their own function \\rightdasharrow.\n// We\'ll map it to AMS function \\dashrightarrow. It produces the same atom.\n\ndefineSymbol(symbols_math, ams, rel, "\\u21E2", "\\\\dashrightarrow", true); // unicode-math maps \\u21e0 to \\leftdasharrow. We\'ll use the AMS synonym.\n\ndefineSymbol(symbols_math, ams, rel, "\\u21E0", "\\\\dashleftarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C7", "\\\\leftleftarrows", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C6", "\\\\leftrightarrows", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21DA", "\\\\Lleftarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u219E", "\\\\twoheadleftarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21A2", "\\\\leftarrowtail", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21AB", "\\\\looparrowleft", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21CB", "\\\\leftrightharpoons", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21B6", "\\\\curvearrowleft", true); // unicode-math maps \\u21ba to \\acwopencirclearrow. We\'ll use the AMS synonym.\n\ndefineSymbol(symbols_math, ams, rel, "\\u21BA", "\\\\circlearrowleft", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21B0", "\\\\Lsh", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C8", "\\\\upuparrows", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21BF", "\\\\upharpoonleft", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C3", "\\\\downharpoonleft", true);\ndefineSymbol(symbols_math, ams, rel, "\\u22B8", "\\\\multimap", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21AD", "\\\\leftrightsquigarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C9", "\\\\rightrightarrows", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C4", "\\\\rightleftarrows", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21A0", "\\\\twoheadrightarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21A3", "\\\\rightarrowtail", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21AC", "\\\\looparrowright", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21B7", "\\\\curvearrowright", true); // unicode-math maps \\u21bb to \\cwopencirclearrow. We\'ll use the AMS synonym.\n\ndefineSymbol(symbols_math, ams, rel, "\\u21BB", "\\\\circlearrowright", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21B1", "\\\\Rsh", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21CA", "\\\\downdownarrows", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21BE", "\\\\upharpoonright", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21C2", "\\\\downharpoonright", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21DD", "\\\\rightsquigarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21DD", "\\\\leadsto");\ndefineSymbol(symbols_math, ams, rel, "\\u21DB", "\\\\Rrightarrow", true);\ndefineSymbol(symbols_math, ams, rel, "\\u21BE", "\\\\restriction");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2018", "`");\ndefineSymbol(symbols_math, main, symbols_textord, "$", "\\\\$");\ndefineSymbol(symbols_text, main, symbols_textord, "$", "\\\\$");\ndefineSymbol(symbols_text, main, symbols_textord, "$", "\\\\textdollar");\ndefineSymbol(symbols_math, main, symbols_textord, "%", "\\\\%");\ndefineSymbol(symbols_text, main, symbols_textord, "%", "\\\\%");\ndefineSymbol(symbols_math, main, symbols_textord, "_", "\\\\_");\ndefineSymbol(symbols_text, main, symbols_textord, "_", "\\\\_");\ndefineSymbol(symbols_text, main, symbols_textord, "_", "\\\\textunderscore");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2220", "\\\\angle", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u221E", "\\\\infty", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2032", "\\\\prime");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u25B3", "\\\\triangle");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u0393", "\\\\Gamma", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u0394", "\\\\Delta", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u0398", "\\\\Theta", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u039B", "\\\\Lambda", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u039E", "\\\\Xi", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u03A0", "\\\\Pi", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u03A3", "\\\\Sigma", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u03A5", "\\\\Upsilon", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u03A6", "\\\\Phi", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u03A8", "\\\\Psi", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u03A9", "\\\\Omega", true);\ndefineSymbol(symbols_math, main, symbols_textord, "A", "\\u0391");\ndefineSymbol(symbols_math, main, symbols_textord, "B", "\\u0392");\ndefineSymbol(symbols_math, main, symbols_textord, "E", "\\u0395");\ndefineSymbol(symbols_math, main, symbols_textord, "Z", "\\u0396");\ndefineSymbol(symbols_math, main, symbols_textord, "H", "\\u0397");\ndefineSymbol(symbols_math, main, symbols_textord, "I", "\\u0399");\ndefineSymbol(symbols_math, main, symbols_textord, "K", "\\u039A");\ndefineSymbol(symbols_math, main, symbols_textord, "M", "\\u039C");\ndefineSymbol(symbols_math, main, symbols_textord, "N", "\\u039D");\ndefineSymbol(symbols_math, main, symbols_textord, "O", "\\u039F");\ndefineSymbol(symbols_math, main, symbols_textord, "P", "\\u03A1");\ndefineSymbol(symbols_math, main, symbols_textord, "T", "\\u03A4");\ndefineSymbol(symbols_math, main, symbols_textord, "X", "\\u03A7");\ndefineSymbol(symbols_math, main, symbols_textord, "\\xAC", "\\\\neg", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\xAC", "\\\\lnot");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u22A4", "\\\\top");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u22A5", "\\\\bot");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2205", "\\\\emptyset");\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2205", "\\\\varnothing");\ndefineSymbol(symbols_math, main, mathord, "\\u03B1", "\\\\alpha", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B2", "\\\\beta", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B3", "\\\\gamma", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B4", "\\\\delta", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03F5", "\\\\epsilon", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B6", "\\\\zeta", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B7", "\\\\eta", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B8", "\\\\theta", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B9", "\\\\iota", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03BA", "\\\\kappa", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03BB", "\\\\lambda", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03BC", "\\\\mu", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03BD", "\\\\nu", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03BE", "\\\\xi", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03BF", "\\\\omicron", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C0", "\\\\pi", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C1", "\\\\rho", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C3", "\\\\sigma", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C4", "\\\\tau", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C5", "\\\\upsilon", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03D5", "\\\\phi", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C7", "\\\\chi", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C8", "\\\\psi", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C9", "\\\\omega", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03B5", "\\\\varepsilon", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03D1", "\\\\vartheta", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03D6", "\\\\varpi", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03F1", "\\\\varrho", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C2", "\\\\varsigma", true);\ndefineSymbol(symbols_math, main, mathord, "\\u03C6", "\\\\varphi", true);\ndefineSymbol(symbols_math, main, bin, "\\u2217", "*");\ndefineSymbol(symbols_math, main, bin, "+", "+");\ndefineSymbol(symbols_math, main, bin, "\\u2212", "-");\ndefineSymbol(symbols_math, main, bin, "\\u22C5", "\\\\cdot", true);\ndefineSymbol(symbols_math, main, bin, "\\u2218", "\\\\circ");\ndefineSymbol(symbols_math, main, bin, "\\xF7", "\\\\div", true);\ndefineSymbol(symbols_math, main, bin, "\\xB1", "\\\\pm", true);\ndefineSymbol(symbols_math, main, bin, "\\xD7", "\\\\times", true);\ndefineSymbol(symbols_math, main, bin, "\\u2229", "\\\\cap", true);\ndefineSymbol(symbols_math, main, bin, "\\u222A", "\\\\cup", true);\ndefineSymbol(symbols_math, main, bin, "\\u2216", "\\\\setminus");\ndefineSymbol(symbols_math, main, bin, "\\u2227", "\\\\land");\ndefineSymbol(symbols_math, main, bin, "\\u2228", "\\\\lor");\ndefineSymbol(symbols_math, main, bin, "\\u2227", "\\\\wedge", true);\ndefineSymbol(symbols_math, main, bin, "\\u2228", "\\\\vee", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u221A", "\\\\surd");\ndefineSymbol(symbols_math, main, symbols_open, "(", "(");\ndefineSymbol(symbols_math, main, symbols_open, "[", "[");\ndefineSymbol(symbols_math, main, symbols_open, "\\u27E8", "\\\\langle", true);\ndefineSymbol(symbols_math, main, symbols_open, "\\u2223", "\\\\lvert");\ndefineSymbol(symbols_math, main, symbols_open, "\\u2225", "\\\\lVert");\ndefineSymbol(symbols_math, main, symbols_close, ")", ")");\ndefineSymbol(symbols_math, main, symbols_close, "]", "]");\ndefineSymbol(symbols_math, main, symbols_close, "?", "?");\ndefineSymbol(symbols_math, main, symbols_close, "!", "!");\ndefineSymbol(symbols_math, main, symbols_close, "\\u27E9", "\\\\rangle", true);\ndefineSymbol(symbols_math, main, symbols_close, "\\u2223", "\\\\rvert");\ndefineSymbol(symbols_math, main, symbols_close, "\\u2225", "\\\\rVert");\ndefineSymbol(symbols_math, main, rel, "=", "=");\ndefineSymbol(symbols_math, main, rel, "<", "<");\ndefineSymbol(symbols_math, main, rel, ">", ">");\ndefineSymbol(symbols_math, main, rel, ":", ":");\ndefineSymbol(symbols_math, main, rel, "\\u2248", "\\\\approx", true);\ndefineSymbol(symbols_math, main, rel, "\\u2245", "\\\\cong", true);\ndefineSymbol(symbols_math, main, rel, "\\u2265", "\\\\ge");\ndefineSymbol(symbols_math, main, rel, "\\u2265", "\\\\geq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2190", "\\\\gets");\ndefineSymbol(symbols_math, main, rel, ">", "\\\\gt");\ndefineSymbol(symbols_math, main, rel, "\\u2208", "\\\\in", true);\ndefineSymbol(symbols_math, main, rel, "\\uE020", "\\\\@not");\ndefineSymbol(symbols_math, main, rel, "\\u2282", "\\\\subset", true);\ndefineSymbol(symbols_math, main, rel, "\\u2283", "\\\\supset", true);\ndefineSymbol(symbols_math, main, rel, "\\u2286", "\\\\subseteq", true);\ndefineSymbol(symbols_math, main, rel, "\\u2287", "\\\\supseteq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2288", "\\\\nsubseteq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2289", "\\\\nsupseteq", true);\ndefineSymbol(symbols_math, main, rel, "\\u22A8", "\\\\models");\ndefineSymbol(symbols_math, main, rel, "\\u2190", "\\\\leftarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u2264", "\\\\le");\ndefineSymbol(symbols_math, main, rel, "\\u2264", "\\\\leq", true);\ndefineSymbol(symbols_math, main, rel, "<", "\\\\lt");\ndefineSymbol(symbols_math, main, rel, "\\u2192", "\\\\rightarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u2192", "\\\\to");\ndefineSymbol(symbols_math, ams, rel, "\\u2271", "\\\\ngeq", true);\ndefineSymbol(symbols_math, ams, rel, "\\u2270", "\\\\nleq", true);\ndefineSymbol(symbols_math, main, symbols_spacing, "\\xA0", "\\\\ ");\ndefineSymbol(symbols_math, main, symbols_spacing, "\\xA0", "~");\ndefineSymbol(symbols_math, main, symbols_spacing, "\\xA0", "\\\\space"); // Ref: LaTeX Source 2e: \\DeclareRobustCommand{\\nobreakspace}{%\n\ndefineSymbol(symbols_math, main, symbols_spacing, "\\xA0", "\\\\nobreakspace");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", "\\\\ ");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", "~");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", "\\\\space");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", "\\\\nobreakspace");\ndefineSymbol(symbols_math, main, symbols_spacing, null, "\\\\nobreak");\ndefineSymbol(symbols_math, main, symbols_spacing, null, "\\\\allowbreak");\ndefineSymbol(symbols_math, main, punct, ",", ",");\ndefineSymbol(symbols_math, main, punct, ";", ";");\ndefineSymbol(symbols_math, ams, bin, "\\u22BC", "\\\\barwedge", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22BB", "\\\\veebar", true);\ndefineSymbol(symbols_math, main, bin, "\\u2299", "\\\\odot", true);\ndefineSymbol(symbols_math, main, bin, "\\u2295", "\\\\oplus", true);\ndefineSymbol(symbols_math, main, bin, "\\u2297", "\\\\otimes", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2202", "\\\\partial", true);\ndefineSymbol(symbols_math, main, bin, "\\u2298", "\\\\oslash", true);\ndefineSymbol(symbols_math, ams, bin, "\\u229A", "\\\\circledcirc", true);\ndefineSymbol(symbols_math, ams, bin, "\\u22A1", "\\\\boxdot", true);\ndefineSymbol(symbols_math, main, bin, "\\u25B3", "\\\\bigtriangleup");\ndefineSymbol(symbols_math, main, bin, "\\u25BD", "\\\\bigtriangledown");\ndefineSymbol(symbols_math, main, bin, "\\u2020", "\\\\dagger");\ndefineSymbol(symbols_math, main, bin, "\\u22C4", "\\\\diamond");\ndefineSymbol(symbols_math, main, bin, "\\u22C6", "\\\\star");\ndefineSymbol(symbols_math, main, bin, "\\u25C3", "\\\\triangleleft");\ndefineSymbol(symbols_math, main, bin, "\\u25B9", "\\\\triangleright");\ndefineSymbol(symbols_math, main, symbols_open, "{", "\\\\{");\ndefineSymbol(symbols_text, main, symbols_textord, "{", "\\\\{");\ndefineSymbol(symbols_text, main, symbols_textord, "{", "\\\\textbraceleft");\ndefineSymbol(symbols_math, main, symbols_close, "}", "\\\\}");\ndefineSymbol(symbols_text, main, symbols_textord, "}", "\\\\}");\ndefineSymbol(symbols_text, main, symbols_textord, "}", "\\\\textbraceright");\ndefineSymbol(symbols_math, main, symbols_open, "{", "\\\\lbrace");\ndefineSymbol(symbols_math, main, symbols_close, "}", "\\\\rbrace");\ndefineSymbol(symbols_math, main, symbols_open, "[", "\\\\lbrack");\ndefineSymbol(symbols_text, main, symbols_textord, "[", "\\\\lbrack");\ndefineSymbol(symbols_math, main, symbols_close, "]", "\\\\rbrack");\ndefineSymbol(symbols_text, main, symbols_textord, "]", "\\\\rbrack");\ndefineSymbol(symbols_math, main, symbols_open, "(", "\\\\lparen");\ndefineSymbol(symbols_math, main, symbols_close, ")", "\\\\rparen");\ndefineSymbol(symbols_text, main, symbols_textord, "<", "\\\\textless"); // in T1 fontenc\n\ndefineSymbol(symbols_text, main, symbols_textord, ">", "\\\\textgreater"); // in T1 fontenc\n\ndefineSymbol(symbols_math, main, symbols_open, "\\u230A", "\\\\lfloor", true);\ndefineSymbol(symbols_math, main, symbols_close, "\\u230B", "\\\\rfloor", true);\ndefineSymbol(symbols_math, main, symbols_open, "\\u2308", "\\\\lceil", true);\ndefineSymbol(symbols_math, main, symbols_close, "\\u2309", "\\\\rceil", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\\\", "\\\\backslash");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2223", "|");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2223", "\\\\vert");\ndefineSymbol(symbols_text, main, symbols_textord, "|", "\\\\textbar"); // in T1 fontenc\n\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2225", "\\\\|");\ndefineSymbol(symbols_math, main, symbols_textord, "\\u2225", "\\\\Vert");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2225", "\\\\textbardbl");\ndefineSymbol(symbols_text, main, symbols_textord, "~", "\\\\textasciitilde");\ndefineSymbol(symbols_text, main, symbols_textord, "\\\\", "\\\\textbackslash");\ndefineSymbol(symbols_text, main, symbols_textord, "^", "\\\\textasciicircum");\ndefineSymbol(symbols_math, main, rel, "\\u2191", "\\\\uparrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21D1", "\\\\Uparrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u2193", "\\\\downarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21D3", "\\\\Downarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u2195", "\\\\updownarrow", true);\ndefineSymbol(symbols_math, main, rel, "\\u21D5", "\\\\Updownarrow", true);\ndefineSymbol(symbols_math, main, op, "\\u2210", "\\\\coprod");\ndefineSymbol(symbols_math, main, op, "\\u22C1", "\\\\bigvee");\ndefineSymbol(symbols_math, main, op, "\\u22C0", "\\\\bigwedge");\ndefineSymbol(symbols_math, main, op, "\\u2A04", "\\\\biguplus");\ndefineSymbol(symbols_math, main, op, "\\u22C2", "\\\\bigcap");\ndefineSymbol(symbols_math, main, op, "\\u22C3", "\\\\bigcup");\ndefineSymbol(symbols_math, main, op, "\\u222B", "\\\\int");\ndefineSymbol(symbols_math, main, op, "\\u222B", "\\\\intop");\ndefineSymbol(symbols_math, main, op, "\\u222C", "\\\\iint");\ndefineSymbol(symbols_math, main, op, "\\u222D", "\\\\iiint");\ndefineSymbol(symbols_math, main, op, "\\u220F", "\\\\prod");\ndefineSymbol(symbols_math, main, op, "\\u2211", "\\\\sum");\ndefineSymbol(symbols_math, main, op, "\\u2A02", "\\\\bigotimes");\ndefineSymbol(symbols_math, main, op, "\\u2A01", "\\\\bigoplus");\ndefineSymbol(symbols_math, main, op, "\\u2A00", "\\\\bigodot");\ndefineSymbol(symbols_math, main, op, "\\u222E", "\\\\oint");\ndefineSymbol(symbols_math, main, op, "\\u222F", "\\\\oiint");\ndefineSymbol(symbols_math, main, op, "\\u2230", "\\\\oiiint");\ndefineSymbol(symbols_math, main, op, "\\u2A06", "\\\\bigsqcup");\ndefineSymbol(symbols_math, main, op, "\\u222B", "\\\\smallint");\ndefineSymbol(symbols_text, main, symbols_inner, "\\u2026", "\\\\textellipsis");\ndefineSymbol(symbols_math, main, symbols_inner, "\\u2026", "\\\\mathellipsis");\ndefineSymbol(symbols_text, main, symbols_inner, "\\u2026", "\\\\ldots", true);\ndefineSymbol(symbols_math, main, symbols_inner, "\\u2026", "\\\\ldots", true);\ndefineSymbol(symbols_math, main, symbols_inner, "\\u22EF", "\\\\@cdots", true);\ndefineSymbol(symbols_math, main, symbols_inner, "\\u22F1", "\\\\ddots", true);\ndefineSymbol(symbols_math, main, symbols_textord, "\\u22EE", "\\\\varvdots"); // \\vdots is a macro\n\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02CA", "\\\\acute");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02CB", "\\\\grave");\ndefineSymbol(symbols_math, main, symbols_accent, "\\xA8", "\\\\ddot");\ndefineSymbol(symbols_math, main, symbols_accent, "~", "\\\\tilde");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02C9", "\\\\bar");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02D8", "\\\\breve");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02C7", "\\\\check");\ndefineSymbol(symbols_math, main, symbols_accent, "^", "\\\\hat");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u20D7", "\\\\vec");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02D9", "\\\\dot");\ndefineSymbol(symbols_math, main, symbols_accent, "\\u02DA", "\\\\mathring");\ndefineSymbol(symbols_math, main, mathord, "\\u0131", "\\\\imath", true);\ndefineSymbol(symbols_math, main, mathord, "\\u0237", "\\\\jmath", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\u0131", "\\\\i", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\u0237", "\\\\j", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xDF", "\\\\ss", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xE6", "\\\\ae", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xE6", "\\\\ae", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\u0153", "\\\\oe", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xF8", "\\\\o", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xC6", "\\\\AE", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\u0152", "\\\\OE", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xD8", "\\\\O", true);\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02CA", "\\\\\'"); // acute\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02CB", "\\\\`"); // grave\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02C6", "\\\\^"); // circumflex\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02DC", "\\\\~"); // tilde\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02C9", "\\\\="); // macron\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02D8", "\\\\u"); // breve\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02D9", "\\\\."); // dot above\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02DA", "\\\\r"); // ring above\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02C7", "\\\\v"); // caron\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\xA8", \'\\\\"\'); // diaresis\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u02DD", "\\\\H"); // double acute\n\ndefineSymbol(symbols_text, main, symbols_accent, "\\u25EF", "\\\\textcircled"); // \\bigcirc glyph\n// These ligatures are detected and created in Parser.js\'s `formLigatures`.\n\nvar ligatures = {\n "--": true,\n "---": true,\n "``": true,\n "\'\'": true\n};\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2013", "--");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2013", "\\\\textendash");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2014", "---");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2014", "\\\\textemdash");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2018", "`");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2018", "\\\\textquoteleft");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2019", "\'");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2019", "\\\\textquoteright");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u201C", "``");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u201C", "\\\\textquotedblleft");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u201D", "\'\'");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u201D", "\\\\textquotedblright"); // \\degree from gensymb package\n\ndefineSymbol(symbols_math, main, symbols_textord, "\\xB0", "\\\\degree", true);\ndefineSymbol(symbols_text, main, symbols_textord, "\\xB0", "\\\\degree"); // \\textdegree from inputenc package\n\ndefineSymbol(symbols_text, main, symbols_textord, "\\xB0", "\\\\textdegree", true); // TODO: In LaTeX, \\pounds can generate a different character in text and math\n// mode, but among our fonts, only Main-Italic defines this character "163".\n\ndefineSymbol(symbols_math, main, mathord, "\\xA3", "\\\\pounds");\ndefineSymbol(symbols_math, main, mathord, "\\xA3", "\\\\mathsterling", true);\ndefineSymbol(symbols_text, main, mathord, "\\xA3", "\\\\pounds");\ndefineSymbol(symbols_text, main, mathord, "\\xA3", "\\\\textsterling", true);\ndefineSymbol(symbols_math, ams, symbols_textord, "\\u2720", "\\\\maltese");\ndefineSymbol(symbols_text, ams, symbols_textord, "\\u2720", "\\\\maltese");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", "\\\\ ");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", " ");\ndefineSymbol(symbols_text, main, symbols_spacing, "\\xA0", "~"); // There are lots of symbols which are the same, so we add them in afterwards.\n// All of these are textords in math mode\n\nvar mathTextSymbols = "0123456789/@.\\"";\n\nfor (var symbols_i = 0; symbols_i < mathTextSymbols.length; symbols_i++) {\n var symbols_ch = mathTextSymbols.charAt(symbols_i);\n defineSymbol(symbols_math, main, symbols_textord, symbols_ch, symbols_ch);\n} // All of these are textords in text mode\n\n\nvar textSymbols = "0123456789!@*()-=+[]<>|\\";:?/.,";\n\nfor (var src_symbols_i = 0; src_symbols_i < textSymbols.length; src_symbols_i++) {\n var _ch = textSymbols.charAt(src_symbols_i);\n\n defineSymbol(symbols_text, main, symbols_textord, _ch, _ch);\n} // All of these are textords in text mode, and mathords in math mode\n\n\nvar letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";\n\nfor (var symbols_i2 = 0; symbols_i2 < letters.length; symbols_i2++) {\n var _ch2 = letters.charAt(symbols_i2);\n\n defineSymbol(symbols_math, main, mathord, _ch2, _ch2);\n defineSymbol(symbols_text, main, symbols_textord, _ch2, _ch2);\n} // Blackboard bold and script letters in Unicode range\n\n\ndefineSymbol(symbols_math, ams, symbols_textord, "C", "\\u2102"); // blackboard bold\n\ndefineSymbol(symbols_text, ams, symbols_textord, "C", "\\u2102");\ndefineSymbol(symbols_math, ams, symbols_textord, "H", "\\u210D");\ndefineSymbol(symbols_text, ams, symbols_textord, "H", "\\u210D");\ndefineSymbol(symbols_math, ams, symbols_textord, "N", "\\u2115");\ndefineSymbol(symbols_text, ams, symbols_textord, "N", "\\u2115");\ndefineSymbol(symbols_math, ams, symbols_textord, "P", "\\u2119");\ndefineSymbol(symbols_text, ams, symbols_textord, "P", "\\u2119");\ndefineSymbol(symbols_math, ams, symbols_textord, "Q", "\\u211A");\ndefineSymbol(symbols_text, ams, symbols_textord, "Q", "\\u211A");\ndefineSymbol(symbols_math, ams, symbols_textord, "R", "\\u211D");\ndefineSymbol(symbols_text, ams, symbols_textord, "R", "\\u211D");\ndefineSymbol(symbols_math, ams, symbols_textord, "Z", "\\u2124");\ndefineSymbol(symbols_text, ams, symbols_textord, "Z", "\\u2124");\ndefineSymbol(symbols_math, main, mathord, "h", "\\u210E"); // italic h, Planck constant\n\ndefineSymbol(symbols_text, main, mathord, "h", "\\u210E"); // The next loop loads wide (surrogate pair) characters.\n// We support some letters in the Unicode range U+1D400 to U+1D7FF,\n// Mathematical Alphanumeric Symbols.\n// Some editors do not deal well with wide characters. So don\'t write the\n// string into this file. Instead, create the string from the surrogate pair.\n\nvar symbols_wideChar = "";\n\nfor (var symbols_i3 = 0; symbols_i3 < letters.length; symbols_i3++) {\n var _ch3 = letters.charAt(symbols_i3); // The hex numbers in the next line are a surrogate pair.\n // 0xD835 is the high surrogate for all letters in the range we support.\n // 0xDC00 is the low surrogate for bold A.\n\n\n symbols_wideChar = String.fromCharCode(0xD835, 0xDC00 + symbols_i3); // A-Z a-z bold\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDC34 + symbols_i3); // A-Z a-z italic\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDC68 + symbols_i3); // A-Z a-z bold italic\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDD04 + symbols_i3); // A-Z a-z Fractur\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDDA0 + symbols_i3); // A-Z a-z sans-serif\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDDD4 + symbols_i3); // A-Z a-z sans bold\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDE08 + symbols_i3); // A-Z a-z sans italic\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDE70 + symbols_i3); // A-Z a-z monospace\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n\n if (symbols_i3 < 26) {\n // KaTeX fonts have only capital letters for blackboard bold and script.\n // See exception for k below.\n symbols_wideChar = String.fromCharCode(0xD835, 0xDD38 + symbols_i3); // A-Z double struck\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDC9C + symbols_i3); // A-Z script\n\n defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar);\n } // TODO: Add bold script when it is supported by a KaTeX font.\n\n} // "k" is the only double struck lower case letter in the KaTeX fonts.\n\n\nsymbols_wideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck\n\ndefineSymbol(symbols_math, main, mathord, "k", symbols_wideChar);\ndefineSymbol(symbols_text, main, symbols_textord, "k", symbols_wideChar); // Next, some wide character numerals\n\nfor (var symbols_i4 = 0; symbols_i4 < 10; symbols_i4++) {\n var _ch4 = symbols_i4.toString();\n\n symbols_wideChar = String.fromCharCode(0xD835, 0xDFCE + symbols_i4); // 0-9 bold\n\n defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDFE2 + symbols_i4); // 0-9 sans serif\n\n defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDFEC + symbols_i4); // 0-9 bold sans\n\n defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar);\n symbols_wideChar = String.fromCharCode(0xD835, 0xDFF6 + symbols_i4); // 0-9 monospace\n\n defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar);\n defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar);\n} // We add these Latin-1 letters as symbols for backwards-compatibility,\n// but they are not actually in the font, nor are they supported by the\n// Unicode accent mechanism, so they fall back to Times font and look ugly.\n// TODO(edemaine): Fix this.\n\n\nvar extraLatin = "\xc7\xd0\xde\xe7\xfe";\n\nfor (var _i5 = 0; _i5 < extraLatin.length; _i5++) {\n var _ch5 = extraLatin.charAt(_i5);\n\n defineSymbol(symbols_math, main, mathord, _ch5, _ch5);\n defineSymbol(symbols_text, main, symbols_textord, _ch5, _ch5);\n}\n\ndefineSymbol(symbols_text, main, symbols_textord, "\xf0", "\xf0"); // Unicode versions of existing characters\n\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2013", "\u2013");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2014", "\u2014");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2018", "\u2018");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u2019", "\u2019");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u201C", "\u201c");\ndefineSymbol(symbols_text, main, symbols_textord, "\\u201D", "\u201d");\n// CONCATENATED MODULE: ./src/wide-character.js\n/**\n * This file provides support for Unicode range U+1D400 to U+1D7FF,\n * Mathematical Alphanumeric Symbols.\n *\n * Function wideCharacterFont takes a wide character as input and returns\n * the font information necessary to render it properly.\n */\n\n/**\n * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf\n * That document sorts characters into groups by font type, say bold or italic.\n *\n * In the arrays below, each subarray consists three elements:\n * * The CSS class of that group when in math mode.\n * * The CSS class of that group when in text mode.\n * * The font name, so that KaTeX can get font metrics.\n */\n\nvar wideLatinLetterData = [["mathbf", "textbf", "Main-Bold"], // A-Z bold upright\n["mathbf", "textbf", "Main-Bold"], // a-z bold upright\n["mathdefault", "textit", "Math-Italic"], // A-Z italic\n["mathdefault", "textit", "Math-Italic"], // a-z italic\n["boldsymbol", "boldsymbol", "Main-BoldItalic"], // A-Z bold italic\n["boldsymbol", "boldsymbol", "Main-BoldItalic"], // a-z bold italic\n// Map fancy A-Z letters to script, not calligraphic.\n// This aligns with unicode-math and math fonts (except Cambria Math).\n["mathscr", "textscr", "Script-Regular"], // A-Z script\n["", "", ""], // a-z script. No font\n["", "", ""], // A-Z bold script. No font\n["", "", ""], // a-z bold script. No font\n["mathfrak", "textfrak", "Fraktur-Regular"], // A-Z Fraktur\n["mathfrak", "textfrak", "Fraktur-Regular"], // a-z Fraktur\n["mathbb", "textbb", "AMS-Regular"], // A-Z double-struck\n["mathbb", "textbb", "AMS-Regular"], // k double-struck\n["", "", ""], // A-Z bold Fraktur No font metrics\n["", "", ""], // a-z bold Fraktur. No font.\n["mathsf", "textsf", "SansSerif-Regular"], // A-Z sans-serif\n["mathsf", "textsf", "SansSerif-Regular"], // a-z sans-serif\n["mathboldsf", "textboldsf", "SansSerif-Bold"], // A-Z bold sans-serif\n["mathboldsf", "textboldsf", "SansSerif-Bold"], // a-z bold sans-serif\n["mathitsf", "textitsf", "SansSerif-Italic"], // A-Z italic sans-serif\n["mathitsf", "textitsf", "SansSerif-Italic"], // a-z italic sans-serif\n["", "", ""], // A-Z bold italic sans. No font\n["", "", ""], // a-z bold italic sans. No font\n["mathtt", "texttt", "Typewriter-Regular"], // A-Z monospace\n["mathtt", "texttt", "Typewriter-Regular"]];\nvar wideNumeralData = [["mathbf", "textbf", "Main-Bold"], // 0-9 bold\n["", "", ""], // 0-9 double-struck. No KaTeX font.\n["mathsf", "textsf", "SansSerif-Regular"], // 0-9 sans-serif\n["mathboldsf", "textboldsf", "SansSerif-Bold"], // 0-9 bold sans-serif\n["mathtt", "texttt", "Typewriter-Regular"]];\nvar wide_character_wideCharacterFont = function wideCharacterFont(wideChar, mode) {\n // IE doesn\'t support codePointAt(). So work with the surrogate pair.\n var H = wideChar.charCodeAt(0); // high surrogate\n\n var L = wideChar.charCodeAt(1); // low surrogate\n\n var codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000;\n var j = mode === "math" ? 0 : 1; // column index for CSS class.\n\n if (0x1D400 <= codePoint && codePoint < 0x1D6A4) {\n // wideLatinLetterData contains exactly 26 chars on each row.\n // So we can calculate the relevant row. No traverse necessary.\n var i = Math.floor((codePoint - 0x1D400) / 26);\n return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]];\n } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) {\n // Numerals, ten per row.\n var _i = Math.floor((codePoint - 0x1D7CE) / 10);\n\n return [wideNumeralData[_i][2], wideNumeralData[_i][j]];\n } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) {\n // dotless i or j\n return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]];\n } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) {\n // Greek letters. Not supported, yet.\n return ["", ""];\n } else {\n // We don\'t support any wide characters outside 1D400\u20131D7FF.\n throw new src_ParseError("Unsupported character: " + wideChar);\n }\n};\n// CONCATENATED MODULE: ./src/Options.js\n/**\n * This file contains information about the options that the Parser carries\n * around with it while parsing. Data is held in an `Options` object, and when\n * recursing, a new `Options` object can be created with the `.with*` and\n * `.reset` functions.\n */\n\nvar sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize].\n// The size mappings are taken from TeX with \\normalsize=10pt.\n[1, 1, 1], // size1: [5, 5, 5] \\tiny\n[2, 1, 1], // size2: [6, 5, 5]\n[3, 1, 1], // size3: [7, 5, 5] \\scriptsize\n[4, 2, 1], // size4: [8, 6, 5] \\footnotesize\n[5, 2, 1], // size5: [9, 6, 5] \\small\n[6, 3, 1], // size6: [10, 7, 5] \\normalsize\n[7, 4, 2], // size7: [12, 8, 6] \\large\n[8, 6, 3], // size8: [14.4, 10, 7] \\Large\n[9, 7, 6], // size9: [17.28, 12, 10] \\LARGE\n[10, 8, 7], // size10: [20.74, 14.4, 12] \\huge\n[11, 10, 9]];\nvar sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if\n// you change size indexes, change that function.\n0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488];\n\nvar sizeAtStyle = function sizeAtStyle(size, style) {\n return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1];\n}; // In these types, "" (empty string) means "no change".\n\n\n/**\n * This is the main options class. It contains the current style, size, color,\n * and font.\n *\n * Options objects should not be modified. To create a new Options with\n * different properties, call a `.having*` method.\n */\nvar Options_Options =\n/*#__PURE__*/\nfunction () {\n // A font family applies to a group of fonts (i.e. SansSerif), while a font\n // represents a specific font (i.e. SansSerif Bold).\n // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm\n\n /**\n * The base size index.\n */\n function Options(data) {\n this.style = void 0;\n this.color = void 0;\n this.size = void 0;\n this.textSize = void 0;\n this.phantom = void 0;\n this.font = void 0;\n this.fontFamily = void 0;\n this.fontWeight = void 0;\n this.fontShape = void 0;\n this.sizeMultiplier = void 0;\n this.maxSize = void 0;\n this.minRuleThickness = void 0;\n this._fontMetrics = void 0;\n this.style = data.style;\n this.color = data.color;\n this.size = data.size || Options.BASESIZE;\n this.textSize = data.textSize || this.size;\n this.phantom = !!data.phantom;\n this.font = data.font || "";\n this.fontFamily = data.fontFamily || "";\n this.fontWeight = data.fontWeight || \'\';\n this.fontShape = data.fontShape || \'\';\n this.sizeMultiplier = sizeMultipliers[this.size - 1];\n this.maxSize = data.maxSize;\n this.minRuleThickness = data.minRuleThickness;\n this._fontMetrics = undefined;\n }\n /**\n * Returns a new options object with the same properties as "this". Properties\n * from "extension" will be copied to the new options object.\n */\n\n\n var _proto = Options.prototype;\n\n _proto.extend = function extend(extension) {\n var data = {\n style: this.style,\n size: this.size,\n textSize: this.textSize,\n color: this.color,\n phantom: this.phantom,\n font: this.font,\n fontFamily: this.fontFamily,\n fontWeight: this.fontWeight,\n fontShape: this.fontShape,\n maxSize: this.maxSize,\n minRuleThickness: this.minRuleThickness\n };\n\n for (var key in extension) {\n if (extension.hasOwnProperty(key)) {\n data[key] = extension[key];\n }\n }\n\n return new Options(data);\n }\n /**\n * Return an options object with the given style. If `this.style === style`,\n * returns `this`.\n */\n ;\n\n _proto.havingStyle = function havingStyle(style) {\n if (this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: sizeAtStyle(this.textSize, style)\n });\n }\n }\n /**\n * Return an options object with a cramped version of the current style. If\n * the current style is cramped, returns `this`.\n */\n ;\n\n _proto.havingCrampedStyle = function havingCrampedStyle() {\n return this.havingStyle(this.style.cramp());\n }\n /**\n * Return an options object with the given size and in at least `\\textstyle`.\n * Returns `this` if appropriate.\n */\n ;\n\n _proto.havingSize = function havingSize(size) {\n if (this.size === size && this.textSize === size) {\n return this;\n } else {\n return this.extend({\n style: this.style.text(),\n size: size,\n textSize: size,\n sizeMultiplier: sizeMultipliers[size - 1]\n });\n }\n }\n /**\n * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,\n * changes to at least `\\textstyle`.\n */\n ;\n\n _proto.havingBaseStyle = function havingBaseStyle(style) {\n style = style || this.style.text();\n var wantSize = sizeAtStyle(Options.BASESIZE, style);\n\n if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: wantSize\n });\n }\n }\n /**\n * Remove the effect of sizing changes such as \\Huge.\n * Keep the effect of the current style, such as \\scriptstyle.\n */\n ;\n\n _proto.havingBaseSizing = function havingBaseSizing() {\n var size;\n\n switch (this.style.id) {\n case 4:\n case 5:\n size = 3; // normalsize in scriptstyle\n\n break;\n\n case 6:\n case 7:\n size = 1; // normalsize in scriptscriptstyle\n\n break;\n\n default:\n size = 6;\n // normalsize in textstyle or displaystyle\n }\n\n return this.extend({\n style: this.style.text(),\n size: size\n });\n }\n /**\n * Create a new options object with the given color.\n */\n ;\n\n _proto.withColor = function withColor(color) {\n return this.extend({\n color: color\n });\n }\n /**\n * Create a new options object with "phantom" set to true.\n */\n ;\n\n _proto.withPhantom = function withPhantom() {\n return this.extend({\n phantom: true\n });\n }\n /**\n * Creates a new options object with the given math font or old text font.\n * @type {[type]}\n */\n ;\n\n _proto.withFont = function withFont(font) {\n return this.extend({\n font: font\n });\n }\n /**\n * Create a new options objects with the given fontFamily.\n */\n ;\n\n _proto.withTextFontFamily = function withTextFontFamily(fontFamily) {\n return this.extend({\n fontFamily: fontFamily,\n font: ""\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n ;\n\n _proto.withTextFontWeight = function withTextFontWeight(fontWeight) {\n return this.extend({\n fontWeight: fontWeight,\n font: ""\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n ;\n\n _proto.withTextFontShape = function withTextFontShape(fontShape) {\n return this.extend({\n fontShape: fontShape,\n font: ""\n });\n }\n /**\n * Return the CSS sizing classes required to switch from enclosing options\n * `oldOptions` to `this`. Returns an array of classes.\n */\n ;\n\n _proto.sizingClasses = function sizingClasses(oldOptions) {\n if (oldOptions.size !== this.size) {\n return ["sizing", "reset-size" + oldOptions.size, "size" + this.size];\n } else {\n return [];\n }\n }\n /**\n * Return the CSS sizing classes required to switch to the base size. Like\n * `this.havingSize(BASESIZE).sizingClasses(this)`.\n */\n ;\n\n _proto.baseSizingClasses = function baseSizingClasses() {\n if (this.size !== Options.BASESIZE) {\n return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE];\n } else {\n return [];\n }\n }\n /**\n * Return the font metrics for this size.\n */\n ;\n\n _proto.fontMetrics = function fontMetrics() {\n if (!this._fontMetrics) {\n this._fontMetrics = getGlobalMetrics(this.size);\n }\n\n return this._fontMetrics;\n }\n /**\n * Gets the CSS color of the current options object\n */\n ;\n\n _proto.getColor = function getColor() {\n if (this.phantom) {\n return "transparent";\n } else {\n return this.color;\n }\n };\n\n return Options;\n}();\n\nOptions_Options.BASESIZE = 6;\n/* harmony default export */ var src_Options = (Options_Options);\n// CONCATENATED MODULE: ./src/units.js\n/**\n * This file does conversion between units. In particular, it provides\n * calculateSize to convert other units into ems.\n */\n\n // This table gives the number of TeX pts in one of each *absolute* TeX unit.\n// Thus, multiplying a length by this number converts the length from units\n// into pts. Dividing the result by ptPerEm gives the number of ems\n// *assuming* a font size of ptPerEm (normal size, normal style).\n\nvar ptPerUnit = {\n // https://en.wikibooks.org/wiki/LaTeX/Lengths and\n // https://tex.stackexchange.com/a/8263\n "pt": 1,\n // TeX point\n "mm": 7227 / 2540,\n // millimeter\n "cm": 7227 / 254,\n // centimeter\n "in": 72.27,\n // inch\n "bp": 803 / 800,\n // big (PostScript) points\n "pc": 12,\n // pica\n "dd": 1238 / 1157,\n // didot\n "cc": 14856 / 1157,\n // cicero (12 didot)\n "nd": 685 / 642,\n // new didot\n "nc": 1370 / 107,\n // new cicero (12 new didot)\n "sp": 1 / 65536,\n // scaled point (TeX\'s internal smallest unit)\n // https://tex.stackexchange.com/a/41371\n "px": 803 / 800 // \\pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX\n\n}; // Dictionary of relative units, for fast validity testing.\n\nvar relativeUnit = {\n "ex": true,\n "em": true,\n "mu": true\n};\n\n/**\n * Determine whether the specified unit (either a string defining the unit\n * or a "size" parse node containing a unit field) is valid.\n */\nvar validUnit = function validUnit(unit) {\n if (typeof unit !== "string") {\n unit = unit.unit;\n }\n\n return unit in ptPerUnit || unit in relativeUnit || unit === "ex";\n};\n/*\n * Convert a "size" parse node (with numeric "number" and string "unit" fields,\n * as parsed by functions.js argType "size") into a CSS em value for the\n * current style/scale. `options` gives the current options.\n */\n\nvar units_calculateSize = function calculateSize(sizeValue, options) {\n var scale;\n\n if (sizeValue.unit in ptPerUnit) {\n // Absolute units\n scale = ptPerUnit[sizeValue.unit] // Convert unit to pt\n / options.fontMetrics().ptPerEm // Convert pt to CSS em\n / options.sizeMultiplier; // Unscale to make absolute units\n } else if (sizeValue.unit === "mu") {\n // `mu` units scale with scriptstyle/scriptscriptstyle.\n scale = options.fontMetrics().cssEmPerMu;\n } else {\n // Other relative units always refer to the *textstyle* font\n // in the current size.\n var unitOptions;\n\n if (options.style.isTight()) {\n // isTight() means current style is script/scriptscript.\n unitOptions = options.havingStyle(options.style.text());\n } else {\n unitOptions = options;\n } // TODO: In TeX these units are relative to the quad of the current\n // *text* font, e.g. cmr10. KaTeX instead uses values from the\n // comparably-sized *Computer Modern symbol* font. At 10pt, these\n // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641;\n // cmr5=1.361133, cmsy5=1.472241. Consider $\\scriptsize a\\kern1emb$.\n // TeX \\showlists shows a kern of 1.13889 * fontsize;\n // KaTeX shows a kern of 1.171 * fontsize.\n\n\n if (sizeValue.unit === "ex") {\n scale = unitOptions.fontMetrics().xHeight;\n } else if (sizeValue.unit === "em") {\n scale = unitOptions.fontMetrics().quad;\n } else {\n throw new src_ParseError("Invalid unit: \'" + sizeValue.unit + "\'");\n }\n\n if (unitOptions !== options) {\n scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n return Math.min(sizeValue.number * scale, options.maxSize);\n};\n// CONCATENATED MODULE: ./src/buildCommon.js\n/* eslint no-console:0 */\n\n/**\n * This module contains general functions that can be used for building\n * different kinds of domTree nodes in a consistent manner.\n */\n\n\n\n\n\n\n\n// The following have to be loaded from Main-Italic font, using class mathit\nvar mathitLetters = ["\\\\imath", "\u0131", // dotless i\n"\\\\jmath", "\u0237", // dotless j\n"\\\\pounds", "\\\\mathsterling", "\\\\textsterling", "\xa3"];\n/**\n * Looks up the given symbol in fontMetrics, after applying any symbol\n * replacements defined in symbol.js\n */\n\nvar buildCommon_lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this.\nfontName, mode) {\n // Replace the value with its replaced value from symbol.js\n if (src_symbols[mode][value] && src_symbols[mode][value].replace) {\n value = src_symbols[mode][value].replace;\n }\n\n return {\n value: value,\n metrics: getCharacterMetrics(value, fontName, mode)\n };\n};\n/**\n * Makes a symbolNode after translation via the list of symbols in symbols.js.\n * Correctly pulls out metrics for the character, and optionally takes a list of\n * classes to be attached to the node.\n *\n * TODO: make argument order closer to makeSpan\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n * TODO(#953): Make `options` mandatory and always pass it in.\n */\n\n\nvar buildCommon_makeSymbol = function makeSymbol(value, fontName, mode, options, classes) {\n var lookup = buildCommon_lookupSymbol(value, fontName, mode);\n var metrics = lookup.metrics;\n value = lookup.value;\n var symbolNode;\n\n if (metrics) {\n var italic = metrics.italic;\n\n if (mode === "text" || options && options.font === "mathit") {\n italic = 0;\n }\n\n symbolNode = new domTree_SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes);\n } else {\n // TODO(emily): Figure out a good way to only print this in development\n typeof console !== "undefined" && console.warn("No character metrics " + ("for \'" + value + "\' in style \'" + fontName + "\' and mode \'" + mode + "\'"));\n symbolNode = new domTree_SymbolNode(value, 0, 0, 0, 0, 0, classes);\n }\n\n if (options) {\n symbolNode.maxFontSize = options.sizeMultiplier;\n\n if (options.style.isTight()) {\n symbolNode.classes.push("mtight");\n }\n\n var color = options.getColor();\n\n if (color) {\n symbolNode.style.color = color;\n }\n }\n\n return symbolNode;\n};\n/**\n * Makes a symbol in Main-Regular or AMS-Regular.\n * Used for rel, bin, open, close, inner, and punct.\n */\n\n\nvar buildCommon_mathsym = function mathsym(value, mode, options, classes) {\n if (classes === void 0) {\n classes = [];\n }\n\n // Decide what font to render the symbol in by its entry in the symbols\n // table.\n // Have a special case for when the value = \\ because the \\ is used as a\n // textord in unsupported command errors but cannot be parsed as a regular\n // text ordinal and is therefore not present as a symbol in the symbols\n // table for text, as well as a special case for boldsymbol because it\n // can be used for bold + and -\n if (options.font === "boldsymbol" && buildCommon_lookupSymbol(value, "Main-Bold", mode).metrics) {\n return buildCommon_makeSymbol(value, "Main-Bold", mode, options, classes.concat(["mathbf"]));\n } else if (value === "\\\\" || src_symbols[mode][value].font === "main") {\n return buildCommon_makeSymbol(value, "Main-Regular", mode, options, classes);\n } else {\n return buildCommon_makeSymbol(value, "AMS-Regular", mode, options, classes.concat(["amsrm"]));\n }\n};\n/**\n * Determines which of the two font names (Main-Italic and Math-Italic) and\n * corresponding style tags (maindefault or mathit) to use for default math font,\n * depending on the symbol.\n */\n\n\nvar buildCommon_mathdefault = function mathdefault(value, mode, options, classes) {\n if (/[0-9]/.test(value.charAt(0)) || // glyphs for \\imath and \\jmath do not exist in Math-Italic so we\n // need to use Main-Italic instead\n utils.contains(mathitLetters, value)) {\n return {\n fontName: "Main-Italic",\n fontClass: "mathit"\n };\n } else {\n return {\n fontName: "Math-Italic",\n fontClass: "mathdefault"\n };\n }\n};\n/**\n * Determines which of the font names (Main-Italic, Math-Italic, and Caligraphic)\n * and corresponding style tags (mathit, mathdefault, or mathcal) to use for font\n * "mathnormal", depending on the symbol. Use this function instead of fontMap for\n * font "mathnormal".\n */\n\n\nvar buildCommon_mathnormal = function mathnormal(value, mode, options, classes) {\n if (utils.contains(mathitLetters, value)) {\n return {\n fontName: "Main-Italic",\n fontClass: "mathit"\n };\n } else if (/[0-9]/.test(value.charAt(0))) {\n return {\n fontName: "Caligraphic-Regular",\n fontClass: "mathcal"\n };\n } else {\n return {\n fontName: "Math-Italic",\n fontClass: "mathdefault"\n };\n }\n};\n/**\n * Determines which of the two font names (Main-Bold and Math-BoldItalic) and\n * corresponding style tags (mathbf or boldsymbol) to use for font "boldsymbol",\n * depending on the symbol. Use this function instead of fontMap for font\n * "boldsymbol".\n */\n\n\nvar boldsymbol = function boldsymbol(value, mode, options, classes) {\n if (buildCommon_lookupSymbol(value, "Math-BoldItalic", mode).metrics) {\n return {\n fontName: "Math-BoldItalic",\n fontClass: "boldsymbol"\n };\n } else {\n // Some glyphs do not exist in Math-BoldItalic so we need to use\n // Main-Bold instead.\n return {\n fontName: "Main-Bold",\n fontClass: "mathbf"\n };\n }\n};\n/**\n * Makes either a mathord or textord in the correct font and color.\n */\n\n\nvar buildCommon_makeOrd = function makeOrd(group, options, type) {\n var mode = group.mode;\n var text = group.text;\n var classes = ["mord"]; // Math mode or Old font (i.e. \\rm)\n\n var isFont = mode === "math" || mode === "text" && options.font;\n var fontOrFamily = isFont ? options.font : options.fontFamily;\n\n if (text.charCodeAt(0) === 0xD835) {\n // surrogate pairs get special treatment\n var _wideCharacterFont = wide_character_wideCharacterFont(text, mode),\n wideFontName = _wideCharacterFont[0],\n wideFontClass = _wideCharacterFont[1];\n\n return buildCommon_makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass));\n } else if (fontOrFamily) {\n var fontName;\n var fontClasses;\n\n if (fontOrFamily === "boldsymbol" || fontOrFamily === "mathnormal") {\n var fontData = fontOrFamily === "boldsymbol" ? boldsymbol(text, mode, options, classes) : buildCommon_mathnormal(text, mode, options, classes);\n fontName = fontData.fontName;\n fontClasses = [fontData.fontClass];\n } else if (utils.contains(mathitLetters, text)) {\n fontName = "Main-Italic";\n fontClasses = ["mathit"];\n } else if (isFont) {\n fontName = fontMap[fontOrFamily].fontName;\n fontClasses = [fontOrFamily];\n } else {\n fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape);\n fontClasses = [fontOrFamily, options.fontWeight, options.fontShape];\n }\n\n if (buildCommon_lookupSymbol(text, fontName, mode).metrics) {\n return buildCommon_makeSymbol(text, fontName, mode, options, classes.concat(fontClasses));\n } else if (ligatures.hasOwnProperty(text) && fontName.substr(0, 10) === "Typewriter") {\n // Deconstruct ligatures in monospace fonts (\\texttt, \\tt).\n var parts = [];\n\n for (var i = 0; i < text.length; i++) {\n parts.push(buildCommon_makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses)));\n }\n\n return buildCommon_makeFragment(parts);\n }\n } // Makes a symbol in the default font for mathords and textords.\n\n\n if (type === "mathord") {\n var fontLookup = buildCommon_mathdefault(text, mode, options, classes);\n return buildCommon_makeSymbol(text, fontLookup.fontName, mode, options, classes.concat([fontLookup.fontClass]));\n } else if (type === "textord") {\n var font = src_symbols[mode][text] && src_symbols[mode][text].font;\n\n if (font === "ams") {\n var _fontName = retrieveTextFontName("amsrm", options.fontWeight, options.fontShape);\n\n return buildCommon_makeSymbol(text, _fontName, mode, options, classes.concat("amsrm", options.fontWeight, options.fontShape));\n } else if (font === "main" || !font) {\n var _fontName2 = retrieveTextFontName("textrm", options.fontWeight, options.fontShape);\n\n return buildCommon_makeSymbol(text, _fontName2, mode, options, classes.concat(options.fontWeight, options.fontShape));\n } else {\n // fonts added by plugins\n var _fontName3 = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class\n\n\n return buildCommon_makeSymbol(text, _fontName3, mode, options, classes.concat(_fontName3, options.fontWeight, options.fontShape));\n }\n } else {\n throw new Error("unexpected type: " + type + " in makeOrd");\n }\n};\n/**\n * Returns true if subsequent symbolNodes have the same classes, skew, maxFont,\n * and styles.\n */\n\n\nvar buildCommon_canCombine = function canCombine(prev, next) {\n if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) {\n return false;\n }\n\n for (var style in prev.style) {\n if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n for (var _style in next.style) {\n if (next.style.hasOwnProperty(_style) && prev.style[_style] !== next.style[_style]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Combine consequetive domTree.symbolNodes into a single symbolNode.\n * Note: this function mutates the argument.\n */\n\n\nvar buildCommon_tryCombineChars = function tryCombineChars(chars) {\n for (var i = 0; i < chars.length - 1; i++) {\n var prev = chars[i];\n var next = chars[i + 1];\n\n if (prev instanceof domTree_SymbolNode && next instanceof domTree_SymbolNode && buildCommon_canCombine(prev, next)) {\n prev.text += next.text;\n prev.height = Math.max(prev.height, next.height);\n prev.depth = Math.max(prev.depth, next.depth); // Use the last character\'s italic correction since we use\n // it to add padding to the right of the span created from\n // the combined characters.\n\n prev.italic = next.italic;\n chars.splice(i + 1, 1);\n i--;\n }\n }\n\n return chars;\n};\n/**\n * Calculate the height, depth, and maxFontSize of an element based on its\n * children.\n */\n\n\nvar sizeElementFromChildren = function sizeElementFromChildren(elem) {\n var height = 0;\n var depth = 0;\n var maxFontSize = 0;\n\n for (var i = 0; i < elem.children.length; i++) {\n var child = elem.children[i];\n\n if (child.height > height) {\n height = child.height;\n }\n\n if (child.depth > depth) {\n depth = child.depth;\n }\n\n if (child.maxFontSize > maxFontSize) {\n maxFontSize = child.maxFontSize;\n }\n }\n\n elem.height = height;\n elem.depth = depth;\n elem.maxFontSize = maxFontSize;\n};\n/**\n * Makes a span with the given list of classes, list of children, and options.\n *\n * TODO(#953): Ensure that `options` is always provided (currently some call\n * sites don\'t pass it) and make the type below mandatory.\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n */\n\n\nvar buildCommon_makeSpan = function makeSpan(classes, children, options, style) {\n var span = new domTree_Span(classes, children, options, style);\n sizeElementFromChildren(span);\n return span;\n}; // SVG one is simpler -- doesn\'t require height, depth, max-font setting.\n// This is also a separate method for typesafety.\n\n\nvar buildCommon_makeSvgSpan = function makeSvgSpan(classes, children, options, style) {\n return new domTree_Span(classes, children, options, style);\n};\n\nvar makeLineSpan = function makeLineSpan(className, options, thickness) {\n var line = buildCommon_makeSpan([className], [], options);\n line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n line.style.borderBottomWidth = line.height + "em";\n line.maxFontSize = 1.0;\n return line;\n};\n/**\n * Makes an anchor with the given href, list of classes, list of children,\n * and options.\n */\n\n\nvar buildCommon_makeAnchor = function makeAnchor(href, classes, children, options) {\n var anchor = new domTree_Anchor(href, classes, children, options);\n sizeElementFromChildren(anchor);\n return anchor;\n};\n/**\n * Makes a document fragment with the given list of children.\n */\n\n\nvar buildCommon_makeFragment = function makeFragment(children) {\n var fragment = new tree_DocumentFragment(children);\n sizeElementFromChildren(fragment);\n return fragment;\n};\n/**\n * Wraps group in a span if it\'s a document fragment, allowing to apply classes\n * and styles\n */\n\n\nvar buildCommon_wrapFragment = function wrapFragment(group, options) {\n if (group instanceof tree_DocumentFragment) {\n return buildCommon_makeSpan([], [group], options);\n }\n\n return group;\n}; // These are exact object types to catch typos in the names of the optional fields.\n\n\n// Computes the updated `children` list and the overall depth.\n//\n// This helper function for makeVList makes it easier to enforce type safety by\n// allowing early exits (returns) in the logic.\nvar getVListChildrenAndDepth = function getVListChildrenAndDepth(params) {\n if (params.positionType === "individualShift") {\n var oldChildren = params.children;\n var children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be\n // shifted to the correct specified shift\n\n var _depth = -oldChildren[0].shift - oldChildren[0].elem.depth;\n\n var currPos = _depth;\n\n for (var i = 1; i < oldChildren.length; i++) {\n var diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth;\n var size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth);\n currPos = currPos + diff;\n children.push({\n type: "kern",\n size: size\n });\n children.push(oldChildren[i]);\n }\n\n return {\n children: children,\n depth: _depth\n };\n }\n\n var depth;\n\n if (params.positionType === "top") {\n // We always start at the bottom, so calculate the bottom by adding up\n // all the sizes\n var bottom = params.positionData;\n\n for (var _i = 0; _i < params.children.length; _i++) {\n var child = params.children[_i];\n bottom -= child.type === "kern" ? child.size : child.elem.height + child.elem.depth;\n }\n\n depth = bottom;\n } else if (params.positionType === "bottom") {\n depth = -params.positionData;\n } else {\n var firstChild = params.children[0];\n\n if (firstChild.type !== "elem") {\n throw new Error(\'First child must have type "elem".\');\n }\n\n if (params.positionType === "shift") {\n depth = -firstChild.elem.depth - params.positionData;\n } else if (params.positionType === "firstBaseline") {\n depth = -firstChild.elem.depth;\n } else {\n throw new Error("Invalid positionType " + params.positionType + ".");\n }\n }\n\n return {\n children: params.children,\n depth: depth\n };\n};\n/**\n * Makes a vertical list by stacking elements and kerns on top of each other.\n * Allows for many different ways of specifying the positioning method.\n *\n * See VListParam documentation above.\n */\n\n\nvar buildCommon_makeVList = function makeVList(params, options) {\n var _getVListChildrenAndD = getVListChildrenAndDepth(params),\n children = _getVListChildrenAndD.children,\n depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to\n // each item, where it will determine the item\'s baseline. Since it has\n // `overflow:hidden`, the strut\'s top edge will sit on the item\'s line box\'s\n // top edge and the strut\'s bottom edge will sit on the item\'s baseline,\n // with no additional line-height spacing. This allows the item baseline to\n // be positioned precisely without worrying about font ascent and\n // line-height.\n\n\n var pstrutSize = 0;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.type === "elem") {\n var elem = child.elem;\n pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height);\n }\n }\n\n pstrutSize += 2;\n var pstrut = buildCommon_makeSpan(["pstrut"], []);\n pstrut.style.height = pstrutSize + "em"; // Create a new list of actual children at the correct offsets\n\n var realChildren = [];\n var minPos = depth;\n var maxPos = depth;\n var currPos = depth;\n\n for (var _i2 = 0; _i2 < children.length; _i2++) {\n var _child = children[_i2];\n\n if (_child.type === "kern") {\n currPos += _child.size;\n } else {\n var _elem = _child.elem;\n var classes = _child.wrapperClasses || [];\n var style = _child.wrapperStyle || {};\n var childWrap = buildCommon_makeSpan(classes, [pstrut, _elem], undefined, style);\n childWrap.style.top = -pstrutSize - currPos - _elem.depth + "em";\n\n if (_child.marginLeft) {\n childWrap.style.marginLeft = _child.marginLeft;\n }\n\n if (_child.marginRight) {\n childWrap.style.marginRight = _child.marginRight;\n }\n\n realChildren.push(childWrap);\n currPos += _elem.height + _elem.depth;\n }\n\n minPos = Math.min(minPos, currPos);\n maxPos = Math.max(maxPos, currPos);\n } // The vlist contents go in a table-cell with `vertical-align:bottom`.\n // This cell\'s bottom edge will determine the containing table\'s baseline\n // without overly expanding the containing line-box.\n\n\n var vlist = buildCommon_makeSpan(["vlist"], realChildren);\n vlist.style.height = maxPos + "em"; // A second row is used if necessary to represent the vlist\'s depth.\n\n var rows;\n\n if (minPos < 0) {\n // We will define depth in an empty span with display: table-cell.\n // It should render with the height that we define. But Chrome, in\n // contenteditable mode only, treats that span as if it contains some\n // text content. And that min-height over-rides our desired height.\n // So we put another empty span inside the depth strut span.\n var emptySpan = buildCommon_makeSpan([], []);\n var depthStrut = buildCommon_makeSpan(["vlist"], [emptySpan]);\n depthStrut.style.height = -minPos + "em"; // Safari wants the first row to have inline content; otherwise it\n // puts the bottom of the *second* row on the baseline.\n\n var topStrut = buildCommon_makeSpan(["vlist-s"], [new domTree_SymbolNode("\\u200B")]);\n rows = [buildCommon_makeSpan(["vlist-r"], [vlist, topStrut]), buildCommon_makeSpan(["vlist-r"], [depthStrut])];\n } else {\n rows = [buildCommon_makeSpan(["vlist-r"], [vlist])];\n }\n\n var vtable = buildCommon_makeSpan(["vlist-t"], rows);\n\n if (rows.length === 2) {\n vtable.classes.push("vlist-t2");\n }\n\n vtable.height = maxPos;\n vtable.depth = -minPos;\n return vtable;\n}; // Glue is a concept from TeX which is a flexible space between elements in\n// either a vertical or horizontal list. In KaTeX, at least for now, it\'s\n// static space between elements in a horizontal layout.\n\n\nvar buildCommon_makeGlue = function makeGlue(measurement, options) {\n // Make an empty span for the space\n var rule = buildCommon_makeSpan(["mspace"], [], options);\n var size = units_calculateSize(measurement, options);\n rule.style.marginRight = size + "em";\n return rule;\n}; // Takes font options, and returns the appropriate fontLookup name\n\n\nvar retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) {\n var baseFontName = "";\n\n switch (fontFamily) {\n case "amsrm":\n baseFontName = "AMS";\n break;\n\n case "textrm":\n baseFontName = "Main";\n break;\n\n case "textsf":\n baseFontName = "SansSerif";\n break;\n\n case "texttt":\n baseFontName = "Typewriter";\n break;\n\n default:\n baseFontName = fontFamily;\n // use fonts added by a plugin\n }\n\n var fontStylesName;\n\n if (fontWeight === "textbf" && fontShape === "textit") {\n fontStylesName = "BoldItalic";\n } else if (fontWeight === "textbf") {\n fontStylesName = "Bold";\n } else if (fontWeight === "textit") {\n fontStylesName = "Italic";\n } else {\n fontStylesName = "Regular";\n }\n\n return baseFontName + "-" + fontStylesName;\n};\n/**\n * Maps TeX font commands to objects containing:\n * - variant: string used for "mathvariant" attribute in buildMathML.js\n * - fontName: the "style" parameter to fontMetrics.getCharacterMetrics\n */\n// A map between tex font commands an MathML mathvariant attribute values\n\n\nvar fontMap = {\n // styles\n "mathbf": {\n variant: "bold",\n fontName: "Main-Bold"\n },\n "mathrm": {\n variant: "normal",\n fontName: "Main-Regular"\n },\n "textit": {\n variant: "italic",\n fontName: "Main-Italic"\n },\n "mathit": {\n variant: "italic",\n fontName: "Main-Italic"\n },\n // Default math font, "mathnormal" and "boldsymbol" are missing because they\n // require the use of several fonts: Main-Italic and Math-Italic for default\n // math font, Main-Italic, Math-Italic, Caligraphic for "mathnormal", and\n // Math-BoldItalic and Main-Bold for "boldsymbol". This is handled by a\n // special case in makeOrd which ends up calling mathdefault, mathnormal,\n // and boldsymbol.\n // families\n "mathbb": {\n variant: "double-struck",\n fontName: "AMS-Regular"\n },\n "mathcal": {\n variant: "script",\n fontName: "Caligraphic-Regular"\n },\n "mathfrak": {\n variant: "fraktur",\n fontName: "Fraktur-Regular"\n },\n "mathscr": {\n variant: "script",\n fontName: "Script-Regular"\n },\n "mathsf": {\n variant: "sans-serif",\n fontName: "SansSerif-Regular"\n },\n "mathtt": {\n variant: "monospace",\n fontName: "Typewriter-Regular"\n }\n};\nvar svgData = {\n // path, width, height\n vec: ["vec", 0.471, 0.714],\n // values from the font glyph\n oiintSize1: ["oiintSize1", 0.957, 0.499],\n // oval to overlay the integrand\n oiintSize2: ["oiintSize2", 1.472, 0.659],\n oiiintSize1: ["oiiintSize1", 1.304, 0.499],\n oiiintSize2: ["oiiintSize2", 1.98, 0.659]\n};\n\nvar buildCommon_staticSvg = function staticSvg(value, options) {\n // Create a span with inline SVG for the element.\n var _svgData$value = svgData[value],\n pathName = _svgData$value[0],\n width = _svgData$value[1],\n height = _svgData$value[2];\n var path = new domTree_PathNode(pathName);\n var svgNode = new SvgNode([path], {\n "width": width + "em",\n "height": height + "em",\n // Override CSS rule `.katex svg { width: 100% }`\n "style": "width:" + width + "em",\n "viewBox": "0 0 " + 1000 * width + " " + 1000 * height,\n "preserveAspectRatio": "xMinYMin"\n });\n var span = buildCommon_makeSvgSpan(["overlay"], [svgNode], options);\n span.height = height;\n span.style.height = height + "em";\n span.style.width = width + "em";\n return span;\n};\n\n/* harmony default export */ var buildCommon = ({\n fontMap: fontMap,\n makeSymbol: buildCommon_makeSymbol,\n mathsym: buildCommon_mathsym,\n makeSpan: buildCommon_makeSpan,\n makeSvgSpan: buildCommon_makeSvgSpan,\n makeLineSpan: makeLineSpan,\n makeAnchor: buildCommon_makeAnchor,\n makeFragment: buildCommon_makeFragment,\n wrapFragment: buildCommon_wrapFragment,\n makeVList: buildCommon_makeVList,\n makeOrd: buildCommon_makeOrd,\n makeGlue: buildCommon_makeGlue,\n staticSvg: buildCommon_staticSvg,\n svgData: svgData,\n tryCombineChars: buildCommon_tryCombineChars\n});\n// CONCATENATED MODULE: ./src/parseNode.js\n\n\n/**\n * Asserts that the node is of the given type and returns it with stricter\n * typing. Throws if the node\'s type does not match.\n */\nfunction assertNodeType(node, type) {\n var typedNode = checkNodeType(node, type);\n\n if (!typedNode) {\n throw new Error("Expected node of type " + type + ", but got " + (node ? "node of type " + node.type : String(node)));\n } // $FlowFixMe: Unsure why.\n\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkNodeType(node, type) {\n if (node && node.type === type) {\n // The definition of ParseNode doesn\'t communicate to flow that\n // `type: TYPE` (as that\'s not explicitly mentioned anywhere), though that\n // happens to be true for all our value types.\n // $FlowFixMe\n return node;\n }\n\n return null;\n}\n/**\n * Asserts that the node is of the given type and returns it with stricter\n * typing. Throws if the node\'s type does not match.\n */\n\nfunction assertAtomFamily(node, family) {\n var typedNode = checkAtomFamily(node, family);\n\n if (!typedNode) {\n throw new Error("Expected node of type \\"atom\\" and family \\"" + family + "\\", but got " + (node ? node.type === "atom" ? "atom of family " + node.family : "node of type " + node.type : String(node)));\n }\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkAtomFamily(node, family) {\n return node && node.type === "atom" && node.family === family ? node : null;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction assertSymbolNodeType(node) {\n var typedNode = checkSymbolNodeType(node);\n\n if (!typedNode) {\n throw new Error("Expected node of symbol group type, but got " + (node ? "node of type " + node.type : String(node)));\n }\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkSymbolNodeType(node) {\n if (node && (node.type === "atom" || NON_ATOMS.hasOwnProperty(node.type))) {\n // $FlowFixMe\n return node;\n }\n\n return null;\n}\n// CONCATENATED MODULE: ./src/spacingData.js\n/**\n * Describes spaces between different classes of atoms.\n */\nvar thinspace = {\n number: 3,\n unit: "mu"\n};\nvar mediumspace = {\n number: 4,\n unit: "mu"\n};\nvar thickspace = {\n number: 5,\n unit: "mu"\n}; // Making the type below exact with all optional fields doesn\'t work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n\n// Spacing relationships for display and text styles\nvar spacings = {\n mord: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n minner: thinspace\n },\n mbin: {\n mord: mediumspace,\n mop: mediumspace,\n mopen: mediumspace,\n minner: mediumspace\n },\n mrel: {\n mord: thickspace,\n mop: thickspace,\n mopen: thickspace,\n minner: thickspace\n },\n mopen: {},\n mclose: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mpunct: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n mopen: thinspace,\n mclose: thinspace,\n mpunct: thinspace,\n minner: thinspace\n },\n minner: {\n mord: thinspace,\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n mopen: thinspace,\n mpunct: thinspace,\n minner: thinspace\n }\n}; // Spacing relationships for script and scriptscript styles\n\nvar tightSpacings = {\n mord: {\n mop: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace\n },\n mbin: {},\n mrel: {},\n mopen: {},\n mclose: {\n mop: thinspace\n },\n mpunct: {},\n minner: {\n mop: thinspace\n }\n};\n// CONCATENATED MODULE: ./src/defineFunction.js\n\n\n/**\n * All registered functions.\n * `functions.js` just exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary.\n */\nvar _functions = {};\n/**\n * All HTML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nvar _htmlGroupBuilders = {};\n/**\n * All MathML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nvar _mathmlGroupBuilders = {};\nfunction defineFunction(_ref) {\n var type = _ref.type,\n names = _ref.names,\n props = _ref.props,\n handler = _ref.handler,\n htmlBuilder = _ref.htmlBuilder,\n mathmlBuilder = _ref.mathmlBuilder;\n // Set default values of functions\n var data = {\n type: type,\n numArgs: props.numArgs,\n argTypes: props.argTypes,\n greediness: props.greediness === undefined ? 1 : props.greediness,\n allowedInText: !!props.allowedInText,\n allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath,\n numOptionalArgs: props.numOptionalArgs || 0,\n infix: !!props.infix,\n handler: handler\n };\n\n for (var i = 0; i < names.length; ++i) {\n _functions[names[i]] = data;\n }\n\n if (type) {\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n }\n}\n/**\n * Use this to register only the HTML and MathML builders for a function (e.g.\n * if the function\'s ParseNode is generated in Parser.js rather than via a\n * stand-alone handler provided to `defineFunction`).\n */\n\nfunction defineFunctionBuilders(_ref2) {\n var type = _ref2.type,\n htmlBuilder = _ref2.htmlBuilder,\n mathmlBuilder = _ref2.mathmlBuilder;\n defineFunction({\n type: type,\n names: [],\n props: {\n numArgs: 0\n },\n handler: function handler() {\n throw new Error(\'Should never be called.\');\n },\n htmlBuilder: htmlBuilder,\n mathmlBuilder: mathmlBuilder\n });\n} // Since the corresponding buildHTML/buildMathML function expects a\n// list of elements, we normalize for different kinds of arguments\n\nvar defineFunction_ordargument = function ordargument(arg) {\n var node = checkNodeType(arg, "ordgroup");\n return node ? node.body : [arg];\n};\n// CONCATENATED MODULE: ./src/buildHTML.js\n/**\n * This file does the main work of building a domTree structure from a parse\n * tree. The entry point is the `buildHTML` function, which takes a parse tree.\n * Then, the buildExpression, buildGroup, and various groupBuilders functions\n * are called, to produce a final HTML tree.\n */\n\n\n\n\n\n\n\n\n\nvar buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`)\n// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6,\n// and the text before Rule 19.\n\nvar binLeftCanceller = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"];\nvar binRightCanceller = ["rightmost", "mrel", "mclose", "mpunct"];\nvar styleMap = {\n "display": src_Style.DISPLAY,\n "text": src_Style.TEXT,\n "script": src_Style.SCRIPT,\n "scriptscript": src_Style.SCRIPTSCRIPT\n};\nvar DomEnum = {\n mord: "mord",\n mop: "mop",\n mbin: "mbin",\n mrel: "mrel",\n mopen: "mopen",\n mclose: "mclose",\n mpunct: "mpunct",\n minner: "minner"\n};\n\n/**\n * Take a list of nodes, build them in order, and return a list of the built\n * nodes. documentFragments are flattened into their contents, so the\n * returned list contains no fragments. `isRealGroup` is true if `expression`\n * is a real group (no atoms will be added on either side), as opposed to\n * a partial group (e.g. one created by \\color). `surrounding` is an array\n * consisting type of nodes that will be added to the left and right.\n */\nvar buildHTML_buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) {\n if (surrounding === void 0) {\n surrounding = [null, null];\n }\n\n // Parse expressions into `groups`.\n var groups = [];\n\n for (var i = 0; i < expression.length; i++) {\n var output = buildHTML_buildGroup(expression[i], options);\n\n if (output instanceof tree_DocumentFragment) {\n var children = output.children;\n groups.push.apply(groups, children);\n } else {\n groups.push(output);\n }\n } // If `expression` is a partial group, let the parent handle spacings\n // to avoid processing groups multiple times.\n\n\n if (!isRealGroup) {\n return groups;\n }\n\n var glueOptions = options;\n\n if (expression.length === 1) {\n var node = checkNodeType(expression[0], "sizing") || checkNodeType(expression[0], "styling");\n\n if (!node) {// No match.\n } else if (node.type === "sizing") {\n glueOptions = options.havingSize(node.size);\n } else if (node.type === "styling") {\n glueOptions = options.havingStyle(styleMap[node.style]);\n }\n } // Dummy spans for determining spacings between surrounding atoms.\n // If `expression` has no atoms on the left or right, class "leftmost"\n // or "rightmost", respectively, is used to indicate it.\n\n\n var dummyPrev = buildHTML_makeSpan([surrounding[0] || "leftmost"], [], options);\n var dummyNext = buildHTML_makeSpan([surrounding[1] || "rightmost"], [], options); // TODO: These code assumes that a node\'s math class is the first element\n // of its `classes` array. A later cleanup should ensure this, for\n // instance by changing the signature of `makeSpan`.\n // Before determining what spaces to insert, perform bin cancellation.\n // Binary operators change to ordinary symbols in some contexts.\n\n traverseNonSpaceNodes(groups, function (node, prev) {\n var prevType = prev.classes[0];\n var type = node.classes[0];\n\n if (prevType === "mbin" && utils.contains(binRightCanceller, type)) {\n prev.classes[0] = "mord";\n } else if (type === "mbin" && utils.contains(binLeftCanceller, prevType)) {\n node.classes[0] = "mord";\n }\n }, {\n node: dummyPrev\n }, dummyNext);\n traverseNonSpaceNodes(groups, function (node, prev) {\n var prevType = getTypeOfDomTree(prev);\n var type = getTypeOfDomTree(node); // \'mtight\' indicates that the node is script or scriptscript style.\n\n var space = prevType && type ? node.hasClass("mtight") ? tightSpacings[prevType][type] : spacings[prevType][type] : null;\n\n if (space) {\n // Insert glue (spacing) after the `prev`.\n return buildCommon.makeGlue(space, glueOptions);\n }\n }, {\n node: dummyPrev\n }, dummyNext);\n return groups;\n}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and\n// previous node as arguments, optionally returning a node to insert after the\n// previous node. `prev` is an object with the previous node and `insertAfter`\n// function to insert after it. `next` is a node that will be added to the right.\n// Used for bin cancellation and inserting spacings.\n\nvar traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next) {\n if (next) {\n // temporarily append the right node, if exists\n nodes.push(next);\n }\n\n var i = 0;\n\n for (; i < nodes.length; i++) {\n var node = nodes[i];\n var partialGroup = buildHTML_checkPartialGroup(node);\n\n if (partialGroup) {\n // Recursive DFS\n // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array\n traverseNonSpaceNodes(partialGroup.children, callback, prev);\n continue;\n } // Ignore explicit spaces (e.g., \\;, \\,) when determining what implicit\n // spacing should go between atoms of different classes\n\n\n if (node.classes[0] === "mspace") {\n continue;\n }\n\n var result = callback(node, prev.node);\n\n if (result) {\n if (prev.insertAfter) {\n prev.insertAfter(result);\n } else {\n // insert at front\n nodes.unshift(result);\n i++;\n }\n }\n\n prev.node = node;\n\n prev.insertAfter = function (index) {\n return function (n) {\n nodes.splice(index + 1, 0, n);\n i++;\n };\n }(i);\n }\n\n if (next) {\n nodes.pop();\n }\n}; // Check if given node is a partial group, i.e., does not affect spacing around.\n\n\nvar buildHTML_checkPartialGroup = function checkPartialGroup(node) {\n if (node instanceof tree_DocumentFragment || node instanceof domTree_Anchor) {\n return node;\n }\n\n return null;\n}; // Return the outermost node of a domTree.\n\n\nvar getOutermostNode = function getOutermostNode(node, side) {\n var partialGroup = buildHTML_checkPartialGroup(node);\n\n if (partialGroup) {\n var children = partialGroup.children;\n\n if (children.length) {\n if (side === "right") {\n return getOutermostNode(children[children.length - 1], "right");\n } else if (side === "left") {\n return getOutermostNode(children[0], "left");\n }\n }\n }\n\n return node;\n}; // Return math atom class (mclass) of a domTree.\n// If `side` is given, it will get the type of the outermost node at given side.\n\n\nvar getTypeOfDomTree = function getTypeOfDomTree(node, side) {\n if (!node) {\n return null;\n }\n\n if (side) {\n node = getOutermostNode(node, side);\n } // This makes a lot of assumptions as to where the type of atom\n // appears. We should do a better job of enforcing this.\n\n\n return DomEnum[node.classes[0]] || null;\n};\nvar makeNullDelimiter = function makeNullDelimiter(options, classes) {\n var moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses());\n return buildHTML_makeSpan(classes.concat(moreClasses));\n};\n/**\n * buildGroup is the function that takes a group and calls the correct groupType\n * function for it. It also handles the interaction of size and style changes\n * between parents and children.\n */\n\nvar buildHTML_buildGroup = function buildGroup(group, options, baseOptions) {\n if (!group) {\n return buildHTML_makeSpan();\n }\n\n if (_htmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n var groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account\n // for that size difference.\n\n if (baseOptions && options.size !== baseOptions.size) {\n groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options);\n var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier;\n groupNode.height *= multiplier;\n groupNode.depth *= multiplier;\n }\n\n return groupNode;\n } else {\n throw new src_ParseError("Got group of unknown type: \'" + group.type + "\'");\n }\n};\n/**\n * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`)\n * into an unbreakable HTML node of class .base, with proper struts to\n * guarantee correct vertical extent. `buildHTML` calls this repeatedly to\n * make up the entire expression as a sequence of unbreakable units.\n */\n\nfunction buildHTMLUnbreakable(children, options) {\n // Compute height and depth of this chunk.\n var body = buildHTML_makeSpan(["base"], children, options); // Add strut, which ensures that the top of the HTML element falls at\n // the height of the expression, and the bottom of the HTML element\n // falls at the depth of the expression.\n // We used to have separate top and bottom struts, where the bottom strut\n // would like to use `vertical-align: top`, but in IE 9 this lowers the\n // baseline of the box to the bottom of this strut (instead of staying in\n // the normal place) so we use an absolute value for vertical-align instead.\n\n var strut = buildHTML_makeSpan(["strut"]);\n strut.style.height = body.height + body.depth + "em";\n strut.style.verticalAlign = -body.depth + "em";\n body.children.unshift(strut);\n return body;\n}\n/**\n * Take an entire parse tree, and build it into an appropriate set of HTML\n * nodes.\n */\n\n\nfunction buildHTML(tree, options) {\n // Strip off outer tag wrapper for processing below.\n var tag = null;\n\n if (tree.length === 1 && tree[0].type === "tag") {\n tag = tree[0].tag;\n tree = tree[0].body;\n } // Build the expression contained in the tree\n\n\n var expression = buildHTML_buildExpression(tree, options, true);\n var children = []; // Create one base node for each chunk between potential line breaks.\n // The TeXBook [p.173] says "A formula will be broken only after a\n // relation symbol like $=$ or $<$ or $\\rightarrow$, or after a binary\n // operation symbol like $+$ or $-$ or $\\times$, where the relation or\n // binary operation is on the ``outer level\'\' of the formula (i.e., not\n // enclosed in {...} and not part of an \\over construction)."\n\n var parts = [];\n\n for (var i = 0; i < expression.length; i++) {\n parts.push(expression[i]);\n\n if (expression[i].hasClass("mbin") || expression[i].hasClass("mrel") || expression[i].hasClass("allowbreak")) {\n // Put any post-operator glue on same line as operator.\n // Watch for \\nobreak along the way, and stop at \\newline.\n var nobreak = false;\n\n while (i < expression.length - 1 && expression[i + 1].hasClass("mspace") && !expression[i + 1].hasClass("newline")) {\n i++;\n parts.push(expression[i]);\n\n if (expression[i].hasClass("nobreak")) {\n nobreak = true;\n }\n } // Don\'t allow break if \\nobreak among the post-operator glue.\n\n\n if (!nobreak) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n }\n } else if (expression[i].hasClass("newline")) {\n // Write the line except the newline\n parts.pop();\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n } // Put the newline at the top level\n\n\n children.push(expression[i]);\n }\n }\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n } // Now, if there was a tag, build it too and append it as a final child.\n\n\n var tagChild;\n\n if (tag) {\n tagChild = buildHTMLUnbreakable(buildHTML_buildExpression(tag, options, true));\n tagChild.classes = ["tag"];\n children.push(tagChild);\n }\n\n var htmlNode = buildHTML_makeSpan(["katex-html"], children);\n htmlNode.setAttribute("aria-hidden", "true"); // Adjust the strut of the tag to be the maximum height of all children\n // (the height of the enclosing htmlNode) for proper vertical alignment.\n\n if (tagChild) {\n var strut = tagChild.children[0];\n strut.style.height = htmlNode.height + htmlNode.depth + "em";\n strut.style.verticalAlign = -htmlNode.depth + "em";\n }\n\n return htmlNode;\n}\n// CONCATENATED MODULE: ./src/mathMLTree.js\n/**\n * These objects store data about MathML nodes. This is the MathML equivalent\n * of the types in domTree.js. Since MathML handles its own rendering, and\n * since we\'re mainly using MathML to improve accessibility, we don\'t manage\n * any of the styling state that the plain DOM nodes do.\n *\n * The `toNode` and `toMarkup` functions work simlarly to how they do in\n * domTree.js, creating namespaced DOM nodes and HTML text markup respectively.\n */\n\n\nfunction newDocumentFragment(children) {\n return new tree_DocumentFragment(children);\n}\n/**\n * This node represents a general purpose MathML node of any type. The\n * constructor requires the type of node to create (for example, `"mo"` or\n * `"mspace"`, corresponding to `` and `` tags).\n */\n\nvar mathMLTree_MathNode =\n/*#__PURE__*/\nfunction () {\n function MathNode(type, children) {\n this.type = void 0;\n this.attributes = void 0;\n this.children = void 0;\n this.type = type;\n this.attributes = {};\n this.children = children || [];\n }\n /**\n * Sets an attribute on a MathML node. MathML depends on attributes to convey a\n * semantic content, so this is used heavily.\n */\n\n\n var _proto = MathNode.prototype;\n\n _proto.setAttribute = function setAttribute(name, value) {\n this.attributes[name] = value;\n }\n /**\n * Gets an attribute on a MathML node.\n */\n ;\n\n _proto.getAttribute = function getAttribute(name) {\n return this.attributes[name];\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n ;\n\n _proto.toNode = function toNode() {\n var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type);\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n ;\n\n _proto.toMarkup = function toMarkup() {\n var markup = "<" + this.type; // Add the attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += " " + attr + "=\\"";\n markup += utils.escape(this.attributes[attr]);\n markup += "\\"";\n }\n }\n\n markup += ">";\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += "";\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText, but escaped.\n */\n ;\n\n _proto.toText = function toText() {\n return this.children.map(function (child) {\n return child.toText();\n }).join("");\n };\n\n return MathNode;\n}();\n/**\n * This node represents a piece of text.\n */\n\nvar mathMLTree_TextNode =\n/*#__PURE__*/\nfunction () {\n function TextNode(text) {\n this.text = void 0;\n this.text = text;\n }\n /**\n * Converts the text node into a DOM text node.\n */\n\n\n var _proto2 = TextNode.prototype;\n\n _proto2.toNode = function toNode() {\n return document.createTextNode(this.text);\n }\n /**\n * Converts the text node into escaped HTML markup\n * (representing the text itself).\n */\n ;\n\n _proto2.toMarkup = function toMarkup() {\n return utils.escape(this.toText());\n }\n /**\n * Converts the text node into a string\n * (representing the text iteself).\n */\n ;\n\n _proto2.toText = function toText() {\n return this.text;\n };\n\n return TextNode;\n}();\n/**\n * This node represents a space, but may render as or as text,\n * depending on the width.\n */\n\nvar SpaceNode =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a Space node with width given in CSS ems.\n */\n function SpaceNode(width) {\n this.width = void 0;\n this.character = void 0;\n this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html\n // for a table of space-like characters. We use Unicode\n // representations instead of &LongNames; as it\'s not clear how to\n // make the latter via document.createTextNode.\n\n if (width >= 0.05555 && width <= 0.05556) {\n this.character = "\\u200A"; //  \n } else if (width >= 0.1666 && width <= 0.1667) {\n this.character = "\\u2009"; //  \n } else if (width >= 0.2222 && width <= 0.2223) {\n this.character = "\\u2005"; //  \n } else if (width >= 0.2777 && width <= 0.2778) {\n this.character = "\\u2005\\u200A"; //   \n } else if (width >= -0.05556 && width <= -0.05555) {\n this.character = "\\u200A\\u2063"; // ​\n } else if (width >= -0.1667 && width <= -0.1666) {\n this.character = "\\u2009\\u2063"; // ​\n } else if (width >= -0.2223 && width <= -0.2222) {\n this.character = "\\u205F\\u2063"; // ​\n } else if (width >= -0.2778 && width <= -0.2777) {\n this.character = "\\u2005\\u2063"; // ​\n } else {\n this.character = null;\n }\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n var _proto3 = SpaceNode.prototype;\n\n _proto3.toNode = function toNode() {\n if (this.character) {\n return document.createTextNode(this.character);\n } else {\n var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace");\n node.setAttribute("width", this.width + "em");\n return node;\n }\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n ;\n\n _proto3.toMarkup = function toMarkup() {\n if (this.character) {\n return "" + this.character + "";\n } else {\n return "";\n }\n }\n /**\n * Converts the math node into a string, similar to innerText.\n */\n ;\n\n _proto3.toText = function toText() {\n if (this.character) {\n return this.character;\n } else {\n return " ";\n }\n };\n\n return SpaceNode;\n}();\n\n/* harmony default export */ var mathMLTree = ({\n MathNode: mathMLTree_MathNode,\n TextNode: mathMLTree_TextNode,\n SpaceNode: SpaceNode,\n newDocumentFragment: newDocumentFragment\n});\n// CONCATENATED MODULE: ./src/buildMathML.js\n/**\n * This file converts a parse tree into a cooresponding MathML tree. The main\n * entry point is the `buildMathML` function, which takes a parse tree from the\n * parser.\n */\n\n\n\n\n\n\n\n\n\n/**\n * Takes a symbol and converts it into a MathML text node after performing\n * optional replacement from symbols.js.\n */\nvar buildMathML_makeText = function makeText(text, mode, options) {\n if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.substr(4, 2) === "tt" || options.font && options.font.substr(4, 2) === "tt"))) {\n text = src_symbols[mode][text].replace;\n }\n\n return new mathMLTree.TextNode(text);\n};\n/**\n * Wrap the given array of nodes in an node if needed, i.e.,\n * unless the array has length 1. Always returns a single node.\n */\n\nvar buildMathML_makeRow = function makeRow(body) {\n if (body.length === 1) {\n return body[0];\n } else {\n return new mathMLTree.MathNode("mrow", body);\n }\n};\n/**\n * Returns the math variant as a string or null if none is required.\n */\n\nvar buildMathML_getVariant = function getVariant(group, options) {\n // Handle \\text... font specifiers as best we can.\n // MathML has a limited list of allowable mathvariant specifiers; see\n // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt\n if (options.fontFamily === "texttt") {\n return "monospace";\n } else if (options.fontFamily === "textsf") {\n if (options.fontShape === "textit" && options.fontWeight === "textbf") {\n return "sans-serif-bold-italic";\n } else if (options.fontShape === "textit") {\n return "sans-serif-italic";\n } else if (options.fontWeight === "textbf") {\n return "bold-sans-serif";\n } else {\n return "sans-serif";\n }\n } else if (options.fontShape === "textit" && options.fontWeight === "textbf") {\n return "bold-italic";\n } else if (options.fontShape === "textit") {\n return "italic";\n } else if (options.fontWeight === "textbf") {\n return "bold";\n }\n\n var font = options.font;\n\n if (!font || font === "mathnormal") {\n return null;\n }\n\n var mode = group.mode;\n\n if (font === "mathit") {\n return "italic";\n } else if (font === "boldsymbol") {\n return "bold-italic";\n } else if (font === "mathbf") {\n return "bold";\n } else if (font === "mathbb") {\n return "double-struck";\n } else if (font === "mathfrak") {\n return "fraktur";\n } else if (font === "mathscr" || font === "mathcal") {\n // MathML makes no distinction between script and caligrahpic\n return "script";\n } else if (font === "mathsf") {\n return "sans-serif";\n } else if (font === "mathtt") {\n return "monospace";\n }\n\n var text = group.text;\n\n if (utils.contains(["\\\\imath", "\\\\jmath"], text)) {\n return null;\n }\n\n if (src_symbols[mode][text] && src_symbols[mode][text].replace) {\n text = src_symbols[mode][text].replace;\n }\n\n var fontName = buildCommon.fontMap[font].fontName;\n\n if (getCharacterMetrics(text, fontName, mode)) {\n return buildCommon.fontMap[font].variant;\n }\n\n return null;\n};\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. Also combine consecutive outputs into a single\n * tag.\n */\n\nvar buildMathML_buildExpression = function buildExpression(expression, options, isOrdgroup) {\n if (expression.length === 1) {\n var group = buildMathML_buildGroup(expression[0], options);\n\n if (isOrdgroup && group instanceof mathMLTree_MathNode && group.type === "mo") {\n // When TeX writers want to suppress spacing on an operator,\n // they often put the operator by itself inside braces.\n group.setAttribute("lspace", "0em");\n group.setAttribute("rspace", "0em");\n }\n\n return [group];\n }\n\n var groups = [];\n var lastGroup;\n\n for (var i = 0; i < expression.length; i++) {\n var _group = buildMathML_buildGroup(expression[i], options);\n\n if (_group instanceof mathMLTree_MathNode && lastGroup instanceof mathMLTree_MathNode) {\n // Concatenate adjacent s\n if (_group.type === \'mtext\' && lastGroup.type === \'mtext\' && _group.getAttribute(\'mathvariant\') === lastGroup.getAttribute(\'mathvariant\')) {\n var _lastGroup$children;\n\n (_lastGroup$children = lastGroup.children).push.apply(_lastGroup$children, _group.children);\n\n continue; // Concatenate adjacent s\n } else if (_group.type === \'mn\' && lastGroup.type === \'mn\') {\n var _lastGroup$children2;\n\n (_lastGroup$children2 = lastGroup.children).push.apply(_lastGroup$children2, _group.children);\n\n continue; // Concatenate ... followed by .\n } else if (_group.type === \'mi\' && _group.children.length === 1 && lastGroup.type === \'mn\') {\n var child = _group.children[0];\n\n if (child instanceof mathMLTree_TextNode && child.text === \'.\') {\n var _lastGroup$children3;\n\n (_lastGroup$children3 = lastGroup.children).push.apply(_lastGroup$children3, _group.children);\n\n continue;\n }\n } else if (lastGroup.type === \'mi\' && lastGroup.children.length === 1) {\n var lastChild = lastGroup.children[0];\n\n if (lastChild instanceof mathMLTree_TextNode && lastChild.text === "\\u0338" && (_group.type === \'mo\' || _group.type === \'mi\' || _group.type === \'mn\')) {\n var _child = _group.children[0];\n\n if (_child instanceof mathMLTree_TextNode && _child.text.length > 0) {\n // Overlay with combining character long solidus\n _child.text = _child.text.slice(0, 1) + "\\u0338" + _child.text.slice(1);\n groups.pop();\n }\n }\n }\n }\n\n groups.push(_group);\n lastGroup = _group;\n }\n\n return groups;\n};\n/**\n * Equivalent to buildExpression, but wraps the elements in an \n * if there\'s more than one. Returns a single node instead of an array.\n */\n\nvar buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) {\n return buildMathML_makeRow(buildMathML_buildExpression(expression, options, isOrdgroup));\n};\n/**\n * Takes a group from the parser and calls the appropriate groupBuilders function\n * on it to produce a MathML node.\n */\n\nvar buildMathML_buildGroup = function buildGroup(group, options) {\n if (!group) {\n return new mathMLTree.MathNode("mrow");\n }\n\n if (_mathmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n var result = _mathmlGroupBuilders[group.type](group, options);\n return result;\n } else {\n throw new src_ParseError("Got group of unknown type: \'" + group.type + "\'");\n }\n};\n/**\n * Takes a full parse tree and settings and builds a MathML representation of\n * it. In particular, we put the elements from building the parse tree into a\n * tag so we can also include that TeX source as an annotation.\n *\n * Note that we actually return a domTree element with a `` inside it so\n * we can do appropriate styling.\n */\n\nfunction buildMathML(tree, texExpression, options, forMathmlOnly) {\n var expression = buildMathML_buildExpression(tree, options); // Wrap up the expression in an mrow so it is presented in the semantics\n // tag correctly, unless it\'s a single or .\n\n var wrapper;\n\n if (expression.length === 1 && expression[0] instanceof mathMLTree_MathNode && utils.contains(["mrow", "mtable"], expression[0].type)) {\n wrapper = expression[0];\n } else {\n wrapper = new mathMLTree.MathNode("mrow", expression);\n } // Build a TeX annotation of the source\n\n\n var annotation = new mathMLTree.MathNode("annotation", [new mathMLTree.TextNode(texExpression)]);\n annotation.setAttribute("encoding", "application/x-tex");\n var semantics = new mathMLTree.MathNode("semantics", [wrapper, annotation]);\n var math = new mathMLTree.MathNode("math", [semantics]);\n math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); // You can\'t style nodes, so we wrap the node in a span.\n // NOTE: The span class is not typed to have nodes as children, and\n // we don\'t want to make the children type more generic since the children\n // of span are expected to have more fields in `buildHtml` contexts.\n\n var wrapperClass = forMathmlOnly ? "katex" : "katex-mathml"; // $FlowFixMe\n\n return buildCommon.makeSpan([wrapperClass], [math]);\n}\n// CONCATENATED MODULE: ./src/buildTree.js\n\n\n\n\n\n\n\nvar buildTree_optionsFromSettings = function optionsFromSettings(settings) {\n return new src_Options({\n style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT,\n maxSize: settings.maxSize,\n minRuleThickness: settings.minRuleThickness\n });\n};\n\nvar buildTree_displayWrap = function displayWrap(node, settings) {\n if (settings.displayMode) {\n var classes = ["katex-display"];\n\n if (settings.leqno) {\n classes.push("leqno");\n }\n\n if (settings.fleqn) {\n classes.push("fleqn");\n }\n\n node = buildCommon.makeSpan(classes, [node]);\n }\n\n return node;\n};\n\nvar buildTree_buildTree = function buildTree(tree, expression, settings) {\n var options = buildTree_optionsFromSettings(settings);\n var katexNode;\n\n if (settings.output === "mathml") {\n return buildMathML(tree, expression, options, true);\n } else if (settings.output === "html") {\n var htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan(["katex"], [htmlNode]);\n } else {\n var mathMLNode = buildMathML(tree, expression, options, false);\n\n var _htmlNode = buildHTML(tree, options);\n\n katexNode = buildCommon.makeSpan(["katex"], [mathMLNode, _htmlNode]);\n }\n\n return buildTree_displayWrap(katexNode, settings);\n};\nvar buildTree_buildHTMLTree = function buildHTMLTree(tree, expression, settings) {\n var options = buildTree_optionsFromSettings(settings);\n var htmlNode = buildHTML(tree, options);\n var katexNode = buildCommon.makeSpan(["katex"], [htmlNode]);\n return buildTree_displayWrap(katexNode, settings);\n};\n/* harmony default export */ var src_buildTree = (buildTree_buildTree);\n// CONCATENATED MODULE: ./src/stretchy.js\n/**\n * This file provides support to buildMathML.js and buildHTML.js\n * for stretchy wide elements rendered from SVG files\n * and other CSS trickery.\n */\n\n\n\n\nvar stretchyCodePoint = {\n widehat: "^",\n widecheck: "\u02c7",\n widetilde: "~",\n utilde: "~",\n overleftarrow: "\\u2190",\n underleftarrow: "\\u2190",\n xleftarrow: "\\u2190",\n overrightarrow: "\\u2192",\n underrightarrow: "\\u2192",\n xrightarrow: "\\u2192",\n underbrace: "\\u23DF",\n overbrace: "\\u23DE",\n overgroup: "\\u23E0",\n undergroup: "\\u23E1",\n overleftrightarrow: "\\u2194",\n underleftrightarrow: "\\u2194",\n xleftrightarrow: "\\u2194",\n Overrightarrow: "\\u21D2",\n xRightarrow: "\\u21D2",\n overleftharpoon: "\\u21BC",\n xleftharpoonup: "\\u21BC",\n overrightharpoon: "\\u21C0",\n xrightharpoonup: "\\u21C0",\n xLeftarrow: "\\u21D0",\n xLeftrightarrow: "\\u21D4",\n xhookleftarrow: "\\u21A9",\n xhookrightarrow: "\\u21AA",\n xmapsto: "\\u21A6",\n xrightharpoondown: "\\u21C1",\n xleftharpoondown: "\\u21BD",\n xrightleftharpoons: "\\u21CC",\n xleftrightharpoons: "\\u21CB",\n xtwoheadleftarrow: "\\u219E",\n xtwoheadrightarrow: "\\u21A0",\n xlongequal: "=",\n xtofrom: "\\u21C4",\n xrightleftarrows: "\\u21C4",\n xrightequilibrium: "\\u21CC",\n // Not a perfect match.\n xleftequilibrium: "\\u21CB" // None better available.\n\n};\n\nvar stretchy_mathMLnode = function mathMLnode(label) {\n var node = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(stretchyCodePoint[label.substr(1)])]);\n node.setAttribute("stretchy", "true");\n return node;\n}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts.\n// Copyright (c) 2009-2010, Design Science, Inc. ()\n// Copyright (c) 2014-2017 Khan Academy ()\n// Licensed under the SIL Open Font License, Version 1.1.\n// See \\nhttp://scripts.sil.org/OFL\n// Very Long SVGs\n// Many of the KaTeX stretchy wide elements use a long SVG image and an\n// overflow: hidden tactic to achieve a stretchy image while avoiding\n// distortion of arrowheads or brace corners.\n// The SVG typically contains a very long (400 em) arrow.\n// The SVG is in a container span that has overflow: hidden, so the span\n// acts like a window that exposes only part of the SVG.\n// The SVG always has a longer, thinner aspect ratio than the container span.\n// After the SVG fills 100% of the height of the container span,\n// there is a long arrow shaft left over. That left-over shaft is not shown.\n// Instead, it is sliced off because the span\'s CSS has overflow: hidden.\n// Thus, the reader sees an arrow that matches the subject matter width\n// without distortion.\n// Some functions, such as \\cancel, need to vary their aspect ratio. These\n// functions do not get the overflow SVG treatment.\n// Second Brush Stroke\n// Low resolution monitors struggle to display images in fine detail.\n// So browsers apply anti-aliasing. A long straight arrow shaft therefore\n// will sometimes appear as if it has a blurred edge.\n// To mitigate this, these SVG files contain a second "brush-stroke" on the\n// arrow shafts. That is, a second long thin rectangular SVG path has been\n// written directly on top of each arrow shaft. This reinforcement causes\n// some of the screen pixels to display as black instead of the anti-aliased\n// gray pixel that a single path would generate. So we get arrow shafts\n// whose edges appear to be sharper.\n// In the katexImagesData object just below, the dimensions all\n// correspond to path geometry inside the relevant SVG.\n// For example, \\overrightarrow uses the same arrowhead as glyph U+2192\n// from the KaTeX Main font. The scaling factor is 1000.\n// That is, inside the font, that arrowhead is 522 units tall, which\n// corresponds to 0.522 em inside the document.\n\n\nvar katexImagesData = {\n // path(s), minWidth, height, align\n overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"],\n overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"],\n underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"],\n underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"],\n xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"],\n xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"],\n Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"],\n xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"],\n xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"],\n overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"],\n xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"],\n xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"],\n overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"],\n xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"],\n xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"],\n xlongequal: [["longequal"], 0.888, 334, "xMinYMin"],\n xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"],\n xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"],\n overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522],\n overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548],\n underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548],\n underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522],\n xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522],\n xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560],\n xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716],\n xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716],\n xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522],\n xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522],\n overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522],\n underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522],\n overgroup: [["leftgroup", "rightgroup"], 0.888, 342],\n undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342],\n xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522],\n xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528],\n // The next three arrows are from the mhchem package.\n // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the\n // document as \\xrightarrow or \\xrightleftharpoons. Those have\n // min-length = 1.75em, so we set min-length on these next three to match.\n xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901],\n xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716],\n xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716]\n};\n\nvar groupLength = function groupLength(arg) {\n if (arg.type === "ordgroup") {\n return arg.body.length;\n } else {\n return 1;\n }\n};\n\nvar stretchy_svgSpan = function svgSpan(group, options) {\n // Create a span with inline SVG for the element.\n function buildSvgSpan_() {\n var viewBoxWidth = 400000; // default\n\n var label = group.label.substr(1);\n\n if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) {\n // Each type in the `if` statement corresponds to one of the ParseNode\n // types below. This narrowing is required to access `grp.base`.\n var grp = group; // There are four SVG images available for each function.\n // Choose a taller image when there are more characters.\n\n var numChars = groupLength(grp.base);\n var viewBoxHeight;\n var pathName;\n\n var _height;\n\n if (numChars > 5) {\n if (label === "widehat" || label === "widecheck") {\n viewBoxHeight = 420;\n viewBoxWidth = 2364;\n _height = 0.42;\n pathName = label + "4";\n } else {\n viewBoxHeight = 312;\n viewBoxWidth = 2340;\n _height = 0.34;\n pathName = "tilde4";\n }\n } else {\n var imgIndex = [1, 1, 2, 2, 3, 3][numChars];\n\n if (label === "widehat" || label === "widecheck") {\n viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex];\n viewBoxHeight = [0, 239, 300, 360, 420][imgIndex];\n _height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex];\n pathName = label + imgIndex;\n } else {\n viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex];\n viewBoxHeight = [0, 260, 286, 306, 312][imgIndex];\n _height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex];\n pathName = "tilde" + imgIndex;\n }\n }\n\n var path = new domTree_PathNode(pathName);\n var svgNode = new SvgNode([path], {\n "width": "100%",\n "height": _height + "em",\n "viewBox": "0 0 " + viewBoxWidth + " " + viewBoxHeight,\n "preserveAspectRatio": "none"\n });\n return {\n span: buildCommon.makeSvgSpan([], [svgNode], options),\n minWidth: 0,\n height: _height\n };\n } else {\n var spans = [];\n var data = katexImagesData[label];\n var paths = data[0],\n _minWidth = data[1],\n _viewBoxHeight = data[2];\n\n var _height2 = _viewBoxHeight / 1000;\n\n var numSvgChildren = paths.length;\n var widthClasses;\n var aligns;\n\n if (numSvgChildren === 1) {\n // $FlowFixMe: All these cases must be of the 4-tuple type.\n var align1 = data[3];\n widthClasses = ["hide-tail"];\n aligns = [align1];\n } else if (numSvgChildren === 2) {\n widthClasses = ["halfarrow-left", "halfarrow-right"];\n aligns = ["xMinYMin", "xMaxYMin"];\n } else if (numSvgChildren === 3) {\n widthClasses = ["brace-left", "brace-center", "brace-right"];\n aligns = ["xMinYMin", "xMidYMin", "xMaxYMin"];\n } else {\n throw new Error("Correct katexImagesData or update code here to support\\n " + numSvgChildren + " children.");\n }\n\n for (var i = 0; i < numSvgChildren; i++) {\n var _path = new domTree_PathNode(paths[i]);\n\n var _svgNode = new SvgNode([_path], {\n "width": "400em",\n "height": _height2 + "em",\n "viewBox": "0 0 " + viewBoxWidth + " " + _viewBoxHeight,\n "preserveAspectRatio": aligns[i] + " slice"\n });\n\n var _span = buildCommon.makeSvgSpan([widthClasses[i]], [_svgNode], options);\n\n if (numSvgChildren === 1) {\n return {\n span: _span,\n minWidth: _minWidth,\n height: _height2\n };\n } else {\n _span.style.height = _height2 + "em";\n spans.push(_span);\n }\n }\n\n return {\n span: buildCommon.makeSpan(["stretchy"], spans, options),\n minWidth: _minWidth,\n height: _height2\n };\n }\n } // buildSvgSpan_()\n\n\n var _buildSvgSpan_ = buildSvgSpan_(),\n span = _buildSvgSpan_.span,\n minWidth = _buildSvgSpan_.minWidth,\n height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0.\n // Any adjustments relative to the baseline must be done in buildHTML.\n\n\n span.height = height;\n span.style.height = height + "em";\n\n if (minWidth > 0) {\n span.style.minWidth = minWidth + "em";\n }\n\n return span;\n};\n\nvar stretchy_encloseSpan = function encloseSpan(inner, label, pad, options) {\n // Return an image span for \\cancel, \\bcancel, \\xcancel, or \\fbox\n var img;\n var totalHeight = inner.height + inner.depth + 2 * pad;\n\n if (/fbox|color/.test(label)) {\n img = buildCommon.makeSpan(["stretchy", label], [], options);\n\n if (label === "fbox") {\n var color = options.color && options.getColor();\n\n if (color) {\n img.style.borderColor = color;\n }\n }\n } else {\n // \\cancel, \\bcancel, or \\xcancel\n // Since \\cancel\'s SVG is inline and it omits the viewBox attribute,\n // its stroke-width will not vary with span area.\n var lines = [];\n\n if (/^[bx]cancel$/.test(label)) {\n lines.push(new LineNode({\n "x1": "0",\n "y1": "0",\n "x2": "100%",\n "y2": "100%",\n "stroke-width": "0.046em"\n }));\n }\n\n if (/^x?cancel$/.test(label)) {\n lines.push(new LineNode({\n "x1": "0",\n "y1": "100%",\n "x2": "100%",\n "y2": "0",\n "stroke-width": "0.046em"\n }));\n }\n\n var svgNode = new SvgNode(lines, {\n "width": "100%",\n "height": totalHeight + "em"\n });\n img = buildCommon.makeSvgSpan([], [svgNode], options);\n }\n\n img.height = totalHeight;\n img.style.height = totalHeight + "em";\n return img;\n};\n\n/* harmony default export */ var stretchy = ({\n encloseSpan: stretchy_encloseSpan,\n mathMLnode: stretchy_mathMLnode,\n svgSpan: stretchy_svgSpan\n});\n// CONCATENATED MODULE: ./src/functions/accent.js\n\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only "accent", but\nvar accent_htmlBuilder = function htmlBuilder(grp, options) {\n // Accents are handled in the TeXbook pg. 443, rule 12.\n var base;\n var group;\n var supSub = checkNodeType(grp, "supsub");\n var supSubGroup;\n\n if (supSub) {\n // If our base is a character box, and we have superscripts and\n // subscripts, the supsub will defer to us. In particular, we want\n // to attach the superscripts and subscripts to the inner body (so\n // that the position of the superscripts and subscripts won\'t be\n // affected by the height of the accent). We accomplish this by\n // sticking the base of the accent into the base of the supsub, and\n // rendering that, while keeping track of where the accent is.\n // The real accent group is the base of the supsub group\n group = assertNodeType(supSub.base, "accent"); // The character box is the base of the accent group\n\n base = group.base; // Stick the character box into the base of the supsub group\n\n supSub.base = base; // Rerender the supsub group with its new base, and store that\n // result.\n\n supSubGroup = assertSpan(buildHTML_buildGroup(supSub, options)); // reset original base\n\n supSub.base = group;\n } else {\n group = assertNodeType(grp, "accent");\n base = group.base;\n } // Build the base group\n\n\n var body = buildHTML_buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character?\n\n var mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line "If the\n // nucleus is not a single character, let s = 0; otherwise set s to the\n // kern amount for the nucleus followed by the \\skewchar of its font."\n // Note that our skew metrics are just the kern between each character\n // and the skewchar.\n\n var skew = 0;\n\n if (mustShift) {\n // If the base is a character box, then we want the skew of the\n // innermost character. To do that, we find the innermost character:\n var baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it\n\n var baseGroup = buildHTML_buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol.\n\n skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we\n // removed with getBaseElem might contain things like \\color which\n // we can\'t get rid of.\n // TODO(emily): Find a better way to get the skew\n } // calculate the amount of space between the body and the accent\n\n\n var clearance = Math.min(body.height, options.fontMetrics().xHeight); // Build the accent\n\n var accentBody;\n\n if (!group.isStretchy) {\n var accent;\n var width;\n\n if (group.label === "\\\\vec") {\n // Before version 0.9, \\vec used the combining font glyph U+20D7.\n // But browsers, especially Safari, are not consistent in how they\n // render combining characters when not preceded by a character.\n // So now we use an SVG.\n // If Safari reforms, we should consider reverting to the glyph.\n accent = buildCommon.staticSvg("vec", options);\n width = buildCommon.svgData.vec[1];\n } else {\n accent = buildCommon.makeOrd({\n mode: group.mode,\n text: group.label\n }, options, "textord");\n accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to\n // shift the accent over to a place we don\'t want.\n\n accent.italic = 0;\n width = accent.width;\n }\n\n accentBody = buildCommon.makeSpan(["accent-body"], [accent]); // "Full" accents expand the width of the resulting symbol to be\n // at least the width of the accent, and overlap directly onto the\n // character without any vertical offset.\n\n var accentFull = group.label === "\\\\textcircled";\n\n if (accentFull) {\n accentBody.classes.push(\'accent-full\');\n clearance = body.height;\n } // Shift the accent over by the skew.\n\n\n var left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }`\n // so that the accent doesn\'t contribute to the bounding box.\n // We need to shift the character by its width (effectively half\n // its width) to compensate.\n\n if (!accentFull) {\n left -= width / 2;\n }\n\n accentBody.style.left = left + "em"; // \\textcircled uses the \\bigcirc glyph, so it needs some\n // vertical adjustment to match LaTeX.\n\n if (group.label === "\\\\textcircled") {\n accentBody.style.top = ".2em";\n }\n\n accentBody = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: body\n }, {\n type: "kern",\n size: -clearance\n }, {\n type: "elem",\n elem: accentBody\n }]\n }, options);\n } else {\n accentBody = stretchy.svgSpan(group, options);\n accentBody = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: body\n }, {\n type: "elem",\n elem: accentBody,\n wrapperClasses: ["svg-align"],\n wrapperStyle: skew > 0 ? {\n width: "calc(100% - " + 2 * skew + "em)",\n marginLeft: 2 * skew + "em"\n } : undefined\n }]\n }, options);\n }\n\n var accentWrap = buildCommon.makeSpan(["mord", "accent"], [accentBody], options);\n\n if (supSubGroup) {\n // Here, we replace the "base" child of the supsub with our newly\n // generated accent.\n supSubGroup.children[0] = accentWrap; // Since we don\'t rerun the height calculation after replacing the\n // accent, we manually recalculate height.\n\n supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not.\n\n supSubGroup.classes[0] = "mord";\n return supSubGroup;\n } else {\n return accentWrap;\n }\n};\n\nvar accent_mathmlBuilder = function mathmlBuilder(group, options) {\n var accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode("mo", [buildMathML_makeText(group.label, group.mode)]);\n var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute("accent", "true");\n return node;\n};\n\nvar NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\\\acute", "\\\\grave", "\\\\ddot", "\\\\tilde", "\\\\bar", "\\\\breve", "\\\\check", "\\\\hat", "\\\\vec", "\\\\dot", "\\\\mathring"].map(function (accent) {\n return "\\\\" + accent;\n}).join("|")); // Accents\n\ndefineFunction({\n type: "accent",\n names: ["\\\\acute", "\\\\grave", "\\\\ddot", "\\\\tilde", "\\\\bar", "\\\\breve", "\\\\check", "\\\\hat", "\\\\vec", "\\\\dot", "\\\\mathring", "\\\\widecheck", "\\\\widehat", "\\\\widetilde", "\\\\overrightarrow", "\\\\overleftarrow", "\\\\Overrightarrow", "\\\\overleftrightarrow", "\\\\overgroup", "\\\\overlinesegment", "\\\\overleftharpoon", "\\\\overrightharpoon"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n var base = args[0];\n var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName);\n var isShifty = !isStretchy || context.funcName === "\\\\widehat" || context.funcName === "\\\\widetilde" || context.funcName === "\\\\widecheck";\n return {\n type: "accent",\n mode: context.parser.mode,\n label: context.funcName,\n isStretchy: isStretchy,\n isShifty: isShifty,\n base: base\n };\n },\n htmlBuilder: accent_htmlBuilder,\n mathmlBuilder: accent_mathmlBuilder\n}); // Text-mode accents\n\ndefineFunction({\n type: "accent",\n names: ["\\\\\'", "\\\\`", "\\\\^", "\\\\~", "\\\\=", "\\\\u", "\\\\.", \'\\\\"\', "\\\\r", "\\\\H", "\\\\v", "\\\\textcircled"],\n props: {\n numArgs: 1,\n allowedInText: true,\n allowedInMath: false\n },\n handler: function handler(context, args) {\n var base = args[0];\n return {\n type: "accent",\n mode: context.parser.mode,\n label: context.funcName,\n isStretchy: false,\n isShifty: true,\n base: base\n };\n },\n htmlBuilder: accent_htmlBuilder,\n mathmlBuilder: accent_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/accentunder.js\n// Horizontal overlap functions\n\n\n\n\n\n\ndefineFunction({\n type: "accentUnder",\n names: ["\\\\underleftarrow", "\\\\underrightarrow", "\\\\underleftrightarrow", "\\\\undergroup", "\\\\underlinesegment", "\\\\utilde"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var base = args[0];\n return {\n type: "accentUnder",\n mode: parser.mode,\n label: funcName,\n base: base\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Treat under accents much like underlines.\n var innerGroup = buildHTML_buildGroup(group.base, options);\n var accentBody = stretchy.svgSpan(group, options);\n var kern = group.label === "\\\\utilde" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns\n\n var vlist = buildCommon.makeVList({\n positionType: "bottom",\n positionData: accentBody.height + kern,\n children: [{\n type: "elem",\n elem: accentBody,\n wrapperClasses: ["svg-align"]\n }, {\n type: "kern",\n size: kern\n }, {\n type: "elem",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan(["mord", "accentunder"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var accentNode = stretchy.mathMLnode(group.label);\n var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.base, options), accentNode]);\n node.setAttribute("accentunder", "true");\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/arrow.js\n\n\n\n\n\n\n\n// Helper function\nvar arrow_paddedNode = function paddedNode(group) {\n var node = new mathMLTree.MathNode("mpadded", group ? [group] : []);\n node.setAttribute("width", "+0.6em");\n node.setAttribute("lspace", "0.3em");\n return node;\n}; // Stretchy arrows with an optional argument\n\n\ndefineFunction({\n type: "xArrow",\n names: ["\\\\xleftarrow", "\\\\xrightarrow", "\\\\xLeftarrow", "\\\\xRightarrow", "\\\\xleftrightarrow", "\\\\xLeftrightarrow", "\\\\xhookleftarrow", "\\\\xhookrightarrow", "\\\\xmapsto", "\\\\xrightharpoondown", "\\\\xrightharpoonup", "\\\\xleftharpoondown", "\\\\xleftharpoonup", "\\\\xrightleftharpoons", "\\\\xleftrightharpoons", "\\\\xlongequal", "\\\\xtwoheadrightarrow", "\\\\xtwoheadleftarrow", "\\\\xtofrom", // The next 3 functions are here to support the mhchem extension.\n // Direct use of these functions is discouraged and may break someday.\n "\\\\xrightleftarrows", "\\\\xrightequilibrium", "\\\\xleftequilibrium"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n return {\n type: "xArrow",\n mode: parser.mode,\n label: funcName,\n body: args[0],\n below: optArgs[0]\n };\n },\n // Flow is unable to correctly infer the type of `group`, even though it\'s\n // unamibiguously determined from the passed-in `type` above.\n htmlBuilder: function htmlBuilder(group, options) {\n var style = options.style; // Build the argument groups in the appropriate style.\n // Ref: amsmath.dtx: \\hbox{$\\scriptstyle\\mkern#3mu{#6}\\mkern#4mu$}%\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n var newOptions = options.havingStyle(style.sup());\n var upperGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, newOptions, options), options);\n upperGroup.classes.push("x-arrow-pad");\n var lowerGroup;\n\n if (group.below) {\n // Build the lower group\n newOptions = options.havingStyle(style.sub());\n lowerGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.below, newOptions, options), options);\n lowerGroup.classes.push("x-arrow-pad");\n }\n\n var arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0.\n // The point we want on the math axis is at 0.5 * arrowBody.height.\n\n var arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\\if0#2\\else\\mkern#2mu\\fi\n\n var upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu\n\n if (upperGroup.depth > 0.25 || group.label === "\\\\xleftequilibrium") {\n upperShift -= upperGroup.depth; // shift up if depth encroaches\n } // Generate the vlist\n\n\n var vlist;\n\n if (lowerGroup) {\n var lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111;\n vlist = buildCommon.makeVList({\n positionType: "individualShift",\n children: [{\n type: "elem",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: "elem",\n elem: arrowBody,\n shift: arrowShift\n }, {\n type: "elem",\n elem: lowerGroup,\n shift: lowerShift\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: "individualShift",\n children: [{\n type: "elem",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: "elem",\n elem: arrowBody,\n shift: arrowShift\n }]\n }, options);\n } // $FlowFixMe: Replace this with passing "svg-align" into makeVList.\n\n\n vlist.children[0].children[0].children[1].classes.push("svg-align");\n return buildCommon.makeSpan(["mrel", "x-arrow"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var arrowNode = stretchy.mathMLnode(group.label);\n var node;\n\n if (group.body) {\n var upperNode = arrow_paddedNode(buildMathML_buildGroup(group.body, options));\n\n if (group.below) {\n var lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options));\n node = new mathMLTree.MathNode("munderover", [arrowNode, lowerNode, upperNode]);\n } else {\n node = new mathMLTree.MathNode("mover", [arrowNode, upperNode]);\n }\n } else if (group.below) {\n var _lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options));\n\n node = new mathMLTree.MathNode("munder", [arrowNode, _lowerNode]);\n } else {\n // This should never happen.\n // Parser.js throws an error if there is no argument.\n node = arrow_paddedNode();\n node = new mathMLTree.MathNode("mover", [arrowNode, node]);\n }\n\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/char.js\n\n\n // \\@char is an internal function that takes a grouped decimal argument like\n// {123} and converts into symbol with code 123. It is used by the *macro*\n// \\char defined in macros.js.\n\ndefineFunction({\n type: "textord",\n names: ["\\\\@char"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var arg = assertNodeType(args[0], "ordgroup");\n var group = arg.body;\n var number = "";\n\n for (var i = 0; i < group.length; i++) {\n var node = assertNodeType(group[i], "textord");\n number += node.text;\n }\n\n var code = parseInt(number);\n\n if (isNaN(code)) {\n throw new src_ParseError("\\\\@char has non-numeric argument " + number);\n }\n\n return {\n type: "textord",\n mode: parser.mode,\n text: String.fromCharCode(code)\n };\n }\n});\n// CONCATENATED MODULE: ./src/functions/color.js\n\n\n\n\n\n\n\nvar color_htmlBuilder = function htmlBuilder(group, options) {\n var elements = buildHTML_buildExpression(group.body, options.withColor(group.color), false); // \\color isn\'t supposed to affect the type of the elements it contains.\n // To accomplish this, we wrap the results in a fragment, so the inner\n // elements will be able to directly interact with their neighbors. For\n // example, `\\color{red}{2 +} 3` has the same spacing as `2 + 3`\n\n return buildCommon.makeFragment(elements);\n};\n\nvar color_mathmlBuilder = function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(group.body, options.withColor(group.color));\n var node = new mathMLTree.MathNode("mstyle", inner);\n node.setAttribute("mathcolor", group.color);\n return node;\n};\n\ndefineFunction({\n type: "color",\n names: ["\\\\textcolor"],\n props: {\n numArgs: 2,\n allowedInText: true,\n greediness: 3,\n argTypes: ["color", "original"]\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var color = assertNodeType(args[0], "color-token").color;\n var body = args[1];\n return {\n type: "color",\n mode: parser.mode,\n color: color,\n body: defineFunction_ordargument(body)\n };\n },\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\ndefineFunction({\n type: "color",\n names: ["\\\\color"],\n props: {\n numArgs: 1,\n allowedInText: true,\n greediness: 3,\n argTypes: ["color"]\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser,\n breakOnTokenText = _ref2.breakOnTokenText;\n var color = assertNodeType(args[0], "color-token").color; // Set macro \\current@color in current namespace to store the current\n // color, mimicking the behavior of color.sty.\n // This is currently used just to correctly color a \\right\n // that follows a \\color command.\n\n parser.gullet.macros.set("\\\\current@color", color); // Parse out the implicit body that should be colored.\n\n var body = parser.parseExpression(true, breakOnTokenText);\n return {\n type: "color",\n mode: parser.mode,\n color: color,\n body: body\n };\n },\n htmlBuilder: color_htmlBuilder,\n mathmlBuilder: color_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/cr.js\n// Row breaks within tabular environments, and line breaks at top level\n\n\n\n\n\n // \\\\ is a macro mapping to either \\cr or \\newline. Because they have the\n// same signature, we implement them as one megafunction, with newRow\n// indicating whether we\'re in the \\cr case, and newLine indicating whether\n// to break the line in the \\newline case.\n\ndefineFunction({\n type: "cr",\n names: ["\\\\cr", "\\\\newline"],\n props: {\n numArgs: 0,\n numOptionalArgs: 1,\n argTypes: ["size"],\n allowedInText: true\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var size = optArgs[0];\n var newRow = funcName === "\\\\cr";\n var newLine = false;\n\n if (!newRow) {\n if (parser.settings.displayMode && parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\\\\\ or \\\\newline " + "does nothing in display mode")) {\n newLine = false;\n } else {\n newLine = true;\n }\n }\n\n return {\n type: "cr",\n mode: parser.mode,\n newLine: newLine,\n newRow: newRow,\n size: size && assertNodeType(size, "size").value\n };\n },\n // The following builders are called only at the top level,\n // not within tabular/array environments.\n htmlBuilder: function htmlBuilder(group, options) {\n if (group.newRow) {\n throw new src_ParseError("\\\\cr valid only within a tabular/array environment");\n }\n\n var span = buildCommon.makeSpan(["mspace"], [], options);\n\n if (group.newLine) {\n span.classes.push("newline");\n\n if (group.size) {\n span.style.marginTop = units_calculateSize(group.size, options) + "em";\n }\n }\n\n return span;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mspace");\n\n if (group.newLine) {\n node.setAttribute("linebreak", "newline");\n\n if (group.size) {\n node.setAttribute("height", units_calculateSize(group.size, options) + "em");\n }\n }\n\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/delimiter.js\n/**\n * This file deals with creating delimiters of various sizes. The TeXbook\n * discusses these routines on page 441-442, in the "Another subroutine sets box\n * x to a specified variable delimiter" paragraph.\n *\n * There are three main routines here. `makeSmallDelim` makes a delimiter in the\n * normal font, but in either text, script, or scriptscript style.\n * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1,\n * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of\n * smaller pieces that are stacked on top of one another.\n *\n * The functions take a parameter `center`, which determines if the delimiter\n * should be centered around the axis.\n *\n * Then, there are three exposed functions. `sizedDelim` makes a delimiter in\n * one of the given sizes. This is used for things like `\\bigl`.\n * `customSizedDelim` makes a delimiter with a given total height+depth. It is\n * called in places like `\\sqrt`. `leftRightDelim` makes an appropriate\n * delimiter which surrounds an expression of a given height an depth. It is\n * used in `\\left` and `\\right`.\n */\n\n\n\n\n\n\n\n\n\n/**\n * Get the metrics for a given symbol and font, after transformation (i.e.\n * after following replacement from symbols.js)\n */\nvar delimiter_getMetrics = function getMetrics(symbol, font, mode) {\n var replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace;\n var metrics = getCharacterMetrics(replace || symbol, font, mode);\n\n if (!metrics) {\n throw new Error("Unsupported symbol " + symbol + " and font size " + font + ".");\n }\n\n return metrics;\n};\n/**\n * Puts a delimiter span in a given style, and adds appropriate height, depth,\n * and maxFontSizes.\n */\n\n\nvar delimiter_styleWrap = function styleWrap(delim, toStyle, options, classes) {\n var newOptions = options.havingBaseStyle(toStyle);\n var span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options);\n var delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier;\n span.height *= delimSizeMultiplier;\n span.depth *= delimSizeMultiplier;\n span.maxFontSize = newOptions.sizeMultiplier;\n return span;\n};\n\nvar centerSpan = function centerSpan(span, options, style) {\n var newOptions = options.havingBaseStyle(style);\n var shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight;\n span.classes.push("delimcenter");\n span.style.top = shift + "em";\n span.height -= shift;\n span.depth += shift;\n};\n/**\n * Makes a small delimiter. This is a delimiter that comes in the Main-Regular\n * font, but is restyled to either be in textstyle, scriptstyle, or\n * scriptscriptstyle.\n */\n\n\nvar delimiter_makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) {\n var text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options);\n var span = delimiter_styleWrap(text, style, options, classes);\n\n if (center) {\n centerSpan(span, options, style);\n }\n\n return span;\n};\n/**\n * Builds a symbol in the given font size (note size is an integer)\n */\n\n\nvar delimiter_mathrmSize = function mathrmSize(value, size, mode, options) {\n return buildCommon.makeSymbol(value, "Size" + size + "-Regular", mode, options);\n};\n/**\n * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2,\n * Size3, or Size4 fonts. It is always rendered in textstyle.\n */\n\n\nvar delimiter_makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) {\n var inner = delimiter_mathrmSize(delim, size, mode, options);\n var span = delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "size" + size], [inner], options), src_Style.TEXT, options, classes);\n\n if (center) {\n centerSpan(span, options, src_Style.TEXT);\n }\n\n return span;\n};\n/**\n * Make an inner span with the given offset and in the given font. This is used\n * in `makeStackedDelim` to make the stacking pieces for the delimiter.\n */\n\n\nvar delimiter_makeInner = function makeInner(symbol, font, mode) {\n var sizeClass; // Apply the correct CSS class to choose the right font.\n\n if (font === "Size1-Regular") {\n sizeClass = "delim-size1";\n } else\n /* if (font === "Size4-Regular") */\n {\n sizeClass = "delim-size4";\n }\n\n var inner = buildCommon.makeSpan(["delimsizinginner", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element\n // in the appropriate tag that VList uses.\n\n return {\n type: "elem",\n elem: inner\n };\n}; // Helper for makeStackedDelim\n\n\nvar lap = {\n type: "kern",\n size: -0.005\n};\n/**\n * Make a stacked delimiter out of a given delimiter, with the total height at\n * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook.\n */\n\nvar delimiter_makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) {\n // There are four parts, the top, an optional middle, a repeated part, and a\n // bottom.\n var top;\n var middle;\n var repeat;\n var bottom;\n top = repeat = bottom = delim;\n middle = null; // Also keep track of what font the delimiters are in\n\n var font = "Size1-Regular"; // We set the parts and font based on the symbol. Note that we use\n // \'\\u23d0\' instead of \'|\' and \'\\u2016\' instead of \'\\\\|\' for the\n // repeats of the arrows\n\n if (delim === "\\\\uparrow") {\n repeat = bottom = "\\u23D0";\n } else if (delim === "\\\\Uparrow") {\n repeat = bottom = "\\u2016";\n } else if (delim === "\\\\downarrow") {\n top = repeat = "\\u23D0";\n } else if (delim === "\\\\Downarrow") {\n top = repeat = "\\u2016";\n } else if (delim === "\\\\updownarrow") {\n top = "\\\\uparrow";\n repeat = "\\u23D0";\n bottom = "\\\\downarrow";\n } else if (delim === "\\\\Updownarrow") {\n top = "\\\\Uparrow";\n repeat = "\\u2016";\n bottom = "\\\\Downarrow";\n } else if (delim === "[" || delim === "\\\\lbrack") {\n top = "\\u23A1";\n repeat = "\\u23A2";\n bottom = "\\u23A3";\n font = "Size4-Regular";\n } else if (delim === "]" || delim === "\\\\rbrack") {\n top = "\\u23A4";\n repeat = "\\u23A5";\n bottom = "\\u23A6";\n font = "Size4-Regular";\n } else if (delim === "\\\\lfloor" || delim === "\\u230A") {\n repeat = top = "\\u23A2";\n bottom = "\\u23A3";\n font = "Size4-Regular";\n } else if (delim === "\\\\lceil" || delim === "\\u2308") {\n top = "\\u23A1";\n repeat = bottom = "\\u23A2";\n font = "Size4-Regular";\n } else if (delim === "\\\\rfloor" || delim === "\\u230B") {\n repeat = top = "\\u23A5";\n bottom = "\\u23A6";\n font = "Size4-Regular";\n } else if (delim === "\\\\rceil" || delim === "\\u2309") {\n top = "\\u23A4";\n repeat = bottom = "\\u23A5";\n font = "Size4-Regular";\n } else if (delim === "(" || delim === "\\\\lparen") {\n top = "\\u239B";\n repeat = "\\u239C";\n bottom = "\\u239D";\n font = "Size4-Regular";\n } else if (delim === ")" || delim === "\\\\rparen") {\n top = "\\u239E";\n repeat = "\\u239F";\n bottom = "\\u23A0";\n font = "Size4-Regular";\n } else if (delim === "\\\\{" || delim === "\\\\lbrace") {\n top = "\\u23A7";\n middle = "\\u23A8";\n bottom = "\\u23A9";\n repeat = "\\u23AA";\n font = "Size4-Regular";\n } else if (delim === "\\\\}" || delim === "\\\\rbrace") {\n top = "\\u23AB";\n middle = "\\u23AC";\n bottom = "\\u23AD";\n repeat = "\\u23AA";\n font = "Size4-Regular";\n } else if (delim === "\\\\lgroup" || delim === "\\u27EE") {\n top = "\\u23A7";\n bottom = "\\u23A9";\n repeat = "\\u23AA";\n font = "Size4-Regular";\n } else if (delim === "\\\\rgroup" || delim === "\\u27EF") {\n top = "\\u23AB";\n bottom = "\\u23AD";\n repeat = "\\u23AA";\n font = "Size4-Regular";\n } else if (delim === "\\\\lmoustache" || delim === "\\u23B0") {\n top = "\\u23A7";\n bottom = "\\u23AD";\n repeat = "\\u23AA";\n font = "Size4-Regular";\n } else if (delim === "\\\\rmoustache" || delim === "\\u23B1") {\n top = "\\u23AB";\n bottom = "\\u23A9";\n repeat = "\\u23AA";\n font = "Size4-Regular";\n } // Get the metrics of the four sections\n\n\n var topMetrics = delimiter_getMetrics(top, font, mode);\n var topHeightTotal = topMetrics.height + topMetrics.depth;\n var repeatMetrics = delimiter_getMetrics(repeat, font, mode);\n var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth;\n var bottomMetrics = delimiter_getMetrics(bottom, font, mode);\n var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth;\n var middleHeightTotal = 0;\n var middleFactor = 1;\n\n if (middle !== null) {\n var middleMetrics = delimiter_getMetrics(middle, font, mode);\n middleHeightTotal = middleMetrics.height + middleMetrics.depth;\n middleFactor = 2; // repeat symmetrically above and below middle\n } // Calcuate the minimal height that the delimiter can have.\n // It is at least the size of the top, bottom, and optional middle combined.\n\n\n var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need\n\n var repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols\n\n var realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note\n // that in this context, "center" means that the delimiter should be\n // centered around the axis in the current style, while normally it is\n // centered around the axis in textstyle.\n\n var axisHeight = options.fontMetrics().axisHeight;\n\n if (center) {\n axisHeight *= options.sizeMultiplier;\n } // Calculate the depth\n\n\n var depth = realHeightTotal / 2 - axisHeight; // This function differs from the TeX procedure in one way.\n // We shift each repeat element downwards by 0.005em, to prevent a gap\n // due to browser floating point rounding error.\n // Then, at the last element-to element joint, we add one extra repeat\n // element to cover the gap created by the shifts.\n // Find the shift needed to align the upper end of the extra element at a point\n // 0.005em above the lower end of the top element.\n\n var shiftOfExtraElement = (repeatCount + 1) * 0.005 - repeatHeightTotal; // Now, we start building the pieces that will go into the vlist\n // Keep a list of the inner pieces\n\n var inners = []; // Add the bottom symbol\n\n inners.push(delimiter_makeInner(bottom, font, mode));\n\n if (middle === null) {\n // Add that many symbols\n for (var i = 0; i < repeatCount; i++) {\n inners.push(lap); // overlap\n\n inners.push(delimiter_makeInner(repeat, font, mode));\n }\n } else {\n // When there is a middle bit, we need the middle part and two repeated\n // sections\n for (var _i = 0; _i < repeatCount; _i++) {\n inners.push(lap);\n inners.push(delimiter_makeInner(repeat, font, mode));\n } // Insert one extra repeat element.\n\n\n inners.push({\n type: "kern",\n size: shiftOfExtraElement\n });\n inners.push(delimiter_makeInner(repeat, font, mode));\n inners.push(lap); // Now insert the middle of the brace.\n\n inners.push(delimiter_makeInner(middle, font, mode));\n\n for (var _i2 = 0; _i2 < repeatCount; _i2++) {\n inners.push(lap);\n inners.push(delimiter_makeInner(repeat, font, mode));\n }\n } // To cover the gap create by the overlaps, insert one more repeat element,\n // at a position that juts 0.005 above the bottom of the top element.\n\n\n inners.push({\n type: "kern",\n size: shiftOfExtraElement\n });\n inners.push(delimiter_makeInner(repeat, font, mode));\n inners.push(lap); // Add the top symbol\n\n inners.push(delimiter_makeInner(top, font, mode)); // Finally, build the vlist\n\n var newOptions = options.havingBaseStyle(src_Style.TEXT);\n var inner = buildCommon.makeVList({\n positionType: "bottom",\n positionData: depth,\n children: inners\n }, newOptions);\n return delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), src_Style.TEXT, options, classes);\n}; // All surds have 0.08em padding above the viniculum inside the SVG.\n// That keeps browser span height rounding error from pinching the line.\n\n\nvar vbPad = 80; // padding above the surd, measured inside the viewBox.\n\nvar emPad = 0.08; // padding, in ems, measured in the document.\n\nvar delimiter_sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraViniculum, options) {\n var path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight);\n var pathNode = new domTree_PathNode(sqrtName, path);\n var svg = new SvgNode([pathNode], {\n // Note: 1000:1 ratio of viewBox to document em width.\n "width": "400em",\n "height": height + "em",\n "viewBox": "0 0 400000 " + viewBoxHeight,\n "preserveAspectRatio": "xMinYMin slice"\n });\n return buildCommon.makeSvgSpan(["hide-tail"], [svg], options);\n};\n/**\n * Make a sqrt image of the given height,\n */\n\n\nvar makeSqrtImage = function makeSqrtImage(height, options) {\n // Define a newOptions that removes the effect of size changes such as \\Huge.\n // We don\'t pick different a height surd for \\Huge. For it, we scale up.\n var newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds.\n\n var delim = traverseSequence("\\\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions);\n var sizeMultiplier = newOptions.sizeMultiplier; // default\n // The standard sqrt SVGs each have a 0.04em thick viniculum.\n // If Settings.minRuleThickness is larger than that, we add extraViniculum.\n\n var extraViniculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol.\n\n var span;\n var spanHeight = 0;\n var texHeight = 0;\n var viewBoxHeight = 0;\n var advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd.\n // Then browser rounding error on the parent span height will not\n // encroach on the ink of the viniculum. But that padding is not\n // included in the TeX-like `height` used for calculation of\n // vertical alignment. So texHeight = span.height < span.style.height.\n\n if (delim.type === "small") {\n // Get an SVG that is derived from glyph U+221A in font KaTeX-Main.\n // 1000 unit normal glyph height.\n viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad;\n\n if (height < 1.0) {\n sizeMultiplier = 1.0; // mimic a \\textfont radical\n } else if (height < 1.4) {\n sizeMultiplier = 0.7; // mimic a \\scriptfont radical\n }\n\n spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier;\n texHeight = (1.00 + extraViniculum) / sizeMultiplier;\n span = delimiter_sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, options);\n span.style.minWidth = "0.853em";\n advanceWidth = 0.833 / sizeMultiplier; // from the font.\n } else if (delim.type === "large") {\n // These SVGs come from fonts: KaTeX_Size1, _Size2, etc.\n viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size];\n texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier;\n spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) / sizeMultiplier;\n span = delimiter_sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraViniculum, options);\n span.style.minWidth = "1.02em";\n advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font.\n } else {\n // Tall sqrt. In TeX, this would be stacked using multiple glyphs.\n // We\'ll use a single SVG to accomplish the same thing.\n spanHeight = height + extraViniculum + emPad;\n texHeight = height + extraViniculum;\n viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad;\n span = delimiter_sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, options);\n span.style.minWidth = "0.742em";\n advanceWidth = 1.056;\n }\n\n span.height = texHeight;\n span.style.height = spanHeight + "em";\n return {\n span: span,\n advanceWidth: advanceWidth,\n // Calculate the actual line width.\n // This actually should depend on the chosen font -- e.g. \\boldmath\n // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and\n // have thicker rules.\n ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) * sizeMultiplier\n };\n}; // There are three kinds of delimiters, delimiters that stack when they become\n// too large\n\n\nvar stackLargeDelimiters = ["(", "\\\\lparen", ")", "\\\\rparen", "[", "\\\\lbrack", "]", "\\\\rbrack", "\\\\{", "\\\\lbrace", "\\\\}", "\\\\rbrace", "\\\\lfloor", "\\\\rfloor", "\\u230A", "\\u230B", "\\\\lceil", "\\\\rceil", "\\u2308", "\\u2309", "\\\\surd"]; // delimiters that always stack\n\nvar stackAlwaysDelimiters = ["\\\\uparrow", "\\\\downarrow", "\\\\updownarrow", "\\\\Uparrow", "\\\\Downarrow", "\\\\Updownarrow", "|", "\\\\|", "\\\\vert", "\\\\Vert", "\\\\lvert", "\\\\rvert", "\\\\lVert", "\\\\rVert", "\\\\lgroup", "\\\\rgroup", "\\u27EE", "\\u27EF", "\\\\lmoustache", "\\\\rmoustache", "\\u23B0", "\\u23B1"]; // and delimiters that never stack\n\nvar stackNeverDelimiters = ["<", ">", "\\\\langle", "\\\\rangle", "/", "\\\\backslash", "\\\\lt", "\\\\gt"]; // Metrics of the different sizes. Found by looking at TeX\'s output of\n// $\\bigl| // \\Bigl| \\biggl| \\Biggl| \\showlists$\n// Used to create stacked delimiters of appropriate sizes in makeSizedDelim.\n\nvar sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0];\n/**\n * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4.\n */\n\nvar delimiter_makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) {\n // < and > turn into \\langle and \\rangle in delimiters\n if (delim === "<" || delim === "\\\\lt" || delim === "\\u27E8") {\n delim = "\\\\langle";\n } else if (delim === ">" || delim === "\\\\gt" || delim === "\\u27E9") {\n delim = "\\\\rangle";\n } // Sized delimiters are never centered.\n\n\n if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) {\n return delimiter_makeLargeDelim(delim, size, false, options, mode, classes);\n } else if (utils.contains(stackAlwaysDelimiters, delim)) {\n return delimiter_makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes);\n } else {\n throw new src_ParseError("Illegal delimiter: \'" + delim + "\'");\n }\n};\n/**\n * There are three different sequences of delimiter sizes that the delimiters\n * follow depending on the kind of delimiter. This is used when creating custom\n * sized delimiters to decide whether to create a small, large, or stacked\n * delimiter.\n *\n * In real TeX, these sequences aren\'t explicitly defined, but are instead\n * defined inside the font metrics. Since there are only three sequences that\n * are possible for the delimiters that TeX defines, it is easier to just encode\n * them explicitly here.\n */\n\n\n// Delimiters that never stack try small delimiters and large delimiters only\nvar stackNeverDelimiterSequence = [{\n type: "small",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: "small",\n style: src_Style.SCRIPT\n}, {\n type: "small",\n style: src_Style.TEXT\n}, {\n type: "large",\n size: 1\n}, {\n type: "large",\n size: 2\n}, {\n type: "large",\n size: 3\n}, {\n type: "large",\n size: 4\n}]; // Delimiters that always stack try the small delimiters first, then stack\n\nvar stackAlwaysDelimiterSequence = [{\n type: "small",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: "small",\n style: src_Style.SCRIPT\n}, {\n type: "small",\n style: src_Style.TEXT\n}, {\n type: "stack"\n}]; // Delimiters that stack when large try the small and then large delimiters, and\n// stack afterwards\n\nvar stackLargeDelimiterSequence = [{\n type: "small",\n style: src_Style.SCRIPTSCRIPT\n}, {\n type: "small",\n style: src_Style.SCRIPT\n}, {\n type: "small",\n style: src_Style.TEXT\n}, {\n type: "large",\n size: 1\n}, {\n type: "large",\n size: 2\n}, {\n type: "large",\n size: 3\n}, {\n type: "large",\n size: 4\n}, {\n type: "stack"\n}];\n/**\n * Get the font used in a delimiter based on what kind of delimiter it is.\n * TODO(#963) Use more specific font family return type once that is introduced.\n */\n\nvar delimTypeToFont = function delimTypeToFont(type) {\n if (type.type === "small") {\n return "Main-Regular";\n } else if (type.type === "large") {\n return "Size" + type.size + "-Regular";\n } else if (type.type === "stack") {\n return "Size4-Regular";\n } else {\n throw new Error("Add support for delim type \'" + type.type + "\' here.");\n }\n};\n/**\n * Traverse a sequence of types of delimiters to decide what kind of delimiter\n * should be used to create a delimiter of the given height+depth.\n */\n\n\nvar traverseSequence = function traverseSequence(delim, height, sequence, options) {\n // Here, we choose the index we should start at in the sequences. In smaller\n // sizes (which correspond to larger numbers in style.size) we start earlier\n // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts\n // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2\n var start = Math.min(2, 3 - options.style.size);\n\n for (var i = start; i < sequence.length; i++) {\n if (sequence[i].type === "stack") {\n // This is always the last delimiter, so we just break the loop now.\n break;\n }\n\n var metrics = delimiter_getMetrics(delim, delimTypeToFont(sequence[i]), "math");\n var heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we\n // account for the style change size.\n\n if (sequence[i].type === "small") {\n var newOptions = options.havingBaseStyle(sequence[i].style);\n heightDepth *= newOptions.sizeMultiplier;\n } // Check if the delimiter at this size works for the given height.\n\n\n if (heightDepth > height) {\n return sequence[i];\n }\n } // If we reached the end of the sequence, return the last sequence element.\n\n\n return sequence[sequence.length - 1];\n};\n/**\n * Make a delimiter of a given height+depth, with optional centering. Here, we\n * traverse the sequences, and create a delimiter that the sequence tells us to.\n */\n\n\nvar delimiter_makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) {\n if (delim === "<" || delim === "\\\\lt" || delim === "\\u27E8") {\n delim = "\\\\langle";\n } else if (delim === ">" || delim === "\\\\gt" || delim === "\\u27E9") {\n delim = "\\\\rangle";\n } // Decide what sequence to use\n\n\n var sequence;\n\n if (utils.contains(stackNeverDelimiters, delim)) {\n sequence = stackNeverDelimiterSequence;\n } else if (utils.contains(stackLargeDelimiters, delim)) {\n sequence = stackLargeDelimiterSequence;\n } else {\n sequence = stackAlwaysDelimiterSequence;\n } // Look through the sequence\n\n\n var delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs.\n // Depending on the sequence element we decided on, call the\n // appropriate function.\n\n if (delimType.type === "small") {\n return delimiter_makeSmallDelim(delim, delimType.style, center, options, mode, classes);\n } else if (delimType.type === "large") {\n return delimiter_makeLargeDelim(delim, delimType.size, center, options, mode, classes);\n } else\n /* if (delimType.type === "stack") */\n {\n return delimiter_makeStackedDelim(delim, height, center, options, mode, classes);\n }\n};\n/**\n * Make a delimiter for use with `\\left` and `\\right`, given a height and depth\n * of an expression that the delimiters surround.\n */\n\n\nvar makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) {\n // We always center \\left/\\right delimiters, so the axis is always shifted\n var axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right\n\n var delimiterFactor = 901;\n var delimiterExtend = 5.0 / options.fontMetrics().ptPerEm;\n var maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight);\n var totalHeight = Math.max( // In real TeX, calculations are done using integral values which are\n // 65536 per pt, or 655360 per em. So, the division here truncates in\n // TeX but doesn\'t here, producing different results. If we wanted to\n // exactly match TeX\'s calculation, we could do\n // Math.floor(655360 * maxDistFromAxis / 500) *\n // delimiterFactor / 655360\n // (To see the difference, compare\n // x^{x^{\\left(\\rule{0.1em}{0.68em}\\right)}}\n // in TeX and KaTeX)\n maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total\n // height\n\n return delimiter_makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes);\n};\n\n/* harmony default export */ var delimiter = ({\n sqrtImage: makeSqrtImage,\n sizedDelim: delimiter_makeSizedDelim,\n customSizedDelim: delimiter_makeCustomSizedDelim,\n leftRightDelim: makeLeftRightDelim\n});\n// CONCATENATED MODULE: ./src/functions/delimsizing.js\n\n\n\n\n\n\n\n\n\n// Extra data needed for the delimiter handler down below\nvar delimiterSizes = {\n "\\\\bigl": {\n mclass: "mopen",\n size: 1\n },\n "\\\\Bigl": {\n mclass: "mopen",\n size: 2\n },\n "\\\\biggl": {\n mclass: "mopen",\n size: 3\n },\n "\\\\Biggl": {\n mclass: "mopen",\n size: 4\n },\n "\\\\bigr": {\n mclass: "mclose",\n size: 1\n },\n "\\\\Bigr": {\n mclass: "mclose",\n size: 2\n },\n "\\\\biggr": {\n mclass: "mclose",\n size: 3\n },\n "\\\\Biggr": {\n mclass: "mclose",\n size: 4\n },\n "\\\\bigm": {\n mclass: "mrel",\n size: 1\n },\n "\\\\Bigm": {\n mclass: "mrel",\n size: 2\n },\n "\\\\biggm": {\n mclass: "mrel",\n size: 3\n },\n "\\\\Biggm": {\n mclass: "mrel",\n size: 4\n },\n "\\\\big": {\n mclass: "mord",\n size: 1\n },\n "\\\\Big": {\n mclass: "mord",\n size: 2\n },\n "\\\\bigg": {\n mclass: "mord",\n size: 3\n },\n "\\\\Bigg": {\n mclass: "mord",\n size: 4\n }\n};\nvar delimiters = ["(", "\\\\lparen", ")", "\\\\rparen", "[", "\\\\lbrack", "]", "\\\\rbrack", "\\\\{", "\\\\lbrace", "\\\\}", "\\\\rbrace", "\\\\lfloor", "\\\\rfloor", "\\u230A", "\\u230B", "\\\\lceil", "\\\\rceil", "\\u2308", "\\u2309", "<", ">", "\\\\langle", "\\u27E8", "\\\\rangle", "\\u27E9", "\\\\lt", "\\\\gt", "\\\\lvert", "\\\\rvert", "\\\\lVert", "\\\\rVert", "\\\\lgroup", "\\\\rgroup", "\\u27EE", "\\u27EF", "\\\\lmoustache", "\\\\rmoustache", "\\u23B0", "\\u23B1", "/", "\\\\backslash", "|", "\\\\vert", "\\\\|", "\\\\Vert", "\\\\uparrow", "\\\\Uparrow", "\\\\downarrow", "\\\\Downarrow", "\\\\updownarrow", "\\\\Updownarrow", "."];\n\n// Delimiter functions\nfunction checkDelimiter(delim, context) {\n var symDelim = checkSymbolNodeType(delim);\n\n if (symDelim && utils.contains(delimiters, symDelim.text)) {\n return symDelim;\n } else {\n throw new src_ParseError("Invalid delimiter: \'" + (symDelim ? symDelim.text : JSON.stringify(delim)) + "\' after \'" + context.funcName + "\'", delim);\n }\n}\n\ndefineFunction({\n type: "delimsizing",\n names: ["\\\\bigl", "\\\\Bigl", "\\\\biggl", "\\\\Biggl", "\\\\bigr", "\\\\Bigr", "\\\\biggr", "\\\\Biggr", "\\\\bigm", "\\\\Bigm", "\\\\biggm", "\\\\Biggm", "\\\\big", "\\\\Big", "\\\\bigg", "\\\\Bigg"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n var delim = checkDelimiter(args[0], context);\n return {\n type: "delimsizing",\n mode: context.parser.mode,\n size: delimiterSizes[context.funcName].size,\n mclass: delimiterSizes[context.funcName].mclass,\n delim: delim.text\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n if (group.delim === ".") {\n // Empty delimiters still count as elements, even though they don\'t\n // show anything.\n return buildCommon.makeSpan([group.mclass]);\n } // Use delimiter.sizedDelim to generate the delimiter.\n\n\n return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]);\n },\n mathmlBuilder: function mathmlBuilder(group) {\n var children = [];\n\n if (group.delim !== ".") {\n children.push(buildMathML_makeText(group.delim, group.mode));\n }\n\n var node = new mathMLTree.MathNode("mo", children);\n\n if (group.mclass === "mopen" || group.mclass === "mclose") {\n // Only some of the delimsizing functions act as fences, and they\n // return "mopen" or "mclose" mclass.\n node.setAttribute("fence", "true");\n } else {\n // Explicitly disable fencing if it\'s not a fence, to override the\n // defaults.\n node.setAttribute("fence", "false");\n }\n\n return node;\n }\n});\n\nfunction assertParsed(group) {\n if (!group.body) {\n throw new Error("Bug: The leftright ParseNode wasn\'t fully parsed.");\n }\n}\n\ndefineFunction({\n type: "leftright-right",\n names: ["\\\\right"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n // \\left case below triggers parsing of \\right in\n // `const right = parser.parseFunction();`\n // uses this return value.\n var color = context.parser.gullet.macros.get("\\\\current@color");\n\n if (color && typeof color !== "string") {\n throw new src_ParseError("\\\\current@color set to non-string in \\\\right");\n }\n\n return {\n type: "leftright-right",\n mode: context.parser.mode,\n delim: checkDelimiter(args[0], context).text,\n color: color // undefined if not set via \\color\n\n };\n }\n});\ndefineFunction({\n type: "leftright",\n names: ["\\\\left"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n var delim = checkDelimiter(args[0], context);\n var parser = context.parser; // Parse out the implicit body\n\n ++parser.leftrightDepth; // parseExpression stops before \'\\\\right\'\n\n var body = parser.parseExpression(false);\n --parser.leftrightDepth; // Check the next token\n\n parser.expect("\\\\right", false);\n var right = assertNodeType(parser.parseFunction(), "leftright-right");\n return {\n type: "leftright",\n mode: parser.mode,\n body: body,\n left: delim.text,\n right: right.delim,\n rightColor: right.color\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n assertParsed(group); // Build the inner expression\n\n var inner = buildHTML_buildExpression(group.body, options, true, ["mopen", "mclose"]);\n var innerHeight = 0;\n var innerDepth = 0;\n var hadMiddle = false; // Calculate its height and depth\n\n for (var i = 0; i < inner.length; i++) {\n // Property `isMiddle` not defined on `span`. See comment in\n // "middle"\'s htmlBuilder.\n // $FlowFixMe\n if (inner[i].isMiddle) {\n hadMiddle = true;\n } else {\n innerHeight = Math.max(inner[i].height, innerHeight);\n innerDepth = Math.max(inner[i].depth, innerDepth);\n }\n } // The size of delimiters is the same, regardless of what style we are\n // in. Thus, to correctly calculate the size of delimiter we need around\n // a group, we scale down the inner size based on the size.\n\n\n innerHeight *= options.sizeMultiplier;\n innerDepth *= options.sizeMultiplier;\n var leftDelim;\n\n if (group.left === ".") {\n // Empty delimiters in \\left and \\right make null delimiter spaces.\n leftDelim = makeNullDelimiter(options, ["mopen"]);\n } else {\n // Otherwise, use leftRightDelim to generate the correct sized\n // delimiter.\n leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, ["mopen"]);\n } // Add it to the beginning of the expression\n\n\n inner.unshift(leftDelim); // Handle middle delimiters\n\n if (hadMiddle) {\n for (var _i = 1; _i < inner.length; _i++) {\n var middleDelim = inner[_i]; // Property `isMiddle` not defined on `span`. See comment in\n // "middle"\'s htmlBuilder.\n // $FlowFixMe\n\n var isMiddle = middleDelim.isMiddle;\n\n if (isMiddle) {\n // Apply the options that were active when \\middle was called\n inner[_i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []);\n }\n }\n }\n\n var rightDelim; // Same for the right delimiter, but using color specified by \\color\n\n if (group.right === ".") {\n rightDelim = makeNullDelimiter(options, ["mclose"]);\n } else {\n var colorOptions = group.rightColor ? options.withColor(group.rightColor) : options;\n rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, ["mclose"]);\n } // Add it to the end of the expression.\n\n\n inner.push(rightDelim);\n return buildCommon.makeSpan(["minner"], inner, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n assertParsed(group);\n var inner = buildMathML_buildExpression(group.body, options);\n\n if (group.left !== ".") {\n var leftNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.left, group.mode)]);\n leftNode.setAttribute("fence", "true");\n inner.unshift(leftNode);\n }\n\n if (group.right !== ".") {\n var rightNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.right, group.mode)]);\n rightNode.setAttribute("fence", "true");\n\n if (group.rightColor) {\n rightNode.setAttribute("mathcolor", group.rightColor);\n }\n\n inner.push(rightNode);\n }\n\n return buildMathML_makeRow(inner);\n }\n});\ndefineFunction({\n type: "middle",\n names: ["\\\\middle"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n var delim = checkDelimiter(args[0], context);\n\n if (!context.parser.leftrightDepth) {\n throw new src_ParseError("\\\\middle without preceding \\\\left", delim);\n }\n\n return {\n type: "middle",\n mode: context.parser.mode,\n delim: delim.text\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var middleDelim;\n\n if (group.delim === ".") {\n middleDelim = makeNullDelimiter(options, []);\n } else {\n middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []);\n var isMiddle = {\n delim: group.delim,\n options: options\n }; // Property `isMiddle` not defined on `span`. It is only used in\n // this file above.\n // TODO: Fix this violation of the `span` type and possibly rename\n // things since `isMiddle` sounds like a boolean, but is a struct.\n // $FlowFixMe\n\n middleDelim.isMiddle = isMiddle;\n }\n\n return middleDelim;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // A Firefox \\middle will strech a character vertically only if it\n // is in the fence part of the operator dictionary at:\n // https://www.w3.org/TR/MathML3/appendixc.html.\n // So we need to avoid U+2223 and use plain "|" instead.\n var textNode = group.delim === "\\\\vert" || group.delim === "|" ? buildMathML_makeText("|", "text") : buildMathML_makeText(group.delim, group.mode);\n var middleNode = new mathMLTree.MathNode("mo", [textNode]);\n middleNode.setAttribute("fence", "true"); // MathML gives 5/18em spacing to each element.\n // \\middle should get delimiter spacing instead.\n\n middleNode.setAttribute("lspace", "0.05em");\n middleNode.setAttribute("rspace", "0.05em");\n return middleNode;\n }\n});\n// CONCATENATED MODULE: ./src/functions/enclose.js\n\n\n\n\n\n\n\n\n\nvar enclose_htmlBuilder = function htmlBuilder(group, options) {\n // \\cancel, \\bcancel, \\xcancel, \\sout, \\fbox, \\colorbox, \\fcolorbox\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n var inner = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, options), options);\n var label = group.label.substr(1);\n var scale = options.sizeMultiplier;\n var img;\n var imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different\n // depending on whether the subject is wider than it is tall, or vice versa.\n // We don\'t know the width of a group, so as a proxy, we test if\n // the subject is a single character. This captures most of the\n // subjects that should get the "tall" treatment.\n\n var isSingleChar = utils.isCharacterBox(group.body);\n\n if (label === "sout") {\n img = buildCommon.makeSpan(["stretchy", "sout"]);\n img.height = options.fontMetrics().defaultRuleThickness / scale;\n imgShift = -0.5 * options.fontMetrics().xHeight;\n } else {\n // Add horizontal padding\n if (/cancel/.test(label)) {\n if (!isSingleChar) {\n inner.classes.push("cancel-pad");\n }\n } else {\n inner.classes.push("boxpad");\n } // Add vertical padding\n\n\n var vertPad = 0;\n var ruleThickness = 0; // ref: cancel package: \\advance\\totalheight2\\p@ % "+2"\n\n if (/box/.test(label)) {\n ruleThickness = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // User override.\n );\n vertPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness);\n } else {\n vertPad = isSingleChar ? 0.2 : 0;\n }\n\n img = stretchy.encloseSpan(inner, label, vertPad, options);\n\n if (/fbox|boxed|fcolorbox/.test(label)) {\n img.style.borderStyle = "solid";\n img.style.borderWidth = ruleThickness + "em";\n }\n\n imgShift = inner.depth + vertPad;\n\n if (group.backgroundColor) {\n img.style.backgroundColor = group.backgroundColor;\n\n if (group.borderColor) {\n img.style.borderColor = group.borderColor;\n }\n }\n }\n\n var vlist;\n\n if (group.backgroundColor) {\n vlist = buildCommon.makeVList({\n positionType: "individualShift",\n children: [// Put the color background behind inner;\n {\n type: "elem",\n elem: img,\n shift: imgShift\n }, {\n type: "elem",\n elem: inner,\n shift: 0\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: "individualShift",\n children: [// Write the \\cancel stroke on top of inner.\n {\n type: "elem",\n elem: inner,\n shift: 0\n }, {\n type: "elem",\n elem: img,\n shift: imgShift,\n wrapperClasses: /cancel/.test(label) ? ["svg-align"] : []\n }]\n }, options);\n }\n\n if (/cancel/.test(label)) {\n // The cancel package documentation says that cancel lines add their height\n // to the expression, but tests show that isn\'t how it actually works.\n vlist.height = inner.height;\n vlist.depth = inner.depth;\n }\n\n if (/cancel/.test(label) && !isSingleChar) {\n // cancel does not create horiz space for its line extension.\n return buildCommon.makeSpan(["mord", "cancel-lap"], [vlist], options);\n } else {\n return buildCommon.makeSpan(["mord"], [vlist], options);\n }\n};\n\nvar enclose_mathmlBuilder = function mathmlBuilder(group, options) {\n var fboxsep = 0;\n var node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildMathML_buildGroup(group.body, options)]);\n\n switch (group.label) {\n case "\\\\cancel":\n node.setAttribute("notation", "updiagonalstrike");\n break;\n\n case "\\\\bcancel":\n node.setAttribute("notation", "downdiagonalstrike");\n break;\n\n case "\\\\sout":\n node.setAttribute("notation", "horizontalstrike");\n break;\n\n case "\\\\fbox":\n node.setAttribute("notation", "box");\n break;\n\n case "\\\\fcolorbox":\n case "\\\\colorbox":\n // doesn\'t have a good notation option. So use \n // instead. Set some attributes that come included with .\n fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm;\n node.setAttribute("width", "+" + 2 * fboxsep + "pt");\n node.setAttribute("height", "+" + 2 * fboxsep + "pt");\n node.setAttribute("lspace", fboxsep + "pt"); //\n\n node.setAttribute("voffset", fboxsep + "pt");\n\n if (group.label === "\\\\fcolorbox") {\n var thk = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // user override\n );\n node.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor));\n }\n\n break;\n\n case "\\\\xcancel":\n node.setAttribute("notation", "updiagonalstrike downdiagonalstrike");\n break;\n }\n\n if (group.backgroundColor) {\n node.setAttribute("mathbackground", group.backgroundColor);\n }\n\n return node;\n};\n\ndefineFunction({\n type: "enclose",\n names: ["\\\\colorbox"],\n props: {\n numArgs: 2,\n allowedInText: true,\n greediness: 3,\n argTypes: ["color", "text"]\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var color = assertNodeType(args[0], "color-token").color;\n var body = args[1];\n return {\n type: "enclose",\n mode: parser.mode,\n label: funcName,\n backgroundColor: color,\n body: body\n };\n },\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: "enclose",\n names: ["\\\\fcolorbox"],\n props: {\n numArgs: 3,\n allowedInText: true,\n greediness: 3,\n argTypes: ["color", "color", "text"]\n },\n handler: function handler(_ref2, args, optArgs) {\n var parser = _ref2.parser,\n funcName = _ref2.funcName;\n var borderColor = assertNodeType(args[0], "color-token").color;\n var backgroundColor = assertNodeType(args[1], "color-token").color;\n var body = args[2];\n return {\n type: "enclose",\n mode: parser.mode,\n label: funcName,\n backgroundColor: backgroundColor,\n borderColor: borderColor,\n body: body\n };\n },\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\ndefineFunction({\n type: "enclose",\n names: ["\\\\fbox"],\n props: {\n numArgs: 1,\n argTypes: ["hbox"],\n allowedInText: true\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser;\n return {\n type: "enclose",\n mode: parser.mode,\n label: "\\\\fbox",\n body: args[0]\n };\n }\n});\ndefineFunction({\n type: "enclose",\n names: ["\\\\cancel", "\\\\bcancel", "\\\\xcancel", "\\\\sout"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref4, args, optArgs) {\n var parser = _ref4.parser,\n funcName = _ref4.funcName;\n var body = args[0];\n return {\n type: "enclose",\n mode: parser.mode,\n label: funcName,\n body: body\n };\n },\n htmlBuilder: enclose_htmlBuilder,\n mathmlBuilder: enclose_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/defineEnvironment.js\n\n\n/**\n * All registered environments.\n * `environments.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `environments.js`.\n */\nvar _environments = {};\nfunction defineEnvironment(_ref) {\n var type = _ref.type,\n names = _ref.names,\n props = _ref.props,\n handler = _ref.handler,\n htmlBuilder = _ref.htmlBuilder,\n mathmlBuilder = _ref.mathmlBuilder;\n // Set default values of environments.\n var data = {\n type: type,\n numArgs: props.numArgs || 0,\n greediness: 1,\n allowedInText: false,\n numOptionalArgs: 0,\n handler: handler\n };\n\n for (var i = 0; i < names.length; ++i) {\n // TODO: The value type of _environments should be a type union of all\n // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is\n // an existential type.\n // $FlowFixMe\n _environments[names[i]] = data;\n }\n\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n}\n// CONCATENATED MODULE: ./src/environments/array.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getHLines(parser) {\n // Return an array. The array length = number of hlines.\n // Each element in the array tells if the line is dashed.\n var hlineInfo = [];\n parser.consumeSpaces();\n var nxt = parser.fetch().text;\n\n while (nxt === "\\\\hline" || nxt === "\\\\hdashline") {\n parser.consume();\n hlineInfo.push(nxt === "\\\\hdashline");\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n return hlineInfo;\n}\n/**\n * Parse the body of the environment, with rows delimited by \\\\ and\n * columns delimited by &, and create a nested list in row-major order\n * with one group per cell. If given an optional argument style\n * ("text", "display", etc.), then each cell is cast into that style.\n */\n\n\nfunction parseArray(parser, _ref, style) {\n var hskipBeforeAndAfter = _ref.hskipBeforeAndAfter,\n addJot = _ref.addJot,\n cols = _ref.cols,\n arraystretch = _ref.arraystretch,\n colSeparationType = _ref.colSeparationType;\n // Parse body of array with \\\\ temporarily mapped to \\cr\n parser.gullet.beginGroup();\n parser.gullet.macros.set("\\\\\\\\", "\\\\cr"); // Get current arraystretch if it\'s not set by the environment\n\n if (!arraystretch) {\n var stretch = parser.gullet.expandMacroAsText("\\\\arraystretch");\n\n if (stretch == null) {\n // Default \\arraystretch from lttab.dtx\n arraystretch = 1;\n } else {\n arraystretch = parseFloat(stretch);\n\n if (!arraystretch || arraystretch < 0) {\n throw new src_ParseError("Invalid \\\\arraystretch: " + stretch);\n }\n }\n } // Start group for first cell\n\n\n parser.gullet.beginGroup();\n var row = [];\n var body = [row];\n var rowGaps = [];\n var hLinesBeforeRow = []; // Test for \\hline at the top of the array.\n\n hLinesBeforeRow.push(getHLines(parser));\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Parse each cell in its own group (namespace)\n var cell = parser.parseExpression(false, "\\\\cr");\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n cell = {\n type: "ordgroup",\n mode: parser.mode,\n body: cell\n };\n\n if (style) {\n cell = {\n type: "styling",\n mode: parser.mode,\n style: style,\n body: [cell]\n };\n }\n\n row.push(cell);\n var next = parser.fetch().text;\n\n if (next === "&") {\n parser.consume();\n } else if (next === "\\\\end") {\n // Arrays terminate newlines with `\\crcr` which consumes a `\\cr` if\n // the last line is empty.\n // NOTE: Currently, `cell` is the last item added into `row`.\n if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0) {\n body.pop();\n }\n\n if (hLinesBeforeRow.length < body.length + 1) {\n hLinesBeforeRow.push([]);\n }\n\n break;\n } else if (next === "\\\\cr") {\n var cr = assertNodeType(parser.parseFunction(), "cr");\n rowGaps.push(cr.size); // check for \\hline(s) following the row separator\n\n hLinesBeforeRow.push(getHLines(parser));\n row = [];\n body.push(row);\n } else {\n throw new src_ParseError("Expected & or \\\\\\\\ or \\\\cr or \\\\end", parser.nextToken);\n }\n } // End cell group\n\n\n parser.gullet.endGroup(); // End array group defining \\\\\n\n parser.gullet.endGroup();\n return {\n type: "array",\n mode: parser.mode,\n addJot: addJot,\n arraystretch: arraystretch,\n body: body,\n cols: cols,\n rowGaps: rowGaps,\n hskipBeforeAndAfter: hskipBeforeAndAfter,\n hLinesBeforeRow: hLinesBeforeRow,\n colSeparationType: colSeparationType\n };\n} // Decides on a style for cells in an array according to whether the given\n// environment name starts with the letter \'d\'.\n\n\nfunction dCellStyle(envName) {\n if (envName.substr(0, 1) === "d") {\n return "display";\n } else {\n return "text";\n }\n}\n\nvar array_htmlBuilder = function htmlBuilder(group, options) {\n var r;\n var c;\n var nr = group.body.length;\n var hLinesBeforeRow = group.hLinesBeforeRow;\n var nc = 0;\n var body = new Array(nr);\n var hlines = [];\n var ruleThickness = Math.max( // From LaTeX \\showthe\\arrayrulewidth. Equals 0.04 em.\n options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override.\n ); // Horizontal spacing\n\n var pt = 1 / options.fontMetrics().ptPerEm;\n var arraycolsep = 5 * pt; // default value, i.e. \\arraycolsep in article.cls\n\n if (group.colSeparationType && group.colSeparationType === "small") {\n // We\'re in a {smallmatrix}. Default column space is \\thickspace,\n // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}.\n // But that needs adjustment because LaTeX applies \\scriptstyle to the\n // entire array, including the colspace, but this function applies\n // \\scriptstyle only inside each element.\n var localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier;\n arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier);\n } // Vertical spacing\n\n\n var baselineskip = 12 * pt; // see size10.clo\n // Default \\jot from ltmath.dtx\n // TODO(edemaine): allow overriding \\jot via \\setlength (#687)\n\n var jot = 3 * pt;\n var arrayskip = group.arraystretch * baselineskip;\n var arstrutHeight = 0.7 * arrayskip; // \\strutbox in ltfsstrc.dtx and\n\n var arstrutDepth = 0.3 * arrayskip; // \\@arstrutbox in lttab.dtx\n\n var totalHeight = 0; // Set a position for \\hline(s) at the top of the array, if any.\n\n function setHLinePos(hlinesInGap) {\n for (var i = 0; i < hlinesInGap.length; ++i) {\n if (i > 0) {\n totalHeight += 0.25;\n }\n\n hlines.push({\n pos: totalHeight,\n isDashed: hlinesInGap[i]\n });\n }\n }\n\n setHLinePos(hLinesBeforeRow[0]);\n\n for (r = 0; r < group.body.length; ++r) {\n var inrow = group.body[r];\n var height = arstrutHeight; // \\@array adds an \\@arstrut\n\n var depth = arstrutDepth; // to each tow (via the template)\n\n if (nc < inrow.length) {\n nc = inrow.length;\n }\n\n var outrow = new Array(inrow.length);\n\n for (c = 0; c < inrow.length; ++c) {\n var elt = buildHTML_buildGroup(inrow[c], options);\n\n if (depth < elt.depth) {\n depth = elt.depth;\n }\n\n if (height < elt.height) {\n height = elt.height;\n }\n\n outrow[c] = elt;\n }\n\n var rowGap = group.rowGaps[r];\n var gap = 0;\n\n if (rowGap) {\n gap = units_calculateSize(rowGap, options);\n\n if (gap > 0) {\n // \\@argarraycr\n gap += arstrutDepth;\n\n if (depth < gap) {\n depth = gap; // \\@xargarraycr\n }\n\n gap = 0;\n }\n } // In AMS multiline environments such as aligned and gathered, rows\n // correspond to lines that have additional \\jot added to the\n // \\baselineskip via \\openup.\n\n\n if (group.addJot) {\n depth += jot;\n }\n\n outrow.height = height;\n outrow.depth = depth;\n totalHeight += height;\n outrow.pos = totalHeight;\n totalHeight += depth + gap; // \\@yargarraycr\n\n body[r] = outrow; // Set a position for \\hline(s), if any.\n\n setHLinePos(hLinesBeforeRow[r + 1]);\n }\n\n var offset = totalHeight / 2 + options.fontMetrics().axisHeight;\n var colDescriptions = group.cols || [];\n var cols = [];\n var colSep;\n var colDescrNum;\n\n for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column\n // descriptions, so trailing separators don\'t get lost.\n c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) {\n var colDescr = colDescriptions[colDescrNum] || {};\n var firstSeparator = true;\n\n while (colDescr.type === "separator") {\n // If there is more than one separator in a row, add a space\n // between them.\n if (!firstSeparator) {\n colSep = buildCommon.makeSpan(["arraycolsep"], []);\n colSep.style.width = options.fontMetrics().doubleRuleSep + "em";\n cols.push(colSep);\n }\n\n if (colDescr.separator === "|" || colDescr.separator === ":") {\n var lineType = colDescr.separator === "|" ? "solid" : "dashed";\n var separator = buildCommon.makeSpan(["vertical-separator"], [], options);\n separator.style.height = totalHeight + "em";\n separator.style.borderRightWidth = ruleThickness + "em";\n separator.style.borderRightStyle = lineType;\n separator.style.margin = "0 -" + ruleThickness / 2 + "em";\n separator.style.verticalAlign = -(totalHeight - offset) + "em";\n cols.push(separator);\n } else {\n throw new src_ParseError("Invalid separator type: " + colDescr.separator);\n }\n\n colDescrNum++;\n colDescr = colDescriptions[colDescrNum] || {};\n firstSeparator = false;\n }\n\n if (c >= nc) {\n continue;\n }\n\n var sepwidth = void 0;\n\n if (c > 0 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.pregap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan(["arraycolsep"], []);\n colSep.style.width = sepwidth + "em";\n cols.push(colSep);\n }\n }\n\n var col = [];\n\n for (r = 0; r < nr; ++r) {\n var row = body[r];\n var elem = row[c];\n\n if (!elem) {\n continue;\n }\n\n var shift = row.pos - offset;\n elem.depth = row.depth;\n elem.height = row.height;\n col.push({\n type: "elem",\n elem: elem,\n shift: shift\n });\n }\n\n col = buildCommon.makeVList({\n positionType: "individualShift",\n children: col\n }, options);\n col = buildCommon.makeSpan(["col-align-" + (colDescr.align || "c")], [col]);\n cols.push(col);\n\n if (c < nc - 1 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.postgap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan(["arraycolsep"], []);\n colSep.style.width = sepwidth + "em";\n cols.push(colSep);\n }\n }\n }\n\n body = buildCommon.makeSpan(["mtable"], cols); // Add \\hline(s), if any.\n\n if (hlines.length > 0) {\n var line = buildCommon.makeLineSpan("hline", options, ruleThickness);\n var dashes = buildCommon.makeLineSpan("hdashline", options, ruleThickness);\n var vListElems = [{\n type: "elem",\n elem: body,\n shift: 0\n }];\n\n while (hlines.length > 0) {\n var hline = hlines.pop();\n var lineShift = hline.pos - offset;\n\n if (hline.isDashed) {\n vListElems.push({\n type: "elem",\n elem: dashes,\n shift: lineShift\n });\n } else {\n vListElems.push({\n type: "elem",\n elem: line,\n shift: lineShift\n });\n }\n }\n\n body = buildCommon.makeVList({\n positionType: "individualShift",\n children: vListElems\n }, options);\n }\n\n return buildCommon.makeSpan(["mord"], [body], options);\n};\n\nvar alignMap = {\n c: "center ",\n l: "left ",\n r: "right "\n};\n\nvar array_mathmlBuilder = function mathmlBuilder(group, options) {\n var table = new mathMLTree.MathNode("mtable", group.body.map(function (row) {\n return new mathMLTree.MathNode("mtr", row.map(function (cell) {\n return new mathMLTree.MathNode("mtd", [buildMathML_buildGroup(cell, options)]);\n }));\n })); // Set column alignment, row spacing, column spacing, and\n // array lines by setting attributes on the table element.\n // Set the row spacing. In MathML, we specify a gap distance.\n // We do not use rowGap[] because MathML automatically increases\n // cell height with the height/depth of the element content.\n // LaTeX \\arraystretch multiplies the row baseline-to-baseline distance.\n // We simulate this by adding (arraystretch - 1)em to the gap. This\n // does a reasonable job of adjusting arrays containing 1 em tall content.\n // The 0.16 and 0.09 values are found emprically. They produce an array\n // similar to LaTeX and in which content does not interfere with \\hines.\n\n var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray}\n : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0);\n table.setAttribute("rowspacing", gap + "em"); // MathML table lines go only between cells.\n // To place a line on an edge we\'ll use , if necessary.\n\n var menclose = "";\n var align = "";\n\n if (group.cols) {\n // Find column alignment, column spacing, and vertical lines.\n var cols = group.cols;\n var columnLines = "";\n var prevTypeWasAlign = false;\n var iStart = 0;\n var iEnd = cols.length;\n\n if (cols[0].type === "separator") {\n menclose += "top ";\n iStart = 1;\n }\n\n if (cols[cols.length - 1].type === "separator") {\n menclose += "bottom ";\n iEnd -= 1;\n }\n\n for (var i = iStart; i < iEnd; i++) {\n if (cols[i].type === "align") {\n align += alignMap[cols[i].align];\n\n if (prevTypeWasAlign) {\n columnLines += "none ";\n }\n\n prevTypeWasAlign = true;\n } else if (cols[i].type === "separator") {\n // MathML accepts only single lines between cells.\n // So we read only the first of consecutive separators.\n if (prevTypeWasAlign) {\n columnLines += cols[i].separator === "|" ? "solid " : "dashed ";\n prevTypeWasAlign = false;\n }\n }\n }\n\n table.setAttribute("columnalign", align.trim());\n\n if (/[sd]/.test(columnLines)) {\n table.setAttribute("columnlines", columnLines.trim());\n }\n } // Set column spacing.\n\n\n if (group.colSeparationType === "align") {\n var _cols = group.cols || [];\n\n var spacing = "";\n\n for (var _i = 1; _i < _cols.length; _i++) {\n spacing += _i % 2 ? "0em " : "1em ";\n }\n\n table.setAttribute("columnspacing", spacing.trim());\n } else if (group.colSeparationType === "alignat") {\n table.setAttribute("columnspacing", "0em");\n } else if (group.colSeparationType === "small") {\n table.setAttribute("columnspacing", "0.2778em");\n } else {\n table.setAttribute("columnspacing", "1em");\n } // Address \\hline and \\hdashline\n\n\n var rowLines = "";\n var hlines = group.hLinesBeforeRow;\n menclose += hlines[0].length > 0 ? "left " : "";\n menclose += hlines[hlines.length - 1].length > 0 ? "right " : "";\n\n for (var _i2 = 1; _i2 < hlines.length - 1; _i2++) {\n rowLines += hlines[_i2].length === 0 ? "none " // MathML accepts only a single line between rows. Read one element.\n : hlines[_i2][0] ? "dashed " : "solid ";\n }\n\n if (/[sd]/.test(rowLines)) {\n table.setAttribute("rowlines", rowLines.trim());\n }\n\n if (menclose !== "") {\n table = new mathMLTree.MathNode("menclose", [table]);\n table.setAttribute("notation", menclose.trim());\n }\n\n if (group.arraystretch && group.arraystretch < 1) {\n // A small array. Wrap in scriptstyle so row gap is not too large.\n table = new mathMLTree.MathNode("mstyle", [table]);\n table.setAttribute("scriptlevel", "1");\n }\n\n return table;\n}; // Convenience function for aligned and alignedat environments.\n\n\nvar array_alignedHandler = function alignedHandler(context, args) {\n var cols = [];\n var res = parseArray(context.parser, {\n cols: cols,\n addJot: true\n }, "display"); // Determining number of columns.\n // 1. If the first argument is given, we use it as a number of columns,\n // and makes sure that each row doesn\'t exceed that number.\n // 2. Otherwise, just count number of columns = maximum number\n // of cells in each row ("aligned" mode -- isAligned will be true).\n //\n // At the same time, prepend empty group {} at beginning of every second\n // cell in each row (starting with second cell) so that operators become\n // binary. This behavior is implemented in amsmath\'s \\start@aligned.\n\n var numMaths;\n var numCols = 0;\n var emptyGroup = {\n type: "ordgroup",\n mode: context.mode,\n body: []\n };\n var ordgroup = checkNodeType(args[0], "ordgroup");\n\n if (ordgroup) {\n var arg0 = "";\n\n for (var i = 0; i < ordgroup.body.length; i++) {\n var textord = assertNodeType(ordgroup.body[i], "textord");\n arg0 += textord.text;\n }\n\n numMaths = Number(arg0);\n numCols = numMaths * 2;\n }\n\n var isAligned = !numCols;\n res.body.forEach(function (row) {\n for (var _i3 = 1; _i3 < row.length; _i3 += 2) {\n // Modify ordgroup node within styling node\n var styling = assertNodeType(row[_i3], "styling");\n\n var _ordgroup = assertNodeType(styling.body[0], "ordgroup");\n\n _ordgroup.body.unshift(emptyGroup);\n }\n\n if (!isAligned) {\n // Case 1\n var curMaths = row.length / 2;\n\n if (numMaths < curMaths) {\n throw new src_ParseError("Too many math in a row: " + ("expected " + numMaths + ", but got " + curMaths), row[0]);\n }\n } else if (numCols < row.length) {\n // Case 2\n numCols = row.length;\n }\n }); // Adjusting alignment.\n // In aligned mode, we add one \\qquad between columns;\n // otherwise we add nothing.\n\n for (var _i4 = 0; _i4 < numCols; ++_i4) {\n var align = "r";\n var pregap = 0;\n\n if (_i4 % 2 === 1) {\n align = "l";\n } else if (_i4 > 0 && isAligned) {\n // "aligned" mode.\n pregap = 1; // add one \\quad\n }\n\n cols[_i4] = {\n type: "align",\n align: align,\n pregap: pregap,\n postgap: 0\n };\n }\n\n res.colSeparationType = isAligned ? "align" : "alignat";\n return res;\n}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation\n// is part of the source2e.pdf file of LaTeX2e source documentation.\n// {darray} is an {array} environment where cells are set in \\displaystyle,\n// as defined in nccmath.sty.\n\n\ndefineEnvironment({\n type: "array",\n names: ["array", "darray"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n // Since no types are specified above, the two possibilities are\n // - The argument is wrapped in {} or [], in which case Parser\'s\n // parseGroup() returns an "ordgroup" wrapping some symbol node.\n // - The argument is a bare symbol node.\n var symNode = checkSymbolNodeType(args[0]);\n var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body;\n var cols = colalign.map(function (nde) {\n var node = assertSymbolNodeType(nde);\n var ca = node.text;\n\n if ("lcr".indexOf(ca) !== -1) {\n return {\n type: "align",\n align: ca\n };\n } else if (ca === "|") {\n return {\n type: "separator",\n separator: "|"\n };\n } else if (ca === ":") {\n return {\n type: "separator",\n separator: ":"\n };\n }\n\n throw new src_ParseError("Unknown column alignment: " + ca, nde);\n });\n var res = {\n cols: cols,\n hskipBeforeAndAfter: true // \\@preamble in lttab.dtx\n\n };\n return parseArray(context.parser, res, dCellStyle(context.envName));\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // The matrix environments of amsmath builds on the array environment\n// of LaTeX, which is discussed above.\n\ndefineEnvironment({\n type: "array",\n names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var delimiters = {\n "matrix": null,\n "pmatrix": ["(", ")"],\n "bmatrix": ["[", "]"],\n "Bmatrix": ["\\\\{", "\\\\}"],\n "vmatrix": ["|", "|"],\n "Vmatrix": ["\\\\Vert", "\\\\Vert"]\n }[context.envName]; // \\hskip -\\arraycolsep in amsmath\n\n var payload = {\n hskipBeforeAndAfter: false\n };\n var res = parseArray(context.parser, payload, dCellStyle(context.envName));\n return delimiters ? {\n type: "leftright",\n mode: context.mode,\n body: [res],\n left: delimiters[0],\n right: delimiters[1],\n rightColor: undefined // \\right uninfluenced by \\color in array\n\n } : res;\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: "array",\n names: ["smallmatrix"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var payload = {\n arraystretch: 0.5\n };\n var res = parseArray(context.parser, payload, "script");\n res.colSeparationType = "small";\n return res;\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n});\ndefineEnvironment({\n type: "array",\n names: ["subarray"],\n props: {\n numArgs: 1\n },\n handler: function handler(context, args) {\n // Parsing of {subarray} is similar to {array}\n var symNode = checkSymbolNodeType(args[0]);\n var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body;\n var cols = colalign.map(function (nde) {\n var node = assertSymbolNodeType(nde);\n var ca = node.text; // {subarray} only recognizes "l" & "c"\n\n if ("lc".indexOf(ca) !== -1) {\n return {\n type: "align",\n align: ca\n };\n }\n\n throw new src_ParseError("Unknown column alignment: " + ca, nde);\n });\n\n if (cols.length > 1) {\n throw new src_ParseError("{subarray} can contain only one column");\n }\n\n var res = {\n cols: cols,\n hskipBeforeAndAfter: false,\n arraystretch: 0.5\n };\n res = parseArray(context.parser, res, "script");\n\n if (res.body[0].length > 1) {\n throw new src_ParseError("{subarray} can contain only one column");\n }\n\n return res;\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A cases environment (in amsmath.sty) is almost equivalent to\n// \\def\\arraystretch{1.2}%\n// \\left\\{\\begin{array}{@{}l@{\\quad}l@{}} \u2026 \\end{array}\\right.\n// {dcases} is a {cases} environment where cells are set in \\displaystyle,\n// as defined in mathtools.sty.\n\ndefineEnvironment({\n type: "array",\n names: ["cases", "dcases"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var payload = {\n arraystretch: 1.2,\n cols: [{\n type: "align",\n align: "l",\n pregap: 0,\n // TODO(kevinb) get the current style.\n // For now we use the metrics for TEXT style which is what we were\n // doing before. Before attempting to get the current style we\n // should look at TeX\'s behavior especially for \\over and matrices.\n postgap: 1.0\n /* 1em quad */\n\n }, {\n type: "align",\n align: "l",\n pregap: 0,\n postgap: 0\n }]\n };\n var res = parseArray(context.parser, payload, dCellStyle(context.envName));\n return {\n type: "leftright",\n mode: context.mode,\n body: [res],\n left: "\\\\{",\n right: ".",\n rightColor: undefined\n };\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // An aligned environment is like the align* environment\n// except it operates within math mode.\n// Note that we assume \\nomallineskiplimit to be zero,\n// so that \\strut@ is the same as \\strut.\n\ndefineEnvironment({\n type: "array",\n names: ["aligned"],\n props: {\n numArgs: 0\n },\n handler: array_alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // A gathered environment is like an array environment with one centered\n// column, but where rows are considered lines so get \\jot line spacing\n// and contents are set in \\displaystyle.\n\ndefineEnvironment({\n type: "array",\n names: ["gathered"],\n props: {\n numArgs: 0\n },\n handler: function handler(context) {\n var res = {\n cols: [{\n type: "align",\n align: "c"\n }],\n addJot: true\n };\n return parseArray(context.parser, res, "display");\n },\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // alignat environment is like an align environment, but one must explicitly\n// specify maximum number of columns in each row, and can adjust spacing between\n// each columns.\n\ndefineEnvironment({\n type: "array",\n names: ["alignedat"],\n // One for numbered and for unnumbered;\n // but, KaTeX doesn\'t supports math numbering yet,\n // they make no difference for now.\n props: {\n numArgs: 1\n },\n handler: array_alignedHandler,\n htmlBuilder: array_htmlBuilder,\n mathmlBuilder: array_mathmlBuilder\n}); // Catch \\hline outside array environment\n\ndefineFunction({\n type: "text",\n // Doesn\'t matter what this is.\n names: ["\\\\hline", "\\\\hdashline"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: true\n },\n handler: function handler(context, args) {\n throw new src_ParseError(context.funcName + " valid only within array environment");\n }\n});\n// CONCATENATED MODULE: ./src/environments.js\n\nvar environments = _environments;\n/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below\n\n\n// CONCATENATED MODULE: ./src/functions/environment.js\n\n\n\n // Environment delimiters. HTML/MathML rendering is defined in the corresponding\n// defineEnvironment definitions.\n// $FlowFixMe, "environment" handler returns an environment ParseNode\n\ndefineFunction({\n type: "environment",\n names: ["\\\\begin", "\\\\end"],\n props: {\n numArgs: 1,\n argTypes: ["text"]\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var nameGroup = args[0];\n\n if (nameGroup.type !== "ordgroup") {\n throw new src_ParseError("Invalid environment name", nameGroup);\n }\n\n var envName = "";\n\n for (var i = 0; i < nameGroup.body.length; ++i) {\n envName += assertNodeType(nameGroup.body[i], "textord").text;\n }\n\n if (funcName === "\\\\begin") {\n // begin...end is similar to left...right\n if (!src_environments.hasOwnProperty(envName)) {\n throw new src_ParseError("No such environment: " + envName, nameGroup);\n } // Build the environment object. Arguments and other information will\n // be made available to the begin and end methods using properties.\n\n\n var env = src_environments[envName];\n\n var _parser$parseArgument = parser.parseArguments("\\\\begin{" + envName + "}", env),\n _args = _parser$parseArgument.args,\n optArgs = _parser$parseArgument.optArgs;\n\n var context = {\n mode: parser.mode,\n envName: envName,\n parser: parser\n };\n var result = env.handler(context, _args, optArgs);\n parser.expect("\\\\end", false);\n var endNameToken = parser.nextToken;\n var end = assertNodeType(parser.parseFunction(), "environment");\n\n if (end.name !== envName) {\n throw new src_ParseError("Mismatch: \\\\begin{" + envName + "} matched by \\\\end{" + end.name + "}", endNameToken);\n }\n\n return result;\n }\n\n return {\n type: "environment",\n mode: parser.mode,\n name: envName,\n nameGroup: nameGroup\n };\n }\n});\n// CONCATENATED MODULE: ./src/functions/mclass.js\n\n\n\n\n\n\nvar mclass_makeSpan = buildCommon.makeSpan;\n\nfunction mclass_htmlBuilder(group, options) {\n var elements = buildHTML_buildExpression(group.body, options, true);\n return mclass_makeSpan([group.mclass], elements, options);\n}\n\nfunction mclass_mathmlBuilder(group, options) {\n var node;\n var inner = buildMathML_buildExpression(group.body, options);\n\n if (group.mclass === "minner") {\n return mathMLTree.newDocumentFragment(inner);\n } else if (group.mclass === "mord") {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = "mi";\n } else {\n node = new mathMLTree.MathNode("mi", inner);\n }\n } else {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = "mo";\n } else {\n node = new mathMLTree.MathNode("mo", inner);\n } // Set spacing based on what is the most likely adjacent atom type.\n // See TeXbook p170.\n\n\n if (group.mclass === "mbin") {\n node.attributes.lspace = "0.22em"; // medium space\n\n node.attributes.rspace = "0.22em";\n } else if (group.mclass === "mpunct") {\n node.attributes.lspace = "0em";\n node.attributes.rspace = "0.17em"; // thinspace\n } else if (group.mclass === "mopen" || group.mclass === "mclose") {\n node.attributes.lspace = "0em";\n node.attributes.rspace = "0em";\n } // MathML default space is 5/18 em, so needs no action.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo\n\n }\n\n return node;\n} // Math class commands except \\mathop\n\n\ndefineFunction({\n type: "mclass",\n names: ["\\\\mathord", "\\\\mathbin", "\\\\mathrel", "\\\\mathopen", "\\\\mathclose", "\\\\mathpunct", "\\\\mathinner"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: "mclass",\n mode: parser.mode,\n mclass: "m" + funcName.substr(5),\n // TODO(kevinb): don\'t prefix with \'m\'\n body: defineFunction_ordargument(body),\n isCharacterBox: utils.isCharacterBox(body)\n };\n },\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\nvar binrelClass = function binrelClass(arg) {\n // \\binrel@ spacing varies with (bin|rel|ord) of the atom in the argument.\n // (by rendering separately and with {}s before and after, and measuring\n // the change in spacing). We\'ll do roughly the same by detecting the\n // atom type directly.\n var atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg;\n\n if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) {\n return "m" + atom.family;\n } else {\n return "mord";\n }\n}; // \\@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord.\n// This is equivalent to \\binrel@{x}\\binrel@@{y} in AMSTeX.\n\ndefineFunction({\n type: "mclass",\n names: ["\\\\@binrel"],\n props: {\n numArgs: 2\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n return {\n type: "mclass",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: [args[1]],\n isCharacterBox: utils.isCharacterBox(args[1])\n };\n }\n}); // Build a relation or stacked op by placing one symbol on top of another\n\ndefineFunction({\n type: "mclass",\n names: ["\\\\stackrel", "\\\\overset", "\\\\underset"],\n props: {\n numArgs: 2\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName;\n var baseArg = args[1];\n var shiftedArg = args[0];\n var mclass;\n\n if (funcName !== "\\\\stackrel") {\n // LaTeX applies \\binrel spacing to \\overset and \\underset.\n mclass = binrelClass(baseArg);\n } else {\n mclass = "mrel"; // for \\stackrel\n }\n\n var baseOp = {\n type: "op",\n mode: baseArg.mode,\n limits: true,\n alwaysHandleSupSub: true,\n parentIsSupSub: false,\n symbol: false,\n suppressBaseShift: funcName !== "\\\\stackrel",\n body: defineFunction_ordargument(baseArg)\n };\n var supsub = {\n type: "supsub",\n mode: shiftedArg.mode,\n base: baseOp,\n sup: funcName === "\\\\underset" ? null : shiftedArg,\n sub: funcName === "\\\\underset" ? shiftedArg : null\n };\n return {\n type: "mclass",\n mode: parser.mode,\n mclass: mclass,\n body: [supsub],\n isCharacterBox: utils.isCharacterBox(supsub)\n };\n },\n htmlBuilder: mclass_htmlBuilder,\n mathmlBuilder: mclass_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/font.js\n// TODO(kevinb): implement \\\\sl and \\\\sc\n\n\n\n\n\n\nvar font_htmlBuilder = function htmlBuilder(group, options) {\n var font = group.font;\n var newOptions = options.withFont(font);\n return buildHTML_buildGroup(group.body, newOptions);\n};\n\nvar font_mathmlBuilder = function mathmlBuilder(group, options) {\n var font = group.font;\n var newOptions = options.withFont(font);\n return buildMathML_buildGroup(group.body, newOptions);\n};\n\nvar fontAliases = {\n "\\\\Bbb": "\\\\mathbb",\n "\\\\bold": "\\\\mathbf",\n "\\\\frak": "\\\\mathfrak",\n "\\\\bm": "\\\\boldsymbol"\n};\ndefineFunction({\n type: "font",\n names: [// styles, except \\boldsymbol defined below\n "\\\\mathrm", "\\\\mathit", "\\\\mathbf", "\\\\mathnormal", // families\n "\\\\mathbb", "\\\\mathcal", "\\\\mathfrak", "\\\\mathscr", "\\\\mathsf", "\\\\mathtt", // aliases, except \\bm defined below\n "\\\\Bbb", "\\\\bold", "\\\\frak"],\n props: {\n numArgs: 1,\n greediness: 2\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n var func = funcName;\n\n if (func in fontAliases) {\n func = fontAliases[func];\n }\n\n return {\n type: "font",\n mode: parser.mode,\n font: func.slice(1),\n body: body\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\ndefineFunction({\n type: "mclass",\n names: ["\\\\boldsymbol", "\\\\bm"],\n props: {\n numArgs: 1,\n greediness: 2\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var body = args[0];\n var isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty\'s \\boldsymbol uses \\binrel spacing to inherit the\n // argument\'s bin|rel|ord status\n\n return {\n type: "mclass",\n mode: parser.mode,\n mclass: binrelClass(body),\n body: [{\n type: "font",\n mode: parser.mode,\n font: "boldsymbol",\n body: body\n }],\n isCharacterBox: isCharacterBox\n };\n }\n}); // Old font changing functions\n\ndefineFunction({\n type: "font",\n names: ["\\\\rm", "\\\\sf", "\\\\tt", "\\\\bf", "\\\\it"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName,\n breakOnTokenText = _ref3.breakOnTokenText;\n var mode = parser.mode;\n var body = parser.parseExpression(true, breakOnTokenText);\n var style = "math" + funcName.slice(1);\n return {\n type: "font",\n mode: mode,\n font: style,\n body: {\n type: "ordgroup",\n mode: parser.mode,\n body: body\n }\n };\n },\n htmlBuilder: font_htmlBuilder,\n mathmlBuilder: font_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/genfrac.js\n\n\n\n\n\n\n\n\n\n\n\nvar genfrac_adjustStyle = function adjustStyle(size, originalStyle) {\n // Figure out what style this fraction should be in based on the\n // function used\n var style = originalStyle;\n\n if (size === "display") {\n // Get display style as a default.\n // If incoming style is sub/sup, use style.text() to get correct size.\n style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY;\n } else if (size === "text" && style.size === src_Style.DISPLAY.size) {\n // We\'re in a \\tfrac but incoming style is displaystyle, so:\n style = src_Style.TEXT;\n } else if (size === "script") {\n style = src_Style.SCRIPT;\n } else if (size === "scriptscript") {\n style = src_Style.SCRIPTSCRIPT;\n }\n\n return style;\n};\n\nvar genfrac_htmlBuilder = function htmlBuilder(group, options) {\n // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e).\n var style = genfrac_adjustStyle(group.size, options.style);\n var nstyle = style.fracNum();\n var dstyle = style.fracDen();\n var newOptions;\n newOptions = options.havingStyle(nstyle);\n var numerm = buildHTML_buildGroup(group.numer, newOptions, options);\n\n if (group.continued) {\n // \\cfrac inserts a \\strut into the numerator.\n // Get \\strut dimensions from TeXbook page 353.\n var hStrut = 8.5 / options.fontMetrics().ptPerEm;\n var dStrut = 3.5 / options.fontMetrics().ptPerEm;\n numerm.height = numerm.height < hStrut ? hStrut : numerm.height;\n numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth;\n }\n\n newOptions = options.havingStyle(dstyle);\n var denomm = buildHTML_buildGroup(group.denom, newOptions, options);\n var rule;\n var ruleWidth;\n var ruleSpacing;\n\n if (group.hasBarLine) {\n if (group.barSize) {\n ruleWidth = units_calculateSize(group.barSize, options);\n rule = buildCommon.makeLineSpan("frac-line", options, ruleWidth);\n } else {\n rule = buildCommon.makeLineSpan("frac-line", options);\n }\n\n ruleWidth = rule.height;\n ruleSpacing = rule.height;\n } else {\n rule = null;\n ruleWidth = 0;\n ruleSpacing = options.fontMetrics().defaultRuleThickness;\n } // Rule 15b\n\n\n var numShift;\n var clearance;\n var denomShift;\n\n if (style.size === src_Style.DISPLAY.size || group.size === "display") {\n numShift = options.fontMetrics().num1;\n\n if (ruleWidth > 0) {\n clearance = 3 * ruleSpacing;\n } else {\n clearance = 7 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom1;\n } else {\n if (ruleWidth > 0) {\n numShift = options.fontMetrics().num2;\n clearance = ruleSpacing;\n } else {\n numShift = options.fontMetrics().num3;\n clearance = 3 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom2;\n }\n\n var frac;\n\n if (!rule) {\n // Rule 15c\n var candidateClearance = numShift - numerm.depth - (denomm.height - denomShift);\n\n if (candidateClearance < clearance) {\n numShift += 0.5 * (clearance - candidateClearance);\n denomShift += 0.5 * (clearance - candidateClearance);\n }\n\n frac = buildCommon.makeVList({\n positionType: "individualShift",\n children: [{\n type: "elem",\n elem: denomm,\n shift: denomShift\n }, {\n type: "elem",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } else {\n // Rule 15d\n var axisHeight = options.fontMetrics().axisHeight;\n\n if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) {\n numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth));\n }\n\n if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) {\n denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift));\n }\n\n var midShift = -(axisHeight - 0.5 * ruleWidth);\n frac = buildCommon.makeVList({\n positionType: "individualShift",\n children: [{\n type: "elem",\n elem: denomm,\n shift: denomShift\n }, {\n type: "elem",\n elem: rule,\n shift: midShift\n }, {\n type: "elem",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } // Since we manually change the style sometimes (with \\dfrac or \\tfrac),\n // account for the possible size change here.\n\n\n newOptions = options.havingStyle(style);\n frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier;\n frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e\n\n var delimSize;\n\n if (style.size === src_Style.DISPLAY.size) {\n delimSize = options.fontMetrics().delim1;\n } else {\n delimSize = options.fontMetrics().delim2;\n }\n\n var leftDelim;\n var rightDelim;\n\n if (group.leftDelim == null) {\n leftDelim = makeNullDelimiter(options, ["mopen"]);\n } else {\n leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, ["mopen"]);\n }\n\n if (group.continued) {\n rightDelim = buildCommon.makeSpan([]); // zero width for \\cfrac\n } else if (group.rightDelim == null) {\n rightDelim = makeNullDelimiter(options, ["mclose"]);\n } else {\n rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, ["mclose"]);\n }\n\n return buildCommon.makeSpan(["mord"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan(["mfrac"], [frac]), rightDelim], options);\n};\n\nvar genfrac_mathmlBuilder = function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mfrac", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]);\n\n if (!group.hasBarLine) {\n node.setAttribute("linethickness", "0px");\n } else if (group.barSize) {\n var ruleWidth = units_calculateSize(group.barSize, options);\n node.setAttribute("linethickness", ruleWidth + "em");\n }\n\n var style = genfrac_adjustStyle(group.size, options.style);\n\n if (style.size !== options.style.size) {\n node = new mathMLTree.MathNode("mstyle", [node]);\n var isDisplay = style.size === src_Style.DISPLAY.size ? "true" : "false";\n node.setAttribute("displaystyle", isDisplay);\n node.setAttribute("scriptlevel", "0");\n }\n\n if (group.leftDelim != null || group.rightDelim != null) {\n var withDelims = [];\n\n if (group.leftDelim != null) {\n var leftOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.leftDelim.replace("\\\\", ""))]);\n leftOp.setAttribute("fence", "true");\n withDelims.push(leftOp);\n }\n\n withDelims.push(node);\n\n if (group.rightDelim != null) {\n var rightOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.rightDelim.replace("\\\\", ""))]);\n rightOp.setAttribute("fence", "true");\n withDelims.push(rightOp);\n }\n\n return buildMathML_makeRow(withDelims);\n }\n\n return node;\n};\n\ndefineFunction({\n type: "genfrac",\n names: ["\\\\cfrac", "\\\\dfrac", "\\\\frac", "\\\\tfrac", "\\\\dbinom", "\\\\binom", "\\\\tbinom", "\\\\\\\\atopfrac", // can\u2019t be entered directly\n "\\\\\\\\bracefrac", "\\\\\\\\brackfrac"],\n props: {\n numArgs: 2,\n greediness: 2\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var numer = args[0];\n var denom = args[1];\n var hasBarLine;\n var leftDelim = null;\n var rightDelim = null;\n var size = "auto";\n\n switch (funcName) {\n case "\\\\cfrac":\n case "\\\\dfrac":\n case "\\\\frac":\n case "\\\\tfrac":\n hasBarLine = true;\n break;\n\n case "\\\\\\\\atopfrac":\n hasBarLine = false;\n break;\n\n case "\\\\dbinom":\n case "\\\\binom":\n case "\\\\tbinom":\n hasBarLine = false;\n leftDelim = "(";\n rightDelim = ")";\n break;\n\n case "\\\\\\\\bracefrac":\n hasBarLine = false;\n leftDelim = "\\\\{";\n rightDelim = "\\\\}";\n break;\n\n case "\\\\\\\\brackfrac":\n hasBarLine = false;\n leftDelim = "[";\n rightDelim = "]";\n break;\n\n default:\n throw new Error("Unrecognized genfrac command");\n }\n\n switch (funcName) {\n case "\\\\cfrac":\n case "\\\\dfrac":\n case "\\\\dbinom":\n size = "display";\n break;\n\n case "\\\\tfrac":\n case "\\\\tbinom":\n size = "text";\n break;\n }\n\n return {\n type: "genfrac",\n mode: parser.mode,\n continued: funcName === "\\\\cfrac",\n numer: numer,\n denom: denom,\n hasBarLine: hasBarLine,\n leftDelim: leftDelim,\n rightDelim: rightDelim,\n size: size,\n barSize: null\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n}); // Infix generalized fractions -- these are not rendered directly, but replaced\n// immediately by one of the variants above.\n\ndefineFunction({\n type: "infix",\n names: ["\\\\over", "\\\\choose", "\\\\atop", "\\\\brace", "\\\\brack"],\n props: {\n numArgs: 0,\n infix: true\n },\n handler: function handler(_ref2) {\n var parser = _ref2.parser,\n funcName = _ref2.funcName,\n token = _ref2.token;\n var replaceWith;\n\n switch (funcName) {\n case "\\\\over":\n replaceWith = "\\\\frac";\n break;\n\n case "\\\\choose":\n replaceWith = "\\\\binom";\n break;\n\n case "\\\\atop":\n replaceWith = "\\\\\\\\atopfrac";\n break;\n\n case "\\\\brace":\n replaceWith = "\\\\\\\\bracefrac";\n break;\n\n case "\\\\brack":\n replaceWith = "\\\\\\\\brackfrac";\n break;\n\n default:\n throw new Error("Unrecognized infix genfrac command");\n }\n\n return {\n type: "infix",\n mode: parser.mode,\n replaceWith: replaceWith,\n token: token\n };\n }\n});\nvar stylArray = ["display", "text", "script", "scriptscript"];\n\nvar delimFromValue = function delimFromValue(delimString) {\n var delim = null;\n\n if (delimString.length > 0) {\n delim = delimString;\n delim = delim === "." ? null : delim;\n }\n\n return delim;\n};\n\ndefineFunction({\n type: "genfrac",\n names: ["\\\\genfrac"],\n props: {\n numArgs: 6,\n greediness: 6,\n argTypes: ["math", "math", "size", "text", "math", "math"]\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser;\n var numer = args[4];\n var denom = args[5]; // Look into the parse nodes to get the desired delimiters.\n\n var leftNode = checkNodeType(args[0], "atom");\n\n if (leftNode) {\n leftNode = assertAtomFamily(args[0], "open");\n }\n\n var leftDelim = leftNode ? delimFromValue(leftNode.text) : null;\n var rightNode = checkNodeType(args[1], "atom");\n\n if (rightNode) {\n rightNode = assertAtomFamily(args[1], "close");\n }\n\n var rightDelim = rightNode ? delimFromValue(rightNode.text) : null;\n var barNode = assertNodeType(args[2], "size");\n var hasBarLine;\n var barSize = null;\n\n if (barNode.isBlank) {\n // \\genfrac acts differently than \\above.\n // \\genfrac treats an empty size group as a signal to use a\n // standard bar size. \\above would see size = 0 and omit the bar.\n hasBarLine = true;\n } else {\n barSize = barNode.value;\n hasBarLine = barSize.number > 0;\n } // Find out if we want displaystyle, textstyle, etc.\n\n\n var size = "auto";\n var styl = checkNodeType(args[3], "ordgroup");\n\n if (styl) {\n if (styl.body.length > 0) {\n var textOrd = assertNodeType(styl.body[0], "textord");\n size = stylArray[Number(textOrd.text)];\n }\n } else {\n styl = assertNodeType(args[3], "textord");\n size = stylArray[Number(styl.text)];\n }\n\n return {\n type: "genfrac",\n mode: parser.mode,\n numer: numer,\n denom: denom,\n continued: false,\n hasBarLine: hasBarLine,\n barSize: barSize,\n leftDelim: leftDelim,\n rightDelim: rightDelim,\n size: size\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n}); // \\above is an infix fraction that also defines a fraction bar size.\n\ndefineFunction({\n type: "infix",\n names: ["\\\\above"],\n props: {\n numArgs: 1,\n argTypes: ["size"],\n infix: true\n },\n handler: function handler(_ref4, args) {\n var parser = _ref4.parser,\n funcName = _ref4.funcName,\n token = _ref4.token;\n return {\n type: "infix",\n mode: parser.mode,\n replaceWith: "\\\\\\\\abovefrac",\n size: assertNodeType(args[0], "size").value,\n token: token\n };\n }\n});\ndefineFunction({\n type: "genfrac",\n names: ["\\\\\\\\abovefrac"],\n props: {\n numArgs: 3,\n argTypes: ["math", "size", "math"]\n },\n handler: function handler(_ref5, args) {\n var parser = _ref5.parser,\n funcName = _ref5.funcName;\n var numer = args[0];\n var barSize = assert(assertNodeType(args[1], "infix").size);\n var denom = args[2];\n var hasBarLine = barSize.number > 0;\n return {\n type: "genfrac",\n mode: parser.mode,\n numer: numer,\n denom: denom,\n continued: false,\n hasBarLine: hasBarLine,\n barSize: barSize,\n leftDelim: null,\n rightDelim: null,\n size: "auto"\n };\n },\n htmlBuilder: genfrac_htmlBuilder,\n mathmlBuilder: genfrac_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/horizBrace.js\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only "horizBrace", but\nvar horizBrace_htmlBuilder = function htmlBuilder(grp, options) {\n var style = options.style; // Pull out the `ParseNode<"horizBrace">` if `grp` is a "supsub" node.\n\n var supSubGroup;\n var group;\n var supSub = checkNodeType(grp, "supsub");\n\n if (supSub) {\n // Ref: LaTeX source2e: }}}}\\limits}\n // i.e. LaTeX treats the brace similar to an op and passes it\n // with \\limits, so we need to assign supsub style.\n supSubGroup = supSub.sup ? buildHTML_buildGroup(supSub.sup, options.havingStyle(style.sup()), options) : buildHTML_buildGroup(supSub.sub, options.havingStyle(style.sub()), options);\n group = assertNodeType(supSub.base, "horizBrace");\n } else {\n group = assertNodeType(grp, "horizBrace");\n } // Build the base group\n\n\n var body = buildHTML_buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element\n\n var braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns \u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n // This first vlist contains the content and the brace: equation\n\n var vlist;\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: body\n }, {\n type: "kern",\n size: 0.1\n }, {\n type: "elem",\n elem: braceBody\n }]\n }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList.\n\n vlist.children[0].children[0].children[1].classes.push("svg-align");\n } else {\n vlist = buildCommon.makeVList({\n positionType: "bottom",\n positionData: body.depth + 0.1 + braceBody.height,\n children: [{\n type: "elem",\n elem: braceBody\n }, {\n type: "kern",\n size: 0.1\n }, {\n type: "elem",\n elem: body\n }]\n }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList.\n\n vlist.children[0].children[0].children[0].classes.push("svg-align");\n }\n\n if (supSubGroup) {\n // To write the supsub, wrap the first vlist in another vlist:\n // They can\'t all go in the same vlist, because the note might be\n // wider than the equation. We want the equation to control the\n // brace width.\n // note long note long note\n // \u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513 or \u250f\u2501\u2501\u2501\u2513 not \u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n // equation eqn eqn\n var vSpan = buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options);\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: vSpan\n }, {\n type: "kern",\n size: 0.2\n }, {\n type: "elem",\n elem: supSubGroup\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: "bottom",\n positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth,\n children: [{\n type: "elem",\n elem: supSubGroup\n }, {\n type: "kern",\n size: 0.2\n }, {\n type: "elem",\n elem: vSpan\n }]\n }, options);\n }\n }\n\n return buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options);\n};\n\nvar horizBrace_mathmlBuilder = function mathmlBuilder(group, options) {\n var accentNode = stretchy.mathMLnode(group.label);\n return new mathMLTree.MathNode(group.isOver ? "mover" : "munder", [buildMathML_buildGroup(group.base, options), accentNode]);\n}; // Horizontal stretchy braces\n\n\ndefineFunction({\n type: "horizBrace",\n names: ["\\\\overbrace", "\\\\underbrace"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n return {\n type: "horizBrace",\n mode: parser.mode,\n label: funcName,\n isOver: /^\\\\over/.test(funcName),\n base: args[0]\n };\n },\n htmlBuilder: horizBrace_htmlBuilder,\n mathmlBuilder: horizBrace_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/href.js\n\n\n\n\n\n\ndefineFunction({\n type: "href",\n names: ["\\\\href"],\n props: {\n numArgs: 2,\n argTypes: ["url", "original"],\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var body = args[1];\n var href = assertNodeType(args[0], "url").url;\n\n if (!parser.settings.isTrusted({\n command: "\\\\href",\n url: href\n })) {\n return parser.formatUnsupportedCmd("\\\\href");\n }\n\n return {\n type: "href",\n mode: parser.mode,\n href: href,\n body: defineFunction_ordargument(body)\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildHTML_buildExpression(group.body, options, false);\n return buildCommon.makeAnchor(group.href, [], elements, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var math = buildExpressionRow(group.body, options);\n\n if (!(math instanceof mathMLTree_MathNode)) {\n math = new mathMLTree_MathNode("mrow", [math]);\n }\n\n math.setAttribute("href", group.href);\n return math;\n }\n});\ndefineFunction({\n type: "href",\n names: ["\\\\url"],\n props: {\n numArgs: 1,\n argTypes: ["url"],\n allowedInText: true\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var href = assertNodeType(args[0], "url").url;\n\n if (!parser.settings.isTrusted({\n command: "\\\\url",\n url: href\n })) {\n return parser.formatUnsupportedCmd("\\\\url");\n }\n\n var chars = [];\n\n for (var i = 0; i < href.length; i++) {\n var c = href[i];\n\n if (c === "~") {\n c = "\\\\textasciitilde";\n }\n\n chars.push({\n type: "textord",\n mode: "text",\n text: c\n });\n }\n\n var body = {\n type: "text",\n mode: parser.mode,\n font: "\\\\texttt",\n body: chars\n };\n return {\n type: "href",\n mode: parser.mode,\n href: href,\n body: defineFunction_ordargument(body)\n };\n }\n});\n// CONCATENATED MODULE: ./src/functions/htmlmathml.js\n\n\n\n\ndefineFunction({\n type: "htmlmathml",\n names: ["\\\\html@mathml"],\n props: {\n numArgs: 2,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: "htmlmathml",\n mode: parser.mode,\n html: defineFunction_ordargument(args[0]),\n mathml: defineFunction_ordargument(args[1])\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildHTML_buildExpression(group.html, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return buildExpressionRow(group.mathml, options);\n }\n});\n// CONCATENATED MODULE: ./src/functions/includegraphics.js\n\n\n\n\n\n\n\nvar includegraphics_sizeData = function sizeData(str) {\n if (/^[-+]? *(\\d+(\\.\\d*)?|\\.\\d+)$/.test(str)) {\n // str is a number with no unit specified.\n // default unit is bp, per graphix package.\n return {\n number: +str,\n unit: "bp"\n };\n } else {\n var match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(str);\n\n if (!match) {\n throw new src_ParseError("Invalid size: \'" + str + "\' in \\\\includegraphics");\n }\n\n var data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError("Invalid unit: \'" + data.unit + "\' in \\\\includegraphics.");\n }\n\n return data;\n }\n};\n\ndefineFunction({\n type: "includegraphics",\n names: ["\\\\includegraphics"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n argTypes: ["raw", "url"],\n allowedInText: false\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var width = {\n number: 0,\n unit: "em"\n };\n var height = {\n number: 0.9,\n unit: "em"\n }; // sorta character sized.\n\n var totalheight = {\n number: 0,\n unit: "em"\n };\n var alt = "";\n\n if (optArgs[0]) {\n var attributeStr = assertNodeType(optArgs[0], "raw").string; // Parser.js does not parse key/value pairs. We get a string.\n\n var attributes = attributeStr.split(",");\n\n for (var i = 0; i < attributes.length; i++) {\n var keyVal = attributes[i].split("=");\n\n if (keyVal.length === 2) {\n var str = keyVal[1].trim();\n\n switch (keyVal[0].trim()) {\n case "alt":\n alt = str;\n break;\n\n case "width":\n width = includegraphics_sizeData(str);\n break;\n\n case "height":\n height = includegraphics_sizeData(str);\n break;\n\n case "totalheight":\n totalheight = includegraphics_sizeData(str);\n break;\n\n default:\n throw new src_ParseError("Invalid key: \'" + keyVal[0] + "\' in \\\\includegraphics.");\n }\n }\n }\n }\n\n var src = assertNodeType(args[0], "url").url;\n\n if (alt === "") {\n // No alt given. Use the file name. Strip away the path.\n alt = src;\n alt = alt.replace(/^.*[\\\\/]/, \'\');\n alt = alt.substring(0, alt.lastIndexOf(\'.\'));\n }\n\n if (!parser.settings.isTrusted({\n command: "\\\\includegraphics",\n url: src\n })) {\n return parser.formatUnsupportedCmd("\\\\includegraphics");\n }\n\n return {\n type: "includegraphics",\n mode: parser.mode,\n alt: alt,\n width: width,\n height: height,\n totalheight: totalheight,\n src: src\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var height = units_calculateSize(group.height, options);\n var depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = units_calculateSize(group.totalheight, options) - height;\n depth = Number(depth.toFixed(2));\n }\n\n var width = 0;\n\n if (group.width.number > 0) {\n width = units_calculateSize(group.width, options);\n }\n\n var style = {\n height: height + depth + "em"\n };\n\n if (width > 0) {\n style.width = width + "em";\n }\n\n if (depth > 0) {\n style.verticalAlign = -depth + "em";\n }\n\n var node = new domTree_Img(group.src, group.alt, style);\n node.height = height;\n node.depth = depth;\n return node;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mglyph", []);\n node.setAttribute("alt", group.alt);\n var height = units_calculateSize(group.height, options);\n var depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = units_calculateSize(group.totalheight, options) - height;\n depth = depth.toFixed(2);\n node.setAttribute("valign", "-" + depth + "em");\n }\n\n node.setAttribute("height", height + depth + "em");\n\n if (group.width.number > 0) {\n var width = units_calculateSize(group.width, options);\n node.setAttribute("width", width + "em");\n }\n\n node.setAttribute("src", group.src);\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/kern.js\n// Horizontal spacing commands\n\n\n\n\n // TODO: \\hskip and \\mskip should support plus and minus in lengths\n\ndefineFunction({\n type: "kern",\n names: ["\\\\kern", "\\\\mkern", "\\\\hskip", "\\\\mskip"],\n props: {\n numArgs: 1,\n argTypes: ["size"],\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var size = assertNodeType(args[0], "size");\n\n if (parser.settings.strict) {\n var mathFunction = funcName[1] === \'m\'; // \\mkern, \\mskip\n\n var muUnit = size.value.unit === \'mu\';\n\n if (mathFunction) {\n if (!muUnit) {\n parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX\'s " + funcName + " supports only mu units, " + ("not " + size.value.unit + " units"));\n }\n\n if (parser.mode !== "math") {\n parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX\'s " + funcName + " works only in math mode");\n }\n } else {\n // !mathFunction\n if (muUnit) {\n parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX\'s " + funcName + " doesn\'t support mu units");\n }\n }\n }\n\n return {\n type: "kern",\n mode: parser.mode,\n dimension: size.value\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.makeGlue(group.dimension, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var dimension = units_calculateSize(group.dimension, options);\n return new mathMLTree.SpaceNode(dimension);\n }\n});\n// CONCATENATED MODULE: ./src/functions/lap.js\n// Horizontal overlap functions\n\n\n\n\n\ndefineFunction({\n type: "lap",\n names: ["\\\\mathllap", "\\\\mathrlap", "\\\\mathclap"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: "lap",\n mode: parser.mode,\n alignment: funcName.slice(5),\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // mathllap, mathrlap, mathclap\n var inner;\n\n if (group.alignment === "clap") {\n // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/\n inner = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span\n\n inner = buildCommon.makeSpan(["inner"], [inner], options);\n } else {\n inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options)]);\n }\n\n var fix = buildCommon.makeSpan(["fix"], []);\n var node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the\n // two items involved in the lap.\n // Next, use a strut to set the height of the HTML bounding box.\n // Otherwise, a tall argument may be misplaced.\n\n var strut = buildCommon.makeSpan(["strut"]);\n strut.style.height = node.height + node.depth + "em";\n strut.style.verticalAlign = -node.depth + "em";\n node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall.\n\n node = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: node\n }]\n }, options); // Get the horizontal spacing correct relative to adjacent items.\n\n return buildCommon.makeSpan(["mord"], [node], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // mathllap, mathrlap, mathclap\n var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.alignment !== "rlap") {\n var offset = group.alignment === "llap" ? "-1" : "-0.5";\n node.setAttribute("lspace", offset + "width");\n }\n\n node.setAttribute("width", "0px");\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/math.js\n\n // Switching from text mode back to math mode\n\ndefineFunction({\n type: "styling",\n names: ["\\\\(", "$"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n handler: function handler(_ref, args) {\n var funcName = _ref.funcName,\n parser = _ref.parser;\n var outerMode = parser.mode;\n parser.switchMode("math");\n var close = funcName === "\\\\(" ? "\\\\)" : "$";\n var body = parser.parseExpression(false, close);\n parser.expect(close);\n parser.switchMode(outerMode);\n return {\n type: "styling",\n mode: parser.mode,\n style: "text",\n body: body\n };\n }\n}); // Check for extra closing math delimiters\n\ndefineFunction({\n type: "text",\n // Doesn\'t matter what this is.\n names: ["\\\\)", "\\\\]"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n handler: function handler(context, args) {\n throw new src_ParseError("Mismatched " + context.funcName);\n }\n});\n// CONCATENATED MODULE: ./src/functions/mathchoice.js\n\n\n\n\n\n\nvar mathchoice_chooseMathStyle = function chooseMathStyle(group, options) {\n switch (options.style.size) {\n case src_Style.DISPLAY.size:\n return group.display;\n\n case src_Style.TEXT.size:\n return group.text;\n\n case src_Style.SCRIPT.size:\n return group.script;\n\n case src_Style.SCRIPTSCRIPT.size:\n return group.scriptscript;\n\n default:\n return group.text;\n }\n};\n\ndefineFunction({\n type: "mathchoice",\n names: ["\\\\mathchoice"],\n props: {\n numArgs: 4\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: "mathchoice",\n mode: parser.mode,\n display: defineFunction_ordargument(args[0]),\n text: defineFunction_ordargument(args[1]),\n script: defineFunction_ordargument(args[2]),\n scriptscript: defineFunction_ordargument(args[3])\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var body = mathchoice_chooseMathStyle(group, options);\n var elements = buildHTML_buildExpression(body, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var body = mathchoice_chooseMathStyle(group, options);\n return buildExpressionRow(body, options);\n }\n});\n// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js\n\n\n// For an operator with limits, assemble the base, sup, and sub into a span.\nvar assembleSupSub_assembleSupSub = function assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift) {\n // IE 8 clips \\int if it is in a display: inline-block. We wrap it\n // in a new span so it is an inline, and works.\n base = buildCommon.makeSpan([], [base]);\n var sub;\n var sup; // We manually have to handle the superscripts and subscripts. This,\n // aside from the kern calculations, is copied from supsub.\n\n if (supGroup) {\n var elem = buildHTML_buildGroup(supGroup, options.havingStyle(style.sup()), options);\n sup = {\n elem: elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth)\n };\n }\n\n if (subGroup) {\n var _elem = buildHTML_buildGroup(subGroup, options.havingStyle(style.sub()), options);\n\n sub = {\n elem: _elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - _elem.height)\n };\n } // Build the final group as a vlist of the possible subscript, base,\n // and possible superscript.\n\n\n var finalGroup;\n\n if (sup && sub) {\n var bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: "bottom",\n positionData: bottom,\n children: [{\n type: "kern",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: "elem",\n elem: sub.elem,\n marginLeft: -slant + "em"\n }, {\n type: "kern",\n size: sub.kern\n }, {\n type: "elem",\n elem: base\n }, {\n type: "kern",\n size: sup.kern\n }, {\n type: "elem",\n elem: sup.elem,\n marginLeft: slant + "em"\n }, {\n type: "kern",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else if (sub) {\n var top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note\n // that we are supposed to shift the limits by 1/2 of the slant,\n // but since we are centering the limits adding a full slant of\n // margin will shift by 1/2 that.\n\n finalGroup = buildCommon.makeVList({\n positionType: "top",\n positionData: top,\n children: [{\n type: "kern",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: "elem",\n elem: sub.elem,\n marginLeft: -slant + "em"\n }, {\n type: "kern",\n size: sub.kern\n }, {\n type: "elem",\n elem: base\n }]\n }, options);\n } else if (sup) {\n var _bottom = base.depth + baseShift;\n\n finalGroup = buildCommon.makeVList({\n positionType: "bottom",\n positionData: _bottom,\n children: [{\n type: "elem",\n elem: base\n }, {\n type: "kern",\n size: sup.kern\n }, {\n type: "elem",\n elem: sup.elem,\n marginLeft: slant + "em"\n }, {\n type: "kern",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else {\n // This case probably shouldn\'t occur (this would mean the\n // supsub was sending us a group with no superscript or\n // subscript) but be safe.\n return base;\n }\n\n return buildCommon.makeSpan(["mop", "op-limits"], [finalGroup], options);\n};\n// CONCATENATED MODULE: ./src/functions/op.js\n// Limits, symbols\n\n\n\n\n\n\n\n\n\n\n// Most operators have a large successor symbol, but these don\'t.\nvar noSuccessor = ["\\\\smallint"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only "op", but also\n// "supsub" since some of them (like \\int) can affect super/subscripting.\n\nvar op_htmlBuilder = function htmlBuilder(grp, options) {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n var supGroup;\n var subGroup;\n var hasLimits = false;\n var group;\n var supSub = checkNodeType(grp, "supsub");\n\n if (supSub) {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = supSub.sup;\n subGroup = supSub.sub;\n group = assertNodeType(supSub.base, "op");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, "op");\n }\n\n var style = options.style;\n var large = false;\n\n if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) {\n // Most symbol operators get larger in displaystyle (rule 13)\n large = true;\n }\n\n var base;\n\n if (group.symbol) {\n // If this is a symbol, create the symbol.\n var fontName = large ? "Size2-Regular" : "Size1-Regular";\n var stash = "";\n\n if (group.name === "\\\\oiint" || group.name === "\\\\oiiint") {\n // No font glyphs yet, so use a glyph w/o the oval.\n // TODO: When font glyphs are available, delete this code.\n stash = group.name.substr(1); // $FlowFixMe\n\n group.name = stash === "oiint" ? "\\\\iint" : "\\\\iiint";\n }\n\n base = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]);\n\n if (stash.length > 0) {\n // We\'re in \\oiint or \\oiiint. Overlay the oval.\n // TODO: When font glyphs are available, delete this code.\n var italic = base.italic;\n var oval = buildCommon.staticSvg(stash + "Size" + (large ? "2" : "1"), options);\n base = buildCommon.makeVList({\n positionType: "individualShift",\n children: [{\n type: "elem",\n elem: base,\n shift: 0\n }, {\n type: "elem",\n elem: oval,\n shift: large ? 0.08 : 0\n }]\n }, options); // $FlowFixMe\n\n group.name = "\\\\" + stash;\n base.classes.unshift("mop"); // $FlowFixMe\n\n base.italic = italic;\n }\n } else if (group.body) {\n // If this is a list, compose that list.\n var inner = buildHTML_buildExpression(group.body, options, true);\n\n if (inner.length === 1 && inner[0] instanceof domTree_SymbolNode) {\n base = inner[0];\n base.classes[0] = "mop"; // replace old mclass\n } else {\n base = buildCommon.makeSpan(["mop"], buildCommon.tryCombineChars(inner), options);\n }\n } else {\n // Otherwise, this is a text operator. Build the text from the\n // operator\'s name.\n // TODO(emily): Add a space in the middle of some of these\n // operators, like \\limsup\n var output = [];\n\n for (var i = 1; i < group.name.length; i++) {\n output.push(buildCommon.mathsym(group.name[i], group.mode, options));\n }\n\n base = buildCommon.makeSpan(["mop"], output, options);\n } // If content of op is a single symbol, shift it vertically.\n\n\n var baseShift = 0;\n var slant = 0;\n\n if ((base instanceof domTree_SymbolNode || group.name === "\\\\oiint" || group.name === "\\\\oiiint") && !group.suppressBaseShift) {\n // We suppress the shift of the base of \\overset and \\underset. Otherwise,\n // shift the symbol so its center lies on the axis (rule 13). It\n // appears that our fonts have the centers of the symbols already\n // almost on the axis, so these numbers are very small. Note we\n // don\'t actually apply this here, but instead it is used either in\n // the vlist creation or separately when there are no limits.\n baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction.\n // $FlowFixMe\n\n slant = base.italic;\n }\n\n if (hasLimits) {\n return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift);\n } else {\n if (baseShift) {\n base.style.position = "relative";\n base.style.top = baseShift + "em";\n }\n\n return base;\n }\n};\n\nvar op_mathmlBuilder = function mathmlBuilder(group, options) {\n var node;\n\n if (group.symbol) {\n // This is a symbol. Just add the symbol.\n node = new mathMLTree_MathNode("mo", [buildMathML_makeText(group.name, group.mode)]);\n\n if (utils.contains(noSuccessor, group.name)) {\n node.setAttribute("largeop", "false");\n }\n } else if (group.body) {\n // This is an operator with children. Add them.\n node = new mathMLTree_MathNode("mo", buildMathML_buildExpression(group.body, options));\n } else {\n // This is a text operator. Add all of the characters from the\n // operator\'s name.\n node = new mathMLTree_MathNode("mi", [new mathMLTree_TextNode(group.name.slice(1))]); // Append an .\n // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4\n\n var operator = new mathMLTree_MathNode("mo", [buildMathML_makeText("\\u2061", "text")]);\n\n if (group.parentIsSupSub) {\n node = new mathMLTree_MathNode("mo", [node, operator]);\n } else {\n node = newDocumentFragment([node, operator]);\n }\n }\n\n return node;\n};\n\nvar singleCharBigOps = {\n "\\u220F": "\\\\prod",\n "\\u2210": "\\\\coprod",\n "\\u2211": "\\\\sum",\n "\\u22C0": "\\\\bigwedge",\n "\\u22C1": "\\\\bigvee",\n "\\u22C2": "\\\\bigcap",\n "\\u22C3": "\\\\bigcup",\n "\\u2A00": "\\\\bigodot",\n "\\u2A01": "\\\\bigoplus",\n "\\u2A02": "\\\\bigotimes",\n "\\u2A04": "\\\\biguplus",\n "\\u2A06": "\\\\bigsqcup"\n};\ndefineFunction({\n type: "op",\n names: ["\\\\coprod", "\\\\bigvee", "\\\\bigwedge", "\\\\biguplus", "\\\\bigcap", "\\\\bigcup", "\\\\intop", "\\\\prod", "\\\\sum", "\\\\bigotimes", "\\\\bigoplus", "\\\\bigodot", "\\\\bigsqcup", "\\\\smallint", "\\u220F", "\\u2210", "\\u2211", "\\u22C0", "\\u22C1", "\\u22C2", "\\u22C3", "\\u2A00", "\\u2A01", "\\u2A02", "\\u2A04", "\\u2A06"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharBigOps[fName];\n }\n\n return {\n type: "op",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Note: calling defineFunction with a type that\'s already been defined only\n// works because the same htmlBuilder and mathmlBuilder are being used.\n\ndefineFunction({\n type: "op",\n names: ["\\\\mathop"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var body = args[0];\n return {\n type: "op",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n body: defineFunction_ordargument(body)\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // There are 2 flags for operators; whether they produce limits in\n// displaystyle, and whether they are symbols and should grow in\n// displaystyle. These four groups cover the four possible choices.\n\nvar singleCharIntegrals = {\n "\\u222B": "\\\\int",\n "\\u222C": "\\\\iint",\n "\\u222D": "\\\\iiint",\n "\\u222E": "\\\\oint",\n "\\u222F": "\\\\oiint",\n "\\u2230": "\\\\oiiint"\n}; // No limits, not symbols\n\ndefineFunction({\n type: "op",\n names: ["\\\\arcsin", "\\\\arccos", "\\\\arctan", "\\\\arctg", "\\\\arcctg", "\\\\arg", "\\\\ch", "\\\\cos", "\\\\cosec", "\\\\cosh", "\\\\cot", "\\\\cotg", "\\\\coth", "\\\\csc", "\\\\ctg", "\\\\cth", "\\\\deg", "\\\\dim", "\\\\exp", "\\\\hom", "\\\\ker", "\\\\lg", "\\\\ln", "\\\\log", "\\\\sec", "\\\\sin", "\\\\sinh", "\\\\sh", "\\\\tan", "\\\\tanh", "\\\\tg", "\\\\th"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref3) {\n var parser = _ref3.parser,\n funcName = _ref3.funcName;\n return {\n type: "op",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // Limits, not symbols\n\ndefineFunction({\n type: "op",\n names: ["\\\\det", "\\\\gcd", "\\\\inf", "\\\\lim", "\\\\max", "\\\\min", "\\\\Pr", "\\\\sup"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref4) {\n var parser = _ref4.parser,\n funcName = _ref4.funcName;\n return {\n type: "op",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n}); // No limits, symbols\n\ndefineFunction({\n type: "op",\n names: ["\\\\int", "\\\\iint", "\\\\iiint", "\\\\oint", "\\\\oiint", "\\\\oiiint", "\\u222B", "\\u222C", "\\u222D", "\\u222E", "\\u222F", "\\u2230"],\n props: {\n numArgs: 0\n },\n handler: function handler(_ref5) {\n var parser = _ref5.parser,\n funcName = _ref5.funcName;\n var fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharIntegrals[fName];\n }\n\n return {\n type: "op",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: op_htmlBuilder,\n mathmlBuilder: op_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/operatorname.js\n\n\n\n\n\n\n\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only\n// "operatorname", but also "supsub" since \\operatorname* can\nvar operatorname_htmlBuilder = function htmlBuilder(grp, options) {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n var supGroup;\n var subGroup;\n var hasLimits = false;\n var group;\n var supSub = checkNodeType(grp, "supsub");\n\n if (supSub) {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = supSub.sup;\n subGroup = supSub.sub;\n group = assertNodeType(supSub.base, "operatorname");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, "operatorname");\n }\n\n var base;\n\n if (group.body.length > 0) {\n var body = group.body.map(function (child) {\n // $FlowFixMe: Check if the node has a string `text` property.\n var childText = child.text;\n\n if (typeof childText === "string") {\n return {\n type: "textord",\n mode: child.mode,\n text: childText\n };\n } else {\n return child;\n }\n }); // Consolidate function names into symbol characters.\n\n var expression = buildHTML_buildExpression(body, options.withFont("mathrm"), true);\n\n for (var i = 0; i < expression.length; i++) {\n var child = expression[i];\n\n if (child instanceof domTree_SymbolNode) {\n // Per amsopn package,\n // change minus to hyphen and \\ast to asterisk\n child.text = child.text.replace(/\\u2212/, "-").replace(/\\u2217/, "*");\n }\n }\n\n base = buildCommon.makeSpan(["mop"], expression, options);\n } else {\n base = buildCommon.makeSpan(["mop"], [], options);\n }\n\n if (hasLimits) {\n return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0);\n } else {\n return base;\n }\n};\n\nvar operatorname_mathmlBuilder = function mathmlBuilder(group, options) {\n // The steps taken here are similar to the html version.\n var expression = buildMathML_buildExpression(group.body, options.withFont("mathrm")); // Is expression a string or has it something like a fraction?\n\n var isAllString = true; // default\n\n for (var i = 0; i < expression.length; i++) {\n var node = expression[i];\n\n if (node instanceof mathMLTree.SpaceNode) {// Do nothing\n } else if (node instanceof mathMLTree.MathNode) {\n switch (node.type) {\n case "mi":\n case "mn":\n case "ms":\n case "mspace":\n case "mtext":\n break;\n // Do nothing yet.\n\n case "mo":\n {\n var child = node.children[0];\n\n if (node.children.length === 1 && child instanceof mathMLTree.TextNode) {\n child.text = child.text.replace(/\\u2212/, "-").replace(/\\u2217/, "*");\n } else {\n isAllString = false;\n }\n\n break;\n }\n\n default:\n isAllString = false;\n }\n } else {\n isAllString = false;\n }\n }\n\n if (isAllString) {\n // Write a single TextNode instead of multiple nested tags.\n var word = expression.map(function (node) {\n return node.toText();\n }).join("");\n expression = [new mathMLTree.TextNode(word)];\n }\n\n var identifier = new mathMLTree.MathNode("mi", expression);\n identifier.setAttribute("mathvariant", "normal"); // \\u2061 is the same as ⁡\n // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp\n\n var operator = new mathMLTree.MathNode("mo", [buildMathML_makeText("\\u2061", "text")]);\n\n if (group.parentIsSupSub) {\n return new mathMLTree.MathNode("mo", [identifier, operator]);\n } else {\n return mathMLTree.newDocumentFragment([identifier, operator]);\n }\n}; // \\operatorname\n// amsopn.dtx: \\mathop{#1\\kern\\z@\\operator@font#3}\\newmcodes@\n\n\ndefineFunction({\n type: "operatorname",\n names: ["\\\\operatorname", "\\\\operatorname*"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: "operatorname",\n mode: parser.mode,\n body: defineFunction_ordargument(body),\n alwaysHandleSupSub: funcName === "\\\\operatorname*",\n limits: false,\n parentIsSupSub: false\n };\n },\n htmlBuilder: operatorname_htmlBuilder,\n mathmlBuilder: operatorname_mathmlBuilder\n});\n// CONCATENATED MODULE: ./src/functions/ordgroup.js\n\n\n\n\ndefineFunctionBuilders({\n type: "ordgroup",\n htmlBuilder: function htmlBuilder(group, options) {\n if (group.semisimple) {\n return buildCommon.makeFragment(buildHTML_buildExpression(group.body, options, false));\n }\n\n return buildCommon.makeSpan(["mord"], buildHTML_buildExpression(group.body, options, true), options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n return buildExpressionRow(group.body, options, true);\n }\n});\n// CONCATENATED MODULE: ./src/functions/overline.js\n\n\n\n\n\ndefineFunction({\n type: "overline",\n names: ["\\\\overline"],\n props: {\n numArgs: 1\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var body = args[0];\n return {\n type: "overline",\n mode: parser.mode,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Overlines are handled in the TeXbook pg 443, Rule 9.\n // Build the inner group in the cramped style.\n var innerGroup = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body\n\n var line = buildCommon.makeLineSpan("overline-line", options); // Generate the vlist, with the appropriate kerns\n\n var defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n var vlist = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: innerGroup\n }, {\n type: "kern",\n size: 3 * defaultRuleThickness\n }, {\n type: "elem",\n elem: line\n }, {\n type: "kern",\n size: defaultRuleThickness\n }]\n }, options);\n return buildCommon.makeSpan(["mord", "overline"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\\u203E")]);\n operator.setAttribute("stretchy", "true");\n var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute("accent", "true");\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/phantom.js\n\n\n\n\n\ndefineFunction({\n type: "phantom",\n names: ["\\\\phantom"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var body = args[0];\n return {\n type: "phantom",\n mode: parser.mode,\n body: defineFunction_ordargument(body)\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var elements = buildHTML_buildExpression(group.body, options.withPhantom(), false); // \\phantom isn\'t supposed to affect the elements it contains.\n // See "color" for more details.\n\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(group.body, options);\n return new mathMLTree.MathNode("mphantom", inner);\n }\n});\ndefineFunction({\n type: "hphantom",\n names: ["\\\\hphantom"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref2, args) {\n var parser = _ref2.parser;\n var body = args[0];\n return {\n type: "hphantom",\n mode: parser.mode,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options.withPhantom())]);\n node.height = 0;\n node.depth = 0;\n\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n node.children[i].depth = 0;\n }\n } // See smash for comment re: use of makeVList\n\n\n node = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\smash as a math group (same spacing as ord).\n\n return buildCommon.makeSpan(["mord"], [node], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(defineFunction_ordargument(group.body), options);\n var phantom = new mathMLTree.MathNode("mphantom", inner);\n var node = new mathMLTree.MathNode("mpadded", [phantom]);\n node.setAttribute("height", "0px");\n node.setAttribute("depth", "0px");\n return node;\n }\n});\ndefineFunction({\n type: "vphantom",\n names: ["\\\\vphantom"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref3, args) {\n var parser = _ref3.parser;\n var body = args[0];\n return {\n type: "vphantom",\n mode: parser.mode,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options.withPhantom())]);\n var fix = buildCommon.makeSpan(["fix"], []);\n return buildCommon.makeSpan(["mord", "rlap"], [inner, fix], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var inner = buildMathML_buildExpression(defineFunction_ordargument(group.body), options);\n var phantom = new mathMLTree.MathNode("mphantom", inner);\n var node = new mathMLTree.MathNode("mpadded", [phantom]);\n node.setAttribute("width", "0px");\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/raisebox.js\n\n\n\n\n\n\n // Box manipulation\n\ndefineFunction({\n type: "raisebox",\n names: ["\\\\raisebox"],\n props: {\n numArgs: 2,\n argTypes: ["size", "hbox"],\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n var amount = assertNodeType(args[0], "size").value;\n var body = args[1];\n return {\n type: "raisebox",\n mode: parser.mode,\n dy: amount,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var body = buildHTML_buildGroup(group.body, options);\n var dy = units_calculateSize(group.dy, options);\n return buildCommon.makeVList({\n positionType: "shift",\n positionData: -dy,\n children: [{\n type: "elem",\n elem: body\n }]\n }, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]);\n var dy = group.dy.number + group.dy.unit;\n node.setAttribute("voffset", dy);\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/rule.js\n\n\n\n\n\ndefineFunction({\n type: "rule",\n names: ["\\\\rule"],\n props: {\n numArgs: 2,\n numOptionalArgs: 1,\n argTypes: ["size", "size", "size"]\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var shift = optArgs[0];\n var width = assertNodeType(args[0], "size");\n var height = assertNodeType(args[1], "size");\n return {\n type: "rule",\n mode: parser.mode,\n shift: shift && assertNodeType(shift, "size").value,\n width: width.value,\n height: height.value\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Make an empty span for the rule\n var rule = buildCommon.makeSpan(["mord", "rule"], [], options); // Calculate the shift, width, and height of the rule, and account for units\n\n var width = units_calculateSize(group.width, options);\n var height = units_calculateSize(group.height, options);\n var shift = group.shift ? units_calculateSize(group.shift, options) : 0; // Style the rule to the right size\n\n rule.style.borderRightWidth = width + "em";\n rule.style.borderTopWidth = height + "em";\n rule.style.bottom = shift + "em"; // Record the height and width\n\n rule.width = width;\n rule.height = height + shift;\n rule.depth = -shift; // Font size is the number large enough that the browser will\n // reserve at least `absHeight` space above the baseline.\n // The 1.125 factor was empirically determined\n\n rule.maxFontSize = height * 1.125 * options.sizeMultiplier;\n return rule;\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var width = units_calculateSize(group.width, options);\n var height = units_calculateSize(group.height, options);\n var shift = group.shift ? units_calculateSize(group.shift, options) : 0;\n var color = options.color && options.getColor() || "black";\n var rule = new mathMLTree.MathNode("mspace");\n rule.setAttribute("mathbackground", color);\n rule.setAttribute("width", width + "em");\n rule.setAttribute("height", height + "em");\n var wrapper = new mathMLTree.MathNode("mpadded", [rule]);\n\n if (shift >= 0) {\n wrapper.setAttribute("height", "+" + shift + "em");\n } else {\n wrapper.setAttribute("height", shift + "em");\n wrapper.setAttribute("depth", "+" + -shift + "em");\n }\n\n wrapper.setAttribute("voffset", shift + "em");\n return wrapper;\n }\n});\n// CONCATENATED MODULE: ./src/functions/sizing.js\n\n\n\n\n\nfunction sizingGroup(value, options, baseOptions) {\n var inner = buildHTML_buildExpression(value, options, false);\n var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize\n // manually. Handle nested size changes.\n\n for (var i = 0; i < inner.length; i++) {\n var pos = inner[i].classes.indexOf("sizing");\n\n if (pos < 0) {\n Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions));\n } else if (inner[i].classes[pos + 1] === "reset-size" + options.size) {\n // This is a nested size change: e.g., inner[i] is the "b" in\n // `\\Huge a \\small b`. Override the old size (the `reset-` class)\n // but not the new size.\n inner[i].classes[pos + 1] = "reset-size" + baseOptions.size;\n }\n\n inner[i].height *= multiplier;\n inner[i].depth *= multiplier;\n }\n\n return buildCommon.makeFragment(inner);\n}\nvar sizeFuncs = ["\\\\tiny", "\\\\sixptsize", "\\\\scriptsize", "\\\\footnotesize", "\\\\small", "\\\\normalsize", "\\\\large", "\\\\Large", "\\\\LARGE", "\\\\huge", "\\\\Huge"];\nvar sizing_htmlBuilder = function htmlBuilder(group, options) {\n // Handle sizing operators like \\Huge. Real TeX doesn\'t actually allow\n // these functions inside of math expressions, so we do some special\n // handling.\n var newOptions = options.havingSize(group.size);\n return sizingGroup(group.body, newOptions, options);\n};\ndefineFunction({\n type: "sizing",\n names: sizeFuncs,\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var breakOnTokenText = _ref.breakOnTokenText,\n funcName = _ref.funcName,\n parser = _ref.parser;\n var body = parser.parseExpression(false, breakOnTokenText);\n return {\n type: "sizing",\n mode: parser.mode,\n // Figure out what size to use based on the list of functions above\n size: sizeFuncs.indexOf(funcName) + 1,\n body: body\n };\n },\n htmlBuilder: sizing_htmlBuilder,\n mathmlBuilder: function mathmlBuilder(group, options) {\n var newOptions = options.havingSize(group.size);\n var inner = buildMathML_buildExpression(group.body, newOptions);\n var node = new mathMLTree.MathNode("mstyle", inner); // TODO(emily): This doesn\'t produce the correct size for nested size\n // changes, because we don\'t keep state of what style we\'re currently\n // in, so we can\'t reset the size to normal before changing it. Now\n // that we\'re passing an options parameter we should be able to fix\n // this.\n\n node.setAttribute("mathsize", newOptions.sizeMultiplier + "em");\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/smash.js\n// smash, with optional [tb], as in AMS\n\n\n\n\n\n\ndefineFunction({\n type: "smash",\n names: ["\\\\smash"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var smashHeight = false;\n var smashDepth = false;\n var tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup");\n\n if (tbArg) {\n // Optional [tb] argument is engaged.\n // ref: amsmath: \\renewcommand{\\smash}[1][tb]{%\n // def\\mb@t{\\ht}\\def\\mb@b{\\dp}\\def\\mb@tb{\\ht\\z@\\z@\\dp}%\n var letter = "";\n\n for (var i = 0; i < tbArg.body.length; ++i) {\n var node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n letter = node.text;\n\n if (letter === "t") {\n smashHeight = true;\n } else if (letter === "b") {\n smashDepth = true;\n } else {\n smashHeight = false;\n smashDepth = false;\n break;\n }\n }\n } else {\n smashHeight = true;\n smashDepth = true;\n }\n\n var body = args[0];\n return {\n type: "smash",\n mode: parser.mode,\n body: body,\n smashHeight: smashHeight,\n smashDepth: smashDepth\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]);\n\n if (!group.smashHeight && !group.smashDepth) {\n return node;\n }\n\n if (group.smashHeight) {\n node.height = 0; // In order to influence makeVList, we have to reset the children.\n\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n }\n }\n }\n\n if (group.smashDepth) {\n node.depth = 0;\n\n if (node.children) {\n for (var _i = 0; _i < node.children.length; _i++) {\n node.children[_i].depth = 0;\n }\n }\n } // At this point, we\'ve reset the TeX-like height and depth values.\n // But the span still has an HTML line height.\n // makeVList applies "display: table-cell", which prevents the browser\n // from acting on that line height. So we\'ll call makeVList now.\n\n\n var smashedNode = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\hphantom as a math group (same spacing as ord).\n\n return buildCommon.makeSpan(["mord"], [smashedNode], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]);\n\n if (group.smashHeight) {\n node.setAttribute("height", "0px");\n }\n\n if (group.smashDepth) {\n node.setAttribute("depth", "0px");\n }\n\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/sqrt.js\n\n\n\n\n\n\n\ndefineFunction({\n type: "sqrt",\n names: ["\\\\sqrt"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n handler: function handler(_ref, args, optArgs) {\n var parser = _ref.parser;\n var index = optArgs[0];\n var body = args[0];\n return {\n type: "sqrt",\n mode: parser.mode,\n body: body,\n index: index\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Square roots are handled in the TeXbook pg. 443, Rule 11.\n // First, we do the same steps as in overline to build the inner group\n // and line\n var inner = buildHTML_buildGroup(group.body, options.havingCrampedStyle());\n\n if (inner.height === 0) {\n // Render a small surd.\n inner.height = options.fontMetrics().xHeight;\n } // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n\n inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \\surd delimiter\n\n var metrics = options.fontMetrics();\n var theta = metrics.defaultRuleThickness;\n var phi = theta;\n\n if (options.style.id < src_Style.TEXT.id) {\n phi = options.fontMetrics().xHeight;\n } // Calculate the clearance between the body and line\n\n\n var lineClearance = theta + phi / 4;\n var minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size\n\n var _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options),\n img = _delimiter$sqrtImage.span,\n ruleWidth = _delimiter$sqrtImage.ruleWidth,\n advanceWidth = _delimiter$sqrtImage.advanceWidth;\n\n var delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size\n\n if (delimDepth > inner.height + inner.depth + lineClearance) {\n lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2;\n } // Shift the sqrt image\n\n\n var imgShift = img.height - inner.height - lineClearance - ruleWidth;\n inner.style.paddingLeft = advanceWidth + "em"; // Overlay the image and the argument.\n\n var body = buildCommon.makeVList({\n positionType: "firstBaseline",\n children: [{\n type: "elem",\n elem: inner,\n wrapperClasses: ["svg-align"]\n }, {\n type: "kern",\n size: -(inner.height + imgShift)\n }, {\n type: "elem",\n elem: img\n }, {\n type: "kern",\n size: ruleWidth\n }]\n }, options);\n\n if (!group.index) {\n return buildCommon.makeSpan(["mord", "sqrt"], [body], options);\n } else {\n // Handle the optional root index\n // The index is always in scriptscript style\n var newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT);\n var rootm = buildHTML_buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX\n // source, in the definition of `\\r@@t`.\n\n var toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly\n\n var rootVList = buildCommon.makeVList({\n positionType: "shift",\n positionData: -toShift,\n children: [{\n type: "elem",\n elem: rootm\n }]\n }, options); // Add a class surrounding it so we can add on the appropriate\n // kerning\n\n var rootVListWrap = buildCommon.makeSpan(["root"], [rootVList]);\n return buildCommon.makeSpan(["mord", "sqrt"], [rootVListWrap, body], options);\n }\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var body = group.body,\n index = group.index;\n return index ? new mathMLTree.MathNode("mroot", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode("msqrt", [buildMathML_buildGroup(body, options)]);\n }\n});\n// CONCATENATED MODULE: ./src/functions/styling.js\n\n\n\n\n\nvar styling_styleMap = {\n "display": src_Style.DISPLAY,\n "text": src_Style.TEXT,\n "script": src_Style.SCRIPT,\n "scriptscript": src_Style.SCRIPTSCRIPT\n};\ndefineFunction({\n type: "styling",\n names: ["\\\\displaystyle", "\\\\textstyle", "\\\\scriptstyle", "\\\\scriptscriptstyle"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var breakOnTokenText = _ref.breakOnTokenText,\n funcName = _ref.funcName,\n parser = _ref.parser;\n // parse out the implicit body\n var body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g.\n // here and in buildHTML and de-dupe the enumeration of all the styles).\n // $FlowFixMe: The names above exactly match the styles.\n\n var style = funcName.slice(1, funcName.length - 5);\n return {\n type: "styling",\n mode: parser.mode,\n // Figure out what style to use by pulling out the style from\n // the function name\n style: style,\n body: body\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Style changes are handled in the TeXbook on pg. 442, Rule 3.\n var newStyle = styling_styleMap[group.style];\n var newOptions = options.havingStyle(newStyle).withFont(\'\');\n return sizingGroup(group.body, newOptions, options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // Figure out what style we\'re changing to.\n var newStyle = styling_styleMap[group.style];\n var newOptions = options.havingStyle(newStyle);\n var inner = buildMathML_buildExpression(group.body, newOptions);\n var node = new mathMLTree.MathNode("mstyle", inner);\n var styleAttributes = {\n "display": ["0", "true"],\n "text": ["0", "false"],\n "script": ["1", "false"],\n "scriptscript": ["2", "false"]\n };\n var attr = styleAttributes[group.style];\n node.setAttribute("scriptlevel", attr[0]);\n node.setAttribute("displaystyle", attr[1]);\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/supsub.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Sometimes, groups perform special rules when they have superscripts or\n * subscripts attached to them. This function lets the `supsub` group know that\n * Sometimes, groups perform special rules when they have superscripts or\n * its inner element should handle the superscripts and subscripts instead of\n * handling them itself.\n */\nvar supsub_htmlBuilderDelegate = function htmlBuilderDelegate(group, options) {\n var base = group.base;\n\n if (!base) {\n return null;\n } else if (base.type === "op") {\n // Operators handle supsubs differently when they have limits\n // (e.g. `\\displaystyle\\sum_2^3`)\n var delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub);\n return delegate ? op_htmlBuilder : null;\n } else if (base.type === "operatorname") {\n var _delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits);\n\n return _delegate ? operatorname_htmlBuilder : null;\n } else if (base.type === "accent") {\n return utils.isCharacterBox(base.base) ? accent_htmlBuilder : null;\n } else if (base.type === "horizBrace") {\n var isSup = !group.sub;\n return isSup === base.isOver ? horizBrace_htmlBuilder : null;\n } else {\n return null;\n }\n}; // Super scripts and subscripts, whose precise placement can depend on other\n// functions that precede them.\n\n\ndefineFunctionBuilders({\n type: "supsub",\n htmlBuilder: function htmlBuilder(group, options) {\n // Superscript and subscripts are handled in the TeXbook on page\n // 445-446, rules 18(a-f).\n // Here is where we defer to the inner group if it should handle\n // superscripts and subscripts itself.\n var builderDelegate = supsub_htmlBuilderDelegate(group, options);\n\n if (builderDelegate) {\n return builderDelegate(group, options);\n }\n\n var valueBase = group.base,\n valueSup = group.sup,\n valueSub = group.sub;\n var base = buildHTML_buildGroup(valueBase, options);\n var supm;\n var subm;\n var metrics = options.fontMetrics(); // Rule 18a\n\n var supShift = 0;\n var subShift = 0;\n var isCharacterBox = valueBase && utils.isCharacterBox(valueBase);\n\n if (valueSup) {\n var newOptions = options.havingStyle(options.style.sup());\n supm = buildHTML_buildGroup(valueSup, newOptions, options);\n\n if (!isCharacterBox) {\n supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n if (valueSub) {\n var _newOptions = options.havingStyle(options.style.sub());\n\n subm = buildHTML_buildGroup(valueSub, _newOptions, options);\n\n if (!isCharacterBox) {\n subShift = base.depth + _newOptions.fontMetrics().subDrop * _newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n } // Rule 18c\n\n\n var minSupShift;\n\n if (options.style === src_Style.DISPLAY) {\n minSupShift = metrics.sup1;\n } else if (options.style.cramped) {\n minSupShift = metrics.sup3;\n } else {\n minSupShift = metrics.sup2;\n } // scriptspace is a font-size-independent size, so scale it\n // appropriately for use as the marginRight.\n\n\n var multiplier = options.sizeMultiplier;\n var marginRight = 0.5 / metrics.ptPerEm / multiplier + "em";\n var marginLeft = null;\n\n if (subm) {\n // Subscripts shouldn\'t be shifted by the base\'s italic correction.\n // Account for that by shifting the subscript back the appropriate\n // amount. Note we only do this when the base is a single symbol.\n var isOiint = group.base && group.base.type === "op" && group.base.name && (group.base.name === "\\\\oiint" || group.base.name === "\\\\oiiint");\n\n if (base instanceof domTree_SymbolNode || isOiint) {\n // $FlowFixMe\n marginLeft = -base.italic + "em";\n }\n }\n\n var supsub;\n\n if (supm && subm) {\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n subShift = Math.max(subShift, metrics.sub2);\n var ruleWidth = metrics.defaultRuleThickness; // Rule 18e\n\n var maxWidth = 4 * ruleWidth;\n\n if (supShift - supm.depth - (subm.height - subShift) < maxWidth) {\n subShift = maxWidth - (supShift - supm.depth) + subm.height;\n var psi = 0.8 * metrics.xHeight - (supShift - supm.depth);\n\n if (psi > 0) {\n supShift += psi;\n subShift -= psi;\n }\n }\n\n var vlistElem = [{\n type: "elem",\n elem: subm,\n shift: subShift,\n marginRight: marginRight,\n marginLeft: marginLeft\n }, {\n type: "elem",\n elem: supm,\n shift: -supShift,\n marginRight: marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: "individualShift",\n children: vlistElem\n }, options);\n } else if (subm) {\n // Rule 18b\n subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight);\n var _vlistElem = [{\n type: "elem",\n elem: subm,\n marginLeft: marginLeft,\n marginRight: marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: "shift",\n positionData: subShift,\n children: _vlistElem\n }, options);\n } else if (supm) {\n // Rule 18c, d\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n supsub = buildCommon.makeVList({\n positionType: "shift",\n positionData: -supShift,\n children: [{\n type: "elem",\n elem: supm,\n marginRight: marginRight\n }]\n }, options);\n } else {\n throw new Error("supsub must have either sup or sub.");\n } // Wrap the supsub vlist in a span.msupsub to reset text-align.\n\n\n var mclass = getTypeOfDomTree(base, "right") || "mord";\n return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan(["msupsub"], [supsub])], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n // Is the inner group a relevant horizonal brace?\n var isBrace = false;\n var isOver;\n var isSup;\n var horizBrace = checkNodeType(group.base, "horizBrace");\n\n if (horizBrace) {\n isSup = !!group.sup;\n\n if (isSup === horizBrace.isOver) {\n isBrace = true;\n isOver = horizBrace.isOver;\n }\n }\n\n if (group.base && (group.base.type === "op" || group.base.type === "operatorname")) {\n group.base.parentIsSupSub = true;\n }\n\n var children = [buildMathML_buildGroup(group.base, options)];\n\n if (group.sub) {\n children.push(buildMathML_buildGroup(group.sub, options));\n }\n\n if (group.sup) {\n children.push(buildMathML_buildGroup(group.sup, options));\n }\n\n var nodeType;\n\n if (isBrace) {\n nodeType = isOver ? "mover" : "munder";\n } else if (!group.sub) {\n var base = group.base;\n\n if (base && base.type === "op" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = "mover";\n } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = "mover";\n } else {\n nodeType = "msup";\n }\n } else if (!group.sup) {\n var _base = group.base;\n\n if (_base && _base.type === "op" && _base.limits && (options.style === src_Style.DISPLAY || _base.alwaysHandleSupSub)) {\n nodeType = "munder";\n } else if (_base && _base.type === "operatorname" && _base.alwaysHandleSupSub && (_base.limits || options.style === src_Style.DISPLAY)) {\n nodeType = "munder";\n } else {\n nodeType = "msub";\n }\n } else {\n var _base2 = group.base;\n\n if (_base2 && _base2.type === "op" && _base2.limits && options.style === src_Style.DISPLAY) {\n nodeType = "munderover";\n } else if (_base2 && _base2.type === "operatorname" && _base2.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || _base2.limits)) {\n nodeType = "munderover";\n } else {\n nodeType = "msubsup";\n }\n }\n\n var node = new mathMLTree.MathNode(nodeType, children);\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/symbolsOp.js\n\n\n\n // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js.\n\ndefineFunctionBuilders({\n type: "atom",\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.mathsym(group.text, group.mode, options, ["m" + group.family]);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.text, group.mode)]);\n\n if (group.family === "bin") {\n var variant = buildMathML_getVariant(group, options);\n\n if (variant === "bold-italic") {\n node.setAttribute("mathvariant", variant);\n }\n } else if (group.family === "punct") {\n node.setAttribute("separator", "true");\n } else if (group.family === "open" || group.family === "close") {\n // Delims built here should not stretch vertically.\n // See delimsizing.js for stretchy delims.\n node.setAttribute("stretchy", "false");\n }\n\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/symbolsOrd.js\n\n\n\n\n// "mathord" and "textord" ParseNodes created in Parser.js from symbol Groups in\nvar defaultVariant = {\n "mi": "italic",\n "mn": "normal",\n "mtext": "normal"\n};\ndefineFunctionBuilders({\n type: "mathord",\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, "mathord");\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode("mi", [buildMathML_makeText(group.text, group.mode, options)]);\n var variant = buildMathML_getVariant(group, options) || "italic";\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute("mathvariant", variant);\n }\n\n return node;\n }\n});\ndefineFunctionBuilders({\n type: "textord",\n htmlBuilder: function htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, "textord");\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var text = buildMathML_makeText(group.text, group.mode, options);\n var variant = buildMathML_getVariant(group, options) || "normal";\n var node;\n\n if (group.mode === \'text\') {\n node = new mathMLTree.MathNode("mtext", [text]);\n } else if (/[0-9]/.test(group.text)) {\n // TODO(kevinb) merge adjacent nodes\n // do it as a post processing step\n node = new mathMLTree.MathNode("mn", [text]);\n } else if (group.text === "\\\\prime") {\n node = new mathMLTree.MathNode("mo", [text]);\n } else {\n node = new mathMLTree.MathNode("mi", [text]);\n }\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute("mathvariant", variant);\n }\n\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js\n\n\n\n // A map of CSS-based spacing functions to their CSS class.\n\nvar cssSpace = {\n "\\\\nobreak": "nobreak",\n "\\\\allowbreak": "allowbreak"\n}; // A lookup table to determine whether a spacing function/symbol should be\n// treated like a regular space character. If a symbol or command is a key\n// in this table, then it should be a regular space character. Furthermore,\n// the associated value may have a `className` specifying an extra CSS class\n// to add to the created `span`.\n\nvar regularSpace = {\n " ": {},\n "\\\\ ": {},\n "~": {\n className: "nobreak"\n },\n "\\\\space": {},\n "\\\\nobreakspace": {\n className: "nobreak"\n }\n}; // ParseNode<"spacing"> created in Parser.js from the "spacing" symbol Groups in\n// src/symbols.js.\n\ndefineFunctionBuilders({\n type: "spacing",\n htmlBuilder: function htmlBuilder(group, options) {\n if (regularSpace.hasOwnProperty(group.text)) {\n var className = regularSpace[group.text].className || ""; // Spaces are generated by adding an actual space. Each of these\n // things has an entry in the symbols table, so these will be turned\n // into appropriate outputs.\n\n if (group.mode === "text") {\n var ord = buildCommon.makeOrd(group, options, "textord");\n ord.classes.push(className);\n return ord;\n } else {\n return buildCommon.makeSpan(["mspace", className], [buildCommon.mathsym(group.text, group.mode, options)], options);\n }\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // Spaces based on just a CSS class.\n return buildCommon.makeSpan(["mspace", cssSpace[group.text]], [], options);\n } else {\n throw new src_ParseError("Unknown type of space \\"" + group.text + "\\"");\n }\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var node;\n\n if (regularSpace.hasOwnProperty(group.text)) {\n node = new mathMLTree.MathNode("mtext", [new mathMLTree.TextNode("\\xA0")]);\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // CSS-based MathML spaces (\\nobreak, \\allowbreak) are ignored\n return new mathMLTree.MathNode("mspace");\n } else {\n throw new src_ParseError("Unknown type of space \\"" + group.text + "\\"");\n }\n\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/tag.js\n\n\n\n\nvar tag_pad = function pad() {\n var padNode = new mathMLTree.MathNode("mtd", []);\n padNode.setAttribute("width", "50%");\n return padNode;\n};\n\ndefineFunctionBuilders({\n type: "tag",\n mathmlBuilder: function mathmlBuilder(group, options) {\n var table = new mathMLTree.MathNode("mtable", [new mathMLTree.MathNode("mtr", [tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.body, options)]), tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.tag, options)])])]);\n table.setAttribute("width", "100%");\n return table; // TODO: Left-aligned tags.\n // Currently, the group and options passed here do not contain\n // enough info to set tag alignment. `leqno` is in Settings but it is\n // not passed to Options. On the HTML side, leqno is\n // set by a CSS class applied in buildTree.js. That would have worked\n // in MathML if browsers supported . Since they don\'t, we\n // need to rewrite the way this function is called.\n }\n});\n// CONCATENATED MODULE: ./src/functions/text.js\n\n\n\n // Non-mathy text, possibly in a font\n\nvar textFontFamilies = {\n "\\\\text": undefined,\n "\\\\textrm": "textrm",\n "\\\\textsf": "textsf",\n "\\\\texttt": "texttt",\n "\\\\textnormal": "textrm"\n};\nvar textFontWeights = {\n "\\\\textbf": "textbf",\n "\\\\textmd": "textmd"\n};\nvar textFontShapes = {\n "\\\\textit": "textit",\n "\\\\textup": "textup"\n};\n\nvar optionsWithFont = function optionsWithFont(group, options) {\n var font = group.font; // Checks if the argument is a font family or a font style.\n\n if (!font) {\n return options;\n } else if (textFontFamilies[font]) {\n return options.withTextFontFamily(textFontFamilies[font]);\n } else if (textFontWeights[font]) {\n return options.withTextFontWeight(textFontWeights[font]);\n } else {\n return options.withTextFontShape(textFontShapes[font]);\n }\n};\n\ndefineFunction({\n type: "text",\n names: [// Font families\n "\\\\text", "\\\\textrm", "\\\\textsf", "\\\\texttt", "\\\\textnormal", // Font weights\n "\\\\textbf", "\\\\textmd", // Font Shapes\n "\\\\textit", "\\\\textup"],\n props: {\n numArgs: 1,\n argTypes: ["text"],\n greediness: 2,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser,\n funcName = _ref.funcName;\n var body = args[0];\n return {\n type: "text",\n mode: parser.mode,\n body: defineFunction_ordargument(body),\n font: funcName\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var newOptions = optionsWithFont(group, options);\n var inner = buildHTML_buildExpression(group.body, newOptions, true);\n return buildCommon.makeSpan(["mord", "text"], buildCommon.tryCombineChars(inner), newOptions);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var newOptions = optionsWithFont(group, options);\n return buildExpressionRow(group.body, newOptions);\n }\n});\n// CONCATENATED MODULE: ./src/functions/underline.js\n\n\n\n\n\ndefineFunction({\n type: "underline",\n names: ["\\\\underline"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: function handler(_ref, args) {\n var parser = _ref.parser;\n return {\n type: "underline",\n mode: parser.mode,\n body: args[0]\n };\n },\n htmlBuilder: function htmlBuilder(group, options) {\n // Underlines are handled in the TeXbook pg 443, Rule 10.\n // Build the inner group.\n var innerGroup = buildHTML_buildGroup(group.body, options); // Create the line to go below the body\n\n var line = buildCommon.makeLineSpan("underline-line", options); // Generate the vlist, with the appropriate kerns\n\n var defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n var vlist = buildCommon.makeVList({\n positionType: "top",\n positionData: innerGroup.height,\n children: [{\n type: "kern",\n size: defaultRuleThickness\n }, {\n type: "elem",\n elem: line\n }, {\n type: "kern",\n size: 3 * defaultRuleThickness\n }, {\n type: "elem",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan(["mord", "underline"], [vlist], options);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\\u203E")]);\n operator.setAttribute("stretchy", "true");\n var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.body, options), operator]);\n node.setAttribute("accentunder", "true");\n return node;\n }\n});\n// CONCATENATED MODULE: ./src/functions/verb.js\n\n\n\n\ndefineFunction({\n type: "verb",\n names: ["\\\\verb"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: function handler(context, args, optArgs) {\n // \\verb and \\verb* are dealt with directly in Parser.js.\n // If we end up here, it\'s because of a failure to match the two delimiters\n // in the regex in Lexer.js. LaTeX raises the following error when \\verb is\n // terminated by end of line (or file).\n throw new src_ParseError("\\\\verb ended by end of line instead of matching delimiter");\n },\n htmlBuilder: function htmlBuilder(group, options) {\n var text = makeVerb(group);\n var body = []; // \\verb enters text mode and therefore is sized like \\textstyle\n\n var newOptions = options.havingStyle(options.style.text());\n\n for (var i = 0; i < text.length; i++) {\n var c = text[i];\n\n if (c === \'~\') {\n c = \'\\\\textasciitilde\';\n }\n\n body.push(buildCommon.makeSymbol(c, "Typewriter-Regular", group.mode, newOptions, ["mord", "texttt"]));\n }\n\n return buildCommon.makeSpan(["mord", "text"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions);\n },\n mathmlBuilder: function mathmlBuilder(group, options) {\n var text = new mathMLTree.TextNode(makeVerb(group));\n var node = new mathMLTree.MathNode("mtext", [text]);\n node.setAttribute("mathvariant", "monospace");\n return node;\n }\n});\n/**\n * Converts verb group into body string.\n *\n * \\verb* replaces each space with an open box \\u2423\n * \\verb replaces each space with a no-break space \\xA0\n */\n\nvar makeVerb = function makeVerb(group) {\n return group.body.replace(/ /g, group.star ? "\\u2423" : \'\\xA0\');\n};\n// CONCATENATED MODULE: ./src/functions.js\n/** Include this to ensure that all functions are defined. */\n\nvar functions = _functions;\n/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with\n// that object in this file instead of relying on side-effects.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// CONCATENATED MODULE: ./src/Lexer.js\n/**\n * The Lexer class handles tokenizing the input in various ways. Since our\n * parser expects us to be able to backtrack, the lexer allows lexing from any\n * given starting point.\n *\n * Its main exposed function is the `lex` function, which takes a position to\n * lex from and a type of token to lex. It defers to the appropriate `_innerLex`\n * function.\n *\n * The various `_innerLex` functions perform the actual lexing of different\n * kinds.\n */\n\n\n\n\n/* The following tokenRegex\n * - matches typical whitespace (but not NBSP etc.) using its first group\n * - does not match any control character \\x00-\\x1f except whitespace\n * - does not match a bare backslash\n * - matches any ASCII character except those just mentioned\n * - does not match the BMP private use area \\uE000-\\uF8FF\n * - does not match bare surrogate code units\n * - matches any BMP character except for those just described\n * - matches any valid Unicode surrogate pair\n * - matches a backslash followed by one or more letters\n * - matches a backslash followed by any BMP character, including newline\n * Just because the Lexer matches something doesn\'t mean it\'s valid input:\n * If there is no matching function or symbol definition, the Parser will\n * still reject the input.\n */\nvar spaceRegexString = "[ \\r\\n\\t]";\nvar controlWordRegexString = "\\\\\\\\[a-zA-Z@]+";\nvar controlSymbolRegexString = "\\\\\\\\[^\\uD800-\\uDFFF]";\nvar controlWordWhitespaceRegexString = "" + controlWordRegexString + spaceRegexString + "*";\nvar controlWordWhitespaceRegex = new RegExp("^(" + controlWordRegexString + ")" + spaceRegexString + "*$");\nvar combiningDiacriticalMarkString = "[\\u0300-\\u036F]";\nvar combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + "+$");\nvar tokenRegexString = "(" + spaceRegexString + "+)|" + // whitespace\n"([!-\\\\[\\\\]-\\u2027\\u202A-\\uD7FF\\uF900-\\uFFFF]" + ( // single codepoint\ncombiningDiacriticalMarkString + "*") + // ...plus accents\n"|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]" + ( // surrogate pair\ncombiningDiacriticalMarkString + "*") + // ...plus accents\n"|\\\\\\\\verb\\\\*([^]).*?\\\\3" + // \\verb*\n"|\\\\\\\\verb([^*a-zA-Z]).*?\\\\4" + // \\verb unstarred\n"|\\\\\\\\operatorname\\\\*" + ( // \\operatorname*\n"|" + controlWordWhitespaceRegexString) + ( // \\macroName + spaces\n"|" + controlSymbolRegexString + ")"); // \\\\, \\\', etc.\n\n/** Main Lexer class */\n\nvar Lexer_Lexer =\n/*#__PURE__*/\nfunction () {\n // category codes, only supports comment characters (14) for now\n function Lexer(input, settings) {\n this.input = void 0;\n this.settings = void 0;\n this.tokenRegex = void 0;\n this.catcodes = void 0;\n // Separate accents from characters\n this.input = input;\n this.settings = settings;\n this.tokenRegex = new RegExp(tokenRegexString, \'g\');\n this.catcodes = {\n "%": 14 // comment character\n\n };\n }\n\n var _proto = Lexer.prototype;\n\n _proto.setCatcode = function setCatcode(char, code) {\n this.catcodes[char] = code;\n }\n /**\n * This function lexes a single token.\n */\n ;\n\n _proto.lex = function lex() {\n var input = this.input;\n var pos = this.tokenRegex.lastIndex;\n\n if (pos === input.length) {\n return new Token_Token("EOF", new SourceLocation(this, pos, pos));\n }\n\n var match = this.tokenRegex.exec(input);\n\n if (match === null || match.index !== pos) {\n throw new src_ParseError("Unexpected character: \'" + input[pos] + "\'", new Token_Token(input[pos], new SourceLocation(this, pos, pos + 1)));\n }\n\n var text = match[2] || " ";\n\n if (this.catcodes[text] === 14) {\n // comment character\n var nlIndex = input.indexOf(\'\\n\', this.tokenRegex.lastIndex);\n\n if (nlIndex === -1) {\n this.tokenRegex.lastIndex = input.length; // EOF\n\n this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would " + "fail because of commenting the end of math mode (e.g. $)");\n } else {\n this.tokenRegex.lastIndex = nlIndex + 1;\n }\n\n return this.lex();\n } // Trim any trailing whitespace from control word match\n\n\n var controlMatch = text.match(controlWordWhitespaceRegex);\n\n if (controlMatch) {\n text = controlMatch[1];\n }\n\n return new Token_Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex));\n };\n\n return Lexer;\n}();\n\n\n// CONCATENATED MODULE: ./src/Namespace.js\n/**\n * A `Namespace` refers to a space of nameable things like macros or lengths,\n * which can be `set` either globally or local to a nested group, using an\n * undo stack similar to how TeX implements this functionality.\n * Performance-wise, `get` and local `set` take constant time, while global\n * `set` takes time proportional to the depth of group nesting.\n */\n\n\nvar Namespace_Namespace =\n/*#__PURE__*/\nfunction () {\n /**\n * Both arguments are optional. The first argument is an object of\n * built-in mappings which never change. The second argument is an object\n * of initial (global-level) mappings, which will constantly change\n * according to any global/top-level `set`s done.\n */\n function Namespace(builtins, globalMacros) {\n if (builtins === void 0) {\n builtins = {};\n }\n\n if (globalMacros === void 0) {\n globalMacros = {};\n }\n\n this.current = void 0;\n this.builtins = void 0;\n this.undefStack = void 0;\n this.current = globalMacros;\n this.builtins = builtins;\n this.undefStack = [];\n }\n /**\n * Start a new nested group, affecting future local `set`s.\n */\n\n\n var _proto = Namespace.prototype;\n\n _proto.beginGroup = function beginGroup() {\n this.undefStack.push({});\n }\n /**\n * End current nested group, restoring values before the group began.\n */\n ;\n\n _proto.endGroup = function endGroup() {\n if (this.undefStack.length === 0) {\n throw new src_ParseError("Unbalanced namespace destruction: attempt " + "to pop global namespace; please report this as a bug");\n }\n\n var undefs = this.undefStack.pop();\n\n for (var undef in undefs) {\n if (undefs.hasOwnProperty(undef)) {\n if (undefs[undef] === undefined) {\n delete this.current[undef];\n } else {\n this.current[undef] = undefs[undef];\n }\n }\n }\n }\n /**\n * Detect whether `name` has a definition. Equivalent to\n * `get(name) != null`.\n */\n ;\n\n _proto.has = function has(name) {\n return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name);\n }\n /**\n * Get the current value of a name, or `undefined` if there is no value.\n *\n * Note: Do not use `if (namespace.get(...))` to detect whether a macro\n * is defined, as the definition may be the empty string which evaluates\n * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or\n * `if (namespace.has(...))`.\n */\n ;\n\n _proto.get = function get(name) {\n if (this.current.hasOwnProperty(name)) {\n return this.current[name];\n } else {\n return this.builtins[name];\n }\n }\n /**\n * Set the current value of a name, and optionally set it globally too.\n * Local set() sets the current value and (when appropriate) adds an undo\n * operation to the undo stack. Global set() may change the undo\n * operation at every level, so takes time linear in their number.\n */\n ;\n\n _proto.set = function set(name, value, global) {\n if (global === void 0) {\n global = false;\n }\n\n if (global) {\n // Global set is equivalent to setting in all groups. Simulate this\n // by destroying any undos currently scheduled for this name,\n // and adding an undo with the *new* value (in case it later gets\n // locally reset within this environment).\n for (var i = 0; i < this.undefStack.length; i++) {\n delete this.undefStack[i][name];\n }\n\n if (this.undefStack.length > 0) {\n this.undefStack[this.undefStack.length - 1][name] = value;\n }\n } else {\n // Undo this set at end of this group (possibly to `undefined`),\n // unless an undo is already in place, in which case that older\n // value is the correct one.\n var top = this.undefStack[this.undefStack.length - 1];\n\n if (top && !top.hasOwnProperty(name)) {\n top[name] = this.current[name];\n }\n }\n\n this.current[name] = value;\n };\n\n return Namespace;\n}();\n\n\n// CONCATENATED MODULE: ./src/macros.js\n/**\n * Predefined macros for KaTeX.\n * This can be used to define some commands in terms of others.\n */\n\n\n\n\n\nvar builtinMacros = {};\n/* harmony default export */ var macros = (builtinMacros); // This function might one day accept an additional argument and do more things.\n\nfunction defineMacro(name, body) {\n builtinMacros[name] = body;\n} //////////////////////////////////////////////////////////////////////\n// macro tools\n// LaTeX\'s \\@firstoftwo{#1}{#2} expands to #1, skipping #2\n// TeX source: \\long\\def\\@firstoftwo#1#2{#1}\n\ndefineMacro("\\\\@firstoftwo", function (context) {\n var args = context.consumeArgs(2);\n return {\n tokens: args[0],\n numArgs: 0\n };\n}); // LaTeX\'s \\@secondoftwo{#1}{#2} expands to #2, skipping #1\n// TeX source: \\long\\def\\@secondoftwo#1#2{#2}\n\ndefineMacro("\\\\@secondoftwo", function (context) {\n var args = context.consumeArgs(2);\n return {\n tokens: args[1],\n numArgs: 0\n };\n}); // LaTeX\'s \\@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded)\n// symbol. If it matches #1, then the macro expands to #2; otherwise, #3.\n// Note, however, that it does not consume the next symbol in either case.\n\ndefineMacro("\\\\@ifnextchar", function (context) {\n var args = context.consumeArgs(3); // symbol, if, else\n\n var nextToken = context.future();\n\n if (args[0].length === 1 && args[0][0].text === nextToken.text) {\n return {\n tokens: args[1],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[2],\n numArgs: 0\n };\n }\n}); // LaTeX\'s \\@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol.\n// If it is `*`, then it consumes the symbol, and the macro expands to #1;\n// otherwise, the macro expands to #2 (without consuming the symbol).\n// TeX source: \\def\\@ifstar#1{\\@ifnextchar *{\\@firstoftwo{#1}}}\n\ndefineMacro("\\\\@ifstar", "\\\\@ifnextchar *{\\\\@firstoftwo{#1}}"); // LaTeX\'s \\TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode\n\ndefineMacro("\\\\TextOrMath", function (context) {\n var args = context.consumeArgs(2);\n\n if (context.mode === \'text\') {\n return {\n tokens: args[0],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[1],\n numArgs: 0\n };\n }\n}); // Lookup table for parsing numbers in base 8 through 16\n\nvar digitToNumber = {\n "0": 0,\n "1": 1,\n "2": 2,\n "3": 3,\n "4": 4,\n "5": 5,\n "6": 6,\n "7": 7,\n "8": 8,\n "9": 9,\n "a": 10,\n "A": 10,\n "b": 11,\n "B": 11,\n "c": 12,\n "C": 12,\n "d": 13,\n "D": 13,\n "e": 14,\n "E": 14,\n "f": 15,\n "F": 15\n}; // TeX \\char makes a literal character (catcode 12) using the following forms:\n// (see The TeXBook, p. 43)\n// \\char123 -- decimal\n// \\char\'123 -- octal\n// \\char"123 -- hex\n// \\char`x -- character that can be written (i.e. isn\'t active)\n// \\char`\\x -- character that cannot be written (e.g. %)\n// These all refer to characters from the font, so we turn them into special\n// calls to a function \\@char dealt with in the Parser.\n\ndefineMacro("\\\\char", function (context) {\n var token = context.popToken();\n var base;\n var number = \'\';\n\n if (token.text === "\'") {\n base = 8;\n token = context.popToken();\n } else if (token.text === \'"\') {\n base = 16;\n token = context.popToken();\n } else if (token.text === "`") {\n token = context.popToken();\n\n if (token.text[0] === "\\\\") {\n number = token.text.charCodeAt(1);\n } else if (token.text === "EOF") {\n throw new src_ParseError("\\\\char` missing argument");\n } else {\n number = token.text.charCodeAt(0);\n }\n } else {\n base = 10;\n }\n\n if (base) {\n // Parse a number in the given base, starting with first `token`.\n number = digitToNumber[token.text];\n\n if (number == null || number >= base) {\n throw new src_ParseError("Invalid base-" + base + " digit " + token.text);\n }\n\n var digit;\n\n while ((digit = digitToNumber[context.future().text]) != null && digit < base) {\n number *= base;\n number += digit;\n context.popToken();\n }\n }\n\n return "\\\\@char{" + number + "}";\n}); // Basic support for macro definitions:\n// \\def\\macro{expansion}\n// \\def\\macro#1{expansion}\n// \\def\\macro#1#2{expansion}\n// \\def\\macro#1#2#3#4#5#6#7#8#9{expansion}\n// Also the \\gdef and \\global\\def equivalents\n\nvar macros_def = function def(context, global) {\n var arg = context.consumeArgs(1)[0];\n\n if (arg.length !== 1) {\n throw new src_ParseError("\\\\gdef\'s first argument must be a macro name");\n }\n\n var name = arg[0].text; // Count argument specifiers, and check they are in the order #1 #2 ...\n\n var numArgs = 0;\n arg = context.consumeArgs(1)[0];\n\n while (arg.length === 1 && arg[0].text === "#") {\n arg = context.consumeArgs(1)[0];\n\n if (arg.length !== 1) {\n throw new src_ParseError("Invalid argument number length \\"" + arg.length + "\\"");\n }\n\n if (!/^[1-9]$/.test(arg[0].text)) {\n throw new src_ParseError("Invalid argument number \\"" + arg[0].text + "\\"");\n }\n\n numArgs++;\n\n if (parseInt(arg[0].text) !== numArgs) {\n throw new src_ParseError("Argument number \\"" + arg[0].text + "\\" out of order");\n }\n\n arg = context.consumeArgs(1)[0];\n } // Final arg is the expansion of the macro\n\n\n context.macros.set(name, {\n tokens: arg,\n numArgs: numArgs\n }, global);\n return \'\';\n};\n\ndefineMacro("\\\\gdef", function (context) {\n return macros_def(context, true);\n});\ndefineMacro("\\\\def", function (context) {\n return macros_def(context, false);\n});\ndefineMacro("\\\\global", function (context) {\n var next = context.consumeArgs(1)[0];\n\n if (next.length !== 1) {\n throw new src_ParseError("Invalid command after \\\\global");\n }\n\n var command = next[0].text; // TODO: Should expand command\n\n if (command === "\\\\def") {\n // \\global\\def is equivalent to \\gdef\n return macros_def(context, true);\n } else {\n throw new src_ParseError("Invalid command \'" + command + "\' after \\\\global");\n }\n}); // \\newcommand{\\macro}[args]{definition}\n// \\renewcommand{\\macro}[args]{definition}\n// TODO: Optional arguments: \\newcommand{\\macro}[args][default]{definition}\n\nvar macros_newcommand = function newcommand(context, existsOK, nonexistsOK) {\n var arg = context.consumeArgs(1)[0];\n\n if (arg.length !== 1) {\n throw new src_ParseError("\\\\newcommand\'s first argument must be a macro name");\n }\n\n var name = arg[0].text;\n var exists = context.isDefined(name);\n\n if (exists && !existsOK) {\n throw new src_ParseError("\\\\newcommand{" + name + "} attempting to redefine " + (name + "; use \\\\renewcommand"));\n }\n\n if (!exists && !nonexistsOK) {\n throw new src_ParseError("\\\\renewcommand{" + name + "} when command " + name + " " + "does not yet exist; use \\\\newcommand");\n }\n\n var numArgs = 0;\n arg = context.consumeArgs(1)[0];\n\n if (arg.length === 1 && arg[0].text === "[") {\n var argText = \'\';\n var token = context.expandNextToken();\n\n while (token.text !== "]" && token.text !== "EOF") {\n // TODO: Should properly expand arg, e.g., ignore {}s\n argText += token.text;\n token = context.expandNextToken();\n }\n\n if (!argText.match(/^\\s*[0-9]+\\s*$/)) {\n throw new src_ParseError("Invalid number of arguments: " + argText);\n }\n\n numArgs = parseInt(argText);\n arg = context.consumeArgs(1)[0];\n } // Final arg is the expansion of the macro\n\n\n context.macros.set(name, {\n tokens: arg,\n numArgs: numArgs\n });\n return \'\';\n};\n\ndefineMacro("\\\\newcommand", function (context) {\n return macros_newcommand(context, false, true);\n});\ndefineMacro("\\\\renewcommand", function (context) {\n return macros_newcommand(context, true, false);\n});\ndefineMacro("\\\\providecommand", function (context) {\n return macros_newcommand(context, true, true);\n}); //////////////////////////////////////////////////////////////////////\n// Grouping\n// \\let\\bgroup={ \\let\\egroup=}\n\ndefineMacro("\\\\bgroup", "{");\ndefineMacro("\\\\egroup", "}"); // Symbols from latex.ltx:\n// \\def\\lq{`}\n// \\def\\rq{\'}\n// \\def \\aa {\\r a}\n// \\def \\AA {\\r A}\n\ndefineMacro("\\\\lq", "`");\ndefineMacro("\\\\rq", "\'");\ndefineMacro("\\\\aa", "\\\\r a");\ndefineMacro("\\\\AA", "\\\\r A"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML.\n// \\DeclareTextCommandDefault{\\textcopyright}{\\textcircled{c}}\n// \\DeclareTextCommandDefault{\\textregistered}{\\textcircled{%\n// \\check@mathfonts\\fontsize\\sf@size\\z@\\math@fontsfalse\\selectfont R}}\n// \\DeclareRobustCommand{\\copyright}{%\n// \\ifmmode{\\nfss@text{\\textcopyright}}\\else\\textcopyright\\fi}\n\ndefineMacro("\\\\textcopyright", "\\\\html@mathml{\\\\textcircled{c}}{\\\\char`\xa9}");\ndefineMacro("\\\\copyright", "\\\\TextOrMath{\\\\textcopyright}{\\\\text{\\\\textcopyright}}");\ndefineMacro("\\\\textregistered", "\\\\html@mathml{\\\\textcircled{\\\\scriptsize R}}{\\\\char`\xae}"); // Characters omitted from Unicode range 1D400\u20131D7FF\n\ndefineMacro("\\u212C", "\\\\mathscr{B}"); // script\n\ndefineMacro("\\u2130", "\\\\mathscr{E}");\ndefineMacro("\\u2131", "\\\\mathscr{F}");\ndefineMacro("\\u210B", "\\\\mathscr{H}");\ndefineMacro("\\u2110", "\\\\mathscr{I}");\ndefineMacro("\\u2112", "\\\\mathscr{L}");\ndefineMacro("\\u2133", "\\\\mathscr{M}");\ndefineMacro("\\u211B", "\\\\mathscr{R}");\ndefineMacro("\\u212D", "\\\\mathfrak{C}"); // Fraktur\n\ndefineMacro("\\u210C", "\\\\mathfrak{H}");\ndefineMacro("\\u2128", "\\\\mathfrak{Z}"); // Define \\Bbbk with a macro that works in both HTML and MathML.\n\ndefineMacro("\\\\Bbbk", "\\\\Bbb{k}"); // Unicode middle dot\n// The KaTeX fonts do not contain U+00B7. Instead, \\cdotp displays\n// the dot at U+22C5 and gives it punct spacing.\n\ndefineMacro("\\xB7", "\\\\cdotp"); // \\llap and \\rlap render their contents in text mode\n\ndefineMacro("\\\\llap", "\\\\mathllap{\\\\textrm{#1}}");\ndefineMacro("\\\\rlap", "\\\\mathrlap{\\\\textrm{#1}}");\ndefineMacro("\\\\clap", "\\\\mathclap{\\\\textrm{#1}}"); // \\not is defined by base/fontmath.ltx via\n// \\DeclareMathSymbol{\\not}{\\mathrel}{symbols}{"36}\n// It\'s thus treated like a \\mathrel, but defined by a symbol that has zero\n// width but extends to the right. We use \\rlap to get that spacing.\n// For MathML we write U+0338 here. buildMathML.js will then do the overlay.\n\ndefineMacro("\\\\not", \'\\\\html@mathml{\\\\mathrel{\\\\mathrlap\\\\@not}}{\\\\char"338}\'); // Negated symbols from base/fontmath.ltx:\n// \\def\\neq{\\not=} \\let\\ne=\\neq\n// \\DeclareRobustCommand\n// \\notin{\\mathrel{\\m@th\\mathpalette\\c@ncel\\in}}\n// \\def\\c@ncel#1#2{\\m@th\\ooalign{$\\hfil#1\\mkern1mu/\\hfil$\\crcr$#1#2$}}\n\ndefineMacro("\\\\neq", "\\\\html@mathml{\\\\mathrel{\\\\not=}}{\\\\mathrel{\\\\char`\u2260}}");\ndefineMacro("\\\\ne", "\\\\neq");\ndefineMacro("\\u2260", "\\\\neq");\ndefineMacro("\\\\notin", "\\\\html@mathml{\\\\mathrel{{\\\\in}\\\\mathllap{/\\\\mskip1mu}}}" + "{\\\\mathrel{\\\\char`\u2209}}");\ndefineMacro("\\u2209", "\\\\notin"); // Unicode stacked relations\n\ndefineMacro("\\u2258", "\\\\html@mathml{" + "\\\\mathrel{=\\\\kern{-1em}\\\\raisebox{0.4em}{$\\\\scriptsize\\\\frown$}}" + "}{\\\\mathrel{\\\\char`\\u2258}}");\ndefineMacro("\\u2259", "\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\wedge}{=}}{\\\\mathrel{\\\\char`\\u2258}}");\ndefineMacro("\\u225A", "\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\vee}{=}}{\\\\mathrel{\\\\char`\\u225A}}");\ndefineMacro("\\u225B", "\\\\html@mathml{\\\\stackrel{\\\\scriptsize\\\\star}{=}}" + "{\\\\mathrel{\\\\char`\\u225B}}");\ndefineMacro("\\u225D", "\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{def}}{=}}" + "{\\\\mathrel{\\\\char`\\u225D}}");\ndefineMacro("\\u225E", "\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{m}}{=}}" + "{\\\\mathrel{\\\\char`\\u225E}}");\ndefineMacro("\\u225F", "\\\\html@mathml{\\\\stackrel{\\\\tiny?}{=}}{\\\\mathrel{\\\\char`\\u225F}}"); // Misc Unicode\n\ndefineMacro("\\u27C2", "\\\\perp");\ndefineMacro("\\u203C", "\\\\mathclose{!\\\\mkern-0.8mu!}");\ndefineMacro("\\u220C", "\\\\notni");\ndefineMacro("\\u231C", "\\\\ulcorner");\ndefineMacro("\\u231D", "\\\\urcorner");\ndefineMacro("\\u231E", "\\\\llcorner");\ndefineMacro("\\u231F", "\\\\lrcorner");\ndefineMacro("\\xA9", "\\\\copyright");\ndefineMacro("\\xAE", "\\\\textregistered");\ndefineMacro("\\uFE0F", "\\\\textregistered"); //////////////////////////////////////////////////////////////////////\n// LaTeX_2\u03b5\n// \\vdots{\\vbox{\\baselineskip4\\p@ \\lineskiplimit\\z@\n// \\kern6\\p@\\hbox{.}\\hbox{.}\\hbox{.}}}\n// We\'ll call \\varvdots, which gets a glyph from symbols.js.\n// The zero-width rule gets us an equivalent to the vertical 6pt kern.\n\ndefineMacro("\\\\vdots", "\\\\mathord{\\\\varvdots\\\\rule{0pt}{15pt}}");\ndefineMacro("\\u22EE", "\\\\vdots"); //////////////////////////////////////////////////////////////////////\n// amsmath.sty\n// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf\n// Italic Greek capital letters. AMS defines these with \\DeclareMathSymbol,\n// but they are equivalent to \\mathit{\\Letter}.\n\ndefineMacro("\\\\varGamma", "\\\\mathit{\\\\Gamma}");\ndefineMacro("\\\\varDelta", "\\\\mathit{\\\\Delta}");\ndefineMacro("\\\\varTheta", "\\\\mathit{\\\\Theta}");\ndefineMacro("\\\\varLambda", "\\\\mathit{\\\\Lambda}");\ndefineMacro("\\\\varXi", "\\\\mathit{\\\\Xi}");\ndefineMacro("\\\\varPi", "\\\\mathit{\\\\Pi}");\ndefineMacro("\\\\varSigma", "\\\\mathit{\\\\Sigma}");\ndefineMacro("\\\\varUpsilon", "\\\\mathit{\\\\Upsilon}");\ndefineMacro("\\\\varPhi", "\\\\mathit{\\\\Phi}");\ndefineMacro("\\\\varPsi", "\\\\mathit{\\\\Psi}");\ndefineMacro("\\\\varOmega", "\\\\mathit{\\\\Omega}"); //\\newcommand{\\substack}[1]{\\subarray{c}#1\\endsubarray}\n\ndefineMacro("\\\\substack", "\\\\begin{subarray}{c}#1\\\\end{subarray}"); // \\renewcommand{\\colon}{\\nobreak\\mskip2mu\\mathpunct{}\\nonscript\n// \\mkern-\\thinmuskip{:}\\mskip6muplus1mu\\relax}\n\ndefineMacro("\\\\colon", "\\\\nobreak\\\\mskip2mu\\\\mathpunct{}" + "\\\\mathchoice{\\\\mkern-3mu}{\\\\mkern-3mu}{}{}{:}\\\\mskip6mu"); // \\newcommand{\\boxed}[1]{\\fbox{\\m@th$\\displaystyle#1$}}\n\ndefineMacro("\\\\boxed", "\\\\fbox{$\\\\displaystyle{#1}$}"); // \\def\\iff{\\DOTSB\\;\\Longleftrightarrow\\;}\n// \\def\\implies{\\DOTSB\\;\\Longrightarrow\\;}\n// \\def\\impliedby{\\DOTSB\\;\\Longleftarrow\\;}\n\ndefineMacro("\\\\iff", "\\\\DOTSB\\\\;\\\\Longleftrightarrow\\\\;");\ndefineMacro("\\\\implies", "\\\\DOTSB\\\\;\\\\Longrightarrow\\\\;");\ndefineMacro("\\\\impliedby", "\\\\DOTSB\\\\;\\\\Longleftarrow\\\\;"); // AMSMath\'s automatic \\dots, based on \\mdots@@ macro.\n\nvar dotsByToken = {\n \',\': \'\\\\dotsc\',\n \'\\\\not\': \'\\\\dotsb\',\n // \\keybin@ checks for the following:\n \'+\': \'\\\\dotsb\',\n \'=\': \'\\\\dotsb\',\n \'<\': \'\\\\dotsb\',\n \'>\': \'\\\\dotsb\',\n \'-\': \'\\\\dotsb\',\n \'*\': \'\\\\dotsb\',\n \':\': \'\\\\dotsb\',\n // Symbols whose definition starts with \\DOTSB:\n \'\\\\DOTSB\': \'\\\\dotsb\',\n \'\\\\coprod\': \'\\\\dotsb\',\n \'\\\\bigvee\': \'\\\\dotsb\',\n \'\\\\bigwedge\': \'\\\\dotsb\',\n \'\\\\biguplus\': \'\\\\dotsb\',\n \'\\\\bigcap\': \'\\\\dotsb\',\n \'\\\\bigcup\': \'\\\\dotsb\',\n \'\\\\prod\': \'\\\\dotsb\',\n \'\\\\sum\': \'\\\\dotsb\',\n \'\\\\bigotimes\': \'\\\\dotsb\',\n \'\\\\bigoplus\': \'\\\\dotsb\',\n \'\\\\bigodot\': \'\\\\dotsb\',\n \'\\\\bigsqcup\': \'\\\\dotsb\',\n \'\\\\And\': \'\\\\dotsb\',\n \'\\\\longrightarrow\': \'\\\\dotsb\',\n \'\\\\Longrightarrow\': \'\\\\dotsb\',\n \'\\\\longleftarrow\': \'\\\\dotsb\',\n \'\\\\Longleftarrow\': \'\\\\dotsb\',\n \'\\\\longleftrightarrow\': \'\\\\dotsb\',\n \'\\\\Longleftrightarrow\': \'\\\\dotsb\',\n \'\\\\mapsto\': \'\\\\dotsb\',\n \'\\\\longmapsto\': \'\\\\dotsb\',\n \'\\\\hookrightarrow\': \'\\\\dotsb\',\n \'\\\\doteq\': \'\\\\dotsb\',\n // Symbols whose definition starts with \\mathbin:\n \'\\\\mathbin\': \'\\\\dotsb\',\n // Symbols whose definition starts with \\mathrel:\n \'\\\\mathrel\': \'\\\\dotsb\',\n \'\\\\relbar\': \'\\\\dotsb\',\n \'\\\\Relbar\': \'\\\\dotsb\',\n \'\\\\xrightarrow\': \'\\\\dotsb\',\n \'\\\\xleftarrow\': \'\\\\dotsb\',\n // Symbols whose definition starts with \\DOTSI:\n \'\\\\DOTSI\': \'\\\\dotsi\',\n \'\\\\int\': \'\\\\dotsi\',\n \'\\\\oint\': \'\\\\dotsi\',\n \'\\\\iint\': \'\\\\dotsi\',\n \'\\\\iiint\': \'\\\\dotsi\',\n \'\\\\iiiint\': \'\\\\dotsi\',\n \'\\\\idotsint\': \'\\\\dotsi\',\n // Symbols whose definition starts with \\DOTSX:\n \'\\\\DOTSX\': \'\\\\dotsx\'\n};\ndefineMacro("\\\\dots", function (context) {\n // TODO: If used in text mode, should expand to \\textellipsis.\n // However, in KaTeX, \\textellipsis and \\ldots behave the same\n // (in text mode), and it\'s unlikely we\'d see any of the math commands\n // that affect the behavior of \\dots when in text mode. So fine for now\n // (until we support \\ifmmode ... \\else ... \\fi).\n var thedots = \'\\\\dotso\';\n var next = context.expandAfterFuture().text;\n\n if (next in dotsByToken) {\n thedots = dotsByToken[next];\n } else if (next.substr(0, 4) === \'\\\\not\') {\n thedots = \'\\\\dotsb\';\n } else if (next in src_symbols.math) {\n if (utils.contains([\'bin\', \'rel\'], src_symbols.math[next].group)) {\n thedots = \'\\\\dotsb\';\n }\n }\n\n return thedots;\n});\nvar spaceAfterDots = {\n // \\rightdelim@ checks for the following:\n \')\': true,\n \']\': true,\n \'\\\\rbrack\': true,\n \'\\\\}\': true,\n \'\\\\rbrace\': true,\n \'\\\\rangle\': true,\n \'\\\\rceil\': true,\n \'\\\\rfloor\': true,\n \'\\\\rgroup\': true,\n \'\\\\rmoustache\': true,\n \'\\\\right\': true,\n \'\\\\bigr\': true,\n \'\\\\biggr\': true,\n \'\\\\Bigr\': true,\n \'\\\\Biggr\': true,\n // \\extra@ also tests for the following:\n \'$\': true,\n // \\extrap@ checks for the following:\n \';\': true,\n \'.\': true,\n \',\': true\n};\ndefineMacro("\\\\dotso", function (context) {\n var next = context.future().text;\n\n if (next in spaceAfterDots) {\n return "\\\\ldots\\\\,";\n } else {\n return "\\\\ldots";\n }\n});\ndefineMacro("\\\\dotsc", function (context) {\n var next = context.future().text; // \\dotsc uses \\extra@ but not \\extrap@, instead specially checking for\n // \';\' and \'.\', but doesn\'t check for \',\'.\n\n if (next in spaceAfterDots && next !== \',\') {\n return "\\\\ldots\\\\,";\n } else {\n return "\\\\ldots";\n }\n});\ndefineMacro("\\\\cdots", function (context) {\n var next = context.future().text;\n\n if (next in spaceAfterDots) {\n return "\\\\@cdots\\\\,";\n } else {\n return "\\\\@cdots";\n }\n});\ndefineMacro("\\\\dotsb", "\\\\cdots");\ndefineMacro("\\\\dotsm", "\\\\cdots");\ndefineMacro("\\\\dotsi", "\\\\!\\\\cdots"); // amsmath doesn\'t actually define \\dotsx, but \\dots followed by a macro\n// starting with \\DOTSX implies \\dotso, and then \\extra@ detects this case\n// and forces the added `\\,`.\n\ndefineMacro("\\\\dotsx", "\\\\ldots\\\\,"); // \\let\\DOTSI\\relax\n// \\let\\DOTSB\\relax\n// \\let\\DOTSX\\relax\n\ndefineMacro("\\\\DOTSI", "\\\\relax");\ndefineMacro("\\\\DOTSB", "\\\\relax");\ndefineMacro("\\\\DOTSX", "\\\\relax"); // Spacing, based on amsmath.sty\'s override of LaTeX defaults\n// \\DeclareRobustCommand{\\tmspace}[3]{%\n// \\ifmmode\\mskip#1#2\\else\\kern#1#3\\fi\\relax}\n\ndefineMacro("\\\\tmspace", "\\\\TextOrMath{\\\\kern#1#3}{\\\\mskip#1#2}\\\\relax"); // \\renewcommand{\\,}{\\tmspace+\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro("\\\\,", "\\\\tmspace+{3mu}{.1667em}"); // \\let\\thinspace\\,\n\ndefineMacro("\\\\thinspace", "\\\\,"); // \\def\\>{\\mskip\\medmuskip}\n// \\renewcommand{\\:}{\\tmspace+\\medmuskip{.2222em}}\n// TODO: \\> and math mode of \\: should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro("\\\\>", "\\\\mskip{4mu}");\ndefineMacro("\\\\:", "\\\\tmspace+{4mu}{.2222em}"); // \\let\\medspace\\:\n\ndefineMacro("\\\\medspace", "\\\\:"); // \\renewcommand{\\;}{\\tmspace+\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip = 5mu plus 5mu\n\ndefineMacro("\\\\;", "\\\\tmspace+{5mu}{.2777em}"); // \\let\\thickspace\\;\n\ndefineMacro("\\\\thickspace", "\\\\;"); // \\renewcommand{\\!}{\\tmspace-\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro("\\\\!", "\\\\tmspace-{3mu}{.1667em}"); // \\let\\negthinspace\\!\n\ndefineMacro("\\\\negthinspace", "\\\\!"); // \\newcommand{\\negmedspace}{\\tmspace-\\medmuskip{.2222em}}\n// TODO: math mode should use \\medmuskip\n\ndefineMacro("\\\\negmedspace", "\\\\tmspace-{4mu}{.2222em}"); // \\newcommand{\\negthickspace}{\\tmspace-\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip\n\ndefineMacro("\\\\negthickspace", "\\\\tmspace-{5mu}{.277em}"); // \\def\\enspace{\\kern.5em }\n\ndefineMacro("\\\\enspace", "\\\\kern.5em "); // \\def\\enskip{\\hskip.5em\\relax}\n\ndefineMacro("\\\\enskip", "\\\\hskip.5em\\\\relax"); // \\def\\quad{\\hskip1em\\relax}\n\ndefineMacro("\\\\quad", "\\\\hskip1em\\\\relax"); // \\def\\qquad{\\hskip2em\\relax}\n\ndefineMacro("\\\\qquad", "\\\\hskip2em\\\\relax"); // \\tag@in@display form of \\tag\n\ndefineMacro("\\\\tag", "\\\\@ifstar\\\\tag@literal\\\\tag@paren");\ndefineMacro("\\\\tag@paren", "\\\\tag@literal{({#1})}");\ndefineMacro("\\\\tag@literal", function (context) {\n if (context.macros.get("\\\\df@tag")) {\n throw new src_ParseError("Multiple \\\\tag");\n }\n\n return "\\\\gdef\\\\df@tag{\\\\text{#1}}";\n}); // \\renewcommand{\\bmod}{\\nonscript\\mskip-\\medmuskip\\mkern5mu\\mathbin\n// {\\operator@font mod}\\penalty900\n// \\mkern5mu\\nonscript\\mskip-\\medmuskip}\n// \\newcommand{\\pod}[1]{\\allowbreak\n// \\if@display\\mkern18mu\\else\\mkern8mu\\fi(#1)}\n// \\renewcommand{\\pmod}[1]{\\pod{{\\operator@font mod}\\mkern6mu#1}}\n// \\newcommand{\\mod}[1]{\\allowbreak\\if@display\\mkern18mu\n// \\else\\mkern12mu\\fi{\\operator@font mod}\\,\\,#1}\n// TODO: math mode should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro("\\\\bmod", "\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}" + "\\\\mathbin{\\\\rm mod}" + "\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}");\ndefineMacro("\\\\pod", "\\\\allowbreak" + "\\\\mathchoice{\\\\mkern18mu}{\\\\mkern8mu}{\\\\mkern8mu}{\\\\mkern8mu}(#1)");\ndefineMacro("\\\\pmod", "\\\\pod{{\\\\rm mod}\\\\mkern6mu#1}");\ndefineMacro("\\\\mod", "\\\\allowbreak" + "\\\\mathchoice{\\\\mkern18mu}{\\\\mkern12mu}{\\\\mkern12mu}{\\\\mkern12mu}" + "{\\\\rm mod}\\\\,\\\\,#1"); // \\pmb -- A simulation of bold.\n// The version in ambsy.sty works by typesetting three copies of the argument\n// with small offsets. We use two copies. We omit the vertical offset because\n// of rendering problems that makeVList encounters in Safari.\n\ndefineMacro("\\\\pmb", "\\\\html@mathml{" + "\\\\@binrel{#1}{\\\\mathrlap{#1}\\\\kern0.5px#1}}" + "{\\\\mathbf{#1}}"); //////////////////////////////////////////////////////////////////////\n// LaTeX source2e\n// \\\\ defaults to \\newline, but changes to \\cr within array environment\n\ndefineMacro("\\\\\\\\", "\\\\newline"); // \\def\\TeX{T\\kern-.1667em\\lower.5ex\\hbox{E}\\kern-.125emX\\@}\n// TODO: Doesn\'t normally work in math mode because \\@ fails. KaTeX doesn\'t\n// support \\@ yet, so that\'s omitted, and we add \\text so that the result\n// doesn\'t look funny in math mode.\n\ndefineMacro("\\\\TeX", "\\\\textrm{\\\\html@mathml{" + "T\\\\kern-.1667em\\\\raisebox{-.5ex}{E}\\\\kern-.125emX" + "}{TeX}}"); // \\DeclareRobustCommand{\\LaTeX}{L\\kern-.36em%\n// {\\sbox\\z@ T%\n// \\vbox to\\ht\\z@{\\hbox{\\check@mathfonts\n// \\fontsize\\sf@size\\z@\n// \\math@fontsfalse\\selectfont\n// A}%\n// \\vss}%\n// }%\n// \\kern-.15em%\n// \\TeX}\n// This code aligns the top of the A with the T (from the perspective of TeX\'s\n// boxes, though visually the A appears to extend above slightly).\n// We compute the corresponding \\raisebox when A is rendered in \\normalsize\n// \\scriptstyle, which has a scale factor of 0.7 (see Options.js).\n\nvar latexRaiseA = fontMetricsData[\'Main-Regular\']["T".charCodeAt(0)][1] - 0.7 * fontMetricsData[\'Main-Regular\']["A".charCodeAt(0)][1] + "em";\ndefineMacro("\\\\LaTeX", "\\\\textrm{\\\\html@mathml{" + ("L\\\\kern-.36em\\\\raisebox{" + latexRaiseA + "}{\\\\scriptstyle A}") + "\\\\kern-.15em\\\\TeX}{LaTeX}}"); // New KaTeX logo based on tweaking LaTeX logo\n\ndefineMacro("\\\\KaTeX", "\\\\textrm{\\\\html@mathml{" + ("K\\\\kern-.17em\\\\raisebox{" + latexRaiseA + "}{\\\\scriptstyle A}") + "\\\\kern-.15em\\\\TeX}{KaTeX}}"); // \\DeclareRobustCommand\\hspace{\\@ifstar\\@hspacer\\@hspace}\n// \\def\\@hspace#1{\\hskip #1\\relax}\n// \\def\\@hspacer#1{\\vrule \\@width\\z@\\nobreak\n// \\hskip #1\\hskip \\z@skip}\n\ndefineMacro("\\\\hspace", "\\\\@ifstar\\\\@hspacer\\\\@hspace");\ndefineMacro("\\\\@hspace", "\\\\hskip #1\\\\relax");\ndefineMacro("\\\\@hspacer", "\\\\rule{0pt}{0pt}\\\\hskip #1\\\\relax"); //////////////////////////////////////////////////////////////////////\n// mathtools.sty\n//\\providecommand\\ordinarycolon{:}\n\ndefineMacro("\\\\ordinarycolon", ":"); //\\def\\vcentcolon{\\mathrel{\\mathop\\ordinarycolon}}\n//TODO(edemaine): Not yet centered. Fix via \\raisebox or #726\n\ndefineMacro("\\\\vcentcolon", "\\\\mathrel{\\\\mathop\\\\ordinarycolon}"); // \\providecommand*\\dblcolon{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}\n\ndefineMacro("\\\\dblcolon", "\\\\html@mathml{" + "\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-.9mu}\\\\vcentcolon}}" + "{\\\\mathop{\\\\char\\"2237}}"); // \\providecommand*\\coloneqq{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro("\\\\coloneqq", "\\\\html@mathml{" + "\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}=}}" + "{\\\\mathop{\\\\char\\"2254}}"); // \u2254\n// \\providecommand*\\Coloneqq{\\dblcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro("\\\\Coloneqq", "\\\\html@mathml{" + "\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}=}}" + "{\\\\mathop{\\\\char\\"2237\\\\char\\"3d}}"); // \\providecommand*\\coloneq{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro("\\\\coloneq", "\\\\html@mathml{" + "\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}" + "{\\\\mathop{\\\\char\\"3a\\\\char\\"2212}}"); // \\providecommand*\\Coloneq{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro("\\\\Coloneq", "\\\\html@mathml{" + "\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}" + "{\\\\mathop{\\\\char\\"2237\\\\char\\"2212}}"); // \\providecommand*\\eqqcolon{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro("\\\\eqqcolon", "\\\\html@mathml{" + "\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}" + "{\\\\mathop{\\\\char\\"2255}}"); // \u2255\n// \\providecommand*\\Eqqcolon{=\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro("\\\\Eqqcolon", "\\\\html@mathml{" + "\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}" + "{\\\\mathop{\\\\char\\"3d\\\\char\\"2237}}"); // \\providecommand*\\eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro("\\\\eqcolon", "\\\\html@mathml{" + "\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}" + "{\\\\mathop{\\\\char\\"2239}}"); // \\providecommand*\\Eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro("\\\\Eqcolon", "\\\\html@mathml{" + "\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}" + "{\\\\mathop{\\\\char\\"2212\\\\char\\"2237}}"); // \\providecommand*\\colonapprox{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro("\\\\colonapprox", "\\\\html@mathml{" + "\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}" + "{\\\\mathop{\\\\char\\"3a\\\\char\\"2248}}"); // \\providecommand*\\Colonapprox{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro("\\\\Colonapprox", "\\\\html@mathml{" + "\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}" + "{\\\\mathop{\\\\char\\"2237\\\\char\\"2248}}"); // \\providecommand*\\colonsim{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro("\\\\colonsim", "\\\\html@mathml{" + "\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}" + "{\\\\mathop{\\\\char\\"3a\\\\char\\"223c}}"); // \\providecommand*\\Colonsim{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro("\\\\Colonsim", "\\\\html@mathml{" + "\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}" + "{\\\\mathop{\\\\char\\"2237\\\\char\\"223c}}"); // Some Unicode characters are implemented with macros to mathtools functions.\n\ndefineMacro("\\u2237", "\\\\dblcolon"); // ::\n\ndefineMacro("\\u2239", "\\\\eqcolon"); // -:\n\ndefineMacro("\\u2254", "\\\\coloneqq"); // :=\n\ndefineMacro("\\u2255", "\\\\eqqcolon"); // =:\n\ndefineMacro("\\u2A74", "\\\\Coloneqq"); // ::=\n//////////////////////////////////////////////////////////////////////\n// colonequals.sty\n// Alternate names for mathtools\'s macros:\n\ndefineMacro("\\\\ratio", "\\\\vcentcolon");\ndefineMacro("\\\\coloncolon", "\\\\dblcolon");\ndefineMacro("\\\\colonequals", "\\\\coloneqq");\ndefineMacro("\\\\coloncolonequals", "\\\\Coloneqq");\ndefineMacro("\\\\equalscolon", "\\\\eqqcolon");\ndefineMacro("\\\\equalscoloncolon", "\\\\Eqqcolon");\ndefineMacro("\\\\colonminus", "\\\\coloneq");\ndefineMacro("\\\\coloncolonminus", "\\\\Coloneq");\ndefineMacro("\\\\minuscolon", "\\\\eqcolon");\ndefineMacro("\\\\minuscoloncolon", "\\\\Eqcolon"); // \\colonapprox name is same in mathtools and colonequals.\n\ndefineMacro("\\\\coloncolonapprox", "\\\\Colonapprox"); // \\colonsim name is same in mathtools and colonequals.\n\ndefineMacro("\\\\coloncolonsim", "\\\\Colonsim"); // Additional macros, implemented by analogy with mathtools definitions:\n\ndefineMacro("\\\\simcolon", "\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}");\ndefineMacro("\\\\simcoloncolon", "\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}");\ndefineMacro("\\\\approxcolon", "\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}");\ndefineMacro("\\\\approxcoloncolon", "\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}"); // Present in newtxmath, pxfonts and txfonts\n\ndefineMacro("\\\\notni", "\\\\html@mathml{\\\\not\\\\ni}{\\\\mathrel{\\\\char`\\u220C}}");\ndefineMacro("\\\\limsup", "\\\\DOTSB\\\\operatorname*{lim\\\\,sup}");\ndefineMacro("\\\\liminf", "\\\\DOTSB\\\\operatorname*{lim\\\\,inf}"); //////////////////////////////////////////////////////////////////////\n// MathML alternates for KaTeX glyphs in the Unicode private area\n\ndefineMacro("\\\\gvertneqq", "\\\\html@mathml{\\\\@gvertneqq}{\\u2269}");\ndefineMacro("\\\\lvertneqq", "\\\\html@mathml{\\\\@lvertneqq}{\\u2268}");\ndefineMacro("\\\\ngeqq", "\\\\html@mathml{\\\\@ngeqq}{\\u2271}");\ndefineMacro("\\\\ngeqslant", "\\\\html@mathml{\\\\@ngeqslant}{\\u2271}");\ndefineMacro("\\\\nleqq", "\\\\html@mathml{\\\\@nleqq}{\\u2270}");\ndefineMacro("\\\\nleqslant", "\\\\html@mathml{\\\\@nleqslant}{\\u2270}");\ndefineMacro("\\\\nshortmid", "\\\\html@mathml{\\\\@nshortmid}{\u2224}");\ndefineMacro("\\\\nshortparallel", "\\\\html@mathml{\\\\@nshortparallel}{\u2226}");\ndefineMacro("\\\\nsubseteqq", "\\\\html@mathml{\\\\@nsubseteqq}{\\u2288}");\ndefineMacro("\\\\nsupseteqq", "\\\\html@mathml{\\\\@nsupseteqq}{\\u2289}");\ndefineMacro("\\\\varsubsetneq", "\\\\html@mathml{\\\\@varsubsetneq}{\u228a}");\ndefineMacro("\\\\varsubsetneqq", "\\\\html@mathml{\\\\@varsubsetneqq}{\u2acb}");\ndefineMacro("\\\\varsupsetneq", "\\\\html@mathml{\\\\@varsupsetneq}{\u228b}");\ndefineMacro("\\\\varsupsetneqq", "\\\\html@mathml{\\\\@varsupsetneqq}{\u2acc}"); //////////////////////////////////////////////////////////////////////\n// stmaryrd and semantic\n// The stmaryrd and semantic packages render the next four items by calling a\n// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros.\n\ndefineMacro("\\\\llbracket", "\\\\html@mathml{" + "\\\\mathopen{[\\\\mkern-3.2mu[}}" + "{\\\\mathopen{\\\\char`\\u27E6}}");\ndefineMacro("\\\\rrbracket", "\\\\html@mathml{" + "\\\\mathclose{]\\\\mkern-3.2mu]}}" + "{\\\\mathclose{\\\\char`\\u27E7}}");\ndefineMacro("\\u27E6", "\\\\llbracket"); // blackboard bold [\n\ndefineMacro("\\u27E7", "\\\\rrbracket"); // blackboard bold ]\n\ndefineMacro("\\\\lBrace", "\\\\html@mathml{" + "\\\\mathopen{\\\\{\\\\mkern-3.2mu[}}" + "{\\\\mathopen{\\\\char`\\u2983}}");\ndefineMacro("\\\\rBrace", "\\\\html@mathml{" + "\\\\mathclose{]\\\\mkern-3.2mu\\\\}}}" + "{\\\\mathclose{\\\\char`\\u2984}}");\ndefineMacro("\\u2983", "\\\\lBrace"); // blackboard bold {\n\ndefineMacro("\\u2984", "\\\\rBrace"); // blackboard bold }\n// TODO: Create variable sized versions of the last two items. I believe that\n// will require new font glyphs.\n//////////////////////////////////////////////////////////////////////\n// texvc.sty\n// The texvc package contains macros available in mediawiki pages.\n// We omit the functions deprecated at\n// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax\n// We also omit texvc\'s \\O, which conflicts with \\text{\\O}\n\ndefineMacro("\\\\darr", "\\\\downarrow");\ndefineMacro("\\\\dArr", "\\\\Downarrow");\ndefineMacro("\\\\Darr", "\\\\Downarrow");\ndefineMacro("\\\\lang", "\\\\langle");\ndefineMacro("\\\\rang", "\\\\rangle");\ndefineMacro("\\\\uarr", "\\\\uparrow");\ndefineMacro("\\\\uArr", "\\\\Uparrow");\ndefineMacro("\\\\Uarr", "\\\\Uparrow");\ndefineMacro("\\\\N", "\\\\mathbb{N}");\ndefineMacro("\\\\R", "\\\\mathbb{R}");\ndefineMacro("\\\\Z", "\\\\mathbb{Z}");\ndefineMacro("\\\\alef", "\\\\aleph");\ndefineMacro("\\\\alefsym", "\\\\aleph");\ndefineMacro("\\\\Alpha", "\\\\mathrm{A}");\ndefineMacro("\\\\Beta", "\\\\mathrm{B}");\ndefineMacro("\\\\bull", "\\\\bullet");\ndefineMacro("\\\\Chi", "\\\\mathrm{X}");\ndefineMacro("\\\\clubs", "\\\\clubsuit");\ndefineMacro("\\\\cnums", "\\\\mathbb{C}");\ndefineMacro("\\\\Complex", "\\\\mathbb{C}");\ndefineMacro("\\\\Dagger", "\\\\ddagger");\ndefineMacro("\\\\diamonds", "\\\\diamondsuit");\ndefineMacro("\\\\empty", "\\\\emptyset");\ndefineMacro("\\\\Epsilon", "\\\\mathrm{E}");\ndefineMacro("\\\\Eta", "\\\\mathrm{H}");\ndefineMacro("\\\\exist", "\\\\exists");\ndefineMacro("\\\\harr", "\\\\leftrightarrow");\ndefineMacro("\\\\hArr", "\\\\Leftrightarrow");\ndefineMacro("\\\\Harr", "\\\\Leftrightarrow");\ndefineMacro("\\\\hearts", "\\\\heartsuit");\ndefineMacro("\\\\image", "\\\\Im");\ndefineMacro("\\\\infin", "\\\\infty");\ndefineMacro("\\\\Iota", "\\\\mathrm{I}");\ndefineMacro("\\\\isin", "\\\\in");\ndefineMacro("\\\\Kappa", "\\\\mathrm{K}");\ndefineMacro("\\\\larr", "\\\\leftarrow");\ndefineMacro("\\\\lArr", "\\\\Leftarrow");\ndefineMacro("\\\\Larr", "\\\\Leftarrow");\ndefineMacro("\\\\lrarr", "\\\\leftrightarrow");\ndefineMacro("\\\\lrArr", "\\\\Leftrightarrow");\ndefineMacro("\\\\Lrarr", "\\\\Leftrightarrow");\ndefineMacro("\\\\Mu", "\\\\mathrm{M}");\ndefineMacro("\\\\natnums", "\\\\mathbb{N}");\ndefineMacro("\\\\Nu", "\\\\mathrm{N}");\ndefineMacro("\\\\Omicron", "\\\\mathrm{O}");\ndefineMacro("\\\\plusmn", "\\\\pm");\ndefineMacro("\\\\rarr", "\\\\rightarrow");\ndefineMacro("\\\\rArr", "\\\\Rightarrow");\ndefineMacro("\\\\Rarr", "\\\\Rightarrow");\ndefineMacro("\\\\real", "\\\\Re");\ndefineMacro("\\\\reals", "\\\\mathbb{R}");\ndefineMacro("\\\\Reals", "\\\\mathbb{R}");\ndefineMacro("\\\\Rho", "\\\\mathrm{P}");\ndefineMacro("\\\\sdot", "\\\\cdot");\ndefineMacro("\\\\sect", "\\\\S");\ndefineMacro("\\\\spades", "\\\\spadesuit");\ndefineMacro("\\\\sub", "\\\\subset");\ndefineMacro("\\\\sube", "\\\\subseteq");\ndefineMacro("\\\\supe", "\\\\supseteq");\ndefineMacro("\\\\Tau", "\\\\mathrm{T}");\ndefineMacro("\\\\thetasym", "\\\\vartheta"); // TODO: defineMacro("\\\\varcoppa", "\\\\\\mbox{\\\\coppa}");\n\ndefineMacro("\\\\weierp", "\\\\wp");\ndefineMacro("\\\\Zeta", "\\\\mathrm{Z}"); //////////////////////////////////////////////////////////////////////\n// statmath.sty\n// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf\n\ndefineMacro("\\\\argmin", "\\\\DOTSB\\\\operatorname*{arg\\\\,min}");\ndefineMacro("\\\\argmax", "\\\\DOTSB\\\\operatorname*{arg\\\\,max}");\ndefineMacro("\\\\plim", "\\\\DOTSB\\\\mathop{\\\\operatorname{plim}}\\\\limits"); // Custom Khan Academy colors, should be moved to an optional package\n\ndefineMacro("\\\\blue", "\\\\textcolor{##6495ed}{#1}");\ndefineMacro("\\\\orange", "\\\\textcolor{##ffa500}{#1}");\ndefineMacro("\\\\pink", "\\\\textcolor{##ff00af}{#1}");\ndefineMacro("\\\\red", "\\\\textcolor{##df0030}{#1}");\ndefineMacro("\\\\green", "\\\\textcolor{##28ae7b}{#1}");\ndefineMacro("\\\\gray", "\\\\textcolor{gray}{#1}");\ndefineMacro("\\\\purple", "\\\\textcolor{##9d38bd}{#1}");\ndefineMacro("\\\\blueA", "\\\\textcolor{##ccfaff}{#1}");\ndefineMacro("\\\\blueB", "\\\\textcolor{##80f6ff}{#1}");\ndefineMacro("\\\\blueC", "\\\\textcolor{##63d9ea}{#1}");\ndefineMacro("\\\\blueD", "\\\\textcolor{##11accd}{#1}");\ndefineMacro("\\\\blueE", "\\\\textcolor{##0c7f99}{#1}");\ndefineMacro("\\\\tealA", "\\\\textcolor{##94fff5}{#1}");\ndefineMacro("\\\\tealB", "\\\\textcolor{##26edd5}{#1}");\ndefineMacro("\\\\tealC", "\\\\textcolor{##01d1c1}{#1}");\ndefineMacro("\\\\tealD", "\\\\textcolor{##01a995}{#1}");\ndefineMacro("\\\\tealE", "\\\\textcolor{##208170}{#1}");\ndefineMacro("\\\\greenA", "\\\\textcolor{##b6ffb0}{#1}");\ndefineMacro("\\\\greenB", "\\\\textcolor{##8af281}{#1}");\ndefineMacro("\\\\greenC", "\\\\textcolor{##74cf70}{#1}");\ndefineMacro("\\\\greenD", "\\\\textcolor{##1fab54}{#1}");\ndefineMacro("\\\\greenE", "\\\\textcolor{##0d923f}{#1}");\ndefineMacro("\\\\goldA", "\\\\textcolor{##ffd0a9}{#1}");\ndefineMacro("\\\\goldB", "\\\\textcolor{##ffbb71}{#1}");\ndefineMacro("\\\\goldC", "\\\\textcolor{##ff9c39}{#1}");\ndefineMacro("\\\\goldD", "\\\\textcolor{##e07d10}{#1}");\ndefineMacro("\\\\goldE", "\\\\textcolor{##a75a05}{#1}");\ndefineMacro("\\\\redA", "\\\\textcolor{##fca9a9}{#1}");\ndefineMacro("\\\\redB", "\\\\textcolor{##ff8482}{#1}");\ndefineMacro("\\\\redC", "\\\\textcolor{##f9685d}{#1}");\ndefineMacro("\\\\redD", "\\\\textcolor{##e84d39}{#1}");\ndefineMacro("\\\\redE", "\\\\textcolor{##bc2612}{#1}");\ndefineMacro("\\\\maroonA", "\\\\textcolor{##ffbde0}{#1}");\ndefineMacro("\\\\maroonB", "\\\\textcolor{##ff92c6}{#1}");\ndefineMacro("\\\\maroonC", "\\\\textcolor{##ed5fa6}{#1}");\ndefineMacro("\\\\maroonD", "\\\\textcolor{##ca337c}{#1}");\ndefineMacro("\\\\maroonE", "\\\\textcolor{##9e034e}{#1}");\ndefineMacro("\\\\purpleA", "\\\\textcolor{##ddd7ff}{#1}");\ndefineMacro("\\\\purpleB", "\\\\textcolor{##c6b9fc}{#1}");\ndefineMacro("\\\\purpleC", "\\\\textcolor{##aa87ff}{#1}");\ndefineMacro("\\\\purpleD", "\\\\textcolor{##7854ab}{#1}");\ndefineMacro("\\\\purpleE", "\\\\textcolor{##543b78}{#1}");\ndefineMacro("\\\\mintA", "\\\\textcolor{##f5f9e8}{#1}");\ndefineMacro("\\\\mintB", "\\\\textcolor{##edf2df}{#1}");\ndefineMacro("\\\\mintC", "\\\\textcolor{##e0e5cc}{#1}");\ndefineMacro("\\\\grayA", "\\\\textcolor{##f6f7f7}{#1}");\ndefineMacro("\\\\grayB", "\\\\textcolor{##f0f1f2}{#1}");\ndefineMacro("\\\\grayC", "\\\\textcolor{##e3e5e6}{#1}");\ndefineMacro("\\\\grayD", "\\\\textcolor{##d6d8da}{#1}");\ndefineMacro("\\\\grayE", "\\\\textcolor{##babec2}{#1}");\ndefineMacro("\\\\grayF", "\\\\textcolor{##888d93}{#1}");\ndefineMacro("\\\\grayG", "\\\\textcolor{##626569}{#1}");\ndefineMacro("\\\\grayH", "\\\\textcolor{##3b3e40}{#1}");\ndefineMacro("\\\\grayI", "\\\\textcolor{##21242c}{#1}");\ndefineMacro("\\\\kaBlue", "\\\\textcolor{##314453}{#1}");\ndefineMacro("\\\\kaGreen", "\\\\textcolor{##71B307}{#1}");\n// CONCATENATED MODULE: ./src/MacroExpander.js\n/**\n * This file contains the \u201cgullet\u201d where macros are expanded\n * until only non-macro tokens remain.\n */\n\n\n\n\n\n\n\n// List of commands that act like macros but aren\'t defined as a macro,\n// function, or symbol. Used in `isDefined`.\nvar implicitCommands = {\n "\\\\relax": true,\n // MacroExpander.js\n "^": true,\n // Parser.js\n "_": true,\n // Parser.js\n "\\\\limits": true,\n // Parser.js\n "\\\\nolimits": true // Parser.js\n\n};\n\nvar MacroExpander_MacroExpander =\n/*#__PURE__*/\nfunction () {\n function MacroExpander(input, settings, mode) {\n this.settings = void 0;\n this.expansionCount = void 0;\n this.lexer = void 0;\n this.macros = void 0;\n this.stack = void 0;\n this.mode = void 0;\n this.settings = settings;\n this.expansionCount = 0;\n this.feed(input); // Make new global namespace\n\n this.macros = new Namespace_Namespace(macros, settings.macros);\n this.mode = mode;\n this.stack = []; // contains tokens in REVERSE order\n }\n /**\n * Feed a new input string to the same MacroExpander\n * (with existing macros etc.).\n */\n\n\n var _proto = MacroExpander.prototype;\n\n _proto.feed = function feed(input) {\n this.lexer = new Lexer_Lexer(input, this.settings);\n }\n /**\n * Switches between "text" and "math" modes.\n */\n ;\n\n _proto.switchMode = function switchMode(newMode) {\n this.mode = newMode;\n }\n /**\n * Start a new group nesting within all namespaces.\n */\n ;\n\n _proto.beginGroup = function beginGroup() {\n this.macros.beginGroup();\n }\n /**\n * End current group nesting within all namespaces.\n */\n ;\n\n _proto.endGroup = function endGroup() {\n this.macros.endGroup();\n }\n /**\n * Returns the topmost token on the stack, without expanding it.\n * Similar in behavior to TeX\'s `\\futurelet`.\n */\n ;\n\n _proto.future = function future() {\n if (this.stack.length === 0) {\n this.pushToken(this.lexer.lex());\n }\n\n return this.stack[this.stack.length - 1];\n }\n /**\n * Remove and return the next unexpanded token.\n */\n ;\n\n _proto.popToken = function popToken() {\n this.future(); // ensure non-empty stack\n\n return this.stack.pop();\n }\n /**\n * Add a given token to the token stack. In particular, this get be used\n * to put back a token returned from one of the other methods.\n */\n ;\n\n _proto.pushToken = function pushToken(token) {\n this.stack.push(token);\n }\n /**\n * Append an array of tokens to the token stack.\n */\n ;\n\n _proto.pushTokens = function pushTokens(tokens) {\n var _this$stack;\n\n (_this$stack = this.stack).push.apply(_this$stack, tokens);\n }\n /**\n * Consume all following space tokens, without expansion.\n */\n ;\n\n _proto.consumeSpaces = function consumeSpaces() {\n for (;;) {\n var token = this.future();\n\n if (token.text === " ") {\n this.stack.pop();\n } else {\n break;\n }\n }\n }\n /**\n * Consume the specified number of arguments from the token stream,\n * and return the resulting array of arguments.\n */\n ;\n\n _proto.consumeArgs = function consumeArgs(numArgs) {\n var args = []; // obtain arguments, either single token or balanced {\u2026} group\n\n for (var i = 0; i < numArgs; ++i) {\n this.consumeSpaces(); // ignore spaces before each argument\n\n var startOfArg = this.popToken();\n\n if (startOfArg.text === "{") {\n var arg = [];\n var depth = 1;\n\n while (depth !== 0) {\n var tok = this.popToken();\n arg.push(tok);\n\n if (tok.text === "{") {\n ++depth;\n } else if (tok.text === "}") {\n --depth;\n } else if (tok.text === "EOF") {\n throw new src_ParseError("End of input in macro argument", startOfArg);\n }\n }\n\n arg.pop(); // remove last }\n\n arg.reverse(); // like above, to fit in with stack order\n\n args[i] = arg;\n } else if (startOfArg.text === "EOF") {\n throw new src_ParseError("End of input expecting macro argument");\n } else {\n args[i] = [startOfArg];\n }\n }\n\n return args;\n }\n /**\n * Expand the next token only once if possible.\n *\n * If the token is expanded, the resulting tokens will be pushed onto\n * the stack in reverse order and will be returned as an array,\n * also in reverse order.\n *\n * If not, the next token will be returned without removing it\n * from the stack. This case can be detected by a `Token` return value\n * instead of an `Array` return value.\n *\n * In either case, the next token will be on the top of the stack,\n * or the stack will be empty.\n *\n * Used to implement `expandAfterFuture` and `expandNextToken`.\n *\n * At the moment, macro expansion doesn\'t handle delimited macros,\n * i.e. things like those defined by \\def\\foo#1\\end{\u2026}.\n * See the TeX book page 202ff. for details on how those should behave.\n */\n ;\n\n _proto.expandOnce = function expandOnce() {\n var topToken = this.popToken();\n var name = topToken.text;\n\n var expansion = this._getExpansion(name);\n\n if (expansion == null) {\n // mainly checking for undefined here\n // Fully expanded\n this.pushToken(topToken);\n return topToken;\n }\n\n this.expansionCount++;\n\n if (this.expansionCount > this.settings.maxExpand) {\n throw new src_ParseError("Too many expansions: infinite loop or " + "need to increase maxExpand setting");\n }\n\n var tokens = expansion.tokens;\n\n if (expansion.numArgs) {\n var args = this.consumeArgs(expansion.numArgs); // paste arguments in place of the placeholders\n\n tokens = tokens.slice(); // make a shallow copy\n\n for (var i = tokens.length - 1; i >= 0; --i) {\n var tok = tokens[i];\n\n if (tok.text === "#") {\n if (i === 0) {\n throw new src_ParseError("Incomplete placeholder at end of macro body", tok);\n }\n\n tok = tokens[--i]; // next token on stack\n\n if (tok.text === "#") {\n // ## \u2192 #\n tokens.splice(i + 1, 1); // drop first #\n } else if (/^[1-9]$/.test(tok.text)) {\n var _tokens;\n\n // replace the placeholder with the indicated argument\n (_tokens = tokens).splice.apply(_tokens, [i, 2].concat(args[+tok.text - 1]));\n } else {\n throw new src_ParseError("Not a valid argument number", tok);\n }\n }\n }\n } // Concatenate expansion onto top of stack.\n\n\n this.pushTokens(tokens);\n return tokens;\n }\n /**\n * Expand the next token only once (if possible), and return the resulting\n * top token on the stack (without removing anything from the stack).\n * Similar in behavior to TeX\'s `\\expandafter\\futurelet`.\n * Equivalent to expandOnce() followed by future().\n */\n ;\n\n _proto.expandAfterFuture = function expandAfterFuture() {\n this.expandOnce();\n return this.future();\n }\n /**\n * Recursively expand first token, then return first non-expandable token.\n */\n ;\n\n _proto.expandNextToken = function expandNextToken() {\n for (;;) {\n var expanded = this.expandOnce(); // expandOnce returns Token if and only if it\'s fully expanded.\n\n if (expanded instanceof Token_Token) {\n // \\relax stops the expansion, but shouldn\'t get returned (a\n // null return value couldn\'t get implemented as a function).\n if (expanded.text === "\\\\relax") {\n this.stack.pop();\n } else {\n return this.stack.pop(); // === expanded\n }\n }\n } // Flow unable to figure out that this pathway is impossible.\n // https://github.com/facebook/flow/issues/4808\n\n\n throw new Error(); // eslint-disable-line no-unreachable\n }\n /**\n * Fully expand the given macro name and return the resulting list of\n * tokens, or return `undefined` if no such macro is defined.\n */\n ;\n\n _proto.expandMacro = function expandMacro(name) {\n if (!this.macros.get(name)) {\n return undefined;\n }\n\n var output = [];\n var oldStackLength = this.stack.length;\n this.pushToken(new Token_Token(name));\n\n while (this.stack.length > oldStackLength) {\n var expanded = this.expandOnce(); // expandOnce returns Token if and only if it\'s fully expanded.\n\n if (expanded instanceof Token_Token) {\n output.push(this.stack.pop());\n }\n }\n\n return output;\n }\n /**\n * Fully expand the given macro name and return the result as a string,\n * or return `undefined` if no such macro is defined.\n */\n ;\n\n _proto.expandMacroAsText = function expandMacroAsText(name) {\n var tokens = this.expandMacro(name);\n\n if (tokens) {\n return tokens.map(function (token) {\n return token.text;\n }).join("");\n } else {\n return tokens;\n }\n }\n /**\n * Returns the expanded macro as a reversed array of tokens and a macro\n * argument count. Or returns `null` if no such macro.\n */\n ;\n\n _proto._getExpansion = function _getExpansion(name) {\n var definition = this.macros.get(name);\n\n if (definition == null) {\n // mainly checking for undefined here\n return definition;\n }\n\n var expansion = typeof definition === "function" ? definition(this) : definition;\n\n if (typeof expansion === "string") {\n var numArgs = 0;\n\n if (expansion.indexOf("#") !== -1) {\n var stripped = expansion.replace(/##/g, "");\n\n while (stripped.indexOf("#" + (numArgs + 1)) !== -1) {\n ++numArgs;\n }\n }\n\n var bodyLexer = new Lexer_Lexer(expansion, this.settings);\n var tokens = [];\n var tok = bodyLexer.lex();\n\n while (tok.text !== "EOF") {\n tokens.push(tok);\n tok = bodyLexer.lex();\n }\n\n tokens.reverse(); // to fit in with stack using push and pop\n\n var expanded = {\n tokens: tokens,\n numArgs: numArgs\n };\n return expanded;\n }\n\n return expansion;\n }\n /**\n * Determine whether a command is currently "defined" (has some\n * functionality), meaning that it\'s a macro (in the current group),\n * a function, a symbol, or one of the special commands listed in\n * `implicitCommands`.\n */\n ;\n\n _proto.isDefined = function isDefined(name) {\n return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name);\n };\n\n return MacroExpander;\n}();\n\n\n// CONCATENATED MODULE: ./src/unicodeAccents.js\n// Mapping of Unicode accent characters to their LaTeX equivalent in text and\n// math mode (when they exist).\n/* harmony default export */ var unicodeAccents = ({\n "\\u0301": {\n text: "\\\\\'",\n math: \'\\\\acute\'\n },\n "\\u0300": {\n text: \'\\\\`\',\n math: \'\\\\grave\'\n },\n "\\u0308": {\n text: \'\\\\"\',\n math: \'\\\\ddot\'\n },\n "\\u0303": {\n text: \'\\\\~\',\n math: \'\\\\tilde\'\n },\n "\\u0304": {\n text: \'\\\\=\',\n math: \'\\\\bar\'\n },\n "\\u0306": {\n text: "\\\\u",\n math: \'\\\\breve\'\n },\n "\\u030C": {\n text: \'\\\\v\',\n math: \'\\\\check\'\n },\n "\\u0302": {\n text: \'\\\\^\',\n math: \'\\\\hat\'\n },\n "\\u0307": {\n text: \'\\\\.\',\n math: \'\\\\dot\'\n },\n "\\u030A": {\n text: \'\\\\r\',\n math: \'\\\\mathring\'\n },\n "\\u030B": {\n text: \'\\\\H\'\n }\n});\n// CONCATENATED MODULE: ./src/unicodeSymbols.js\n// This file is GENERATED by unicodeMake.js. DO NOT MODIFY.\n/* harmony default export */ var unicodeSymbols = ({\n "\\xE1": "a\\u0301",\n // \xe1 = \\\'{a}\n "\\xE0": "a\\u0300",\n // \xe0 = \\`{a}\n "\\xE4": "a\\u0308",\n // \xe4 = \\"{a}\n "\\u01DF": "a\\u0308\\u0304",\n // \u01df = \\"\\={a}\n "\\xE3": "a\\u0303",\n // \xe3 = \\~{a}\n "\\u0101": "a\\u0304",\n // \u0101 = \\={a}\n "\\u0103": "a\\u0306",\n // \u0103 = \\u{a}\n "\\u1EAF": "a\\u0306\\u0301",\n // \u1eaf = \\u\\\'{a}\n "\\u1EB1": "a\\u0306\\u0300",\n // \u1eb1 = \\u\\`{a}\n "\\u1EB5": "a\\u0306\\u0303",\n // \u1eb5 = \\u\\~{a}\n "\\u01CE": "a\\u030C",\n // \u01ce = \\v{a}\n "\\xE2": "a\\u0302",\n // \xe2 = \\^{a}\n "\\u1EA5": "a\\u0302\\u0301",\n // \u1ea5 = \\^\\\'{a}\n "\\u1EA7": "a\\u0302\\u0300",\n // \u1ea7 = \\^\\`{a}\n "\\u1EAB": "a\\u0302\\u0303",\n // \u1eab = \\^\\~{a}\n "\\u0227": "a\\u0307",\n // \u0227 = \\.{a}\n "\\u01E1": "a\\u0307\\u0304",\n // \u01e1 = \\.\\={a}\n "\\xE5": "a\\u030A",\n // \xe5 = \\r{a}\n "\\u01FB": "a\\u030A\\u0301",\n // \u01fb = \\r\\\'{a}\n "\\u1E03": "b\\u0307",\n // \u1e03 = \\.{b}\n "\\u0107": "c\\u0301",\n // \u0107 = \\\'{c}\n "\\u010D": "c\\u030C",\n // \u010d = \\v{c}\n "\\u0109": "c\\u0302",\n // \u0109 = \\^{c}\n "\\u010B": "c\\u0307",\n // \u010b = \\.{c}\n "\\u010F": "d\\u030C",\n // \u010f = \\v{d}\n "\\u1E0B": "d\\u0307",\n // \u1e0b = \\.{d}\n "\\xE9": "e\\u0301",\n // \xe9 = \\\'{e}\n "\\xE8": "e\\u0300",\n // \xe8 = \\`{e}\n "\\xEB": "e\\u0308",\n // \xeb = \\"{e}\n "\\u1EBD": "e\\u0303",\n // \u1ebd = \\~{e}\n "\\u0113": "e\\u0304",\n // \u0113 = \\={e}\n "\\u1E17": "e\\u0304\\u0301",\n // \u1e17 = \\=\\\'{e}\n "\\u1E15": "e\\u0304\\u0300",\n // \u1e15 = \\=\\`{e}\n "\\u0115": "e\\u0306",\n // \u0115 = \\u{e}\n "\\u011B": "e\\u030C",\n // \u011b = \\v{e}\n "\\xEA": "e\\u0302",\n // \xea = \\^{e}\n "\\u1EBF": "e\\u0302\\u0301",\n // \u1ebf = \\^\\\'{e}\n "\\u1EC1": "e\\u0302\\u0300",\n // \u1ec1 = \\^\\`{e}\n "\\u1EC5": "e\\u0302\\u0303",\n // \u1ec5 = \\^\\~{e}\n "\\u0117": "e\\u0307",\n // \u0117 = \\.{e}\n "\\u1E1F": "f\\u0307",\n // \u1e1f = \\.{f}\n "\\u01F5": "g\\u0301",\n // \u01f5 = \\\'{g}\n "\\u1E21": "g\\u0304",\n // \u1e21 = \\={g}\n "\\u011F": "g\\u0306",\n // \u011f = \\u{g}\n "\\u01E7": "g\\u030C",\n // \u01e7 = \\v{g}\n "\\u011D": "g\\u0302",\n // \u011d = \\^{g}\n "\\u0121": "g\\u0307",\n // \u0121 = \\.{g}\n "\\u1E27": "h\\u0308",\n // \u1e27 = \\"{h}\n "\\u021F": "h\\u030C",\n // \u021f = \\v{h}\n "\\u0125": "h\\u0302",\n // \u0125 = \\^{h}\n "\\u1E23": "h\\u0307",\n // \u1e23 = \\.{h}\n "\\xED": "i\\u0301",\n // \xed = \\\'{i}\n "\\xEC": "i\\u0300",\n // \xec = \\`{i}\n "\\xEF": "i\\u0308",\n // \xef = \\"{i}\n "\\u1E2F": "i\\u0308\\u0301",\n // \u1e2f = \\"\\\'{i}\n "\\u0129": "i\\u0303",\n // \u0129 = \\~{i}\n "\\u012B": "i\\u0304",\n // \u012b = \\={i}\n "\\u012D": "i\\u0306",\n // \u012d = \\u{i}\n "\\u01D0": "i\\u030C",\n // \u01d0 = \\v{i}\n "\\xEE": "i\\u0302",\n // \xee = \\^{i}\n "\\u01F0": "j\\u030C",\n // \u01f0 = \\v{j}\n "\\u0135": "j\\u0302",\n // \u0135 = \\^{j}\n "\\u1E31": "k\\u0301",\n // \u1e31 = \\\'{k}\n "\\u01E9": "k\\u030C",\n // \u01e9 = \\v{k}\n "\\u013A": "l\\u0301",\n // \u013a = \\\'{l}\n "\\u013E": "l\\u030C",\n // \u013e = \\v{l}\n "\\u1E3F": "m\\u0301",\n // \u1e3f = \\\'{m}\n "\\u1E41": "m\\u0307",\n // \u1e41 = \\.{m}\n "\\u0144": "n\\u0301",\n // \u0144 = \\\'{n}\n "\\u01F9": "n\\u0300",\n // \u01f9 = \\`{n}\n "\\xF1": "n\\u0303",\n // \xf1 = \\~{n}\n "\\u0148": "n\\u030C",\n // \u0148 = \\v{n}\n "\\u1E45": "n\\u0307",\n // \u1e45 = \\.{n}\n "\\xF3": "o\\u0301",\n // \xf3 = \\\'{o}\n "\\xF2": "o\\u0300",\n // \xf2 = \\`{o}\n "\\xF6": "o\\u0308",\n // \xf6 = \\"{o}\n "\\u022B": "o\\u0308\\u0304",\n // \u022b = \\"\\={o}\n "\\xF5": "o\\u0303",\n // \xf5 = \\~{o}\n "\\u1E4D": "o\\u0303\\u0301",\n // \u1e4d = \\~\\\'{o}\n "\\u1E4F": "o\\u0303\\u0308",\n // \u1e4f = \\~\\"{o}\n "\\u022D": "o\\u0303\\u0304",\n // \u022d = \\~\\={o}\n "\\u014D": "o\\u0304",\n // \u014d = \\={o}\n "\\u1E53": "o\\u0304\\u0301",\n // \u1e53 = \\=\\\'{o}\n "\\u1E51": "o\\u0304\\u0300",\n // \u1e51 = \\=\\`{o}\n "\\u014F": "o\\u0306",\n // \u014f = \\u{o}\n "\\u01D2": "o\\u030C",\n // \u01d2 = \\v{o}\n "\\xF4": "o\\u0302",\n // \xf4 = \\^{o}\n "\\u1ED1": "o\\u0302\\u0301",\n // \u1ed1 = \\^\\\'{o}\n "\\u1ED3": "o\\u0302\\u0300",\n // \u1ed3 = \\^\\`{o}\n "\\u1ED7": "o\\u0302\\u0303",\n // \u1ed7 = \\^\\~{o}\n "\\u022F": "o\\u0307",\n // \u022f = \\.{o}\n "\\u0231": "o\\u0307\\u0304",\n // \u0231 = \\.\\={o}\n "\\u0151": "o\\u030B",\n // \u0151 = \\H{o}\n "\\u1E55": "p\\u0301",\n // \u1e55 = \\\'{p}\n "\\u1E57": "p\\u0307",\n // \u1e57 = \\.{p}\n "\\u0155": "r\\u0301",\n // \u0155 = \\\'{r}\n "\\u0159": "r\\u030C",\n // \u0159 = \\v{r}\n "\\u1E59": "r\\u0307",\n // \u1e59 = \\.{r}\n "\\u015B": "s\\u0301",\n // \u015b = \\\'{s}\n "\\u1E65": "s\\u0301\\u0307",\n // \u1e65 = \\\'\\.{s}\n "\\u0161": "s\\u030C",\n // \u0161 = \\v{s}\n "\\u1E67": "s\\u030C\\u0307",\n // \u1e67 = \\v\\.{s}\n "\\u015D": "s\\u0302",\n // \u015d = \\^{s}\n "\\u1E61": "s\\u0307",\n // \u1e61 = \\.{s}\n "\\u1E97": "t\\u0308",\n // \u1e97 = \\"{t}\n "\\u0165": "t\\u030C",\n // \u0165 = \\v{t}\n "\\u1E6B": "t\\u0307",\n // \u1e6b = \\.{t}\n "\\xFA": "u\\u0301",\n // \xfa = \\\'{u}\n "\\xF9": "u\\u0300",\n // \xf9 = \\`{u}\n "\\xFC": "u\\u0308",\n // \xfc = \\"{u}\n "\\u01D8": "u\\u0308\\u0301",\n // \u01d8 = \\"\\\'{u}\n "\\u01DC": "u\\u0308\\u0300",\n // \u01dc = \\"\\`{u}\n "\\u01D6": "u\\u0308\\u0304",\n // \u01d6 = \\"\\={u}\n "\\u01DA": "u\\u0308\\u030C",\n // \u01da = \\"\\v{u}\n "\\u0169": "u\\u0303",\n // \u0169 = \\~{u}\n "\\u1E79": "u\\u0303\\u0301",\n // \u1e79 = \\~\\\'{u}\n "\\u016B": "u\\u0304",\n // \u016b = \\={u}\n "\\u1E7B": "u\\u0304\\u0308",\n // \u1e7b = \\=\\"{u}\n "\\u016D": "u\\u0306",\n // \u016d = \\u{u}\n "\\u01D4": "u\\u030C",\n // \u01d4 = \\v{u}\n "\\xFB": "u\\u0302",\n // \xfb = \\^{u}\n "\\u016F": "u\\u030A",\n // \u016f = \\r{u}\n "\\u0171": "u\\u030B",\n // \u0171 = \\H{u}\n "\\u1E7D": "v\\u0303",\n // \u1e7d = \\~{v}\n "\\u1E83": "w\\u0301",\n // \u1e83 = \\\'{w}\n "\\u1E81": "w\\u0300",\n // \u1e81 = \\`{w}\n "\\u1E85": "w\\u0308",\n // \u1e85 = \\"{w}\n "\\u0175": "w\\u0302",\n // \u0175 = \\^{w}\n "\\u1E87": "w\\u0307",\n // \u1e87 = \\.{w}\n "\\u1E98": "w\\u030A",\n // \u1e98 = \\r{w}\n "\\u1E8D": "x\\u0308",\n // \u1e8d = \\"{x}\n "\\u1E8B": "x\\u0307",\n // \u1e8b = \\.{x}\n "\\xFD": "y\\u0301",\n // \xfd = \\\'{y}\n "\\u1EF3": "y\\u0300",\n // \u1ef3 = \\`{y}\n "\\xFF": "y\\u0308",\n // \xff = \\"{y}\n "\\u1EF9": "y\\u0303",\n // \u1ef9 = \\~{y}\n "\\u0233": "y\\u0304",\n // \u0233 = \\={y}\n "\\u0177": "y\\u0302",\n // \u0177 = \\^{y}\n "\\u1E8F": "y\\u0307",\n // \u1e8f = \\.{y}\n "\\u1E99": "y\\u030A",\n // \u1e99 = \\r{y}\n "\\u017A": "z\\u0301",\n // \u017a = \\\'{z}\n "\\u017E": "z\\u030C",\n // \u017e = \\v{z}\n "\\u1E91": "z\\u0302",\n // \u1e91 = \\^{z}\n "\\u017C": "z\\u0307",\n // \u017c = \\.{z}\n "\\xC1": "A\\u0301",\n // \xc1 = \\\'{A}\n "\\xC0": "A\\u0300",\n // \xc0 = \\`{A}\n "\\xC4": "A\\u0308",\n // \xc4 = \\"{A}\n "\\u01DE": "A\\u0308\\u0304",\n // \u01de = \\"\\={A}\n "\\xC3": "A\\u0303",\n // \xc3 = \\~{A}\n "\\u0100": "A\\u0304",\n // \u0100 = \\={A}\n "\\u0102": "A\\u0306",\n // \u0102 = \\u{A}\n "\\u1EAE": "A\\u0306\\u0301",\n // \u1eae = \\u\\\'{A}\n "\\u1EB0": "A\\u0306\\u0300",\n // \u1eb0 = \\u\\`{A}\n "\\u1EB4": "A\\u0306\\u0303",\n // \u1eb4 = \\u\\~{A}\n "\\u01CD": "A\\u030C",\n // \u01cd = \\v{A}\n "\\xC2": "A\\u0302",\n // \xc2 = \\^{A}\n "\\u1EA4": "A\\u0302\\u0301",\n // \u1ea4 = \\^\\\'{A}\n "\\u1EA6": "A\\u0302\\u0300",\n // \u1ea6 = \\^\\`{A}\n "\\u1EAA": "A\\u0302\\u0303",\n // \u1eaa = \\^\\~{A}\n "\\u0226": "A\\u0307",\n // \u0226 = \\.{A}\n "\\u01E0": "A\\u0307\\u0304",\n // \u01e0 = \\.\\={A}\n "\\xC5": "A\\u030A",\n // \xc5 = \\r{A}\n "\\u01FA": "A\\u030A\\u0301",\n // \u01fa = \\r\\\'{A}\n "\\u1E02": "B\\u0307",\n // \u1e02 = \\.{B}\n "\\u0106": "C\\u0301",\n // \u0106 = \\\'{C}\n "\\u010C": "C\\u030C",\n // \u010c = \\v{C}\n "\\u0108": "C\\u0302",\n // \u0108 = \\^{C}\n "\\u010A": "C\\u0307",\n // \u010a = \\.{C}\n "\\u010E": "D\\u030C",\n // \u010e = \\v{D}\n "\\u1E0A": "D\\u0307",\n // \u1e0a = \\.{D}\n "\\xC9": "E\\u0301",\n // \xc9 = \\\'{E}\n "\\xC8": "E\\u0300",\n // \xc8 = \\`{E}\n "\\xCB": "E\\u0308",\n // \xcb = \\"{E}\n "\\u1EBC": "E\\u0303",\n // \u1ebc = \\~{E}\n "\\u0112": "E\\u0304",\n // \u0112 = \\={E}\n "\\u1E16": "E\\u0304\\u0301",\n // \u1e16 = \\=\\\'{E}\n "\\u1E14": "E\\u0304\\u0300",\n // \u1e14 = \\=\\`{E}\n "\\u0114": "E\\u0306",\n // \u0114 = \\u{E}\n "\\u011A": "E\\u030C",\n // \u011a = \\v{E}\n "\\xCA": "E\\u0302",\n // \xca = \\^{E}\n "\\u1EBE": "E\\u0302\\u0301",\n // \u1ebe = \\^\\\'{E}\n "\\u1EC0": "E\\u0302\\u0300",\n // \u1ec0 = \\^\\`{E}\n "\\u1EC4": "E\\u0302\\u0303",\n // \u1ec4 = \\^\\~{E}\n "\\u0116": "E\\u0307",\n // \u0116 = \\.{E}\n "\\u1E1E": "F\\u0307",\n // \u1e1e = \\.{F}\n "\\u01F4": "G\\u0301",\n // \u01f4 = \\\'{G}\n "\\u1E20": "G\\u0304",\n // \u1e20 = \\={G}\n "\\u011E": "G\\u0306",\n // \u011e = \\u{G}\n "\\u01E6": "G\\u030C",\n // \u01e6 = \\v{G}\n "\\u011C": "G\\u0302",\n // \u011c = \\^{G}\n "\\u0120": "G\\u0307",\n // \u0120 = \\.{G}\n "\\u1E26": "H\\u0308",\n // \u1e26 = \\"{H}\n "\\u021E": "H\\u030C",\n // \u021e = \\v{H}\n "\\u0124": "H\\u0302",\n // \u0124 = \\^{H}\n "\\u1E22": "H\\u0307",\n // \u1e22 = \\.{H}\n "\\xCD": "I\\u0301",\n // \xcd = \\\'{I}\n "\\xCC": "I\\u0300",\n // \xcc = \\`{I}\n "\\xCF": "I\\u0308",\n // \xcf = \\"{I}\n "\\u1E2E": "I\\u0308\\u0301",\n // \u1e2e = \\"\\\'{I}\n "\\u0128": "I\\u0303",\n // \u0128 = \\~{I}\n "\\u012A": "I\\u0304",\n // \u012a = \\={I}\n "\\u012C": "I\\u0306",\n // \u012c = \\u{I}\n "\\u01CF": "I\\u030C",\n // \u01cf = \\v{I}\n "\\xCE": "I\\u0302",\n // \xce = \\^{I}\n "\\u0130": "I\\u0307",\n // \u0130 = \\.{I}\n "\\u0134": "J\\u0302",\n // \u0134 = \\^{J}\n "\\u1E30": "K\\u0301",\n // \u1e30 = \\\'{K}\n "\\u01E8": "K\\u030C",\n // \u01e8 = \\v{K}\n "\\u0139": "L\\u0301",\n // \u0139 = \\\'{L}\n "\\u013D": "L\\u030C",\n // \u013d = \\v{L}\n "\\u1E3E": "M\\u0301",\n // \u1e3e = \\\'{M}\n "\\u1E40": "M\\u0307",\n // \u1e40 = \\.{M}\n "\\u0143": "N\\u0301",\n // \u0143 = \\\'{N}\n "\\u01F8": "N\\u0300",\n // \u01f8 = \\`{N}\n "\\xD1": "N\\u0303",\n // \xd1 = \\~{N}\n "\\u0147": "N\\u030C",\n // \u0147 = \\v{N}\n "\\u1E44": "N\\u0307",\n // \u1e44 = \\.{N}\n "\\xD3": "O\\u0301",\n // \xd3 = \\\'{O}\n "\\xD2": "O\\u0300",\n // \xd2 = \\`{O}\n "\\xD6": "O\\u0308",\n // \xd6 = \\"{O}\n "\\u022A": "O\\u0308\\u0304",\n // \u022a = \\"\\={O}\n "\\xD5": "O\\u0303",\n // \xd5 = \\~{O}\n "\\u1E4C": "O\\u0303\\u0301",\n // \u1e4c = \\~\\\'{O}\n "\\u1E4E": "O\\u0303\\u0308",\n // \u1e4e = \\~\\"{O}\n "\\u022C": "O\\u0303\\u0304",\n // \u022c = \\~\\={O}\n "\\u014C": "O\\u0304",\n // \u014c = \\={O}\n "\\u1E52": "O\\u0304\\u0301",\n // \u1e52 = \\=\\\'{O}\n "\\u1E50": "O\\u0304\\u0300",\n // \u1e50 = \\=\\`{O}\n "\\u014E": "O\\u0306",\n // \u014e = \\u{O}\n "\\u01D1": "O\\u030C",\n // \u01d1 = \\v{O}\n "\\xD4": "O\\u0302",\n // \xd4 = \\^{O}\n "\\u1ED0": "O\\u0302\\u0301",\n // \u1ed0 = \\^\\\'{O}\n "\\u1ED2": "O\\u0302\\u0300",\n // \u1ed2 = \\^\\`{O}\n "\\u1ED6": "O\\u0302\\u0303",\n // \u1ed6 = \\^\\~{O}\n "\\u022E": "O\\u0307",\n // \u022e = \\.{O}\n "\\u0230": "O\\u0307\\u0304",\n // \u0230 = \\.\\={O}\n "\\u0150": "O\\u030B",\n // \u0150 = \\H{O}\n "\\u1E54": "P\\u0301",\n // \u1e54 = \\\'{P}\n "\\u1E56": "P\\u0307",\n // \u1e56 = \\.{P}\n "\\u0154": "R\\u0301",\n // \u0154 = \\\'{R}\n "\\u0158": "R\\u030C",\n // \u0158 = \\v{R}\n "\\u1E58": "R\\u0307",\n // \u1e58 = \\.{R}\n "\\u015A": "S\\u0301",\n // \u015a = \\\'{S}\n "\\u1E64": "S\\u0301\\u0307",\n // \u1e64 = \\\'\\.{S}\n "\\u0160": "S\\u030C",\n // \u0160 = \\v{S}\n "\\u1E66": "S\\u030C\\u0307",\n // \u1e66 = \\v\\.{S}\n "\\u015C": "S\\u0302",\n // \u015c = \\^{S}\n "\\u1E60": "S\\u0307",\n // \u1e60 = \\.{S}\n "\\u0164": "T\\u030C",\n // \u0164 = \\v{T}\n "\\u1E6A": "T\\u0307",\n // \u1e6a = \\.{T}\n "\\xDA": "U\\u0301",\n // \xda = \\\'{U}\n "\\xD9": "U\\u0300",\n // \xd9 = \\`{U}\n "\\xDC": "U\\u0308",\n // \xdc = \\"{U}\n "\\u01D7": "U\\u0308\\u0301",\n // \u01d7 = \\"\\\'{U}\n "\\u01DB": "U\\u0308\\u0300",\n // \u01db = \\"\\`{U}\n "\\u01D5": "U\\u0308\\u0304",\n // \u01d5 = \\"\\={U}\n "\\u01D9": "U\\u0308\\u030C",\n // \u01d9 = \\"\\v{U}\n "\\u0168": "U\\u0303",\n // \u0168 = \\~{U}\n "\\u1E78": "U\\u0303\\u0301",\n // \u1e78 = \\~\\\'{U}\n "\\u016A": "U\\u0304",\n // \u016a = \\={U}\n "\\u1E7A": "U\\u0304\\u0308",\n // \u1e7a = \\=\\"{U}\n "\\u016C": "U\\u0306",\n // \u016c = \\u{U}\n "\\u01D3": "U\\u030C",\n // \u01d3 = \\v{U}\n "\\xDB": "U\\u0302",\n // \xdb = \\^{U}\n "\\u016E": "U\\u030A",\n // \u016e = \\r{U}\n "\\u0170": "U\\u030B",\n // \u0170 = \\H{U}\n "\\u1E7C": "V\\u0303",\n // \u1e7c = \\~{V}\n "\\u1E82": "W\\u0301",\n // \u1e82 = \\\'{W}\n "\\u1E80": "W\\u0300",\n // \u1e80 = \\`{W}\n "\\u1E84": "W\\u0308",\n // \u1e84 = \\"{W}\n "\\u0174": "W\\u0302",\n // \u0174 = \\^{W}\n "\\u1E86": "W\\u0307",\n // \u1e86 = \\.{W}\n "\\u1E8C": "X\\u0308",\n // \u1e8c = \\"{X}\n "\\u1E8A": "X\\u0307",\n // \u1e8a = \\.{X}\n "\\xDD": "Y\\u0301",\n // \xdd = \\\'{Y}\n "\\u1EF2": "Y\\u0300",\n // \u1ef2 = \\`{Y}\n "\\u0178": "Y\\u0308",\n // \u0178 = \\"{Y}\n "\\u1EF8": "Y\\u0303",\n // \u1ef8 = \\~{Y}\n "\\u0232": "Y\\u0304",\n // \u0232 = \\={Y}\n "\\u0176": "Y\\u0302",\n // \u0176 = \\^{Y}\n "\\u1E8E": "Y\\u0307",\n // \u1e8e = \\.{Y}\n "\\u0179": "Z\\u0301",\n // \u0179 = \\\'{Z}\n "\\u017D": "Z\\u030C",\n // \u017d = \\v{Z}\n "\\u1E90": "Z\\u0302",\n // \u1e90 = \\^{Z}\n "\\u017B": "Z\\u0307",\n // \u017b = \\.{Z}\n "\\u03AC": "\\u03B1\\u0301",\n // \u03ac = \\\'{\u03b1}\n "\\u1F70": "\\u03B1\\u0300",\n // \u1f70 = \\`{\u03b1}\n "\\u1FB1": "\\u03B1\\u0304",\n // \u1fb1 = \\={\u03b1}\n "\\u1FB0": "\\u03B1\\u0306",\n // \u1fb0 = \\u{\u03b1}\n "\\u03AD": "\\u03B5\\u0301",\n // \u03ad = \\\'{\u03b5}\n "\\u1F72": "\\u03B5\\u0300",\n // \u1f72 = \\`{\u03b5}\n "\\u03AE": "\\u03B7\\u0301",\n // \u03ae = \\\'{\u03b7}\n "\\u1F74": "\\u03B7\\u0300",\n // \u1f74 = \\`{\u03b7}\n "\\u03AF": "\\u03B9\\u0301",\n // \u03af = \\\'{\u03b9}\n "\\u1F76": "\\u03B9\\u0300",\n // \u1f76 = \\`{\u03b9}\n "\\u03CA": "\\u03B9\\u0308",\n // \u03ca = \\"{\u03b9}\n "\\u0390": "\\u03B9\\u0308\\u0301",\n // \u0390 = \\"\\\'{\u03b9}\n "\\u1FD2": "\\u03B9\\u0308\\u0300",\n // \u1fd2 = \\"\\`{\u03b9}\n "\\u1FD1": "\\u03B9\\u0304",\n // \u1fd1 = \\={\u03b9}\n "\\u1FD0": "\\u03B9\\u0306",\n // \u1fd0 = \\u{\u03b9}\n "\\u03CC": "\\u03BF\\u0301",\n // \u03cc = \\\'{\u03bf}\n "\\u1F78": "\\u03BF\\u0300",\n // \u1f78 = \\`{\u03bf}\n "\\u03CD": "\\u03C5\\u0301",\n // \u03cd = \\\'{\u03c5}\n "\\u1F7A": "\\u03C5\\u0300",\n // \u1f7a = \\`{\u03c5}\n "\\u03CB": "\\u03C5\\u0308",\n // \u03cb = \\"{\u03c5}\n "\\u03B0": "\\u03C5\\u0308\\u0301",\n // \u03b0 = \\"\\\'{\u03c5}\n "\\u1FE2": "\\u03C5\\u0308\\u0300",\n // \u1fe2 = \\"\\`{\u03c5}\n "\\u1FE1": "\\u03C5\\u0304",\n // \u1fe1 = \\={\u03c5}\n "\\u1FE0": "\\u03C5\\u0306",\n // \u1fe0 = \\u{\u03c5}\n "\\u03CE": "\\u03C9\\u0301",\n // \u03ce = \\\'{\u03c9}\n "\\u1F7C": "\\u03C9\\u0300",\n // \u1f7c = \\`{\u03c9}\n "\\u038E": "\\u03A5\\u0301",\n // \u038e = \\\'{\u03a5}\n "\\u1FEA": "\\u03A5\\u0300",\n // \u1fea = \\`{\u03a5}\n "\\u03AB": "\\u03A5\\u0308",\n // \u03ab = \\"{\u03a5}\n "\\u1FE9": "\\u03A5\\u0304",\n // \u1fe9 = \\={\u03a5}\n "\\u1FE8": "\\u03A5\\u0306",\n // \u1fe8 = \\u{\u03a5}\n "\\u038F": "\\u03A9\\u0301",\n // \u038f = \\\'{\u03a9}\n "\\u1FFA": "\\u03A9\\u0300" // \u1ffa = \\`{\u03a9}\n\n});\n// CONCATENATED MODULE: ./src/Parser.js\n/* eslint no-constant-condition:0 */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * This file contains the parser used to parse out a TeX expression from the\n * input. Since TeX isn\'t context-free, standard parsers don\'t work particularly\n * well.\n *\n * The strategy of this parser is as such:\n *\n * The main functions (the `.parse...` ones) take a position in the current\n * parse string to parse tokens from. The lexer (found in Lexer.js, stored at\n * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When\n * individual tokens are needed at a position, the lexer is called to pull out a\n * token, which is then used.\n *\n * The parser has a property called "mode" indicating the mode that\n * the parser is currently in. Currently it has to be one of "math" or\n * "text", which denotes whether the current environment is a math-y\n * one or a text-y one (e.g. inside \\text). Currently, this serves to\n * limit the functions which can be used in text mode.\n *\n * The main functions then return an object which contains the useful data that\n * was parsed at its given point, and a new position at the end of the parsed\n * data. The main functions can call each other and continue the parsing by\n * using the returned position as a new starting point.\n *\n * There are also extra `.handle...` functions, which pull out some reused\n * functionality into self-contained functions.\n *\n * The functions return ParseNodes.\n */\nvar Parser_Parser =\n/*#__PURE__*/\nfunction () {\n function Parser(input, settings) {\n this.mode = void 0;\n this.gullet = void 0;\n this.settings = void 0;\n this.leftrightDepth = void 0;\n this.nextToken = void 0;\n // Start in math mode\n this.mode = "math"; // Create a new macro expander (gullet) and (indirectly via that) also a\n // new lexer (mouth) for this parser (stomach, in the language of TeX)\n\n this.gullet = new MacroExpander_MacroExpander(input, settings, this.mode); // Store the settings for use in parsing\n\n this.settings = settings; // Count leftright depth (for \\middle errors)\n\n this.leftrightDepth = 0;\n }\n /**\n * Checks a result to make sure it has the right type, and throws an\n * appropriate error otherwise.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.expect = function expect(text, consume) {\n if (consume === void 0) {\n consume = true;\n }\n\n if (this.fetch().text !== text) {\n throw new src_ParseError("Expected \'" + text + "\', got \'" + this.fetch().text + "\'", this.fetch());\n }\n\n if (consume) {\n this.consume();\n }\n }\n /**\n * Discards the current lookahead token, considering it consumed.\n */\n ;\n\n _proto.consume = function consume() {\n this.nextToken = null;\n }\n /**\n * Return the current lookahead token, or if there isn\'t one (at the\n * beginning, or if the previous lookahead token was consume()d),\n * fetch the next token as the new lookahead token and return it.\n */\n ;\n\n _proto.fetch = function fetch() {\n if (this.nextToken == null) {\n this.nextToken = this.gullet.expandNextToken();\n }\n\n return this.nextToken;\n }\n /**\n * Switches between "text" and "math" modes.\n */\n ;\n\n _proto.switchMode = function switchMode(newMode) {\n this.mode = newMode;\n this.gullet.switchMode(newMode);\n }\n /**\n * Main parsing function, which parses an entire input.\n */\n ;\n\n _proto.parse = function parse() {\n // Create a group namespace for the math expression.\n // (LaTeX creates a new group for every $...$, $$...$$, \\[...\\].)\n this.gullet.beginGroup(); // Use old \\color behavior (same as LaTeX\'s \\textcolor) if requested.\n // We do this within the group for the math expression, so it doesn\'t\n // pollute settings.macros.\n\n if (this.settings.colorIsTextColor) {\n this.gullet.macros.set("\\\\color", "\\\\textcolor");\n } // Try to parse the input\n\n\n var parse = this.parseExpression(false); // If we succeeded, make sure there\'s an EOF at the end\n\n this.expect("EOF"); // End the group namespace for the expression\n\n this.gullet.endGroup();\n return parse;\n };\n\n _proto.parseExpression = function parseExpression(breakOnInfix, breakOnTokenText) {\n var body = []; // Keep adding atoms to the body until we can\'t parse any more atoms (either\n // we reached the end, a }, or a \\right)\n\n while (true) {\n // Ignore spaces in math mode\n if (this.mode === "math") {\n this.consumeSpaces();\n }\n\n var lex = this.fetch();\n\n if (Parser.endOfExpression.indexOf(lex.text) !== -1) {\n break;\n }\n\n if (breakOnTokenText && lex.text === breakOnTokenText) {\n break;\n }\n\n if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) {\n break;\n }\n\n var atom = this.parseAtom(breakOnTokenText);\n\n if (!atom) {\n break;\n }\n\n body.push(atom);\n }\n\n if (this.mode === "text") {\n this.formLigatures(body);\n }\n\n return this.handleInfixNodes(body);\n }\n /**\n * Rewrites infix operators such as \\over with corresponding commands such\n * as \\frac.\n *\n * There can only be one infix operator per group. If there\'s more than one\n * then the expression is ambiguous. This can be resolved by adding {}.\n */\n ;\n\n _proto.handleInfixNodes = function handleInfixNodes(body) {\n var overIndex = -1;\n var funcName;\n\n for (var i = 0; i < body.length; i++) {\n var node = checkNodeType(body[i], "infix");\n\n if (node) {\n if (overIndex !== -1) {\n throw new src_ParseError("only one infix operator per group", node.token);\n }\n\n overIndex = i;\n funcName = node.replaceWith;\n }\n }\n\n if (overIndex !== -1 && funcName) {\n var numerNode;\n var denomNode;\n var numerBody = body.slice(0, overIndex);\n var denomBody = body.slice(overIndex + 1);\n\n if (numerBody.length === 1 && numerBody[0].type === "ordgroup") {\n numerNode = numerBody[0];\n } else {\n numerNode = {\n type: "ordgroup",\n mode: this.mode,\n body: numerBody\n };\n }\n\n if (denomBody.length === 1 && denomBody[0].type === "ordgroup") {\n denomNode = denomBody[0];\n } else {\n denomNode = {\n type: "ordgroup",\n mode: this.mode,\n body: denomBody\n };\n }\n\n var _node;\n\n if (funcName === "\\\\\\\\abovefrac") {\n _node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []);\n } else {\n _node = this.callFunction(funcName, [numerNode, denomNode], []);\n }\n\n return [_node];\n } else {\n return body;\n }\n } // The greediness of a superscript or subscript\n ;\n\n /**\n * Handle a subscript or superscript with nice errors.\n */\n _proto.handleSupSubscript = function handleSupSubscript(name) {\n var symbolToken = this.fetch();\n var symbol = symbolToken.text;\n this.consume();\n var group = this.parseGroup(name, false, Parser.SUPSUB_GREEDINESS, undefined, undefined, true); // ignore spaces before sup/subscript argument\n\n if (!group) {\n throw new src_ParseError("Expected group after \'" + symbol + "\'", symbolToken);\n }\n\n return group;\n }\n /**\n * Converts the textual input of an unsupported command into a text node\n * contained within a color node whose color is determined by errorColor\n */\n ;\n\n _proto.formatUnsupportedCmd = function formatUnsupportedCmd(text) {\n var textordArray = [];\n\n for (var i = 0; i < text.length; i++) {\n textordArray.push({\n type: "textord",\n mode: "text",\n text: text[i]\n });\n }\n\n var textNode = {\n type: "text",\n mode: this.mode,\n body: textordArray\n };\n var colorNode = {\n type: "color",\n mode: this.mode,\n color: this.settings.errorColor,\n body: [textNode]\n };\n return colorNode;\n }\n /**\n * Parses a group with optional super/subscripts.\n */\n ;\n\n _proto.parseAtom = function parseAtom(breakOnTokenText) {\n // The body of an atom is an implicit group, so that things like\n // \\left(x\\right)^2 work correctly.\n var base = this.parseGroup("atom", false, null, breakOnTokenText); // In text mode, we don\'t have superscripts or subscripts\n\n if (this.mode === "text") {\n return base;\n } // Note that base may be empty (i.e. null) at this point.\n\n\n var superscript;\n var subscript;\n\n while (true) {\n // Guaranteed in math mode, so eat any spaces first.\n this.consumeSpaces(); // Lex the first token\n\n var lex = this.fetch();\n\n if (lex.text === "\\\\limits" || lex.text === "\\\\nolimits") {\n // We got a limit control\n var opNode = checkNodeType(base, "op");\n\n if (opNode) {\n var limits = lex.text === "\\\\limits";\n opNode.limits = limits;\n opNode.alwaysHandleSupSub = true;\n } else {\n opNode = checkNodeType(base, "operatorname");\n\n if (opNode && opNode.alwaysHandleSupSub) {\n var _limits = lex.text === "\\\\limits";\n\n opNode.limits = _limits;\n } else {\n throw new src_ParseError("Limit controls must follow a math operator", lex);\n }\n }\n\n this.consume();\n } else if (lex.text === "^") {\n // We got a superscript start\n if (superscript) {\n throw new src_ParseError("Double superscript", lex);\n }\n\n superscript = this.handleSupSubscript("superscript");\n } else if (lex.text === "_") {\n // We got a subscript start\n if (subscript) {\n throw new src_ParseError("Double subscript", lex);\n }\n\n subscript = this.handleSupSubscript("subscript");\n } else if (lex.text === "\'") {\n // We got a prime\n if (superscript) {\n throw new src_ParseError("Double superscript", lex);\n }\n\n var prime = {\n type: "textord",\n mode: this.mode,\n text: "\\\\prime"\n }; // Many primes can be grouped together, so we handle this here\n\n var primes = [prime];\n this.consume(); // Keep lexing tokens until we get something that\'s not a prime\n\n while (this.fetch().text === "\'") {\n // For each one, add another prime to the list\n primes.push(prime);\n this.consume();\n } // If there\'s a superscript following the primes, combine that\n // superscript in with the primes.\n\n\n if (this.fetch().text === "^") {\n primes.push(this.handleSupSubscript("superscript"));\n } // Put everything into an ordgroup as the superscript\n\n\n superscript = {\n type: "ordgroup",\n mode: this.mode,\n body: primes\n };\n } else {\n // If it wasn\'t ^, _, or \', stop parsing super/subscripts\n break;\n }\n } // Base must be set if superscript or subscript are set per logic above,\n // but need to check here for type check to pass.\n\n\n if (superscript || subscript) {\n // If we got either a superscript or subscript, create a supsub\n return {\n type: "supsub",\n mode: this.mode,\n base: base,\n sup: superscript,\n sub: subscript\n };\n } else {\n // Otherwise return the original body\n return base;\n }\n }\n /**\n * Parses an entire function, including its base and all of its arguments.\n */\n ;\n\n _proto.parseFunction = function parseFunction(breakOnTokenText, name, // For error reporting.\n greediness) {\n var token = this.fetch();\n var func = token.text;\n var funcData = src_functions[func];\n\n if (!funcData) {\n return null;\n }\n\n this.consume(); // consume command token\n\n if (greediness != null && funcData.greediness <= greediness) {\n throw new src_ParseError("Got function \'" + func + "\' with no arguments" + (name ? " as " + name : ""), token);\n } else if (this.mode === "text" && !funcData.allowedInText) {\n throw new src_ParseError("Can\'t use function \'" + func + "\' in text mode", token);\n } else if (this.mode === "math" && funcData.allowedInMath === false) {\n throw new src_ParseError("Can\'t use function \'" + func + "\' in math mode", token);\n }\n\n var _this$parseArguments = this.parseArguments(func, funcData),\n args = _this$parseArguments.args,\n optArgs = _this$parseArguments.optArgs;\n\n return this.callFunction(func, args, optArgs, token, breakOnTokenText);\n }\n /**\n * Call a function handler with a suitable context and arguments.\n */\n ;\n\n _proto.callFunction = function callFunction(name, args, optArgs, token, breakOnTokenText) {\n var context = {\n funcName: name,\n parser: this,\n token: token,\n breakOnTokenText: breakOnTokenText\n };\n var func = src_functions[name];\n\n if (func && func.handler) {\n return func.handler(context, args, optArgs);\n } else {\n throw new src_ParseError("No function handler for " + name);\n }\n }\n /**\n * Parses the arguments of a function or environment\n */\n ;\n\n _proto.parseArguments = function parseArguments(func, // Should look like "\\name" or "\\begin{name}".\n funcData) {\n var totalArgs = funcData.numArgs + funcData.numOptionalArgs;\n\n if (totalArgs === 0) {\n return {\n args: [],\n optArgs: []\n };\n }\n\n var baseGreediness = funcData.greediness;\n var args = [];\n var optArgs = [];\n\n for (var i = 0; i < totalArgs; i++) {\n var argType = funcData.argTypes && funcData.argTypes[i];\n var isOptional = i < funcData.numOptionalArgs; // Ignore spaces between arguments. As the TeXbook says:\n // "After you have said \u2018\\def\\row#1#2{...}\u2019, you are allowed to\n // put spaces between the arguments (e.g., \u2018\\row x n\u2019), because\n // TeX doesn\u2019t use single spaces as undelimited arguments."\n\n var consumeSpaces = i > 0 && !isOptional || // Also consume leading spaces in math mode, as parseSymbol\n // won\'t know what to do with them. This can only happen with\n // macros, e.g. \\frac\\foo\\foo where \\foo expands to a space symbol.\n // In LaTeX, the \\foo\'s get treated as (blank) arguments.\n // In KaTeX, for now, both spaces will get consumed.\n // TODO(edemaine)\n i === 0 && !isOptional && this.mode === "math";\n var arg = this.parseGroupOfType("argument to \'" + func + "\'", argType, isOptional, baseGreediness, consumeSpaces);\n\n if (!arg) {\n if (isOptional) {\n optArgs.push(null);\n continue;\n }\n\n throw new src_ParseError("Expected group after \'" + func + "\'", this.fetch());\n }\n\n (isOptional ? optArgs : args).push(arg);\n }\n\n return {\n args: args,\n optArgs: optArgs\n };\n }\n /**\n * Parses a group when the mode is changing.\n */\n ;\n\n _proto.parseGroupOfType = function parseGroupOfType(name, type, optional, greediness, consumeSpaces) {\n switch (type) {\n case "color":\n if (consumeSpaces) {\n this.consumeSpaces();\n }\n\n return this.parseColorGroup(optional);\n\n case "size":\n if (consumeSpaces) {\n this.consumeSpaces();\n }\n\n return this.parseSizeGroup(optional);\n\n case "url":\n return this.parseUrlGroup(optional, consumeSpaces);\n\n case "math":\n case "text":\n return this.parseGroup(name, optional, greediness, undefined, type, consumeSpaces);\n\n case "hbox":\n {\n // hbox argument type wraps the argument in the equivalent of\n // \\hbox, which is like \\text but switching to \\textstyle size.\n var group = this.parseGroup(name, optional, greediness, undefined, "text", consumeSpaces);\n\n if (!group) {\n return group;\n }\n\n var styledGroup = {\n type: "styling",\n mode: group.mode,\n body: [group],\n style: "text" // simulate \\textstyle\n\n };\n return styledGroup;\n }\n\n case "raw":\n {\n if (consumeSpaces) {\n this.consumeSpaces();\n }\n\n if (optional && this.fetch().text === "{") {\n return null;\n }\n\n var token = this.parseStringGroup("raw", optional, true);\n\n if (token) {\n return {\n type: "raw",\n mode: "text",\n string: token.text\n };\n } else {\n throw new src_ParseError("Expected raw group", this.fetch());\n }\n }\n\n case "original":\n case null:\n case undefined:\n return this.parseGroup(name, optional, greediness, undefined, undefined, consumeSpaces);\n\n default:\n throw new src_ParseError("Unknown group type as " + name, this.fetch());\n }\n }\n /**\n * Discard any space tokens, fetching the next non-space token.\n */\n ;\n\n _proto.consumeSpaces = function consumeSpaces() {\n while (this.fetch().text === " ") {\n this.consume();\n }\n }\n /**\n * Parses a group, essentially returning the string formed by the\n * brace-enclosed tokens plus some position information.\n */\n ;\n\n _proto.parseStringGroup = function parseStringGroup(modeName, // Used to describe the mode in error messages.\n optional, raw) {\n var groupBegin = optional ? "[" : "{";\n var groupEnd = optional ? "]" : "}";\n var beginToken = this.fetch();\n\n if (beginToken.text !== groupBegin) {\n if (optional) {\n return null;\n } else if (raw && beginToken.text !== "EOF" && /[^{}[\\]]/.test(beginToken.text)) {\n this.consume();\n return beginToken;\n }\n }\n\n var outerMode = this.mode;\n this.mode = "text";\n this.expect(groupBegin);\n var str = "";\n var firstToken = this.fetch();\n var nested = 0; // allow nested braces in raw string group\n\n var lastToken = firstToken;\n var nextToken;\n\n while ((nextToken = this.fetch()).text !== groupEnd || raw && nested > 0) {\n switch (nextToken.text) {\n case "EOF":\n throw new src_ParseError("Unexpected end of input in " + modeName, firstToken.range(lastToken, str));\n\n case groupBegin:\n nested++;\n break;\n\n case groupEnd:\n nested--;\n break;\n }\n\n lastToken = nextToken;\n str += lastToken.text;\n this.consume();\n }\n\n this.expect(groupEnd);\n this.mode = outerMode;\n return firstToken.range(lastToken, str);\n }\n /**\n * Parses a regex-delimited group: the largest sequence of tokens\n * whose concatenated strings match `regex`. Returns the string\n * formed by the tokens plus some position information.\n */\n ;\n\n _proto.parseRegexGroup = function parseRegexGroup(regex, modeName) {\n var outerMode = this.mode;\n this.mode = "text";\n var firstToken = this.fetch();\n var lastToken = firstToken;\n var str = "";\n var nextToken;\n\n while ((nextToken = this.fetch()).text !== "EOF" && regex.test(str + nextToken.text)) {\n lastToken = nextToken;\n str += lastToken.text;\n this.consume();\n }\n\n if (str === "") {\n throw new src_ParseError("Invalid " + modeName + ": \'" + firstToken.text + "\'", firstToken);\n }\n\n this.mode = outerMode;\n return firstToken.range(lastToken, str);\n }\n /**\n * Parses a color description.\n */\n ;\n\n _proto.parseColorGroup = function parseColorGroup(optional) {\n var res = this.parseStringGroup("color", optional);\n\n if (!res) {\n return null;\n }\n\n var match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text);\n\n if (!match) {\n throw new src_ParseError("Invalid color: \'" + res.text + "\'", res);\n }\n\n var color = match[0];\n\n if (/^[0-9a-f]{6}$/i.test(color)) {\n // We allow a 6-digit HTML color spec without a leading "#".\n // This follows the xcolor package\'s HTML color model.\n // Predefined color names are all missed by this RegEx pattern.\n color = "#" + color;\n }\n\n return {\n type: "color-token",\n mode: this.mode,\n color: color\n };\n }\n /**\n * Parses a size specification, consisting of magnitude and unit.\n */\n ;\n\n _proto.parseSizeGroup = function parseSizeGroup(optional) {\n var res;\n var isBlank = false;\n\n if (!optional && this.fetch().text !== "{") {\n res = this.parseRegexGroup(/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2} *$/, "size");\n } else {\n res = this.parseStringGroup("size", optional);\n }\n\n if (!res) {\n return null;\n }\n\n if (!optional && res.text.length === 0) {\n // Because we\'ve tested for what is !optional, this block won\'t\n // affect \\kern, \\hspace, etc. It will capture the mandatory arguments\n // to \\genfrac and \\above.\n res.text = "0pt"; // Enable \\above{}\n\n isBlank = true; // This is here specifically for \\genfrac\n }\n\n var match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(res.text);\n\n if (!match) {\n throw new src_ParseError("Invalid size: \'" + res.text + "\'", res);\n }\n\n var data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new src_ParseError("Invalid unit: \'" + data.unit + "\'", res);\n }\n\n return {\n type: "size",\n mode: this.mode,\n value: data,\n isBlank: isBlank\n };\n }\n /**\n * Parses an URL, checking escaped letters and allowed protocols,\n * and setting the catcode of % as an active character (as in \\hyperref).\n */\n ;\n\n _proto.parseUrlGroup = function parseUrlGroup(optional, consumeSpaces) {\n this.gullet.lexer.setCatcode("%", 13); // active character\n\n var res = this.parseStringGroup("url", optional, true); // get raw string\n\n this.gullet.lexer.setCatcode("%", 14); // comment character\n\n if (!res) {\n return null;\n } // hyperref package allows backslashes alone in href, but doesn\'t\n // generate valid links in such cases; we interpret this as\n // "undefined" behaviour, and keep them as-is. Some browser will\n // replace backslashes with forward slashes.\n\n\n var url = res.text.replace(/\\\\([#$%&~_^{}])/g, \'$1\');\n return {\n type: "url",\n mode: this.mode,\n url: url\n };\n }\n /**\n * If `optional` is false or absent, this parses an ordinary group,\n * which is either a single nucleus (like "x") or an expression\n * in braces (like "{x+y}") or an implicit group, a group that starts\n * at the current position, and ends right before a higher explicit\n * group ends, or at EOF.\n * If `optional` is true, it parses either a bracket-delimited expression\n * (like "[x+y]") or returns null to indicate the absence of a\n * bracket-enclosed group.\n * If `mode` is present, switches to that mode while parsing the group,\n * and switches back after.\n */\n ;\n\n _proto.parseGroup = function parseGroup(name, // For error reporting.\n optional, greediness, breakOnTokenText, mode, consumeSpaces) {\n // Switch to specified mode\n var outerMode = this.mode;\n\n if (mode) {\n this.switchMode(mode);\n } // Consume spaces if requested, crucially *after* we switch modes,\n // so that the next non-space token is parsed in the correct mode.\n\n\n if (consumeSpaces) {\n this.consumeSpaces();\n } // Get first token\n\n\n var firstToken = this.fetch();\n var text = firstToken.text;\n var result; // Try to parse an open brace or \\begingroup\n\n if (optional ? text === "[" : text === "{" || text === "\\\\begingroup") {\n this.consume();\n var groupEnd = Parser.endOfGroup[text]; // Start a new group namespace\n\n this.gullet.beginGroup(); // If we get a brace, parse an expression\n\n var expression = this.parseExpression(false, groupEnd);\n var lastToken = this.fetch(); // Check that we got a matching closing brace\n\n this.expect(groupEnd); // End group namespace\n\n this.gullet.endGroup();\n result = {\n type: "ordgroup",\n mode: this.mode,\n loc: SourceLocation.range(firstToken, lastToken),\n body: expression,\n // A group formed by \\begingroup...\\endgroup is a semi-simple group\n // which doesn\'t affect spacing in math mode, i.e., is transparent.\n // https://tex.stackexchange.com/questions/1930/when-should-one-\n // use-begingroup-instead-of-bgroup\n semisimple: text === "\\\\begingroup" || undefined\n };\n } else if (optional) {\n // Return nothing for an optional group\n result = null;\n } else {\n // If there exists a function with this name, parse the function.\n // Otherwise, just return a nucleus\n result = this.parseFunction(breakOnTokenText, name, greediness) || this.parseSymbol();\n\n if (result == null && text[0] === "\\\\" && !implicitCommands.hasOwnProperty(text)) {\n if (this.settings.throwOnError) {\n throw new src_ParseError("Undefined control sequence: " + text, firstToken);\n }\n\n result = this.formatUnsupportedCmd(text);\n this.consume();\n }\n } // Switch mode back\n\n\n if (mode) {\n this.switchMode(outerMode);\n }\n\n return result;\n }\n /**\n * Form ligature-like combinations of characters for text mode.\n * This includes inputs like "--", "---", "``" and "\'\'".\n * The result will simply replace multiple textord nodes with a single\n * character in each value by a single textord node having multiple\n * characters in its value. The representation is still ASCII source.\n * The group will be modified in place.\n */\n ;\n\n _proto.formLigatures = function formLigatures(group) {\n var n = group.length - 1;\n\n for (var i = 0; i < n; ++i) {\n var a = group[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n var v = a.text;\n\n if (v === "-" && group[i + 1].text === "-") {\n if (i + 1 < n && group[i + 2].text === "-") {\n group.splice(i, 3, {\n type: "textord",\n mode: "text",\n loc: SourceLocation.range(a, group[i + 2]),\n text: "---"\n });\n n -= 2;\n } else {\n group.splice(i, 2, {\n type: "textord",\n mode: "text",\n loc: SourceLocation.range(a, group[i + 1]),\n text: "--"\n });\n n -= 1;\n }\n }\n\n if ((v === "\'" || v === "`") && group[i + 1].text === v) {\n group.splice(i, 2, {\n type: "textord",\n mode: "text",\n loc: SourceLocation.range(a, group[i + 1]),\n text: v + v\n });\n n -= 1;\n }\n }\n }\n /**\n * Parse a single symbol out of the string. Here, we handle single character\n * symbols and special functions like \\verb.\n */\n ;\n\n _proto.parseSymbol = function parseSymbol() {\n var nucleus = this.fetch();\n var text = nucleus.text;\n\n if (/^\\\\verb[^a-zA-Z]/.test(text)) {\n this.consume();\n var arg = text.slice(5);\n var star = arg.charAt(0) === "*";\n\n if (star) {\n arg = arg.slice(1);\n } // Lexer\'s tokenRegex is constructed to always have matching\n // first/last characters.\n\n\n if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) {\n throw new src_ParseError("\\\\verb assertion failed --\\n please report what input caused this bug");\n }\n\n arg = arg.slice(1, -1); // remove first and last char\n\n return {\n type: "verb",\n mode: "text",\n body: arg,\n star: star\n };\n } // At this point, we should have a symbol, possibly with accents.\n // First expand any accented base symbol according to unicodeSymbols.\n\n\n if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) {\n // This behavior is not strict (XeTeX-compatible) in math mode.\n if (this.settings.strict && this.mode === "math") {\n this.settings.reportNonstrict("unicodeTextInMathMode", "Accented Unicode text character \\"" + text[0] + "\\" used in " + "math mode", nucleus);\n }\n\n text = unicodeSymbols[text[0]] + text.substr(1);\n } // Strip off any combining characters\n\n\n var match = combiningDiacriticalMarksEndRegex.exec(text);\n\n if (match) {\n text = text.substring(0, match.index);\n\n if (text === \'i\') {\n text = "\\u0131"; // dotless i, in math and text mode\n } else if (text === \'j\') {\n text = "\\u0237"; // dotless j, in math and text mode\n }\n } // Recognize base symbol\n\n\n var symbol;\n\n if (src_symbols[this.mode][text]) {\n if (this.settings.strict && this.mode === \'math\' && extraLatin.indexOf(text) >= 0) {\n this.settings.reportNonstrict("unicodeTextInMathMode", "Latin-1/Unicode text character \\"" + text[0] + "\\" used in " + "math mode", nucleus);\n }\n\n var group = src_symbols[this.mode][text].group;\n var loc = SourceLocation.range(nucleus);\n var s;\n\n if (ATOMS.hasOwnProperty(group)) {\n // $FlowFixMe\n var family = group;\n s = {\n type: "atom",\n mode: this.mode,\n family: family,\n loc: loc,\n text: text\n };\n } else {\n // $FlowFixMe\n s = {\n type: group,\n mode: this.mode,\n loc: loc,\n text: text\n };\n }\n\n symbol = s;\n } else if (text.charCodeAt(0) >= 0x80) {\n // no symbol for e.g. ^\n if (this.settings.strict) {\n if (!supportedCodepoint(text.charCodeAt(0))) {\n this.settings.reportNonstrict("unknownSymbol", "Unrecognized Unicode character \\"" + text[0] + "\\"" + (" (" + text.charCodeAt(0) + ")"), nucleus);\n } else if (this.mode === "math") {\n this.settings.reportNonstrict("unicodeTextInMathMode", "Unicode text character \\"" + text[0] + "\\" used in math mode", nucleus);\n }\n } // All nonmathematical Unicode characters are rendered as if they\n // are in text mode (wrapped in \\text) because that\'s what it\n // takes to render them in LaTeX. Setting `mode: this.mode` is\n // another natural choice (the user requested math mode), but\n // this makes it more difficult for getCharacterMetrics() to\n // distinguish Unicode characters without metrics and those for\n // which we want to simulate the letter M.\n\n\n symbol = {\n type: "textord",\n mode: "text",\n loc: SourceLocation.range(nucleus),\n text: text\n };\n } else {\n return null; // EOF, ^, _, {, }, etc.\n }\n\n this.consume(); // Transform combining characters into accents\n\n if (match) {\n for (var i = 0; i < match[0].length; i++) {\n var accent = match[0][i];\n\n if (!unicodeAccents[accent]) {\n throw new src_ParseError("Unknown accent \' " + accent + "\'", nucleus);\n }\n\n var command = unicodeAccents[accent][this.mode];\n\n if (!command) {\n throw new src_ParseError("Accent " + accent + " unsupported in " + this.mode + " mode", nucleus);\n }\n\n symbol = {\n type: "accent",\n mode: this.mode,\n loc: SourceLocation.range(nucleus),\n label: command,\n isStretchy: false,\n isShifty: true,\n base: symbol\n };\n }\n }\n\n return symbol;\n };\n\n return Parser;\n}();\n\nParser_Parser.endOfExpression = ["}", "\\\\endgroup", "\\\\end", "\\\\right", "&"];\nParser_Parser.endOfGroup = {\n "[": "]",\n "{": "}",\n "\\\\begingroup": "\\\\endgroup"\n /**\n * Parses an "expression", which is a list of atoms.\n *\n * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This\n * happens when functions have higher precendence han infix\n * nodes in implicit parses.\n *\n * `breakOnTokenText`: The text of the token that the expression should end\n * with, or `null` if something else should end the\n * expression.\n */\n\n};\nParser_Parser.SUPSUB_GREEDINESS = 1;\n\n// CONCATENATED MODULE: ./src/parseTree.js\n/**\n * Provides a single function for parsing an expression using a Parser\n * TODO(emily): Remove this\n */\n\n\n\n/**\n * Parses an expression using a Parser, then returns the parsed result.\n */\nvar parseTree_parseTree = function parseTree(toParse, settings) {\n if (!(typeof toParse === \'string\' || toParse instanceof String)) {\n throw new TypeError(\'KaTeX can only parse string typed expression\');\n }\n\n var parser = new Parser_Parser(toParse, settings); // Blank out any \\df@tag to avoid spurious "Duplicate \\tag" errors\n\n delete parser.gullet.macros.current["\\\\df@tag"];\n var tree = parser.parse(); // If the input used \\tag, it will set the \\df@tag macro to the tag.\n // In this case, we separately parse the tag and wrap the tree.\n\n if (parser.gullet.macros.get("\\\\df@tag")) {\n if (!settings.displayMode) {\n throw new src_ParseError("\\\\tag works only in display equations");\n }\n\n parser.gullet.feed("\\\\df@tag");\n tree = [{\n type: "tag",\n mode: "text",\n body: tree,\n tag: parser.parse()\n }];\n }\n\n return tree;\n};\n\n/* harmony default export */ var src_parseTree = (parseTree_parseTree);\n// CONCATENATED MODULE: ./katex.js\n/* eslint no-console:0 */\n\n/**\n * This is the main entry point for KaTeX. Here, we expose functions for\n * rendering expressions either to DOM nodes or to markup strings.\n *\n * We also expose the ParseError class to check if errors thrown from KaTeX are\n * errors in the expression, or errors in javascript handling.\n */\n\n\n\n\n\n\n\n\n\n\n/**\n * Parse and build an expression, and place that expression in the DOM node\n * given.\n */\nvar katex_render = function render(expression, baseNode, options) {\n baseNode.textContent = "";\n var node = katex_renderToDomTree(expression, options).toNode();\n baseNode.appendChild(node);\n}; // KaTeX\'s styles don\'t work properly in quirks mode. Print out an error, and\n// disable rendering.\n\n\nif (typeof document !== "undefined") {\n if (document.compatMode !== "CSS1Compat") {\n typeof console !== "undefined" && console.warn("Warning: KaTeX doesn\'t work in quirks mode. Make sure your " + "website has a suitable doctype.");\n\n katex_render = function render() {\n throw new src_ParseError("KaTeX doesn\'t work in quirks mode.");\n };\n }\n}\n/**\n * Parse and build an expression, and return the markup for that.\n */\n\n\nvar renderToString = function renderToString(expression, options) {\n var markup = katex_renderToDomTree(expression, options).toMarkup();\n return markup;\n};\n/**\n * Parse an expression and return the parse tree.\n */\n\n\nvar katex_generateParseTree = function generateParseTree(expression, options) {\n var settings = new Settings_Settings(options);\n return src_parseTree(expression, settings);\n};\n/**\n * If the given error is a KaTeX ParseError and options.throwOnError is false,\n * renders the invalid LaTeX as a span with hover title giving the KaTeX\n * error message. Otherwise, simply throws the error.\n */\n\n\nvar katex_renderError = function renderError(error, expression, options) {\n if (options.throwOnError || !(error instanceof src_ParseError)) {\n throw error;\n }\n\n var node = buildCommon.makeSpan(["katex-error"], [new domTree_SymbolNode(expression)]);\n node.setAttribute("title", error.toString());\n node.setAttribute("style", "color:" + options.errorColor);\n return node;\n};\n/**\n * Generates and returns the katex build tree. This is used for advanced\n * use cases (like rendering to custom output).\n */\n\n\nvar katex_renderToDomTree = function renderToDomTree(expression, options) {\n var settings = new Settings_Settings(options);\n\n try {\n var tree = src_parseTree(expression, settings);\n return buildTree_buildTree(tree, expression, settings);\n } catch (error) {\n return katex_renderError(error, expression, settings);\n }\n};\n/**\n * Generates and returns the katex build tree, with just HTML (no MathML).\n * This is used for advanced use cases (like rendering to custom output).\n */\n\n\nvar katex_renderToHTMLTree = function renderToHTMLTree(expression, options) {\n var settings = new Settings_Settings(options);\n\n try {\n var tree = src_parseTree(expression, settings);\n return buildTree_buildHTMLTree(tree, expression, settings);\n } catch (error) {\n return katex_renderError(error, expression, settings);\n }\n};\n\n/* harmony default export */ var katex_0 = ({\n /**\n * Current KaTeX version\n */\n version: "0.11.1",\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination, and adds\n * it as a child to the specified DOM node.\n */\n render: katex_render,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination string,\n * for sending to the client.\n */\n renderToString: renderToString,\n\n /**\n * KaTeX error, usually during parsing.\n */\n ParseError: src_ParseError,\n\n /**\n * Parses the given LaTeX into KaTeX\'s internal parse tree structure,\n * without rendering to HTML or MathML.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __parse: katex_generateParseTree,\n\n /**\n * Renders the given LaTeX into an HTML+MathML internal DOM tree\n * representation, without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToDomTree: katex_renderToDomTree,\n\n /**\n * Renders the given LaTeX into an HTML internal DOM tree representation,\n * without MathML and without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToHTMLTree: katex_renderToHTMLTree,\n\n /**\n * extends internal font metrics object with a new object\n * each key in the new object represents a font name\n */\n __setFontMetrics: setFontMetrics,\n\n /**\n * adds a new symbol to builtin symbols table\n */\n __defineSymbol: defineSymbol,\n\n /**\n * adds a new macro to builtin macro list\n */\n __defineMacro: defineMacro,\n\n /**\n * Expose the dom tree node types, which can be useful for type checking nodes.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __domTree: {\n Span: domTree_Span,\n Anchor: domTree_Anchor,\n SymbolNode: domTree_SymbolNode,\n SvgNode: SvgNode,\n PathNode: domTree_PathNode,\n LineNode: LineNode\n }\n});\n// CONCATENATED MODULE: ./katex.webpack.js\n/**\n * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2]\n * doesn\'t support CSS modules natively, a separate entry point is used and\n * it is not flowtyped.\n *\n * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef\n * [2] https://facebook.github.io/jest/docs/en/webpack.html\n */\n\n\n/* harmony default export */ var katex_webpack = __webpack_exports__["default"] = (katex_0);\n\n/***/ })\n/******/ ])["default"];\n});\n\n//# sourceURL=webpack:///./node_modules/katex/dist/katex.js?')},P2fV:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _popover_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Q9mQ");\n/* harmony import */ var _button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("+L6B");\n // style dependencies\n// deps-lint-skip: tooltip, popover\n\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/popconfirm/style/index.js?')},P47w:function(module,exports,__webpack_require__){eval("var _core = __webpack_require__(\"hydK\");\n\nvar createElement = _core.createElement;\n\nvar PathProxy = __webpack_require__(\"IMiH\");\n\nvar BoundingRect = __webpack_require__(\"mFDi\");\n\nvar matrix = __webpack_require__(\"Fofx\");\n\nvar textContain = __webpack_require__(\"6GrX\");\n\nvar textHelper = __webpack_require__(\"pzxd\");\n\nvar Text = __webpack_require__(\"dqUG\");\n\n// TODO\n// 1. shadow\n// 2. Image: sx, sy, sw, sh\nvar CMD = PathProxy.CMD;\nvar arrayJoin = Array.prototype.join;\nvar NONE = 'none';\nvar mathRound = Math.round;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nvar PI2 = Math.PI * 2;\nvar degree = 180 / PI;\nvar EPSILON = 1e-4;\n\nfunction round4(val) {\n return mathRound(val * 1e4) / 1e4;\n}\n\nfunction isAroundZero(val) {\n return val < EPSILON && val > -EPSILON;\n}\n\nfunction pathHasFill(style, isText) {\n var fill = isText ? style.textFill : style.fill;\n return fill != null && fill !== NONE;\n}\n\nfunction pathHasStroke(style, isText) {\n var stroke = isText ? style.textStroke : style.stroke;\n return stroke != null && stroke !== NONE;\n}\n\nfunction setTransform(svgEl, m) {\n if (m) {\n attr(svgEl, 'transform', 'matrix(' + arrayJoin.call(m, ',') + ')');\n }\n}\n\nfunction attr(el, key, val) {\n if (!val || val.type !== 'linear' && val.type !== 'radial') {\n // Don't set attribute for gradient, since it need new dom nodes\n el.setAttribute(key, val);\n }\n}\n\nfunction attrXLink(el, key, val) {\n el.setAttributeNS('http://www.w3.org/1999/xlink', key, val);\n}\n\nfunction bindStyle(svgEl, style, isText, el) {\n if (pathHasFill(style, isText)) {\n var fill = isText ? style.textFill : style.fill;\n fill = fill === 'transparent' ? NONE : fill;\n attr(svgEl, 'fill', fill);\n attr(svgEl, 'fill-opacity', style.fillOpacity != null ? style.fillOpacity * style.opacity : style.opacity);\n } else {\n attr(svgEl, 'fill', NONE);\n }\n\n if (pathHasStroke(style, isText)) {\n var stroke = isText ? style.textStroke : style.stroke;\n stroke = stroke === 'transparent' ? NONE : stroke;\n attr(svgEl, 'stroke', stroke);\n var strokeWidth = isText ? style.textStrokeWidth : style.lineWidth;\n var strokeScale = !isText && style.strokeNoScale ? el.getLineScale() : 1;\n attr(svgEl, 'stroke-width', strokeWidth / strokeScale); // stroke then fill for text; fill then stroke for others\n\n attr(svgEl, 'paint-order', isText ? 'stroke' : 'fill');\n attr(svgEl, 'stroke-opacity', style.strokeOpacity != null ? style.strokeOpacity : style.opacity);\n var lineDash = style.lineDash;\n\n if (lineDash) {\n attr(svgEl, 'stroke-dasharray', style.lineDash.join(','));\n attr(svgEl, 'stroke-dashoffset', mathRound(style.lineDashOffset || 0));\n } else {\n attr(svgEl, 'stroke-dasharray', '');\n } // PENDING\n\n\n style.lineCap && attr(svgEl, 'stroke-linecap', style.lineCap);\n style.lineJoin && attr(svgEl, 'stroke-linejoin', style.lineJoin);\n style.miterLimit && attr(svgEl, 'stroke-miterlimit', style.miterLimit);\n } else {\n attr(svgEl, 'stroke', NONE);\n }\n}\n/***************************************************\n * PATH\n **************************************************/\n\n\nfunction pathDataToString(path) {\n var str = [];\n var data = path.data;\n var dataLength = path.len();\n\n for (var i = 0; i < dataLength;) {\n var cmd = data[i++];\n var cmdStr = '';\n var nData = 0;\n\n switch (cmd) {\n case CMD.M:\n cmdStr = 'M';\n nData = 2;\n break;\n\n case CMD.L:\n cmdStr = 'L';\n nData = 2;\n break;\n\n case CMD.Q:\n cmdStr = 'Q';\n nData = 4;\n break;\n\n case CMD.C:\n cmdStr = 'C';\n nData = 6;\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 theta = data[i++];\n var dTheta = data[i++];\n var psi = data[i++];\n var clockwise = data[i++];\n var dThetaPositive = Math.abs(dTheta);\n var isCircle = isAroundZero(dThetaPositive - PI2) || (clockwise ? dTheta >= PI2 : -dTheta >= PI2); // Mapping to 0~2PI\n\n var unifiedTheta = dTheta > 0 ? dTheta % PI2 : dTheta % PI2 + PI2;\n var large = false;\n\n if (isCircle) {\n large = true;\n } else if (isAroundZero(dThetaPositive)) {\n large = false;\n } else {\n large = unifiedTheta >= PI === !!clockwise;\n }\n\n var x0 = round4(cx + rx * mathCos(theta));\n var y0 = round4(cy + ry * mathSin(theta)); // It will not draw if start point and end point are exactly the same\n // We need to shift the end point with a small value\n // FIXME A better way to draw circle ?\n\n if (isCircle) {\n if (clockwise) {\n dTheta = PI2 - 1e-4;\n } else {\n dTheta = -PI2 + 1e-4;\n }\n\n large = true;\n\n if (i === 9) {\n // Move to (x0, y0) only when CMD.A comes at the\n // first position of a shape.\n // For instance, when drawing a ring, CMD.A comes\n // after CMD.M, so it's unnecessary to move to\n // (x0, y0).\n str.push('M', x0, y0);\n }\n }\n\n var x = round4(cx + rx * mathCos(theta + dTheta));\n var y = round4(cy + ry * mathSin(theta + dTheta)); // FIXME Ellipse\n\n str.push('A', round4(rx), round4(ry), mathRound(psi * degree), +large, +clockwise, x, y);\n break;\n\n case CMD.Z:\n cmdStr = 'Z';\n break;\n\n case CMD.R:\n var x = round4(data[i++]);\n var y = round4(data[i++]);\n var w = round4(data[i++]);\n var h = round4(data[i++]);\n str.push('M', x, y, 'L', x + w, y, 'L', x + w, y + h, 'L', x, y + h, 'L', x, y);\n break;\n }\n\n cmdStr && str.push(cmdStr);\n\n for (var j = 0; j < nData; j++) {\n // PENDING With scale\n str.push(round4(data[i++]));\n }\n }\n\n return str.join(' ');\n}\n\nvar svgPath = {};\n\nsvgPath.brush = function (el) {\n var style = el.style;\n var svgEl = el.__svgEl;\n\n if (!svgEl) {\n svgEl = createElement('path');\n el.__svgEl = svgEl;\n }\n\n if (!el.path) {\n el.createPathProxy();\n }\n\n var path = el.path;\n\n if (el.__dirtyPath) {\n path.beginPath();\n path.subPixelOptimize = false;\n el.buildPath(path, el.shape);\n el.__dirtyPath = false;\n var pathStr = pathDataToString(path);\n\n if (pathStr.indexOf('NaN') < 0) {\n // Ignore illegal path, which may happen such in out-of-range\n // data in Calendar series.\n attr(svgEl, 'd', pathStr);\n }\n }\n\n bindStyle(svgEl, style, false, el);\n setTransform(svgEl, el.transform);\n\n if (style.text != null) {\n svgTextDrawRectText(el, el.getBoundingRect());\n } else {\n removeOldTextNode(el);\n }\n};\n/***************************************************\n * IMAGE\n **************************************************/\n\n\nvar svgImage = {};\n\nsvgImage.brush = function (el) {\n var style = el.style;\n var image = style.image;\n\n if (image instanceof HTMLImageElement) {\n var src = image.src;\n image = src;\n }\n\n if (!image) {\n return;\n }\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 svgEl = el.__svgEl;\n\n if (!svgEl) {\n svgEl = createElement('image');\n el.__svgEl = svgEl;\n }\n\n if (image !== el.__imageSrc) {\n attrXLink(svgEl, 'href', image); // Caching image src\n\n el.__imageSrc = image;\n }\n\n attr(svgEl, 'width', dw);\n attr(svgEl, 'height', dh);\n attr(svgEl, 'x', x);\n attr(svgEl, 'y', y);\n setTransform(svgEl, el.transform);\n\n if (style.text != null) {\n svgTextDrawRectText(el, el.getBoundingRect());\n } else {\n removeOldTextNode(el);\n }\n};\n/***************************************************\n * TEXT\n **************************************************/\n\n\nvar svgText = {};\n\nvar _tmpTextHostRect = new BoundingRect();\n\nvar _tmpTextBoxPos = {};\nvar _tmpTextTransform = [];\nvar TEXT_ALIGN_TO_ANCHRO = {\n left: 'start',\n right: 'end',\n center: 'middle',\n middle: 'middle'\n};\n/**\n * @param {module:zrender/Element} el\n * @param {Object|boolean} [hostRect] {x, y, width, height}\n * If set false, rect text is not used.\n */\n\nvar svgTextDrawRectText = function (el, hostRect) {\n var style = el.style;\n var elTransform = el.transform;\n var needTransformTextByHostEl = el instanceof Text || style.transformText;\n el.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n text != null && (text += '');\n\n if (!textHelper.needDrawText(text, style)) {\n return;\n } // render empty text for svg if no text but need draw text.\n\n\n text == null && (text = ''); // Follow the setting in the canvas renderer, if not transform the\n // text, transform the hostRect, by which the text is located.\n\n if (!needTransformTextByHostEl && elTransform) {\n _tmpTextHostRect.copy(hostRect);\n\n _tmpTextHostRect.applyTransform(elTransform);\n\n hostRect = _tmpTextHostRect;\n }\n\n var textSvgEl = el.__textSvgEl;\n\n if (!textSvgEl) {\n textSvgEl = createElement('text');\n el.__textSvgEl = textSvgEl;\n } // style.font has been normalized by `normalizeTextStyle`.\n\n\n var textSvgElStyle = textSvgEl.style;\n var font = style.font || textContain.DEFAULT_FONT;\n var computedFont = textSvgEl.__computedFont;\n\n if (font !== textSvgEl.__styleFont) {\n textSvgElStyle.font = textSvgEl.__styleFont = font; // The computedFont might not be the orginal font if it is illegal font.\n\n computedFont = textSvgEl.__computedFont = textSvgElStyle.font;\n }\n\n var textPadding = style.textPadding;\n var textLineHeight = style.textLineHeight;\n var contentBlock = el.__textCotentBlock;\n\n if (!contentBlock || el.__dirtyText) {\n contentBlock = el.__textCotentBlock = textContain.parsePlainText(text, computedFont, textPadding, textLineHeight, style.truncate);\n }\n\n var outerHeight = contentBlock.outerHeight;\n var lineHeight = contentBlock.lineHeight;\n textHelper.getBoxPosition(_tmpTextBoxPos, el, style, hostRect);\n var baseX = _tmpTextBoxPos.baseX;\n var baseY = _tmpTextBoxPos.baseY;\n var textAlign = _tmpTextBoxPos.textAlign || 'left';\n var textVerticalAlign = _tmpTextBoxPos.textVerticalAlign;\n setTextTransform(textSvgEl, needTransformTextByHostEl, elTransform, style, hostRect, baseX, baseY);\n var boxY = textContain.adjustTextY(baseY, outerHeight, textVerticalAlign);\n var textX = baseX;\n var textY = boxY; // TODO needDrawBg\n\n if (textPadding) {\n textX = getTextXForPadding(baseX, textAlign, textPadding);\n textY += textPadding[0];\n } // `textBaseline` is set as 'middle'.\n\n\n textY += lineHeight / 2;\n bindStyle(textSvgEl, style, true, el); // FIXME\n // Add a