/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./index.js": /*!******************!*\ !*** ./index.js ***! \******************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var monaco_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! monaco-editor */ \"./node_modules/monaco-editor/esm/vs/editor/editor.main.js\");\n\n\nself.MonacoEnvironment = {\n\tgetWorkerUrl: function (moduleId, label) {\n\t\tif (label === 'json') {\n\t\t\treturn __monaco_public_path__+'/json.worker.bundle.js';\n\t\t}\n\t\tif (label === 'css' || label === 'scss' || label === 'less') {\n\t\t\treturn __monaco_public_path__+'/css.worker.bundle.js';\n\t\t}\n\t\tif (label === 'html' || label === 'handlebars' || label === 'razor') {\n\t\t\treturn __monaco_public_path__+'/html.worker.bundle.js';\n\t\t}\n\t\tif (label === 'typescript' || label === 'javascript') {\n\t\t\treturn __monaco_public_path__+'/ts.worker.bundle.js';\n\t\t}\n\t\treturn __monaco_public_path__+'/editor.worker.bundle.js';\n\t}\n};\n\nwindow.monaco = monaco_editor__WEBPACK_IMPORTED_MODULE_0__;\n\n\n//# sourceURL=webpack://browser-esm-webpack/./index.js?"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css": /*!*************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css ***! \*************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-action-bar {\\r\\n\\ttext-align: right;\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .actions-container {\\r\\n\\tdisplay: flex;\\r\\n\\tmargin: 0 auto;\\r\\n\\tpadding: 0;\\r\\n\\twidth: 100%;\\r\\n\\tjustify-content: flex-end;\\r\\n}\\r\\n\\r\\n.monaco-action-bar.vertical .actions-container {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-action-bar.reverse .actions-container {\\r\\n\\tflex-direction: row-reverse;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item {\\r\\n\\tcursor: pointer;\\r\\n\\tdisplay: inline-block;\\r\\n\\ttransition: transform 50ms ease;\\r\\n\\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item.disabled {\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.monaco-action-bar.animated .action-item.active {\\r\\n\\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item .icon,\\r\\n.monaco-action-bar .action-item .codicon {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item .codicon {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-label {\\r\\n\\tfont-size: 11px;\\r\\n\\tmargin-right: 4px;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item.disabled .action-label,\\r\\n.monaco-action-bar .action-item.disabled .action-label::before,\\r\\n.monaco-action-bar .action-item.disabled .action-label:hover {\\r\\n\\topacity: 0.4;\\r\\n}\\r\\n\\r\\n/* Vertical actions */\\r\\n\\r\\n.monaco-action-bar.vertical {\\r\\n\\ttext-align: left;\\r\\n}\\r\\n\\r\\n.monaco-action-bar.vertical .action-item {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.monaco-action-bar.vertical .action-label.separator {\\r\\n\\tdisplay: block;\\r\\n\\tborder-bottom: 1px solid #bbb;\\r\\n\\tpadding-top: 1px;\\r\\n\\tmargin-left: .8em;\\r\\n\\tmargin-right: .8em;\\r\\n}\\r\\n\\r\\n.monaco-action-bar.animated.vertical .action-item.active {\\r\\n\\ttransform: translate(5px, 0);\\r\\n}\\r\\n\\r\\n.secondary-actions .monaco-action-bar .action-label {\\r\\n\\tmargin-left: 6px;\\r\\n}\\r\\n\\r\\n/* Action Items */\\r\\n.monaco-action-bar .action-item.select-container {\\r\\n\\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\\r\\n\\tflex: 1;\\r\\n\\tmax-width: 170px;\\r\\n\\tmin-width: 60px;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n\\tmargin-right: 10px;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item.action-dropdown-item {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-action-bar .action-item.action-dropdown-item > .action-label {\\r\\n\\tmargin-right: 1px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css": /*!***************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css ***! \***************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-aria-container {\\r\\n\\tposition: absolute; /* try to hide from window but not from screen readers */\\r\\n\\tleft:-999em;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css": /*!*******************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css ***! \*******************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-text-button {\\r\\n\\tbox-sizing: border-box;\\r\\n\\tdisplay: flex;\\r\\n\\twidth: 100%;\\r\\n\\tpadding: 4px;\\r\\n\\ttext-align: center;\\r\\n\\tcursor: pointer;\\r\\n\\tjustify-content: center;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.monaco-text-button:hover {\\r\\n\\ttext-decoration: none !important;\\r\\n}\\r\\n\\r\\n.monaco-button.disabled {\\r\\n\\topacity: 0.4;\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.monaco-text-button > .codicon {\\r\\n\\tmargin: 0 0.2em;\\r\\n\\tcolor: inherit !important;\\r\\n}\\r\\n\\r\\n.monaco-button-dropdown {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-button-dropdown > .monaco-dropdown-button {\\r\\n\\tmargin-left: 1px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.css": /*!***********************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.css ***! \***********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-custom-checkbox {\\r\\n\\tmargin-left: 2px;\\r\\n\\tfloat: left;\\r\\n\\tcursor: pointer;\\r\\n\\toverflow: hidden;\\r\\n\\topacity: 0.7;\\r\\n\\twidth: 20px;\\r\\n\\theight: 20px;\\r\\n\\tborder: 1px solid transparent;\\r\\n\\tpadding: 1px;\\r\\n\\tbox-sizing:\\tborder-box;\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n.monaco-custom-checkbox:hover,\\r\\n.monaco-custom-checkbox.checked {\\r\\n\\topacity: 1;\\r\\n}\\r\\n\\r\\n.hc-black .monaco-custom-checkbox {\\r\\n\\tbackground: none;\\r\\n}\\r\\n\\r\\n.hc-black .monaco-custom-checkbox:hover {\\r\\n\\tbackground: none;\\r\\n}\\r\\n\\r\\n.monaco-custom-checkbox.monaco-simple-checkbox {\\r\\n\\theight: 18px;\\r\\n\\twidth: 18px;\\r\\n\\tborder: 1px solid transparent;\\r\\n\\tborder-radius: 3px;\\r\\n\\tmargin-right: 9px;\\r\\n\\tmargin-left: 0px;\\r\\n\\tpadding: 0px;\\r\\n\\topacity: 1;\\r\\n\\tbackground-size: 16px !important;\\r\\n}\\r\\n\\r\\n/* hide check when unchecked */\\r\\n.monaco-custom-checkbox.monaco-simple-checkbox:not(.checked)::before {\\r\\n\\tvisibility: hidden;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css": /*!****************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css ***! \****************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.codicon-wrench-subaction {\\r\\n\\topacity: 0.5;\\r\\n}\\r\\n\\r\\n@keyframes codicon-spin {\\r\\n\\t100% {\\r\\n\\t\\ttransform:rotate(360deg);\\r\\n\\t}\\r\\n}\\r\\n\\r\\n.codicon-sync.codicon-modifier-spin, .codicon-loading.codicon-modifier-spin, .codicon-gear.codicon-modifier-spin {\\r\\n\\t/* Use steps to throttle FPS to reduce CPU usage */\\r\\n\\tanimation: codicon-spin 1.5s steps(30) infinite;\\r\\n}\\r\\n\\r\\n.codicon-modifier-disabled {\\r\\n\\topacity: 0.4;\\r\\n}\\r\\n\\r\\n/* custom speed & easing for loading icon */\\r\\n.codicon-loading,\\r\\n.codicon-tree-item-loading::before {\\r\\n\\tanimation-duration: 1s !important;\\r\\n\\tanimation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css": /*!******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css ***! \******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _codicon_ttf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./codicon.ttf */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf\");\n// Imports\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_codicon_ttf__WEBPACK_IMPORTED_MODULE_2__.default);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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@font-face {\\r\\n\\tfont-family: \\\"codicon\\\";\\r\\n\\tsrc: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n.codicon[class*='codicon-'] {\\r\\n\\tfont: normal normal normal 16px/1 codicon;\\r\\n\\tdisplay: inline-block;\\r\\n\\ttext-decoration: none;\\r\\n\\ttext-rendering: auto;\\r\\n\\ttext-align: center;\\r\\n\\t-webkit-font-smoothing: antialiased;\\r\\n\\t-moz-osx-font-smoothing: grayscale;\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n/* icon rules are dynamically created in codiconStyles */\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css": /*!*****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css ***! \*****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.context-view {\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 2500;\\r\\n}\\r\\n\\r\\n.context-view.fixed {\\r\\n\\tall: initial;\\r\\n\\tfont-family: inherit;\\r\\n\\tfont-size: 13px;\\r\\n\\tposition: fixed;\\r\\n\\tz-index: 2500;\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css": /*!***************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css ***! \***************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-count-badge {\\r\\n\\tpadding: 3px 6px;\\r\\n\\tborder-radius: 11px;\\r\\n\\tfont-size: 11px;\\r\\n\\tmin-width: 18px;\\r\\n\\tmin-height: 18px;\\r\\n\\tline-height: 11px;\\r\\n\\tfont-weight: normal;\\r\\n\\ttext-align: center;\\r\\n\\tdisplay: inline-block;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n.monaco-count-badge.long {\\r\\n\\tpadding: 2px 3px;\\r\\n\\tborder-radius: 2px;\\r\\n\\tmin-height: auto;\\r\\n\\tline-height: normal;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css": /*!***********************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css ***! \***********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-dropdown {\\r\\n\\theight: 100%;\\r\\n\\tpadding: 0;\\r\\n}\\r\\n\\r\\n.monaco-dropdown > .dropdown-label {\\r\\n\\tcursor: pointer;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-dropdown > .dropdown-label > .action-label.disabled {\\r\\n\\tcursor: default;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css": /*!*************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css ***! \*************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* ---------- Find input ---------- */\\r\\n\\r\\n.monaco-findInput {\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.monaco-findInput .monaco-inputbox {\\r\\n\\tfont-size: 13px;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-findInput > .controls {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 3px;\\r\\n\\tright: 2px;\\r\\n}\\r\\n\\r\\n.vs .monaco-findInput.disabled {\\r\\n\\tbackground-color: #E1E1E1;\\r\\n}\\r\\n\\r\\n/* Theming */\\r\\n.vs-dark .monaco-findInput.disabled {\\r\\n\\tbackground-color: #333;\\r\\n}\\r\\n\\r\\n/* Highlighting */\\r\\n.monaco-findInput.highlight-0 .controls {\\r\\n\\tanimation: monaco-findInput-highlight-0 100ms linear 0s;\\r\\n}\\r\\n.monaco-findInput.highlight-1 .controls {\\r\\n\\tanimation: monaco-findInput-highlight-1 100ms linear 0s;\\r\\n}\\r\\n.hc-black .monaco-findInput.highlight-0 .controls,\\r\\n.vs-dark .monaco-findInput.highlight-0 .controls {\\r\\n\\tanimation: monaco-findInput-highlight-dark-0 100ms linear 0s;\\r\\n}\\r\\n.hc-black .monaco-findInput.highlight-1 .controls,\\r\\n.vs-dark .monaco-findInput.highlight-1 .controls {\\r\\n\\tanimation: monaco-findInput-highlight-dark-1 100ms linear 0s;\\r\\n}\\r\\n\\r\\n@keyframes monaco-findInput-highlight-0 {\\r\\n\\t0% { background: rgba(253, 255, 0, 0.8); }\\r\\n\\t100% { background: transparent; }\\r\\n}\\r\\n@keyframes monaco-findInput-highlight-1 {\\r\\n\\t0% { background: rgba(253, 255, 0, 0.8); }\\r\\n\\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\\r\\n\\t99% { background: transparent; }\\r\\n}\\r\\n\\r\\n@keyframes monaco-findInput-highlight-dark-0 {\\r\\n\\t0% { background: rgba(255, 255, 255, 0.44); }\\r\\n\\t100% { background: transparent; }\\r\\n}\\r\\n@keyframes monaco-findInput-highlight-dark-1 {\\r\\n\\t0% { background: rgba(255, 255, 255, 0.44); }\\r\\n\\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\\r\\n\\t99% { background: transparent; }\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css": /*!*****************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css ***! \*****************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-hover {\\r\\n\\tcursor: default;\\r\\n\\tposition: absolute;\\r\\n\\toverflow: hidden;\\r\\n\\tz-index: 50;\\r\\n\\tuser-select: text;\\r\\n\\t-webkit-user-select: text;\\r\\n\\t-ms-user-select: text;\\r\\n\\tbox-sizing: initial;\\r\\n\\tanimation: fadein 100ms linear;\\r\\n\\tline-height: 1.5em;\\r\\n}\\r\\n\\r\\n.monaco-hover.hidden {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-contents {\\r\\n\\tpadding: 4px 8px;\\r\\n}\\r\\n\\r\\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {\\r\\n\\tmax-width: 500px;\\r\\n\\tword-wrap: break-word;\\r\\n}\\r\\n\\r\\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {\\r\\n\\t/* This is a strange rule but it avoids https://github.com/microsoft/vscode/issues/96795, just 100vw on its own caused the actual hover width to increase */\\r\\n\\tmin-width: calc(100% + 100vw);\\r\\n}\\r\\n\\r\\n.monaco-hover p,\\r\\n.monaco-hover .code,\\r\\n.monaco-hover ul {\\r\\n\\tmargin: 8px 0;\\r\\n}\\r\\n\\r\\n.monaco-hover code {\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n}\\r\\n\\r\\n.monaco-hover hr {\\r\\n\\tbox-sizing: border-box;\\r\\n\\tborder-left: 0px;\\r\\n\\tborder-right: 0px;\\r\\n\\tmargin-top: 4px;\\r\\n\\tmargin-bottom: -4px;\\r\\n\\tmargin-left: -8px;\\r\\n\\tmargin-right: -8px;\\r\\n\\theight: 1px;\\r\\n}\\r\\n\\r\\n.monaco-hover p:first-child,\\r\\n.monaco-hover .code:first-child,\\r\\n.monaco-hover ul:first-child {\\r\\n\\tmargin-top: 0;\\r\\n}\\r\\n\\r\\n.monaco-hover p:last-child,\\r\\n.monaco-hover .code:last-child,\\r\\n.monaco-hover ul:last-child {\\r\\n\\tmargin-bottom: 0;\\r\\n}\\r\\n\\r\\n/* MarkupContent Layout */\\r\\n.monaco-hover ul {\\r\\n\\tpadding-left: 20px;\\r\\n}\\r\\n.monaco-hover ol {\\r\\n\\tpadding-left: 20px;\\r\\n}\\r\\n\\r\\n.monaco-hover li > p {\\r\\n\\tmargin-bottom: 0;\\r\\n}\\r\\n\\r\\n.monaco-hover li > ul {\\r\\n\\tmargin-top: 0;\\r\\n}\\r\\n\\r\\n.monaco-hover code {\\r\\n\\tborder-radius: 3px;\\r\\n\\tpadding: 0 0.4em;\\r\\n}\\r\\n\\r\\n.monaco-hover .monaco-tokenized-source {\\r\\n\\twhite-space: pre-wrap;\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-row.status-bar {\\r\\n\\tfont-size: 12px;\\r\\n\\tline-height: 22px;\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-row.status-bar .actions {\\r\\n\\tdisplay: flex;\\r\\n\\tpadding: 0px 8px;\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-row.status-bar .actions .action-container {\\r\\n\\tmargin-right: 16px;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {\\r\\n\\tpadding-right: 4px;\\r\\n}\\r\\n\\r\\n.monaco-hover .markdown-hover .hover-contents .codicon {\\r\\n\\tcolor: inherit;\\r\\n\\tfont-size: inherit;\\r\\n\\tvertical-align: middle;\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-contents a.code-link:before {\\r\\n\\tcontent: '(';\\r\\n}\\r\\n.monaco-hover .hover-contents a.code-link:after {\\r\\n\\tcontent: ')';\\r\\n}\\r\\n\\r\\n.monaco-hover .hover-contents a.code-link {\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n.monaco-hover .hover-contents a.code-link > span {\\r\\n\\ttext-decoration: underline;\\r\\n\\t/** Hack to force underline to show **/\\r\\n\\tborder-bottom: 1px solid transparent;\\r\\n\\ttext-underline-position: under;\\r\\n}\\r\\n\\r\\n/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/\\r\\n.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents) span {\\r\\n\\tmargin-bottom: 4px;\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css": /*!*************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css ***! \*************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* ---------- Icon label ---------- */\\r\\n\\r\\n.monaco-icon-label {\\r\\n\\tdisplay: flex; /* required for icons support :before rule */\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.monaco-icon-label::before {\\r\\n\\r\\n\\t/* svg icons rendered as background image */\\r\\n\\tbackground-size: 16px;\\r\\n\\tbackground-position: left center;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tpadding-right: 6px;\\r\\n\\twidth: 16px;\\r\\n\\theight: 22px;\\r\\n\\tline-height: inherit !important;\\r\\n\\tdisplay: inline-block;\\r\\n\\r\\n\\t/* fonts icons */\\r\\n\\t-webkit-font-smoothing: antialiased;\\r\\n\\t-moz-osx-font-smoothing: grayscale;\\r\\n\\tvertical-align: top;\\r\\n\\r\\n\\tflex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */\\r\\n}\\r\\n\\r\\n.monaco-icon-label > .monaco-icon-label-container {\\r\\n\\tmin-width: 0;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {\\r\\n\\tcolor: inherit;\\r\\n\\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\\r\\n}\\r\\n\\r\\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {\\r\\n\\tmargin: 0 2px;\\r\\n\\topacity: 0.5;\\r\\n}\\r\\n\\r\\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\\r\\n\\topacity: .7;\\r\\n\\tmargin-left: 0.5em;\\r\\n\\tfont-size: 0.9em;\\r\\n\\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\\r\\n}\\r\\n\\r\\n.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{\\r\\n\\twhite-space: nowrap\\r\\n}\\r\\n\\r\\n.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\\r\\n\\topacity: .95;\\r\\n}\\r\\n\\r\\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\\r\\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\\r\\n\\tfont-style: italic;\\r\\n}\\r\\n\\r\\n.monaco-icon-label.deprecated {\\r\\n\\ttext-decoration: line-through;\\r\\n\\topacity: 0.66;\\r\\n}\\r\\n\\r\\n/* make sure apply italic font style to decorations as well */\\r\\n.monaco-icon-label.italic::after {\\r\\n\\tfont-style: italic;\\r\\n}\\r\\n\\r\\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\\r\\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\\r\\n\\ttext-decoration: line-through;\\r\\n}\\r\\n\\r\\n.monaco-icon-label::after {\\r\\n\\topacity: 0.75;\\r\\n\\tfont-size: 90%;\\r\\n\\tfont-weight: 600;\\r\\n\\tpadding: 0 16px 0 5px;\\r\\n\\ttext-align: center;\\r\\n}\\r\\n\\r\\n/* make sure selection color wins when a label is being selected */\\r\\n.monaco-list:focus .selected .monaco-icon-label, /* list */\\r\\n.monaco-list:focus .selected .monaco-icon-label::after\\r\\n{\\r\\n\\tcolor: inherit !important;\\r\\n}\\r\\n\\r\\n.monaco-list-row.focused.selected .label-description,\\r\\n.monaco-list-row.selected .label-description {\\r\\n\\topacity: .8;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css": /*!***********************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css ***! \***********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-inputbox {\\r\\n\\tposition: relative;\\r\\n\\tdisplay: block;\\r\\n\\tpadding: 0;\\r\\n\\tbox-sizing:\\tborder-box;\\r\\n\\r\\n\\t/* Customizable */\\r\\n\\tfont-size: inherit;\\r\\n}\\r\\n\\r\\n.monaco-inputbox.idle {\\r\\n\\tborder: 1px solid transparent;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > .input,\\r\\n.monaco-inputbox > .ibwrapper > .mirror {\\r\\n\\r\\n\\t/* Customizable */\\r\\n\\tpadding: 4px;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper {\\r\\n\\tposition: relative;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > .input {\\r\\n\\tdisplay: inline-block;\\r\\n\\tbox-sizing:\\tborder-box;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n\\tline-height: inherit;\\r\\n\\tborder: none;\\r\\n\\tfont-family: inherit;\\r\\n\\tfont-size: inherit;\\r\\n\\tresize: none;\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > input {\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > textarea.input {\\r\\n\\tdisplay: block;\\r\\n\\t-ms-overflow-style: none; /* IE 10+: hide scrollbars */\\r\\n\\tscrollbar-width: none; /* Firefox: hide scrollbars */\\r\\n\\toutline: none;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {\\r\\n\\tdisplay: none; /* Chrome + Safari: hide scrollbar */\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > textarea.input.empty {\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-inputbox > .ibwrapper > .mirror {\\r\\n\\tposition: absolute;\\r\\n\\tdisplay: inline-block;\\r\\n\\twidth: 100%;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\tbox-sizing: border-box;\\r\\n\\twhite-space: pre-wrap;\\r\\n\\tvisibility: hidden;\\r\\n\\tword-wrap: break-word;\\r\\n}\\r\\n\\r\\n/* Context view */\\r\\n\\r\\n.monaco-inputbox-container {\\r\\n\\ttext-align: right;\\r\\n}\\r\\n\\r\\n.monaco-inputbox-container .monaco-inputbox-message {\\r\\n\\tdisplay: inline-block;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-align: left;\\r\\n\\twidth: 100%;\\r\\n\\tbox-sizing:\\tborder-box;\\r\\n\\tpadding: 0.4em;\\r\\n\\tfont-size: 12px;\\r\\n\\tline-height: 17px;\\r\\n\\tmargin-top: -1px;\\r\\n\\tword-wrap: break-word;\\r\\n}\\r\\n\\r\\n/* Action bar support */\\r\\n.monaco-inputbox .monaco-action-bar {\\r\\n\\tposition: absolute;\\r\\n\\tright: 2px;\\r\\n\\ttop: 4px;\\r\\n}\\r\\n\\r\\n.monaco-inputbox .monaco-action-bar .action-item {\\r\\n\\tmargin-left: 2px;\\r\\n}\\r\\n\\r\\n.monaco-inputbox .monaco-action-bar .action-item .codicon {\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\twidth: 16px;\\r\\n\\theight: 16px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css ***! \*************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-keybinding {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tline-height: 10px;\\r\\n}\\r\\n\\r\\n.monaco-keybinding > .monaco-keybinding-key {\\r\\n\\tdisplay: inline-block;\\r\\n\\tborder: solid 1px rgba(204, 204, 204, 0.4);\\r\\n\\tborder-bottom-color: rgba(187, 187, 187, 0.4);\\r\\n\\tborder-radius: 3px;\\r\\n\\tbox-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);\\r\\n\\tbackground-color: rgba(221, 221, 221, 0.4);\\r\\n\\tvertical-align: middle;\\r\\n\\tcolor: #555;\\r\\n\\tfont-size: 11px;\\r\\n\\tpadding: 3px 5px;\\r\\n\\tmargin: 0 2px;\\r\\n}\\r\\n\\r\\n.monaco-keybinding > .monaco-keybinding-key:first-child {\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.monaco-keybinding > .monaco-keybinding-key:last-child {\\r\\n\\tmargin-right: 0;\\r\\n}\\r\\n\\r\\n.hc-black .monaco-keybinding > .monaco-keybinding-key,\\r\\n.vs-dark .monaco-keybinding > .monaco-keybinding-key {\\r\\n\\tbackground-color: rgba(128, 128, 128, 0.17);\\r\\n\\tcolor: #ccc;\\r\\n\\tborder: solid 1px rgba(51, 51, 51, 0.6);\\r\\n\\tborder-bottom-color: rgba(68, 68, 68, 0.6);\\r\\n\\tbox-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);\\r\\n}\\r\\n\\r\\n.monaco-keybinding > .monaco-keybinding-key-separator {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-keybinding > .monaco-keybinding-key-chord-separator {\\r\\n\\twidth: 6px;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css": /*!***************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css ***! \***************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-list {\\r\\n\\tposition: relative;\\r\\n\\theight: 100%;\\r\\n\\twidth: 100%;\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-list.mouse-support {\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n.monaco-list > .monaco-scrollable-element {\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-list-rows {\\r\\n\\tposition: relative;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-list.horizontal-scrolling .monaco-list-rows {\\r\\n\\twidth: auto;\\r\\n\\tmin-width: 100%;\\r\\n}\\r\\n\\r\\n.monaco-list-row {\\r\\n\\tposition: absolute;\\r\\n\\tbox-sizing: border-box;\\r\\n\\toverflow: hidden;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-list.mouse-support .monaco-list-row {\\r\\n\\tcursor: pointer;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n\\r\\n/* for OS X ballistic scrolling */\\r\\n.monaco-list-row.scrolling {\\r\\n\\tdisplay: none !important;\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n.monaco-list.element-focused,\\r\\n.monaco-list.selection-single,\\r\\n.monaco-list.selection-multiple {\\r\\n\\toutline: 0 !important;\\r\\n}\\r\\n\\r\\n.monaco-list:focus .monaco-list-row.selected .codicon {\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n\\r\\n/* Dnd */\\r\\n.monaco-drag-image {\\r\\n\\tdisplay: inline-block;\\r\\n\\tpadding: 1px 7px;\\r\\n\\tborder-radius: 10px;\\r\\n\\tfont-size: 12px;\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 1000;\\r\\n}\\r\\n\\r\\n/* Type filter */\\r\\n\\r\\n.monaco-list-type-filter {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tposition: absolute;\\r\\n\\tborder-radius: 2px;\\r\\n\\tpadding: 0px 3px;\\r\\n\\tmax-width: calc(100% - 10px);\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-align: right;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tcursor: all-scroll;\\r\\n\\tfont-size: 13px;\\r\\n\\tline-height: 18px;\\r\\n\\theight: 20px;\\r\\n\\tz-index: 1;\\r\\n\\ttop: 4px;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter.dragging {\\r\\n\\ttransition: top 0.2s, left 0.2s;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter.ne {\\r\\n\\tright: 4px;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter.nw {\\r\\n\\tleft: 4px;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter > .controls {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tbox-sizing: border-box;\\r\\n\\ttransition: width 0.2s;\\r\\n\\twidth: 0;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter.dragging > .controls,\\r\\n.monaco-list-type-filter:hover > .controls {\\r\\n\\twidth: 36px;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter > .controls > * {\\r\\n\\tborder: none;\\r\\n\\tbox-sizing: border-box;\\r\\n\\t-webkit-appearance: none;\\r\\n\\t-moz-appearance: none;\\r\\n\\tbackground: none;\\r\\n\\twidth: 16px;\\r\\n\\theight: 16px;\\r\\n\\tflex-shrink: 0;\\r\\n\\tmargin: 0;\\r\\n\\tpadding: 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter > .controls > .filter {\\r\\n\\tmargin-left: 4px;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter-message {\\r\\n\\tposition: absolute;\\r\\n\\tbox-sizing: border-box;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\tpadding: 40px 1em 1em 1em;\\r\\n\\ttext-align: center;\\r\\n\\twhite-space: normal;\\r\\n\\topacity: 0.7;\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter-message:empty {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* Electron */\\r\\n\\r\\n.monaco-list-type-filter {\\r\\n\\tcursor: grab;\\r\\n}\\r\\n\\r\\n.monaco-list-type-filter.dragging {\\r\\n\\tcursor: grabbing;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css": /*!*****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css ***! \*****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-mouse-cursor-text {\\r\\n\\tcursor: text;\\r\\n}\\r\\n\\r\\n/* The following selector looks a bit funny, but that is needed to cover all the workbench and the editor!! */\\r\\n.vs-dark .mac .monaco-mouse-cursor-text, .hc-black .mac .monaco-mouse-cursor-text,\\r\\n.vs-dark.mac .monaco-mouse-cursor-text, .hc-black.mac .monaco-mouse-cursor-text {\\r\\n\\tcursor: -webkit-image-set(url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=) 1x, url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC) 2x) 5 8, text;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css": /*!*****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css ***! \*****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-progress-container {\\r\\n\\twidth: 100%;\\r\\n\\theight: 5px;\\r\\n\\toverflow: hidden; /* keep progress bit in bounds */\\r\\n}\\r\\n\\r\\n.monaco-progress-container .progress-bit {\\r\\n\\twidth: 2%;\\r\\n\\theight: 5px;\\r\\n\\tposition: absolute;\\r\\n\\tleft: 0;\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-progress-container.active .progress-bit {\\r\\n\\tdisplay: inherit;\\r\\n}\\r\\n\\r\\n.monaco-progress-container.discrete .progress-bit {\\r\\n\\tleft: 0;\\r\\n\\ttransition: width 100ms linear;\\r\\n}\\r\\n\\r\\n.monaco-progress-container.discrete.done .progress-bit {\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-progress-container.infinite .progress-bit {\\r\\n\\tanimation-name: progress;\\r\\n\\tanimation-duration: 4s;\\r\\n\\tanimation-iteration-count: infinite;\\r\\n\\tanimation-timing-function: linear;\\r\\n\\ttransform: translate3d(0px, 0px, 0px);\\r\\n}\\r\\n\\r\\n/**\\r\\n * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of\\r\\n * that container. Since translateX is relative to the progress bit size, we have to multiple it with\\r\\n * its relative size to the parent container:\\r\\n * parent width: 5000%\\r\\n * bit width: 100%\\r\\n * translateX should be as follow:\\r\\n * 50%: 5000% * 50% - 50% (set to center) = 2450%\\r\\n * 100%: 5000% * 100% - 100% (do not overflow) = 4900%\\r\\n */\\r\\n@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css": /*!***************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css ***! \***************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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:root {\\r\\n\\t--sash-size: 4px;\\r\\n}\\r\\n\\r\\n.monaco-sash {\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 35;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n\\r\\n.monaco-sash.disabled {\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\\r\\n.monaco-sash.mac.vertical {\\r\\n\\tcursor: col-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.vertical.minimum {\\r\\n\\tcursor: e-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.vertical.maximum {\\r\\n\\tcursor: w-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.mac.horizontal {\\r\\n\\tcursor: row-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.horizontal.minimum {\\r\\n\\tcursor: s-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.horizontal.maximum {\\r\\n\\tcursor: n-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.disabled {\\r\\n\\tcursor: default !important;\\r\\n\\tpointer-events: none !important;\\r\\n}\\r\\n\\r\\n.monaco-sash.vertical {\\r\\n\\tcursor: ew-resize;\\r\\n\\ttop: 0;\\r\\n\\twidth: var(--sash-size);\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-sash.horizontal {\\r\\n\\tcursor: ns-resize;\\r\\n\\tleft: 0;\\r\\n\\twidth: 100%;\\r\\n\\theight: var(--sash-size);\\r\\n}\\r\\n\\r\\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\\r\\n\\tcontent: \\\" \\\";\\r\\n\\theight: calc(var(--sash-size) * 2);\\r\\n\\twidth: calc(var(--sash-size) * 2);\\r\\n\\tz-index: 100;\\r\\n\\tdisplay: block;\\r\\n\\tcursor: all-scroll;\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\\r\\n\\t> .orthogonal-drag-handle.start,\\r\\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\\r\\n\\t> .orthogonal-drag-handle.end {\\r\\n\\tcursor: nwse-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\\r\\n\\t> .orthogonal-drag-handle.end,\\r\\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\\r\\n\\t> .orthogonal-drag-handle.start {\\r\\n\\tcursor: nesw-resize;\\r\\n}\\r\\n\\r\\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\\r\\n\\tleft: calc(var(--sash-size) * -0.5);\\r\\n\\ttop: calc(var(--sash-size) * -1);\\r\\n}\\r\\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\\r\\n\\tleft: calc(var(--sash-size) * -0.5);\\r\\n\\tbottom: calc(var(--sash-size) * -1);\\r\\n}\\r\\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\\r\\n\\ttop: calc(var(--sash-size) * -0.5);\\r\\n\\tleft: calc(var(--sash-size) * -1);\\r\\n}\\r\\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\\r\\n\\ttop: calc(var(--sash-size) * -0.5);\\r\\n\\tright: calc(var(--sash-size) * -1);\\r\\n}\\r\\n\\r\\n.monaco-sash {\\r\\n\\ttransition: background-color 0.1s ease-out;\\r\\n\\tbackground: transparent;\\r\\n}\\r\\n\\r\\n/** Debug **/\\r\\n\\r\\n.monaco-sash.debug {\\r\\n\\tbackground: cyan;\\r\\n}\\r\\n\\r\\n.monaco-sash.debug.disabled {\\r\\n\\tbackground: rgba(0, 255, 255, 0.2);\\r\\n}\\r\\n\\r\\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\\r\\n\\tbackground: red;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css": /*!********************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css ***! \********************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* Arrows */\\r\\n.monaco-scrollable-element > .scrollbar > .scra {\\r\\n\\tcursor: pointer;\\r\\n\\tfont-size: 11px !important;\\r\\n}\\r\\n\\r\\n.monaco-scrollable-element > .visible {\\r\\n\\topacity: 1;\\r\\n\\r\\n\\t/* Background rule added for IE9 - to allow clicks on dom node */\\r\\n\\tbackground:rgba(0,0,0,0);\\r\\n\\r\\n\\ttransition: opacity 100ms linear;\\r\\n}\\r\\n.monaco-scrollable-element > .invisible {\\r\\n\\topacity: 0;\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n.monaco-scrollable-element > .invisible.fade {\\r\\n\\ttransition: opacity 800ms linear;\\r\\n}\\r\\n\\r\\n/* Scrollable Content Inset Shadow */\\r\\n.monaco-scrollable-element > .shadow {\\r\\n\\tposition: absolute;\\r\\n\\tdisplay: none;\\r\\n}\\r\\n.monaco-scrollable-element > .shadow.top {\\r\\n\\tdisplay: block;\\r\\n\\ttop: 0;\\r\\n\\tleft: 3px;\\r\\n\\theight: 3px;\\r\\n\\twidth: 100%;\\r\\n\\tbox-shadow: #DDD 0 6px 6px -6px inset;\\r\\n}\\r\\n.monaco-scrollable-element > .shadow.left {\\r\\n\\tdisplay: block;\\r\\n\\ttop: 3px;\\r\\n\\tleft: 0;\\r\\n\\theight: 100%;\\r\\n\\twidth: 3px;\\r\\n\\tbox-shadow: #DDD 6px 0 6px -6px inset;\\r\\n}\\r\\n.monaco-scrollable-element > .shadow.top-left-corner {\\r\\n\\tdisplay: block;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\theight: 3px;\\r\\n\\twidth: 3px;\\r\\n}\\r\\n.monaco-scrollable-element > .shadow.top.left {\\r\\n\\tbox-shadow: #DDD 6px 6px 6px -6px inset;\\r\\n}\\r\\n\\r\\n/* ---------- Default Style ---------- */\\r\\n\\r\\n.vs .monaco-scrollable-element > .scrollbar > .slider {\\r\\n\\tbackground: rgba(100, 100, 100, .4);\\r\\n}\\r\\n.vs-dark .monaco-scrollable-element > .scrollbar > .slider {\\r\\n\\tbackground: rgba(121, 121, 121, .4);\\r\\n}\\r\\n.hc-black .monaco-scrollable-element > .scrollbar > .slider {\\r\\n\\tbackground: rgba(111, 195, 223, .6);\\r\\n}\\r\\n\\r\\n.monaco-scrollable-element > .scrollbar > .slider:hover {\\r\\n\\tbackground: rgba(100, 100, 100, .7);\\r\\n}\\r\\n.hc-black .monaco-scrollable-element > .scrollbar > .slider:hover {\\r\\n\\tbackground: rgba(111, 195, 223, .8);\\r\\n}\\r\\n\\r\\n.monaco-scrollable-element > .scrollbar > .slider.active {\\r\\n\\tbackground: rgba(0, 0, 0, .6);\\r\\n}\\r\\n.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active {\\r\\n\\tbackground: rgba(191, 191, 191, .4);\\r\\n}\\r\\n.hc-black .monaco-scrollable-element > .scrollbar > .slider.active {\\r\\n\\tbackground: rgba(111, 195, 223, 1);\\r\\n}\\r\\n\\r\\n.vs-dark .monaco-scrollable-element .shadow.top {\\r\\n\\tbox-shadow: none;\\r\\n}\\r\\n\\r\\n.vs-dark .monaco-scrollable-element .shadow.left {\\r\\n\\tbox-shadow: #000 6px 0 6px -6px inset;\\r\\n}\\r\\n\\r\\n.vs-dark .monaco-scrollable-element .shadow.top.left {\\r\\n\\tbox-shadow: #000 6px 6px 6px -6px inset;\\r\\n}\\r\\n\\r\\n.hc-black .monaco-scrollable-element .shadow.top {\\r\\n\\tbox-shadow: none;\\r\\n}\\r\\n\\r\\n.hc-black .monaco-scrollable-element .shadow.left {\\r\\n\\tbox-shadow: none;\\r\\n}\\r\\n\\r\\n.hc-black .monaco-scrollable-element .shadow.top.left {\\r\\n\\tbox-shadow: none;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css": /*!*************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css ***! \*************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-split-view2 {\\r\\n\\tposition: relative;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-split-view2 > .sash-container {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\\r\\n.monaco-split-view2 > .sash-container > .monaco-sash {\\r\\n\\tpointer-events: initial;\\r\\n}\\r\\n\\r\\n.monaco-split-view2 > .monaco-scrollable-element {\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n\\twhite-space: nowrap;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {\\r\\n\\twhite-space: initial;\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\\r\\n\\tcontent: ' ';\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\tz-index: 5;\\r\\n\\tpointer-events: none;\\r\\n\\tbackground-color: var(--separator-border);\\r\\n}\\r\\n\\r\\n.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\\r\\n\\theight: 100%;\\r\\n\\twidth: 1px;\\r\\n}\\r\\n\\r\\n.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\\r\\n\\theight: 1px;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css": /*!*****************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css ***! \*****************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-table {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\tposition: relative;\\r\\n\\theight: 100%;\\r\\n\\twidth: 100%;\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-table > .monaco-split-view2 {\\r\\n\\tborder-bottom: 1px solid transparent;\\r\\n}\\r\\n\\r\\n.monaco-table > .monaco-list {\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.monaco-table-tr {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-table-th {\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n\\tfont-weight: bold;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.monaco-table-th,\\r\\n.monaco-table-td {\\r\\n\\tbox-sizing: border-box;\\r\\n\\tpadding-left: 10px;\\r\\n\\tflex-shrink: 0;\\r\\n\\toverflow: hidden;\\r\\n\\twhite-space: nowrap;\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.monaco-table-th[data-col-index=\\\"0\\\"],\\r\\n.monaco-table-td[data-col-index=\\\"0\\\"] {\\r\\n\\tpadding-left: 20px;\\r\\n}\\r\\n\\r\\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\\r\\n\\tcontent: \\\"\\\";\\r\\n\\tposition: absolute;\\r\\n\\tleft: calc(var(--sash-size) / 2);\\r\\n\\twidth: 0;\\r\\n\\tborder-left: 1px solid transparent;\\r\\n}\\r\\n\\r\\n.monaco-table > .monaco-split-view2,\\r\\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\\r\\n\\ttransition: border-color 0.2s ease-out;\\r\\n}\\r\\n/*\\r\\n.monaco-table:hover > .monaco-split-view2,\\r\\n.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\\r\\n\\tborder-color: rgba(204, 204, 204, 0.2);\\r\\n} */\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css": /*!*********************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css ***! \*********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-tl-row {\\r\\n\\tdisplay: flex;\\r\\n\\theight: 100%;\\r\\n\\talign-items: center;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.monaco-tl-indent {\\r\\n\\theight: 100%;\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft: 16px;\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\\r\\n.hide-arrows .monaco-tl-indent {\\r\\n\\tleft: 12px;\\r\\n}\\r\\n\\r\\n.monaco-tl-indent > .indent-guide {\\r\\n\\tdisplay: inline-block;\\r\\n\\tbox-sizing: border-box;\\r\\n\\theight: 100%;\\r\\n\\tborder-left: 1px solid transparent;\\r\\n}\\r\\n\\r\\n.monaco-tl-indent > .indent-guide {\\r\\n\\ttransition: border-color 0.1s linear;\\r\\n}\\r\\n\\r\\n.monaco-tl-twistie,\\r\\n.monaco-tl-contents {\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-tl-twistie {\\r\\n\\tfont-size: 10px;\\r\\n\\ttext-align: right;\\r\\n\\tpadding-right: 6px;\\r\\n\\tflex-shrink: 0;\\r\\n\\twidth: 16px;\\r\\n\\tdisplay: flex !important;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n\\tcolor: inherit !important;\\r\\n\\ttransform: translateX(3px);\\r\\n}\\r\\n\\r\\n.monaco-tl-contents {\\r\\n\\tflex: 1;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n.monaco-tl-twistie::before {\\r\\n\\tborder-radius: 20px;\\r\\n}\\r\\n\\r\\n.monaco-tl-twistie.collapsed::before {\\r\\n\\ttransform: rotate(-90deg);\\r\\n}\\r\\n\\r\\n.monaco-tl-twistie.codicon-tree-item-loading::before {\\r\\n\\t/* Use steps to throttle FPS to reduce CPU usage */\\r\\n\\tanimation: codicon-spin 1.25s steps(30) infinite;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css": /*!************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css ***! \************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.quick-input-widget {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 600px;\\r\\n\\tz-index: 2000;\\r\\n\\tpadding-bottom: 6px;\\r\\n\\tleft: 50%;\\r\\n\\tmargin-left: -300px;\\r\\n}\\r\\n\\r\\n.quick-input-titlebar {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.quick-input-left-action-bar {\\r\\n\\tdisplay: flex;\\r\\n\\tmargin-left: 4px;\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.quick-input-left-action-bar.monaco-action-bar .actions-container {\\r\\n\\tjustify-content: flex-start;\\r\\n}\\r\\n\\r\\n.quick-input-title {\\r\\n\\tpadding: 3px 0px;\\r\\n\\ttext-align: center;\\r\\n}\\r\\n\\r\\n.quick-input-right-action-bar {\\r\\n\\tdisplay: flex;\\r\\n\\tmargin-right: 4px;\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\\r\\n\\tmargin: 0;\\r\\n\\twidth: 19px;\\r\\n\\theight: 100%;\\r\\n\\tbackground-position: center;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.quick-input-description {\\r\\n\\tmargin: 6px;\\r\\n}\\r\\n\\r\\n.quick-input-header .quick-input-description {\\r\\n\\tmargin: 4px 2px;\\r\\n}\\r\\n\\r\\n.quick-input-header {\\r\\n\\tdisplay: flex;\\r\\n\\tpadding: 6px 6px 0px 6px;\\r\\n\\tmargin-bottom: -2px;\\r\\n}\\r\\n\\r\\n.quick-input-widget.hidden-input .quick-input-header {\\r\\n\\t/* reduce margins and paddings when input box hidden */\\r\\n\\tpadding: 0;\\r\\n\\tmargin-bottom: 0;\\r\\n}\\r\\n\\r\\n.quick-input-and-message {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\tflex-grow: 1;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.quick-input-check-all {\\r\\n\\talign-self: center;\\r\\n\\tmargin: 0;\\r\\n}\\r\\n\\r\\n.quick-input-filter {\\r\\n\\tflex-grow: 1;\\r\\n\\tdisplay: flex;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.quick-input-box {\\r\\n\\tflex-grow: 1;\\r\\n}\\r\\n\\r\\n.quick-input-widget.show-checkboxes .quick-input-box,\\r\\n.quick-input-widget.show-checkboxes .quick-input-message {\\r\\n\\tmargin-left: 5px;\\r\\n}\\r\\n\\r\\n.quick-input-visible-count {\\r\\n\\tposition: absolute;\\r\\n\\tleft: -10000px;\\r\\n}\\r\\n\\r\\n.quick-input-count {\\r\\n\\talign-self: center;\\r\\n\\tposition: absolute;\\r\\n\\tright: 4px;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.quick-input-count .monaco-count-badge {\\r\\n\\tvertical-align: middle;\\r\\n\\tpadding: 2px 4px;\\r\\n\\tborder-radius: 2px;\\r\\n\\tmin-height: auto;\\r\\n\\tline-height: normal;\\r\\n}\\r\\n\\r\\n.quick-input-action {\\r\\n\\tmargin-left: 6px;\\r\\n}\\r\\n\\r\\n.quick-input-action .monaco-text-button {\\r\\n\\tfont-size: 11px;\\r\\n\\tpadding: 0 6px;\\r\\n\\tdisplay: flex;\\r\\n\\theight: 27.5px;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.quick-input-message {\\r\\n\\tmargin-top: -1px;\\r\\n\\tpadding: 5px 5px 2px 5px;\\r\\n}\\r\\n\\r\\n.quick-input-message > .codicon {\\r\\n\\tmargin: 0 0.2em;\\r\\n\\tvertical-align: text-bottom;\\r\\n}\\r\\n\\r\\n.quick-input-progress.monaco-progress-container {\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.quick-input-progress.monaco-progress-container,\\r\\n.quick-input-progress.monaco-progress-container .progress-bit {\\r\\n\\theight: 2px;\\r\\n}\\r\\n\\r\\n.quick-input-list {\\r\\n\\tline-height: 22px;\\r\\n\\tmargin-top: 6px;\\r\\n}\\r\\n\\r\\n.quick-input-widget.hidden-input .quick-input-list {\\r\\n\\tmargin-top: 0; /* reduce margins when input box hidden */\\r\\n}\\r\\n\\r\\n.quick-input-list .monaco-list {\\r\\n\\toverflow: hidden;\\r\\n\\tmax-height: calc(20 * 22px);\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry {\\r\\n\\tbox-sizing: border-box;\\r\\n\\toverflow: hidden;\\r\\n\\tdisplay: flex;\\r\\n\\theight: 100%;\\r\\n\\tpadding: 0 6px;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\\r\\n\\tborder-top-width: 1px;\\r\\n\\tborder-top-style: solid;\\r\\n}\\r\\n\\r\\n.quick-input-list .monaco-list-row:first-child .quick-input-list-entry.quick-input-list-separator-border {\\r\\n\\tborder-top-style: none;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-label {\\r\\n\\toverflow: hidden;\\r\\n\\tdisplay: flex;\\r\\n\\theight: 100%;\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-checkbox {\\r\\n\\talign-self: center;\\r\\n\\tmargin: 0;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-rows {\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\theight: 100%;\\r\\n\\tflex: 1;\\r\\n\\tmargin-left: 5px;\\r\\n}\\r\\n\\r\\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\\r\\n\\tmargin-left: 10px;\\r\\n}\\r\\n\\r\\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\\r\\n\\tdisplay: inline;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\\r\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\\r\\n\\tflex: 1; /* make sure the icon label grows within the row */\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {\\r\\n\\tvertical-align: sub;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label span {\\r\\n\\topacity: 1;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\\r\\n\\tmargin-right: 8px; /* separate from the separator label or scrollbar if any */\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-label-meta {\\r\\n\\topacity: 0.7;\\r\\n\\tline-height: normal;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n.quick-input-list .monaco-highlighted-label .highlight {\\r\\n\\tfont-weight: bold;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\\r\\n\\tmargin-right: 8px; /* separate from keybindings or actions */\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry-action-bar {\\r\\n\\tdisplay: flex;\\r\\n\\tflex: 0;\\r\\n\\toverflow: visible;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\\r\\n\\t/*\\r\\n\\t * By default, actions in the quick input action bar are hidden\\r\\n\\t * until hovered over them or selected.\\r\\n\\t */\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\\r\\n\\tmargin: 0;\\r\\n\\theight: 100%;\\r\\n\\tpadding: 0 2px;\\r\\n\\tvertical-align: middle;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry-action-bar {\\r\\n\\tmargin-top: 1px;\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry-action-bar {\\r\\n\\tmargin-right: 4px; /* separate from scrollbar */\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\\r\\n\\tmargin-right: 4px; /* separate actions */\\r\\n}\\r\\n\\r\\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\\r\\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\\r\\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css": /*!*******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css ***! \*******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .inputarea {\\r\\n\\tmin-width: 0;\\r\\n\\tmin-height: 0;\\r\\n\\tmargin: 0;\\r\\n\\tpadding: 0;\\r\\n\\tposition: absolute;\\r\\n\\toutline: none !important;\\r\\n\\tresize: none;\\r\\n\\tborder: none;\\r\\n\\toverflow: hidden;\\r\\n\\tcolor: transparent;\\r\\n\\tbackground-color: transparent;\\r\\n}\\r\\n/*.monaco-editor .inputarea {\\r\\n\\tposition: fixed !important;\\r\\n\\twidth: 800px !important;\\r\\n\\theight: 500px !important;\\r\\n\\ttop: initial !important;\\r\\n\\tleft: initial !important;\\r\\n\\tbottom: 0 !important;\\r\\n\\tright: 0 !important;\\r\\n\\tcolor: black !important;\\r\\n\\tbackground: white !important;\\r\\n\\tline-height: 15px !important;\\r\\n\\tfont-size: 14px !important;\\r\\n}*/\\r\\n.monaco-editor .inputarea.ime-input {\\r\\n\\tz-index: 10;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css": /*!********************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css ***! \********************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .view-overlays .current-line {\\r\\n\\tdisplay: block;\\r\\n\\tposition: absolute;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n.monaco-editor .margin-view-overlays .current-line {\\r\\n\\tdisplay: block;\\r\\n\\tposition: absolute;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both {\\r\\n\\tborder-right: 0;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css": /*!**************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css ***! \**************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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\\tKeeping name short for faster parsing.\\r\\n\\tcdr = core decorations rendering (div)\\r\\n*/\\r\\n.monaco-editor .lines-content .cdr {\\r\\n\\tposition: absolute;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css": /*!**************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css ***! \**************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .glyph-margin {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n/*\\r\\n\\tKeeping name short for faster parsing.\\r\\n\\tcgmr = core glyph margin rendering (div)\\r\\n*/\\r\\n.monaco-editor .margin-view-overlays .cgmr {\\r\\n\\tposition: absolute;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css": /*!****************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css ***! \****************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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\\tKeeping name short for faster parsing.\\r\\n\\tcigr = core ident guides rendering (div)\\r\\n*/\\r\\n.monaco-editor .lines-content .cigr {\\r\\n\\tposition: absolute;\\r\\n}\\r\\n.monaco-editor .lines-content .cigra {\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css": /*!**************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css ***! \**************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .margin-view-overlays .line-numbers {\\r\\n\\tfont-variant-numeric: tabular-nums;\\r\\n\\tposition: absolute;\\r\\n\\ttext-align: right;\\r\\n\\tdisplay: inline-block;\\r\\n\\tvertical-align: middle;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tcursor: default;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .relative-current-line-number {\\r\\n\\ttext-align: left;\\r\\n\\tdisplay: inline-block;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .margin-view-overlays .line-numbers.lh-odd {\\r\\n\\tmargin-top: 1px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css": /*!******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css ***! \******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* Uncomment to see lines flashing when they're painted */\\r\\n/*.monaco-editor .view-lines > .view-line {\\r\\n\\tbackground-color: none;\\r\\n\\tanimation-name: flash-background;\\r\\n\\tanimation-duration: 800ms;\\r\\n}\\r\\n@keyframes flash-background {\\r\\n\\t0% { background-color: lightgreen; }\\r\\n\\t100% { background-color: none }\\r\\n}*/\\r\\n\\r\\n.monaco-editor.no-user-select .lines-content,\\r\\n.monaco-editor.no-user-select .view-line,\\r\\n.monaco-editor.no-user-select .view-lines {\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .view-lines {\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .view-line {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .mtkz {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n/* TODO@tokenization bootstrap fix */\\r\\n/*.monaco-editor .view-line > span > span {\\r\\n\\tfloat: none;\\r\\n\\tmin-height: inherit;\\r\\n\\tmargin-left: inherit;\\r\\n}*/\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css": /*!************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css ***! \************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .lines-decorations {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tbackground: white;\\r\\n}\\r\\n\\r\\n/*\\r\\n\\tKeeping name short for faster parsing.\\r\\n\\tcldr = core lines decorations rendering (div)\\r\\n*/\\r\\n.monaco-editor .margin-view-overlays .cldr {\\r\\n\\tposition: absolute;\\r\\n\\theight: 100%;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css": /*!**************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css ***! \**************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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\\tKeeping name short for faster parsing.\\r\\n\\tcmdr = core margin decorations rendering (div)\\r\\n*/\\r\\n.monaco-editor .margin-view-overlays .cmdr {\\r\\n\\tposition: absolute;\\r\\n\\tleft: 0;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css": /*!******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css ***! \******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* START cover the case that slider is visible on mouseover */\\r\\n.monaco-editor .minimap.slider-mouseover .minimap-slider {\\r\\n\\topacity: 0;\\r\\n\\ttransition: opacity 100ms linear;\\r\\n}\\r\\n.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {\\r\\n\\topacity: 1;\\r\\n}\\r\\n.monaco-editor .minimap.slider-mouseover .minimap-slider.active {\\r\\n\\topacity: 1;\\r\\n}\\r\\n/* END cover the case that slider is visible on mouseover */\\r\\n\\r\\n.monaco-editor .minimap-shadow-hidden {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 0;\\r\\n}\\r\\n.monaco-editor .minimap-shadow-visible {\\r\\n\\tposition: absolute;\\r\\n\\tleft: -6px;\\r\\n\\twidth: 6px;\\r\\n}\\r\\n.monaco-editor.no-minimap-shadow .minimap-shadow-visible {\\r\\n\\tposition: absolute;\\r\\n\\tleft: -1px;\\r\\n\\twidth: 1px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css": /*!********************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css ***! \********************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .overlayWidgets {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft:0;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css": /*!****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css ***! \****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .view-ruler {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css": /*!************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css ***! \************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .scroll-decoration {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\theight: 6px;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css": /*!************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css ***! \************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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\\tKeeping name short for faster parsing.\\r\\n\\tcslr = core selections layer rendering (div)\\r\\n*/\\r\\n.monaco-editor .lines-content .cslr {\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.monaco-editor\\t\\t\\t.top-left-radius\\t\\t{ border-top-left-radius: 3px; }\\r\\n.monaco-editor\\t\\t\\t.bottom-left-radius\\t\\t{ border-bottom-left-radius: 3px; }\\r\\n.monaco-editor\\t\\t\\t.top-right-radius\\t\\t{ border-top-right-radius: 3px; }\\r\\n.monaco-editor\\t\\t\\t.bottom-right-radius\\t{ border-bottom-right-radius: 3px; }\\r\\n\\r\\n.monaco-editor.hc-black .top-left-radius\\t\\t{ border-top-left-radius: 0; }\\r\\n.monaco-editor.hc-black .bottom-left-radius\\t\\t{ border-bottom-left-radius: 0; }\\r\\n.monaco-editor.hc-black .top-right-radius\\t\\t{ border-top-right-radius: 0; }\\r\\n.monaco-editor.hc-black .bottom-right-radius\\t{ border-bottom-right-radius: 0; }\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css": /*!**************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css ***! \**************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .cursors-layer {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .cursors-layer > .cursor {\\r\\n\\tposition: absolute;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n/* -- smooth-caret-animation -- */\\r\\n.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {\\r\\n\\ttransition: all 80ms;\\r\\n}\\r\\n\\r\\n/* -- block-outline-style -- */\\r\\n.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {\\r\\n\\tbox-sizing: border-box;\\r\\n\\tbackground: transparent !important;\\r\\n\\tborder-style: solid;\\r\\n\\tborder-width: 1px;\\r\\n}\\r\\n\\r\\n/* -- underline-style -- */\\r\\n.monaco-editor .cursors-layer.cursor-underline-style > .cursor {\\r\\n\\tborder-bottom-width: 2px;\\r\\n\\tborder-bottom-style: solid;\\r\\n\\tbackground: transparent !important;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n/* -- underline-thin-style -- */\\r\\n.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {\\r\\n\\tborder-bottom-width: 1px;\\r\\n\\tborder-bottom-style: solid;\\r\\n\\tbackground: transparent !important;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n@keyframes monaco-cursor-smooth {\\r\\n\\t0%,\\r\\n\\t20% {\\r\\n\\t\\topacity: 1;\\r\\n\\t}\\r\\n\\t60%,\\r\\n\\t100% {\\r\\n\\t\\topacity: 0;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@keyframes monaco-cursor-phase {\\r\\n\\t0%,\\r\\n\\t20% {\\r\\n\\t\\topacity: 1;\\r\\n\\t}\\r\\n\\t90%,\\r\\n\\t100% {\\r\\n\\t\\topacity: 0;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@keyframes monaco-cursor-expand {\\r\\n\\t0%,\\r\\n\\t20% {\\r\\n\\t\\ttransform: scaleY(1);\\r\\n\\t}\\r\\n\\t80%,\\r\\n\\t100% {\\r\\n\\t\\ttransform: scaleY(0);\\r\\n\\t}\\r\\n}\\r\\n\\r\\n.cursor-smooth {\\r\\n\\tanimation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;\\r\\n}\\r\\n\\r\\n.cursor-phase {\\r\\n\\tanimation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;\\r\\n}\\r\\n\\r\\n.cursor-expand > .cursor {\\r\\n\\tanimation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.css": /*!****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.css ***! \****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* ---------- DiffEditor ---------- */\\r\\n\\r\\n.monaco-diff-editor .diffOverview {\\r\\n\\tz-index: 9;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diffOverview .diffViewport {\\r\\n\\tz-index: 10;\\r\\n}\\r\\n\\r\\n/* colors not externalized: using transparancy on background */\\r\\n.monaco-diff-editor.vs\\t\\t\\t.diffOverview { background: rgba(0, 0, 0, 0.03); }\\r\\n.monaco-diff-editor.vs-dark\\t\\t.diffOverview { background: rgba(255, 255, 255, 0.01); }\\r\\n\\r\\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\\t\\t.scrollbar { background: rgba(0,0,0,0); }\\r\\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\\t.scrollbar { background: rgba(0,0,0,0); }\\r\\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\\t.scrollbar { background: none; }\\r\\n\\r\\n.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {\\r\\n\\tz-index: 10;\\r\\n}\\r\\n.modified-in-monaco-diff-editor\\t\\t\\t\\t.slider.active { background: rgba(171, 171, 171, .4); }\\r\\n.modified-in-monaco-diff-editor.hc-black\\t.slider.active { background: none; }\\r\\n\\r\\n/* ---------- Diff ---------- */\\r\\n\\r\\n.monaco-editor .insert-sign,\\r\\n.monaco-diff-editor .insert-sign,\\r\\n.monaco-editor .delete-sign,\\r\\n.monaco-diff-editor .delete-sign {\\r\\n\\tfont-size: 11px !important;\\r\\n\\topacity: 0.7 !important;\\r\\n\\tdisplay: flex !important;\\r\\n\\talign-items: center;\\r\\n}\\r\\n.monaco-editor.hc-black .insert-sign,\\r\\n.monaco-diff-editor.hc-black .insert-sign,\\r\\n.monaco-editor.hc-black .delete-sign,\\r\\n.monaco-diff-editor.hc-black .delete-sign {\\r\\n\\topacity: 1;\\r\\n}\\r\\n\\r\\n.monaco-editor .inline-deleted-margin-view-zone {\\r\\n\\ttext-align: right;\\r\\n}\\r\\n.monaco-editor .inline-added-margin-view-zone {\\r\\n\\ttext-align: right;\\r\\n}\\r\\n\\r\\n/* ---------- Inline Diff ---------- */\\r\\n\\r\\n.monaco-editor .view-zones .view-lines .view-line span {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-editor .margin-view-zones .lightbulb-glyph:hover {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.css": /*!****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.css ***! \****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-diff-editor .diff-review-line-number {\\r\\n\\ttext-align: right;\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review {\\r\\n\\tposition: absolute;\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-summary {\\r\\n\\tpadding-left: 10px;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-shadow {\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-row {\\r\\n\\twhite-space: pre;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-table {\\r\\n\\tdisplay: table;\\r\\n\\tmin-width: 100%;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-row {\\r\\n\\tdisplay: table-row;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-spacer {\\r\\n\\tdisplay: inline-block;\\r\\n\\twidth: 10px;\\r\\n\\tvertical-align: middle;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-spacer > .codicon {\\r\\n\\tfont-size: 9px !important;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-actions {\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tright: 10px;\\r\\n\\ttop: 2px;\\r\\n}\\r\\n\\r\\n.monaco-diff-editor .diff-review-actions .action-label {\\r\\n\\twidth: 16px;\\r\\n\\theight: 16px;\\r\\n\\tmargin: 2px 0;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css": /*!************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css ***! \************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* -------------------- IE10 remove auto clear button -------------------- */\\r\\n\\r\\n::-ms-clear {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* All widgets */\\r\\n/* I am not a big fan of this rule */\\r\\n.monaco-editor .editor-widget input {\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n\\r\\n/* -------------------- Editor -------------------- */\\r\\n\\r\\n.monaco-editor {\\r\\n\\tposition: relative;\\r\\n\\toverflow: visible;\\r\\n\\t-webkit-text-size-adjust: 100%;\\r\\n}\\r\\n\\r\\n/* -------------------- Misc -------------------- */\\r\\n\\r\\n.monaco-editor .overflow-guard {\\r\\n\\tposition: relative;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n.monaco-editor .view-overlays {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n/*\\r\\n.monaco-editor .auto-closed-character {\\r\\n\\topacity: 0.3;\\r\\n}\\r\\n*/\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.css": /*!******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.css ***! \******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .selection-anchor {\\r\\n\\tbackground-color: #007ACC;\\r\\n\\twidth: 2px !important;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.css": /*!************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.css ***! \************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .bracket-match {\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/lightBulbWidget.css": /*!*******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/lightBulbWidget.css ***! \*******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .contentWidgets .codicon-light-bulb,\\r\\n.monaco-editor .contentWidgets .codicon-lightbulb-autofix {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.monaco-editor .contentWidgets .codicon-light-bulb:hover,\\r\\n.monaco-editor .contentWidgets .codicon-lightbulb-autofix:hover {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/lightBulbWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codelens/codelensWidget.css": /*!****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codelens/codelensWidget.css ***! \****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .codelens-decoration {\\r\\n\\toverflow: hidden;\\r\\n\\tdisplay: inline-block;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .codelens-decoration > span,\\r\\n.monaco-editor .codelens-decoration > a {\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n\\twhite-space: nowrap;\\r\\n\\tvertical-align: sub;\\r\\n}\\r\\n\\r\\n.monaco-editor .codelens-decoration > a {\\r\\n\\ttext-decoration: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .codelens-decoration > a:hover {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.monaco-editor .codelens-decoration .codicon {\\r\\n\\tvertical-align: middle;\\r\\n\\tcolor: currentColor !important;\\r\\n}\\r\\n\\r\\n.monaco-editor .codelens-decoration > a:hover .codicon::before {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n@keyframes fadein {\\r\\n\\t0% { opacity: 0; visibility: visible;}\\r\\n\\t100% { opacity: 1; }\\r\\n}\\r\\n\\r\\n.monaco-editor .codelens-decoration.fadein {\\r\\n\\tanimation: fadein 0.1s linear;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/codelens/codelensWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/colorPicker.css": /*!****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/colorPicker.css ***! \****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.colorpicker-widget {\\r\\n\\theight: 190px;\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .colorpicker-hover:focus {\\r\\n\\toutline: none;\\r\\n}\\r\\n\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.colorpicker-header {\\r\\n\\tdisplay: flex;\\r\\n\\theight: 24px;\\r\\n\\tposition: relative;\\r\\n\\tbackground: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=\\\");\\r\\n\\tbackground-size: 9px 9px;\\r\\n\\timage-rendering: pixelated;\\r\\n}\\r\\n\\r\\n.colorpicker-header .picked-color {\\r\\n\\twidth: 216px;\\r\\n\\ttext-align: center;\\r\\n\\tline-height: 24px;\\r\\n\\tcursor: pointer;\\r\\n\\tcolor: white;\\r\\n\\tflex: 1;\\r\\n\\ttext-align: center;\\r\\n}\\r\\n\\r\\n.colorpicker-header .picked-color.light {\\r\\n\\tcolor: black;\\r\\n}\\r\\n\\r\\n.colorpicker-header .original-color {\\r\\n\\twidth: 74px;\\r\\n\\tz-index: inherit;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n/* Body */\\r\\n\\r\\n.colorpicker-body {\\r\\n\\tdisplay: flex;\\r\\n\\tpadding: 8px;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.colorpicker-body .saturation-wrap {\\r\\n\\toverflow: hidden;\\r\\n\\theight: 150px;\\r\\n\\tposition: relative;\\r\\n\\tmin-width: 220px;\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.colorpicker-body .saturation-box {\\r\\n\\theight: 150px;\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.colorpicker-body .saturation-selection {\\r\\n\\twidth: 9px;\\r\\n\\theight: 9px;\\r\\n\\tmargin: -5px 0 0 -5px;\\r\\n\\tborder: 1px solid rgb(255, 255, 255);\\r\\n\\tborder-radius: 100%;\\r\\n\\tbox-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.colorpicker-body .strip {\\r\\n\\twidth: 25px;\\r\\n\\theight: 150px;\\r\\n}\\r\\n\\r\\n.colorpicker-body .hue-strip {\\r\\n\\tposition: relative;\\r\\n\\tmargin-left: 8px;\\r\\n\\tcursor: grab;\\r\\n\\tbackground: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\\r\\n}\\r\\n\\r\\n.colorpicker-body .opacity-strip {\\r\\n\\tposition: relative;\\r\\n\\tmargin-left: 8px;\\r\\n\\tcursor: grab;\\r\\n\\tbackground: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=\\\");\\r\\n\\tbackground-size: 9px 9px;\\r\\n\\timage-rendering: pixelated;\\r\\n}\\r\\n\\r\\n.colorpicker-body .strip.grabbing {\\r\\n\\tcursor: grabbing;\\r\\n}\\r\\n\\r\\n.colorpicker-body .slider {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft: -2px;\\r\\n\\twidth: calc(100% + 4px);\\r\\n\\theight: 4px;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tborder: 1px solid rgba(255, 255, 255, 0.71);\\r\\n\\tbox-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.colorpicker-body .strip .overlay {\\r\\n\\theight: 150px;\\r\\n\\tpointer-events: none;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/colorPicker.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/dnd/dnd.css": /*!************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/dnd/dnd.css ***! \************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor.vs .dnd-target {\\r\\n\\tborder-right: 2px dotted black;\\r\\n\\tcolor: white; /* opposite of black */\\r\\n}\\r\\n.monaco-editor.vs-dark .dnd-target {\\r\\n\\tborder-right: 2px dotted #AEAFAD;\\r\\n\\tcolor: #51504f; /* opposite of #AEAFAD */\\r\\n}\\r\\n.monaco-editor.hc-black .dnd-target {\\r\\n\\tborder-right: 2px dotted #fff;\\r\\n\\tcolor: #000; /* opposite of #fff */\\r\\n}\\r\\n\\r\\n.monaco-editor.mouse-default .view-lines,\\r\\n.monaco-editor.vs-dark.mac.mouse-default .view-lines,\\r\\n.monaco-editor.hc-black.mac.mouse-default .view-lines {\\r\\n\\tcursor: default;\\r\\n}\\r\\n.monaco-editor.mouse-copy .view-lines,\\r\\n.monaco-editor.vs-dark.mac.mouse-copy .view-lines,\\r\\n.monaco-editor.hc-black.mac.mouse-copy .view-lines {\\r\\n\\tcursor: copy;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/dnd/dnd.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/find/findWidget.css": /*!********************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/find/findWidget.css ***! \********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* Find widget */\\r\\n.monaco-editor .find-widget {\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 50;\\r\\n\\theight: 33px;\\r\\n\\toverflow: hidden;\\r\\n\\tline-height: 19px;\\r\\n\\ttransition: transform 200ms linear;\\r\\n\\tpadding: 0 4px;\\r\\n\\tbox-sizing: border-box;\\r\\n\\ttransform: translateY(calc(-100% - 10px)); /* shadow (10px) */\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget textarea {\\r\\n\\tmargin: 0px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget.hiddenEditor {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* Find widget when replace is toggled on */\\r\\n.monaco-editor .find-widget.replaceToggled > .replace-part {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget.visible {\\r\\n\\ttransform: translateY(0);\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {\\r\\n\\toutline: 1px solid -webkit-focus-ring-color;\\r\\n\\toutline-offset: -1px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-inputbox .input {\\r\\n\\tbackground-color: transparent;\\r\\n\\tmin-height: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-findInput .input {\\r\\n\\tfont-size: 13px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .find-part,\\r\\n.monaco-editor .find-widget > .replace-part {\\r\\n\\tmargin: 4px 0 0 17px;\\r\\n\\tfont-size: 12px;\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .find-part .monaco-inputbox,\\r\\n.monaco-editor .find-widget > .replace-part .monaco-inputbox {\\r\\n\\tmin-height: 25px;\\r\\n}\\r\\n\\r\\n\\r\\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\\r\\n\\tpadding-right: 22px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,\\r\\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,\\r\\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,\\r\\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\\r\\n\\tpadding-top: 2px;\\r\\n\\tpadding-bottom: 2px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .find-part .find-actions {\\r\\n\\theight: 25px;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .replace-part .replace-actions {\\r\\n\\theight: 25px;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-findInput {\\r\\n\\tvertical-align: middle;\\r\\n\\tdisplay: flex;\\r\\n\\tflex:1;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {\\r\\n\\t/* Make sure textarea inherits the width correctly */\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {\\r\\n\\t/* Hide vertical scrollbar */\\r\\n\\topacity: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .matchesCount {\\r\\n\\tdisplay: flex;\\r\\n\\tflex: initial;\\r\\n\\tmargin: 0 0 0 3px;\\r\\n\\tpadding: 2px 0 0 2px;\\r\\n\\theight: 25px;\\r\\n\\tvertical-align: middle;\\r\\n\\tbox-sizing: border-box;\\r\\n\\ttext-align: center;\\r\\n\\tline-height: 23px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .button {\\r\\n\\twidth: 20px;\\r\\n\\theight: 20px;\\r\\n\\tdisplay: flex;\\r\\n\\tflex: initial;\\r\\n\\tmargin-left: 3px;\\r\\n\\tbackground-position: center center;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tcursor: pointer;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .button.left {\\r\\n\\tmargin-left: 0;\\r\\n\\tmargin-right: 3px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .button.wide {\\r\\n\\twidth: auto;\\r\\n\\tpadding: 1px 6px;\\r\\n\\ttop: -1px;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .button.toggle {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft: 3px;\\r\\n\\twidth: 18px;\\r\\n\\theight: 100%;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .button.toggle.disabled {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .disabled {\\r\\n\\topacity: 0.3;\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .replace-part {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .replace-part > .monaco-findInput {\\r\\n\\tposition: relative;\\r\\n\\tdisplay: flex;\\r\\n\\tvertical-align: middle;\\r\\n\\tflex: auto;\\r\\n\\tflex-grow: 0;\\r\\n\\tflex-shrink: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 3px;\\r\\n\\tright: 2px;\\r\\n}\\r\\n\\r\\n/* REDUCED */\\r\\n.monaco-editor .find-widget.reduced-find-widget .matchesCount {\\r\\n\\tdisplay:none;\\r\\n}\\r\\n\\r\\n/* NARROW (SMALLER THAN REDUCED) */\\r\\n.monaco-editor .find-widget.narrow-find-widget {\\r\\n\\tmax-width: 257px !important;\\r\\n}\\r\\n\\r\\n/* COLLAPSED (SMALLER THAN NARROW) */\\r\\n.monaco-editor .find-widget.collapsed-find-widget {\\r\\n\\tmax-width: 170px !important;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget.collapsed-find-widget .button.previous,\\r\\n.monaco-editor .find-widget.collapsed-find-widget .button.next,\\r\\n.monaco-editor .find-widget.collapsed-find-widget .button.replace,\\r\\n.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,\\r\\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {\\r\\n\\tdisplay:none;\\r\\n}\\r\\n\\r\\n.monaco-editor .findMatch {\\r\\n\\tanimation-duration: 0;\\r\\n\\tanimation-name: inherit !important;\\r\\n}\\r\\n\\r\\n.monaco-editor .find-widget .monaco-sash {\\r\\n\\tleft: 0 !important;\\r\\n}\\r\\n\\r\\n.monaco-editor.hc-black .find-widget .button:before {\\r\\n\\tposition: relative;\\r\\n\\ttop: 1px;\\r\\n\\tleft: 2px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/find/findWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/folding/folding.css": /*!********************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/folding/folding.css ***! \********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .margin-view-overlays .codicon-folding-expanded,\\r\\n.monaco-editor .margin-view-overlays .codicon-folding-collapsed {\\r\\n\\tcursor: pointer;\\r\\n\\topacity: 0;\\r\\n\\ttransition: opacity 0.5s;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n\\tfont-size: 140%;\\r\\n\\tmargin-left: 2px;\\r\\n}\\r\\n\\r\\n.monaco-editor .margin-view-overlays:hover .codicon,\\r\\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,\\r\\n.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {\\r\\n\\topacity: 1;\\r\\n}\\r\\n\\r\\n.monaco-editor .inline-folded:after {\\r\\n\\tcolor: grey;\\r\\n\\tmargin: 0.1em 0.2em 0 0.2em;\\r\\n\\tcontent: \\\"⋯\\\";\\r\\n\\tdisplay: inline;\\r\\n\\tline-height: 1em;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/folding/folding.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/media/gotoErrorWidget.css": /*!************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/media/gotoErrorWidget.css ***! \************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* marker zone */\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .severity-icon {\\r\\n\\tdisplay: inline-block;\\r\\n\\tvertical-align: text-top;\\r\\n\\tmargin-right: 4px;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget {\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget > .stale {\\r\\n\\topacity: 0.6;\\r\\n\\tfont-style: italic;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .title {\\r\\n\\tdisplay: inline-block;\\r\\n\\tpadding-right: 5px;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .descriptioncontainer {\\r\\n\\tposition: absolute;\\r\\n\\twhite-space: pre;\\r\\n\\tuser-select: text;\\r\\n\\t-webkit-user-select: text;\\r\\n\\t-ms-user-select: text;\\r\\n\\tpadding: 8px 12px 0 20px;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message .details {\\r\\n\\tpadding-left: 6px;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message .source,\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message span.code {\\r\\n\\topacity: 0.6;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {\\r\\n\\topacity: 0.6;\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {\\r\\n\\tcontent: '(';\\r\\n}\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {\\r\\n\\tcontent: ')';\\r\\n}\\r\\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\\r\\n\\ttext-decoration: underline;\\r\\n\\t/** Hack to force underline to show **/\\r\\n\\tborder-bottom: 1px solid transparent;\\r\\n\\ttext-underline-position: under;\\r\\n}\\r\\n\\r\\n.monaco-editor .marker-widget .descriptioncontainer .filename {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/media/gotoErrorWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.css": /*!*********************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.css ***! \*********************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .goto-definition-link {\\r\\n\\ttext-decoration: underline;\\r\\n\\tcursor: pointer;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/peek/referencesWidget.css": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/peek/referencesWidget.css ***! \*************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* -- zone widget */\\r\\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {\\r\\n\\tborder-top-width: 1px;\\r\\n\\tborder-bottom-width: 1px;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .inline {\\r\\n\\tdisplay: inline-block;\\r\\n\\tvertical-align: top;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .messages {\\r\\n\\theight: 100%;\\r\\n\\twidth: 100%;\\r\\n\\ttext-align: center;\\r\\n\\tpadding: 3em 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .ref-tree {\\r\\n\\tline-height: 23px;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .ref-tree .reference {\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .ref-tree .reference-file {\\r\\n\\tdisplay: inline-flex;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {\\r\\n\\tcolor: inherit !important;\\r\\n}\\r\\n\\r\\n.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {\\r\\n\\tmargin-right: 12px;\\r\\n\\tmargin-left: auto;\\r\\n}\\r\\n\\r\\n/* High Contrast Theming */\\r\\n\\r\\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file {\\r\\n\\tfont-weight: bold;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/peek/referencesWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/links/links.css": /*!****************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/links/links.css ***! \****************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .detected-link,\\r\\n.monaco-editor .detected-link-active {\\r\\n\\ttext-decoration: underline;\\r\\n\\ttext-underline-position: under;\\r\\n}\\r\\n\\r\\n.monaco-editor .detected-link-active {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/links/links.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/message/messageController.css": /*!******************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/message/messageController.css ***! \******************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .monaco-editor-overlaymessage {\\r\\n\\tpadding-bottom: 8px;\\r\\n\\tz-index: 10000;\\r\\n}\\r\\n\\r\\n.monaco-editor .monaco-editor-overlaymessage.below {\\r\\n\\tpadding-bottom: 0;\\r\\n\\tpadding-top: 8px;\\r\\n\\tz-index: 10000;\\r\\n}\\r\\n\\r\\n@keyframes fadeIn {\\r\\n\\tfrom { opacity: 0; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n.monaco-editor .monaco-editor-overlaymessage.fadeIn {\\r\\n\\tanimation: fadeIn 150ms ease-out;\\r\\n}\\r\\n\\r\\n@keyframes fadeOut {\\r\\n\\tfrom { opacity: 1; }\\r\\n\\tto { opacity: 0; }\\r\\n}\\r\\n.monaco-editor .monaco-editor-overlaymessage.fadeOut {\\r\\n\\tanimation: fadeOut 100ms ease-out;\\r\\n}\\r\\n\\r\\n.monaco-editor .monaco-editor-overlaymessage .message {\\r\\n\\tpadding: 1px 4px;\\r\\n}\\r\\n\\r\\n.monaco-editor .monaco-editor-overlaymessage .anchor {\\r\\n\\twidth: 0 !important;\\r\\n\\theight: 0 !important;\\r\\n\\tborder-color: transparent;\\r\\n\\tborder-style: solid;\\r\\n\\tz-index: 1000;\\r\\n\\tborder-width: 8px;\\r\\n\\tposition: absolute;\\r\\n}\\r\\n\\r\\n.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,\\r\\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {\\r\\n\\tdisplay: inherit;\\r\\n\\ttop: -8px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/message/messageController.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.css": /*!**********************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.css ***! \**********************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .parameter-hints-widget {\\r\\n\\tz-index: 10;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\tline-height: 1.5em;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget > .phwrapper {\\r\\n\\tmax-width: 440px;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: row;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget.multiple {\\r\\n\\tmin-height: 3.3em;\\r\\n\\tpadding: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget.visible {\\r\\n\\ttransition: left .05s ease-in-out;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget p,\\r\\n.monaco-editor .parameter-hints-widget ul {\\r\\n\\tmargin: 8px 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .monaco-scrollable-element,\\r\\n.monaco-editor .parameter-hints-widget .body {\\r\\n\\tdisplay: flex;\\r\\n\\tflex: 1;\\r\\n\\tflex-direction: column;\\r\\n\\tmin-height: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .signature {\\r\\n\\tpadding: 4px 5px;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .docs {\\r\\n\\tpadding: 0 10px 0 5px;\\r\\n\\twhite-space: pre-wrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .docs.empty {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .docs .markdown-docs {\\r\\n\\twhite-space: initial;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .docs .markdown-docs code {\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .docs .code {\\r\\n\\twhite-space: pre-wrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .docs code {\\r\\n\\tborder-radius: 3px;\\r\\n\\tpadding: 0 0.4em;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .controls {\\r\\n\\tdisplay: none;\\r\\n\\tflex-direction: column;\\r\\n\\talign-items: center;\\r\\n\\tmin-width: 22px;\\r\\n\\tjustify-content: flex-end;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget.multiple .controls {\\r\\n\\tdisplay: flex;\\r\\n\\tpadding: 0 2px;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget.multiple .button {\\r\\n\\twidth: 16px;\\r\\n\\theight: 16px;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .button.previous {\\r\\n\\tbottom: 24px;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .overloads {\\r\\n\\ttext-align: center;\\r\\n\\theight: 12px;\\r\\n\\tline-height: 12px;\\r\\n\\topacity: 0.5;\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .signature .parameter.active {\\r\\n\\tfont-weight: bold;\\r\\n\\ttext-decoration: underline;\\r\\n}\\r\\n\\r\\n.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {\\r\\n\\tfont-weight: bold;\\r\\n\\tmargin-right: 0.5em;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/peekView/media/peekViewWidget.css": /*!**********************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/peekView/media/peekViewWidget.css ***! \**********************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .peekview-widget .head {\\r\\n\\tbox-sizing: border-box;\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tfont-size: 13px;\\r\\n\\tmargin-left: 20px;\\r\\n\\tcursor: pointer;\\r\\n\\tmin-width: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {\\r\\n\\tfont-size: 0.9em;\\r\\n\\tmargin-left: 0.5em;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .meta {\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .dirname {\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .filename {\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {\\r\\n\\tcontent: '-';\\r\\n\\tpadding: 0 0.3em;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-actions {\\r\\n\\tflex: 1;\\r\\n\\ttext-align: right;\\r\\n\\tpadding-right: 2px;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,\\r\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar .action-item {\\r\\n\\tmargin-left: 4px;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar .action-label {\\r\\n\\twidth: 16px;\\r\\n\\theight: 100%;\\r\\n\\tmargin: 0;\\r\\n\\tline-height: inherit;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tbackground-position: center center;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar .action-label.codicon {\\r\\n\\tmargin: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget > .body {\\r\\n\\tborder-top: 1px solid;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n.monaco-editor .peekview-widget .head .peekview-title .codicon {\\r\\n\\tmargin-right: 4px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/peekView/media/peekViewWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/rename/renameInputField.css": /*!****************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/rename/renameInputField.css ***! \****************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .rename-box {\\r\\n\\tz-index: 100;\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n\\r\\n.monaco-editor .rename-box.preview {\\r\\n\\tpadding: 3px 3px 0 3px;\\r\\n}\\r\\n\\r\\n.monaco-editor .rename-box .rename-input {\\r\\n\\tpadding: 3px;\\r\\n\\twidth: calc(100% - 6px);\\r\\n}\\r\\n\\r\\n.monaco-editor .rename-box .rename-label {\\r\\n\\tdisplay: none;\\r\\n\\topacity: .8;\\r\\n}\\r\\n\\r\\n.monaco-editor .rename-box.preview .rename-label {\\r\\n\\tdisplay: inherit;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/rename/renameInputField.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/snippet/snippetSession.css": /*!***************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/snippet/snippetSession.css ***! \***************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .snippet-placeholder {\\r\\n\\tmin-width: 2px;\\r\\n\\toutline-style: solid;\\r\\n\\toutline-width: 1px;\\r\\n}\\r\\n\\r\\n.monaco-editor .finish-snippet-placeholder {\\r\\n\\toutline-style: solid;\\r\\n\\toutline-width: 1px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/snippet/snippetSession.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/media/suggest.css": /*!**************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/media/suggest.css ***! \**************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* Suggest widget*/\\r\\n\\r\\n.monaco-editor .suggest-widget {\\r\\n\\twidth: 430px;\\r\\n\\tz-index: 40;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.message {\\r\\n\\tflex-direction: row;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget,\\r\\n.monaco-editor .suggest-details {\\r\\n\\tflex: 0 1 auto;\\r\\n\\twidth: 100%;\\r\\n\\tborder-style: solid;\\r\\n\\tborder-width: 1px;\\r\\n}\\r\\n\\r\\n.monaco-editor.hc-black .suggest-widget,\\r\\n.monaco-editor.hc-black .suggest-details {\\r\\n\\tborder-width: 2px;\\r\\n}\\r\\n\\r\\n/* Styles for status bar part */\\r\\n\\r\\n\\r\\n.monaco-editor .suggest-widget .suggest-status-bar {\\r\\n\\tbox-sizing: border-box;\\r\\n\\tdisplay: none;\\r\\n\\tflex-flow: row nowrap;\\r\\n\\tjustify-content: space-between;\\r\\n\\twidth: 100%;\\r\\n\\tfont-size: 80%;\\r\\n\\tpadding: 0 4px 0 4px;\\r\\n\\tborder-top: 1px solid transparent;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .suggest-status-bar .left {\\r\\n\\tpadding-right: 8px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {\\r\\n\\topacity: 0.5;\\r\\n\\tcolor: inherit;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {\\r\\n\\tmargin-right: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {\\r\\n\\tcontent: ', ';\\r\\n\\tmargin-right: 0.3em;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,\\r\\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label {\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n/* Styles for Message element for when widget is loading or is empty */\\r\\n\\r\\n.monaco-editor .suggest-widget>.message {\\r\\n\\tpadding-left: 22px;\\r\\n}\\r\\n\\r\\n/** Styles for the list element **/\\r\\n\\r\\n.monaco-editor .suggest-widget>.tree {\\r\\n\\theight: 100%;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list {\\r\\n\\tuser-select: none;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-ms-user-select: none;\\r\\n}\\r\\n\\r\\n/** Styles for each row in the list element **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row {\\r\\n\\tdisplay: flex;\\r\\n\\t-mox-box-sizing: border-box;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tpadding-right: 10px;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tbackground-position: 2px 2px;\\r\\n\\twhite-space: nowrap;\\r\\n\\tcursor: pointer;\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents {\\r\\n\\tflex: 1;\\r\\n\\theight: 100%;\\r\\n\\toverflow: hidden;\\r\\n\\tpadding-left: 2px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main {\\r\\n\\tdisplay: flex;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\twhite-space: pre;\\r\\n\\tjustify-content: space-between;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left, .monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right {\\r\\n\\tdisplay: flex;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {\\r\\n\\tfont-weight: bold;\\r\\n}\\r\\n\\r\\n/** ReadMore Icon styles **/\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore::before {\\r\\n\\tcolor: inherit;\\r\\n\\topacity: 1;\\r\\n\\tfont-size: 14px;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 6px;\\r\\n\\tright: 2px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover {\\r\\n\\topacity: 1;\\r\\n}\\r\\n\\r\\n/** signature, qualifier, type/details opacity **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label,\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label,\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {\\r\\n\\topacity: 0.7;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label {\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label {\\r\\n\\tmargin-left: 4px;\\r\\n\\topacity: 0.4;\\r\\n\\tfont-size: 90%;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\toverflow: hidden;\\r\\n\\talign-self: center;\\r\\n}\\r\\n\\r\\n/** Type Info and icon next to the label in the focused completion item **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {\\r\\n\\tmargin-left: 1.1em;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\twhite-space: nowrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source {\\r\\n\\tdisplay: inline;\\r\\n}\\r\\n\\r\\n/** Details: if using CompletionItem#details, show on focus **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label {\\r\\n\\tdisplay: inline;\\r\\n}\\r\\n\\r\\n/** Details: if using CompletionItemLabel#details, always show **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,\\r\\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label {\\r\\n\\tdisplay: inline;\\r\\n}\\r\\n\\r\\n/** Ellipsis on hover **/\\r\\n\\r\\n.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label {\\r\\n\\twidth: calc(100% - 26px);\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left {\\r\\n\\tflex-shrink: 1;\\r\\n\\tflex-grow: 1;\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label {\\r\\n\\tflex-shrink: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label {\\r\\n\\tmax-width: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label {\\r\\n\\tflex-shrink: 1;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right {\\r\\n\\toverflow: hidden;\\r\\n\\tflex-shrink: 4;\\r\\n\\tmax-width: 70%;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tright: 10px;\\r\\n\\twidth: 18px;\\r\\n\\theight: 18px;\\r\\n\\tvisibility: hidden;\\r\\n}\\r\\n\\r\\n/** Do NOT display ReadMore when docs is side/below **/\\r\\n\\r\\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore, .monaco-editor .suggest-widget.docs-below .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {\\r\\n\\tdisplay: none !important;\\r\\n}\\r\\n\\r\\n/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/** Focused item can show ReadMore, but can't when docs is side/below **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore {\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,\\r\\n.monaco-editor .suggest-widget.docs-below .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:hover>.contents>.main>.right>.readMore {\\r\\n\\tvisibility: visible;\\r\\n}\\r\\n\\r\\n/** Styles for each row in the list **/\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {\\r\\n\\topacity: 0.66;\\r\\n\\ttext-decoration: unset;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container {\\r\\n\\ttext-decoration: line-through;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {\\r\\n\\theight: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {\\r\\n\\tdisplay: block;\\r\\n\\theight: 16px;\\r\\n\\twidth: 16px;\\r\\n\\tmargin-left: 2px;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tbackground-size: 80%;\\r\\n\\tbackground-position: center;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tmargin-right: 4px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon, .monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {\\r\\n\\tmargin: 0 0 0 0.3em;\\r\\n\\tborder: 0.1em solid #000;\\r\\n\\twidth: 0.7em;\\r\\n\\theight: 0.7em;\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n/** Styles for the docs of the completion item in focus **/\\r\\n\\r\\n.monaco-editor .suggest-details-container {\\r\\n\\tz-index: 41;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details.no-docs {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element {\\r\\n\\tflex: 1;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body {\\r\\n\\tbox-sizing: border-box;\\r\\n\\theight: 100%;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type {\\r\\n\\tflex: 2;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n\\topacity: 0.7;\\r\\n\\twhite-space: pre;\\r\\n\\tmargin: 0 24px 0 0;\\r\\n\\tpadding: 4px 0 12px 5px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap {\\r\\n\\twhite-space: normal;\\r\\n\\tword-break: break-all;\\r\\n}\\r\\n\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs {\\r\\n\\tmargin: 0;\\r\\n\\tpadding: 4px 5px;\\r\\n\\twhite-space: pre-wrap;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs {\\r\\n\\tmargin-right: 24px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs {\\r\\n\\tpadding: 0;\\r\\n\\twhite-space: initial;\\r\\n\\tmin-height: calc(1rem + 8px);\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty) {\\r\\n\\tpadding: 4px 5px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child {\\r\\n\\tmargin-top: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child {\\r\\n\\tmargin-bottom: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code {\\r\\n\\twhite-space: pre-wrap;\\r\\n\\tword-wrap: break-word;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon {\\r\\n\\tvertical-align: sub;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details code {\\r\\n\\tborder-radius: 3px;\\r\\n\\tpadding: 0 0.4em;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details ul {\\r\\n\\tpadding-left: 20px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details ol {\\r\\n\\tpadding-left: 20px;\\r\\n}\\r\\n\\r\\n.monaco-editor .suggest-details p code {\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/media/suggest.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/zoneWidget.css": /*!**************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/zoneWidget.css ***! \**************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .zone-widget {\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 10;\\r\\n}\\r\\n\\r\\n\\r\\n.monaco-editor .zone-widget .zone-widget-container {\\r\\n\\tborder-top-style: solid;\\r\\n\\tborder-bottom-style: solid;\\r\\n\\tborder-top-width: 0;\\r\\n\\tborder-bottom-width: 0;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/zoneWidget.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.css": /*!***************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.css ***! \***************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .accessibilityHelpWidget {\\r\\n\\tpadding: 10px;\\r\\n\\tvertical-align: middle;\\r\\n\\toverflow: scroll;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css": /*!*************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css ***! \*************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .iPadShowKeyboard {\\r\\n\\twidth: 58px;\\r\\n\\tmin-width: 0;\\r\\n\\theight: 36px;\\r\\n\\tmin-height: 0;\\r\\n\\tmargin: 0;\\r\\n\\tpadding: 0;\\r\\n\\tposition: absolute;\\r\\n\\tresize: none;\\r\\n\\toverflow: hidden;\\r\\n\\tbackground: url(\\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzY0IDQuMDEwNDJINC4wMDc3OUw0LjAwNzc5IDMyLjAyODZINDguMDM2NFY0LjAxMDQyWk00LjAwNzc5IDAuMDA3ODEyNUMxLjc5NzIxIDAuMDA3ODEyNSAwLjAwNTE4Nzk5IDEuNzk5ODQgMC4wMDUxODc5OSA0LjAxMDQyVjMyLjAyODZDMC4wMDUxODc5OSAzNC4yMzkyIDEuNzk3MjEgMzYuMDMxMiA0LjAwNzc5IDM2LjAzMTJINDguMDM2NEM1MC4yNDcgMzYuMDMxMiA1Mi4wMzkgMzQuMjM5MiA1Mi4wMzkgMzIuMDI4NlY0LjAxMDQyQzUyLjAzOSAxLjc5OTg0IDUwLjI0NyAwLjAwNzgxMjUgNDguMDM2NCAwLjAwNzgxMjVINC4wMDc3OVpNOC4wMTA0MiA4LjAxMzAySDEyLjAxM1YxMi4wMTU2SDguMDEwNDJWOC4wMTMwMlpNMjAuMDE4MiA4LjAxMzAySDE2LjAxNTZWMTIuMDE1NkgyMC4wMTgyVjguMDEzMDJaTTI0LjAyMDggOC4wMTMwMkgyOC4wMjM0VjEyLjAxNTZIMjQuMDIwOFY4LjAxMzAyWk0zNi4wMjg2IDguMDEzMDJIMzIuMDI2VjEyLjAxNTZIMzYuMDI4NlY4LjAxMzAyWk00MC4wMzEyIDguMDEzMDJINDQuMDMzOVYxMi4wMTU2SDQwLjAzMTJWOC4wMTMwMlpNMTYuMDE1NiAxNi4wMTgySDguMDEwNDJWMjAuMDIwOEgxNi4wMTU2VjE2LjAxODJaTTIwLjAxODIgMTYuMDE4MkgyNC4wMjA4VjIwLjAyMDhIMjAuMDE4MlYxNi4wMTgyWk0zMi4wMjYgMTYuMDE4MkgyOC4wMjM0VjIwLjAyMDhIMzIuMDI2VjE2LjAxODJaTTQ0LjAzMzkgMTYuMDE4MlYyMC4wMjA4SDM2LjAyODZWMTYuMDE4Mkg0NC4wMzM5Wk0xMi4wMTMgMjQuMDIzNEg4LjAxMDQyVjI4LjAyNkgxMi4wMTNWMjQuMDIzNFpNMTYuMDE1NiAyNC4wMjM0SDM2LjAyODZWMjguMDI2SDE2LjAxNTZWMjQuMDIzNFpNNDQuMDMzOSAyNC4wMjM0SDQwLjAzMTJWMjguMDI2SDQ0LjAzMzlWMjQuMDIzNFoiIGZpbGw9IiM0MjQyNDIiLz4NCjwvZz4NCjxkZWZzPg0KPGNsaXBQYXRoIGlkPSJjbGlwMCI+DQo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPC9zdmc+DQo=\\\") center center no-repeat;\\r\\n\\tborder: 4px solid #F6F6F6;\\r\\n\\tborder-radius: 4px;\\r\\n}\\r\\n\\r\\n.monaco-editor.vs-dark .iPadShowKeyboard {\\r\\n\\tbackground: url(\\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzY0IDQuMDEwNDJINC4wMDc3OUw0LjAwNzc5IDMyLjAyODZINDguMDM2NFY0LjAxMDQyWk00LjAwNzc5IDAuMDA3ODEyNUMxLjc5NzIxIDAuMDA3ODEyNSAwLjAwNTE4Nzk5IDEuNzk5ODQgMC4wMDUxODc5OSA0LjAxMDQyVjMyLjAyODZDMC4wMDUxODc5OSAzNC4yMzkyIDEuNzk3MjEgMzYuMDMxMiA0LjAwNzc5IDM2LjAzMTJINDguMDM2NEM1MC4yNDcgMzYuMDMxMiA1Mi4wMzkgMzQuMjM5MiA1Mi4wMzkgMzIuMDI4NlY0LjAxMDQyQzUyLjAzOSAxLjc5OTg0IDUwLjI0NyAwLjAwNzgxMjUgNDguMDM2NCAwLjAwNzgxMjVINC4wMDc3OVpNOC4wMTA0MiA4LjAxMzAySDEyLjAxM1YxMi4wMTU2SDguMDEwNDJWOC4wMTMwMlpNMjAuMDE4MiA4LjAxMzAySDE2LjAxNTZWMTIuMDE1NkgyMC4wMTgyVjguMDEzMDJaTTI0LjAyMDggOC4wMTMwMkgyOC4wMjM0VjEyLjAxNTZIMjQuMDIwOFY4LjAxMzAyWk0zNi4wMjg2IDguMDEzMDJIMzIuMDI2VjEyLjAxNTZIMzYuMDI4NlY4LjAxMzAyWk00MC4wMzEyIDguMDEzMDJINDQuMDMzOVYxMi4wMTU2SDQwLjAzMTJWOC4wMTMwMlpNMTYuMDE1NiAxNi4wMTgySDguMDEwNDJWMjAuMDIwOEgxNi4wMTU2VjE2LjAxODJaTTIwLjAxODIgMTYuMDE4MkgyNC4wMjA4VjIwLjAyMDhIMjAuMDE4MlYxNi4wMTgyWk0zMi4wMjYgMTYuMDE4MkgyOC4wMjM0VjIwLjAyMDhIMzIuMDI2VjE2LjAxODJaTTQ0LjAzMzkgMTYuMDE4MlYyMC4wMjA4SDM2LjAyODZWMTYuMDE4Mkg0NC4wMzM5Wk0xMi4wMTMgMjQuMDIzNEg4LjAxMDQyVjI4LjAyNkgxMi4wMTNWMjQuMDIzNFpNMTYuMDE1NiAyNC4wMjM0SDM2LjAyODZWMjguMDI2SDE2LjAxNTZWMjQuMDIzNFpNNDQuMDMzOSAyNC4wMjM0SDQwLjAzMTJWMjguMDI2SDQ0LjAzMzlWMjQuMDIzNFoiIGZpbGw9IiNDNUM1QzUiLz4NCjwvZz4NCjxkZWZzPg0KPGNsaXBQYXRoIGlkPSJjbGlwMCI+DQo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPC9zdmc+DQo=\\\") center center no-repeat;\\r\\n\\tborder: 4px solid #252526;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css": /*!*******************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css ***! \*******************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-editor .tokens-inspect-widget {\\r\\n\\tz-index: 50;\\r\\n\\tuser-select: text;\\r\\n\\t-webkit-user-select: text;\\r\\n\\t-ms-user-select: text;\\r\\n\\tpadding: 10px;\\r\\n}\\r\\n\\r\\n.tokens-inspect-separator {\\r\\n\\theight: 1px;\\r\\n\\tborder: 0;\\r\\n}\\r\\n\\r\\n.monaco-editor .tokens-inspect-widget .tm-token {\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n}\\r\\n\\r\\n.monaco-editor .tokens-inspect-widget .tm-token-length {\\r\\n\\tfont-weight: normal;\\r\\n\\tfont-size: 60%;\\r\\n\\tfloat: right;\\r\\n}\\r\\n\\r\\n.monaco-editor .tokens-inspect-widget .tm-metadata-table {\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n.monaco-editor .tokens-inspect-widget .tm-metadata-value {\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n\\ttext-align: right;\\r\\n}\\r\\n\\r\\n.monaco-editor .tokens-inspect-widget .tm-token-type {\\r\\n\\tfont-family: var(--monaco-monospace-font);\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css": /*!***********************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css ***! \***********************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.quick-input-widget {\\r\\n\\tfont-size: 13px;\\r\\n}\\r\\n\\r\\n.quick-input-widget .monaco-highlighted-label .highlight,\\r\\n.quick-input-widget .monaco-highlighted-label .highlight {\\r\\n\\tcolor: #0066BF;\\r\\n}\\r\\n\\r\\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,\\r\\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {\\r\\n\\tcolor: #0097fb;\\r\\n}\\r\\n\\r\\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight,\\r\\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight {\\r\\n\\tcolor: #F38518;\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css": /*!*********************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css ***! \*********************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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/* Default standalone editor fonts */\\r\\n.monaco-editor {\\r\\n\\tfont-family: -apple-system, BlinkMacSystemFont, \\\"Segoe WPC\\\", \\\"Segoe UI\\\", \\\"HelveticaNeue-Light\\\", system-ui, \\\"Ubuntu\\\", \\\"Droid Sans\\\", sans-serif;\\r\\n\\t--monaco-monospace-font: \\\"SF Mono\\\", Monaco, Menlo, Consolas, \\\"Ubuntu Mono\\\", \\\"Liberation Mono\\\", \\\"DejaVu Sans Mono\\\", \\\"Courier New\\\", monospace;\\r\\n}\\r\\n\\r\\n.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {\\r\\n\\tstroke-width: 1.2px;\\r\\n}\\r\\n\\r\\n.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\\r\\n.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\\r\\n\\tstroke-width: 1.2px;\\r\\n}\\r\\n\\r\\n.monaco-hover p {\\r\\n\\tmargin: 0;\\r\\n}\\r\\n\\r\\n/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */\\r\\n.monaco-aria-container {\\r\\n\\tposition: absolute !important;\\r\\n\\theight: 1px;\\r\\n\\twidth: 1px;\\r\\n\\tmargin: -1px;\\r\\n\\toverflow: hidden;\\r\\n\\tpadding: 0;\\r\\n\\tclip: rect(1px, 1px, 1px, 1px);\\r\\n\\tclip-path: inset(50%);\\r\\n}\\r\\n\\r\\n/* The hc-black theme is already high contrast optimized */\\r\\n.monaco-editor.hc-black {\\r\\n\\t-ms-high-contrast-adjust: none;\\r\\n}\\r\\n/* In case the browser goes into high contrast mode and the editor is not configured with the hc-black theme */\\r\\n@media screen and (-ms-high-contrast:active) {\\r\\n\\r\\n\\t/* current line highlight */\\r\\n\\t.monaco-editor.vs .view-overlays .current-line,\\r\\n\\t.monaco-editor.vs-dark .view-overlays .current-line {\\r\\n\\t\\tborder-color: windowtext !important;\\r\\n\\t\\tborder-left: 0;\\r\\n\\t\\tborder-right: 0;\\r\\n\\t}\\r\\n\\r\\n\\t/* view cursors */\\r\\n\\t.monaco-editor.vs .cursor,\\r\\n\\t.monaco-editor.vs-dark .cursor {\\r\\n\\t\\tbackground-color: windowtext !important;\\r\\n\\t}\\r\\n\\t/* dnd target */\\r\\n\\t.monaco-editor.vs .dnd-target,\\r\\n\\t.monaco-editor.vs-dark .dnd-target {\\r\\n\\t\\tborder-color: windowtext !important;\\r\\n\\t}\\r\\n\\r\\n\\t/* selected text background */\\r\\n\\t.monaco-editor.vs .selected-text,\\r\\n\\t.monaco-editor.vs-dark .selected-text {\\r\\n\\t\\tbackground-color: highlight !important;\\r\\n\\t}\\r\\n\\r\\n\\t/* allow the text to have a transparent background. */\\r\\n\\t.monaco-editor.vs .view-line,\\r\\n\\t.monaco-editor.vs-dark .view-line {\\r\\n\\t\\t-ms-high-contrast-adjust: none;\\r\\n\\t}\\r\\n\\r\\n\\t/* text color */\\r\\n\\t.monaco-editor.vs .view-line span,\\r\\n\\t.monaco-editor.vs-dark .view-line span {\\r\\n\\t\\tcolor: windowtext !important;\\r\\n\\t}\\r\\n\\t/* selected text color */\\r\\n\\t.monaco-editor.vs .view-line span.inline-selected-text,\\r\\n\\t.monaco-editor.vs-dark .view-line span.inline-selected-text {\\r\\n\\t\\tcolor: highlighttext !important;\\r\\n\\t}\\r\\n\\r\\n\\t/* allow decorations */\\r\\n\\t.monaco-editor.vs .view-overlays,\\r\\n\\t.monaco-editor.vs-dark .view-overlays {\\r\\n\\t\\t-ms-high-contrast-adjust: none;\\r\\n\\t}\\r\\n\\r\\n\\t/* various decorations */\\r\\n\\t.monaco-editor.vs .selectionHighlight,\\r\\n\\t.monaco-editor.vs-dark .selectionHighlight,\\r\\n\\t.monaco-editor.vs .wordHighlight,\\r\\n\\t.monaco-editor.vs-dark .wordHighlight,\\r\\n\\t.monaco-editor.vs .wordHighlightStrong,\\r\\n\\t.monaco-editor.vs-dark .wordHighlightStrong,\\r\\n\\t.monaco-editor.vs .reference-decoration,\\r\\n\\t.monaco-editor.vs-dark .reference-decoration {\\r\\n\\t\\tborder: 2px dotted highlight !important;\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .rangeHighlight,\\r\\n\\t.monaco-editor.vs-dark .rangeHighlight {\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tborder: 1px dotted activeborder !important;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .bracket-match,\\r\\n\\t.monaco-editor.vs-dark .bracket-match {\\r\\n\\t\\tborder-color: windowtext !important;\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t}\\r\\n\\r\\n\\t/* find widget */\\r\\n\\t.monaco-editor.vs .findMatch,\\r\\n\\t.monaco-editor.vs-dark .findMatch,\\r\\n\\t.monaco-editor.vs .currentFindMatch,\\r\\n\\t.monaco-editor.vs-dark .currentFindMatch {\\r\\n\\t\\tborder: 2px dotted activeborder !important;\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .find-widget,\\r\\n\\t.monaco-editor.vs-dark .find-widget {\\r\\n\\t\\tborder: 1px solid windowtext;\\r\\n\\t}\\r\\n\\r\\n\\t/* list - used by suggest widget */\\r\\n\\t.monaco-editor.vs .monaco-list .monaco-list-row,\\r\\n\\t.monaco-editor.vs-dark .monaco-list .monaco-list-row {\\r\\n\\t\\t-ms-high-contrast-adjust: none;\\r\\n\\t\\tcolor: windowtext !important;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .monaco-list .monaco-list-row.focused,\\r\\n\\t.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused {\\r\\n\\t\\tcolor: highlighttext !important;\\r\\n\\t\\tbackground-color: highlight !important;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .monaco-list .monaco-list-row:hover,\\r\\n\\t.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover {\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tborder: 1px solid highlight;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\r\\n\\t/* scrollbars */\\r\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar,\\r\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar {\\r\\n\\t\\t-ms-high-contrast-adjust: none;\\r\\n\\t\\tbackground: background !important;\\r\\n\\t\\tborder: 1px solid windowtext;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider,\\r\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider {\\r\\n\\t\\tbackground: windowtext !important;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider:hover,\\r\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider:hover {\\r\\n\\t\\tbackground: highlight !important;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider.active,\\r\\n\\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active {\\r\\n\\t\\tbackground: highlight !important;\\r\\n\\t}\\r\\n\\r\\n\\t/* overview ruler */\\r\\n\\t.monaco-editor.vs .decorationsOverviewRuler,\\r\\n\\t.monaco-editor.vs-dark .decorationsOverviewRuler {\\r\\n\\t\\topacity: 0;\\r\\n\\t}\\r\\n\\r\\n\\t/* minimap */\\r\\n\\t.monaco-editor.vs .minimap,\\r\\n\\t.monaco-editor.vs-dark .minimap {\\r\\n\\t\\tdisplay: none;\\r\\n\\t}\\r\\n\\r\\n\\t/* squiggles */\\r\\n\\t.monaco-editor.vs .squiggly-d-error,\\r\\n\\t.monaco-editor.vs-dark .squiggly-d-error {\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tborder-bottom: 4px double #E47777;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .squiggly-c-warning,\\r\\n\\t.monaco-editor.vs-dark .squiggly-c-warning {\\r\\n\\t\\tborder-bottom: 4px double #71B771;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .squiggly-b-info,\\r\\n\\t.monaco-editor.vs-dark .squiggly-b-info {\\r\\n\\t\\tborder-bottom: 4px double #71B771;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .squiggly-a-hint,\\r\\n\\t.monaco-editor.vs-dark .squiggly-a-hint {\\r\\n\\t\\tborder-bottom: 4px double #6c6c6c;\\r\\n\\t}\\r\\n\\r\\n\\t/* contextmenu */\\r\\n\\t.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\\r\\n\\t.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\\r\\n\\t\\t-ms-high-contrast-adjust: none;\\r\\n\\t\\tcolor: highlighttext !important;\\r\\n\\t\\tbackground-color: highlight !important;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label,\\r\\n\\t.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label {\\r\\n\\t\\t-ms-high-contrast-adjust: none;\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tborder: 1px solid highlight;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\r\\n\\t/* diff editor */\\r\\n\\t.monaco-diff-editor.vs .diffOverviewRuler,\\r\\n\\t.monaco-diff-editor.vs-dark .diffOverviewRuler {\\r\\n\\t\\tdisplay: none;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .line-insert,\\r\\n\\t.monaco-editor.vs-dark .line-insert,\\r\\n\\t.monaco-editor.vs .line-delete,\\r\\n\\t.monaco-editor.vs-dark .line-delete {\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t\\tborder: 1px solid highlight !important;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t}\\r\\n\\t.monaco-editor.vs .char-insert,\\r\\n\\t.monaco-editor.vs-dark .char-insert,\\r\\n\\t.monaco-editor.vs .char-delete,\\r\\n\\t.monaco-editor.vs-dark .char-delete {\\r\\n\\t\\tbackground: transparent !important;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n/*.monaco-editor.vs [tabindex=\\\"0\\\"]:focus {\\r\\n\\toutline: 1px solid rgba(0, 122, 204, 0.4);\\r\\n\\toutline-offset: -1px;\\r\\n\\topacity: 1 !important;\\r\\n}\\r\\n\\r\\n.monaco-editor.vs-dark [tabindex=\\\"0\\\"]:focus {\\r\\n\\toutline: 1px solid rgba(14, 99, 156, 0.6);\\r\\n\\toutline-offset: -1px;\\r\\n\\topacity: 1 !important;\\r\\n}*/\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css": /*!**************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css ***! \**************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.monaco-action-bar .action-item.menu-entry .action-label {\\r\\n\\tbackground-image: var(--menu-entry-icon-light);\\r\\n}\\r\\n\\r\\n.vs-dark .monaco-action-bar .action-item.menu-entry .action-label,\\r\\n.hc-black .monaco-action-bar .action-item.menu-entry .action-label {\\r\\n\\tbackground-image: var(--menu-entry-icon-dark);\\r\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.css": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.css ***! \*************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*---------------------------------------------------------------------------------------------\\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.context-view .monaco-menu {\\r\\n\\tmin-width: 130px;\\r\\n}\\r\\n\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.css?./node_modules/css-loader/dist/cjs.js"); /***/ }), /***/ "./node_modules/css-loader/dist/runtime/api.js": /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/ /***/ ((module) => { "use strict"; eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/css-loader/dist/runtime/api.js?"); /***/ }), /***/ "./node_modules/css-loader/dist/runtime/getUrl.js": /*!********************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***! \********************************************************/ /***/ ((module) => { "use strict"; eval("\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/css-loader/dist/runtime/getUrl.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf": /*!****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf ***! \****************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"74d8acf8740a672d680194959e476053.ttf\");\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/browser.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/browser.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getZoomLevel\": () => (/* binding */ getZoomLevel),\n/* harmony export */ \"getTimeSinceLastZoomLevelChanged\": () => (/* binding */ getTimeSinceLastZoomLevelChanged),\n/* harmony export */ \"onDidChangeZoomLevel\": () => (/* binding */ onDidChangeZoomLevel),\n/* harmony export */ \"getZoomFactor\": () => (/* binding */ getZoomFactor),\n/* harmony export */ \"getPixelRatio\": () => (/* binding */ getPixelRatio),\n/* harmony export */ \"isFirefox\": () => (/* binding */ isFirefox),\n/* harmony export */ \"isWebKit\": () => (/* binding */ isWebKit),\n/* harmony export */ \"isChrome\": () => (/* binding */ isChrome),\n/* harmony export */ \"isSafari\": () => (/* binding */ isSafari),\n/* harmony export */ \"isWebkitWebView\": () => (/* binding */ isWebkitWebView),\n/* harmony export */ \"isIPad\": () => (/* binding */ isIPad),\n/* harmony export */ \"isEdgeLegacyWebView\": () => (/* binding */ isEdgeLegacyWebView),\n/* harmony export */ \"isElectron\": () => (/* binding */ isElectron),\n/* harmony export */ \"isAndroid\": () => (/* binding */ isAndroid),\n/* harmony export */ \"isStandalone\": () => (/* binding */ isStandalone)\n/* harmony export */ });\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nclass WindowManager {\r\n constructor() {\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();\r\n this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event;\r\n // --- Zoom Factor\r\n this._zoomFactor = 1;\r\n }\r\n getZoomLevel() {\r\n return this._zoomLevel;\r\n }\r\n getTimeSinceLastZoomLevelChanged() {\r\n return Date.now() - this._lastZoomLevelChangeTime;\r\n }\r\n getZoomFactor() {\r\n return this._zoomFactor;\r\n }\r\n // --- Pixel Ratio\r\n getPixelRatio() {\r\n let ctx = document.createElement('canvas').getContext('2d');\r\n let dpr = window.devicePixelRatio || 1;\r\n let 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}\r\nWindowManager.INSTANCE = new WindowManager();\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\n/** The zoom scale for an index, e.g. 1, 1.2, 1.4 */\r\nfunction getZoomFactor() {\r\n return WindowManager.INSTANCE.getZoomFactor();\r\n}\r\nfunction getPixelRatio() {\r\n return WindowManager.INSTANCE.getPixelRatio();\r\n}\r\nconst userAgent = navigator.userAgent;\r\nconst isFirefox = (userAgent.indexOf('Firefox') >= 0);\r\nconst isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);\r\nconst isChrome = (userAgent.indexOf('Chrome') >= 0);\r\nconst isSafari = (!isChrome && (userAgent.indexOf('Safari') >= 0));\r\nconst isWebkitWebView = (!isChrome && !isSafari && isWebKit);\r\nconst isIPad = (userAgent.indexOf('iPad') >= 0 || (isSafari && navigator.maxTouchPoints > 0));\r\nconst isEdgeLegacyWebView = (userAgent.indexOf('Edge/') >= 0) && (userAgent.indexOf('WebView/') >= 0);\r\nconst isElectron = (userAgent.indexOf('Electron/') >= 0);\r\nconst isAndroid = (userAgent.indexOf('Android') >= 0);\r\nconst isStandalone = (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/browser.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BrowserFeatures\": () => (/* binding */ BrowserFeatures)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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 * Browser feature we can support in current platform, browser and environment.\r\n */\r\nconst BrowserFeatures = {\r\n clipboard: {\r\n writeText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative\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\r\n || !!(navigator && navigator.clipboard && navigator.clipboard.readText))\r\n },\r\n keyboard: (() => {\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative || _browser_js__WEBPACK_IMPORTED_MODULE_0__.isStandalone) {\r\n return 0 /* Always */;\r\n }\r\n if (navigator.keyboard || _browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari) {\r\n return 1 /* FullScreen */;\r\n }\r\n return 2 /* None */;\r\n })(),\r\n // 'ontouchstart' in window always evaluates to true with typescript's modern typings. This causes `window` to be\r\n // `never` later in `window.navigator`. That's why we need the explicit `window as Window` cast\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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/dnd.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/dnd.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DataTransfers\": () => (/* binding */ DataTransfers),\n/* harmony export */ \"DragAndDropData\": () => (/* binding */ DragAndDropData),\n/* harmony export */ \"StaticDND\": () => (/* binding */ StaticDND)\n/* harmony export */ });\n// Common data transfers\r\nconst DataTransfers = {\r\n /**\r\n * Application specific resource transfer type\r\n */\r\n RESOURCES: 'ResourceURLs',\r\n /**\r\n * Browser specific transfer type to download\r\n */\r\n DOWNLOAD_URL: 'DownloadURL',\r\n /**\r\n * Browser specific transfer type for files\r\n */\r\n FILES: 'Files',\r\n /**\r\n * Typically transfer type for copy/paste transfers.\r\n */\r\n TEXT: 'text/plain'\r\n};\r\nclass DragAndDropData {\r\n constructor(data) {\r\n this.data = data;\r\n }\r\n update() {\r\n // noop\r\n }\r\n getData() {\r\n return this.data;\r\n }\r\n}\r\nconst StaticDND = {\r\n CurrentDragAndDropData: undefined\r\n};\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/dnd.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/dom.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/dom.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clearNode\": () => (/* binding */ clearNode),\n/* harmony export */ \"isInDOM\": () => (/* binding */ isInDOM),\n/* harmony export */ \"addDisposableListener\": () => (/* binding */ addDisposableListener),\n/* harmony export */ \"addStandardDisposableListener\": () => (/* binding */ addStandardDisposableListener),\n/* harmony export */ \"addStandardDisposableGenericMouseDownListner\": () => (/* binding */ addStandardDisposableGenericMouseDownListner),\n/* harmony export */ \"addDisposableGenericMouseDownListner\": () => (/* binding */ addDisposableGenericMouseDownListner),\n/* harmony export */ \"addDisposableGenericMouseUpListner\": () => (/* binding */ addDisposableGenericMouseUpListner),\n/* harmony export */ \"addDisposableNonBubblingMouseOutListener\": () => (/* binding */ addDisposableNonBubblingMouseOutListener),\n/* harmony export */ \"addDisposableNonBubblingPointerOutListener\": () => (/* binding */ addDisposableNonBubblingPointerOutListener),\n/* harmony export */ \"runAtThisOrScheduleAtNextAnimationFrame\": () => (/* binding */ runAtThisOrScheduleAtNextAnimationFrame),\n/* harmony export */ \"scheduleAtNextAnimationFrame\": () => (/* binding */ scheduleAtNextAnimationFrame),\n/* harmony export */ \"addDisposableThrottledListener\": () => (/* binding */ addDisposableThrottledListener),\n/* harmony export */ \"getComputedStyle\": () => (/* binding */ getComputedStyle),\n/* harmony export */ \"getClientArea\": () => (/* binding */ getClientArea),\n/* harmony export */ \"Dimension\": () => (/* binding */ Dimension),\n/* harmony export */ \"getTopLeftOffset\": () => (/* binding */ getTopLeftOffset),\n/* harmony export */ \"size\": () => (/* binding */ size),\n/* harmony export */ \"getDomNodePagePosition\": () => (/* binding */ getDomNodePagePosition),\n/* harmony export */ \"StandardWindow\": () => (/* binding */ StandardWindow),\n/* harmony export */ \"getTotalWidth\": () => (/* binding */ getTotalWidth),\n/* harmony export */ \"getContentWidth\": () => (/* binding */ getContentWidth),\n/* harmony export */ \"getContentHeight\": () => (/* binding */ getContentHeight),\n/* harmony export */ \"getTotalHeight\": () => (/* binding */ getTotalHeight),\n/* harmony export */ \"isAncestor\": () => (/* binding */ isAncestor),\n/* harmony export */ \"findParentWithClass\": () => (/* binding */ findParentWithClass),\n/* harmony export */ \"hasParentWithClass\": () => (/* binding */ hasParentWithClass),\n/* harmony export */ \"isShadowRoot\": () => (/* binding */ isShadowRoot),\n/* harmony export */ \"isInShadowDOM\": () => (/* binding */ isInShadowDOM),\n/* harmony export */ \"getShadowRoot\": () => (/* binding */ getShadowRoot),\n/* harmony export */ \"getActiveElement\": () => (/* binding */ getActiveElement),\n/* harmony export */ \"createStyleSheet\": () => (/* binding */ createStyleSheet),\n/* harmony export */ \"createCSSRule\": () => (/* binding */ createCSSRule),\n/* harmony export */ \"removeCSSRulesContainingSelector\": () => (/* binding */ removeCSSRulesContainingSelector),\n/* harmony export */ \"isHTMLElement\": () => (/* binding */ isHTMLElement),\n/* harmony export */ \"EventType\": () => (/* binding */ EventType),\n/* harmony export */ \"EventHelper\": () => (/* binding */ EventHelper),\n/* harmony export */ \"saveParentsScrollTop\": () => (/* binding */ saveParentsScrollTop),\n/* harmony export */ \"restoreParentsScrollTop\": () => (/* binding */ restoreParentsScrollTop),\n/* harmony export */ \"trackFocus\": () => (/* binding */ trackFocus),\n/* harmony export */ \"append\": () => (/* binding */ append),\n/* harmony export */ \"reset\": () => (/* binding */ reset),\n/* harmony export */ \"Namespace\": () => (/* binding */ Namespace),\n/* harmony export */ \"$\": () => (/* binding */ $),\n/* harmony export */ \"show\": () => (/* binding */ show),\n/* harmony export */ \"hide\": () => (/* binding */ hide),\n/* harmony export */ \"getElementsByTagName\": () => (/* binding */ getElementsByTagName),\n/* harmony export */ \"computeScreenAwareSize\": () => (/* binding */ computeScreenAwareSize),\n/* harmony export */ \"windowOpenNoOpener\": () => (/* binding */ windowOpenNoOpener),\n/* harmony export */ \"animate\": () => (/* binding */ animate),\n/* harmony export */ \"asCSSUrl\": () => (/* binding */ asCSSUrl),\n/* harmony export */ \"asCSSPropertyValue\": () => (/* binding */ asCSSPropertyValue),\n/* harmony export */ \"ModifierKeyEmitter\": () => (/* binding */ ModifierKeyEmitter)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_network_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.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\nfunction clearNode(node) {\r\n while (node.firstChild) {\r\n node.firstChild.remove();\r\n }\r\n}\r\n/**\r\n * @deprecated Use node.isConnected directly\r\n */\r\nfunction isInDOM(node) {\r\n var _a;\r\n return (_a = node === null || node === void 0 ? void 0 : node.isConnected) !== null && _a !== void 0 ? _a : false;\r\n}\r\nclass DomListener {\r\n constructor(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 dispose() {\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}\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(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(e));\r\n };\r\n}\r\nlet addStandardDisposableListener = function addStandardDisposableListener(node, type, handler, useCapture) {\r\n let 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\nlet addStandardDisposableGenericMouseDownListner = function addStandardDisposableListener(node, handler, useCapture) {\r\n let 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 && _canIUse_js__WEBPACK_IMPORTED_MODULE_10__.BrowserFeatures.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 && _canIUse_js__WEBPACK_IMPORTED_MODULE_10__.BrowserFeatures.pointerEvents ? EventType.POINTER_UP : EventType.MOUSE_UP, handler, useCapture);\r\n}\r\nfunction addDisposableNonBubblingMouseOutListener(node, handler) {\r\n return addDisposableListener(node, 'mouseout', (e) => {\r\n // Mouse out bubbles, so this is an attempt to ignore faux mouse outs coming from children elements\r\n let 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', (e) => {\r\n // Mouse out bubbles, so this is an attempt to ignore faux mouse outs coming from children elements\r\n let 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\nlet _animationFrame = null;\r\nfunction doRequestAnimationFrame(callback) {\r\n if (!_animationFrame) {\r\n const emulatedRequestAnimationFrame = (callback) => {\r\n return setTimeout(() => 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\nlet 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\nlet scheduleAtNextAnimationFrame;\r\nclass AnimationFrameQueueItem {\r\n constructor(runner, priority = 0) {\r\n this._runner = runner;\r\n this.priority = priority;\r\n this._canceled = false;\r\n }\r\n dispose() {\r\n this._canceled = true;\r\n }\r\n execute() {\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 (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_5__.onUnexpectedError)(e);\r\n }\r\n }\r\n // Sort by priority (largest to lowest)\r\n static sort(a, b) {\r\n return b.priority - a.priority;\r\n }\r\n}\r\n(function () {\r\n /**\r\n * The runners scheduled at the next animation frame\r\n */\r\n let NEXT_QUEUE = [];\r\n /**\r\n * The runners scheduled at the current animation frame\r\n */\r\n let CURRENT_QUEUE = null;\r\n /**\r\n * A flag to keep track if the native requestAnimationFrame was already called\r\n */\r\n let animFrameRequested = false;\r\n /**\r\n * A flag to indicate if currently handling a native requestAnimationFrame callback\r\n */\r\n let inAnimationFrameRunner = false;\r\n let animationFrameRunner = () => {\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 let top = CURRENT_QUEUE.shift();\r\n top.execute();\r\n }\r\n inAnimationFrameRunner = false;\r\n };\r\n scheduleAtNextAnimationFrame = (runner, priority = 0) => {\r\n let 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 = (runner, priority) => {\r\n if (inAnimationFrameRunner) {\r\n let 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\nconst MINIMUM_TIME_MS = 8;\r\nconst DEFAULT_EVENT_MERGER = function (lastEvent, currentEvent) {\r\n return currentEvent;\r\n};\r\nclass TimeoutThrottledDomListener extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.Disposable {\r\n constructor(node, type, handler, eventMerger = DEFAULT_EVENT_MERGER, minimumTimeMs = MINIMUM_TIME_MS) {\r\n super();\r\n let lastEvent = null;\r\n let lastHandlerTime = 0;\r\n let timeout = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_4__.TimeoutTimer());\r\n let invokeHandler = () => {\r\n lastHandlerTime = (new Date()).getTime();\r\n handler(lastEvent);\r\n lastEvent = null;\r\n };\r\n this._register(addDisposableListener(node, type, (e) => {\r\n lastEvent = eventMerger(lastEvent, e);\r\n let 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 }\r\n}\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 && window.visualViewport) {\r\n const width = window.visualViewport.width;\r\n const height = window.visualViewport.height - (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isStandalone\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\nclass SizeUtils {\r\n // Adapted from WinJS\r\n // Converts a CSS positioning string for the specified element to pixels.\r\n static convertToPixels(element, value) {\r\n return parseFloat(value) || 0;\r\n }\r\n static getDimension(element, cssPropertyName, jsPropertyName) {\r\n let computedStyle = getComputedStyle(element);\r\n let 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 static getBorderLeftWidth(element) {\r\n return SizeUtils.getDimension(element, 'border-left-width', 'borderLeftWidth');\r\n }\r\n static getBorderRightWidth(element) {\r\n return SizeUtils.getDimension(element, 'border-right-width', 'borderRightWidth');\r\n }\r\n static getBorderTopWidth(element) {\r\n return SizeUtils.getDimension(element, 'border-top-width', 'borderTopWidth');\r\n }\r\n static getBorderBottomWidth(element) {\r\n return SizeUtils.getDimension(element, 'border-bottom-width', 'borderBottomWidth');\r\n }\r\n static getPaddingLeft(element) {\r\n return SizeUtils.getDimension(element, 'padding-left', 'paddingLeft');\r\n }\r\n static getPaddingRight(element) {\r\n return SizeUtils.getDimension(element, 'padding-right', 'paddingRight');\r\n }\r\n static getPaddingTop(element) {\r\n return SizeUtils.getDimension(element, 'padding-top', 'paddingTop');\r\n }\r\n static getPaddingBottom(element) {\r\n return SizeUtils.getDimension(element, 'padding-bottom', 'paddingBottom');\r\n }\r\n static getMarginLeft(element) {\r\n return SizeUtils.getDimension(element, 'margin-left', 'marginLeft');\r\n }\r\n static getMarginTop(element) {\r\n return SizeUtils.getDimension(element, 'margin-top', 'marginTop');\r\n }\r\n static getMarginRight(element) {\r\n return SizeUtils.getDimension(element, 'margin-right', 'marginRight');\r\n }\r\n static getMarginBottom(element) {\r\n return SizeUtils.getDimension(element, 'margin-bottom', 'marginBottom');\r\n }\r\n}\r\nclass Dimension {\r\n constructor(width, height) {\r\n this.width = width;\r\n this.height = height;\r\n }\r\n with(width = this.width, height = this.height) {\r\n if (width !== this.width || height !== this.height) {\r\n return new Dimension(width, height);\r\n }\r\n else {\r\n return this;\r\n }\r\n }\r\n static is(obj) {\r\n return typeof obj === 'object' && typeof obj.height === 'number' && typeof obj.width === 'number';\r\n }\r\n static lift(obj) {\r\n if (obj instanceof Dimension) {\r\n return obj;\r\n }\r\n else {\r\n return new Dimension(obj.width, obj.height);\r\n }\r\n }\r\n static equals(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.width === b.width && a.height === b.height;\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 let offsetParent = element.offsetParent;\r\n let top = element.offsetTop;\r\n let 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 const 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\nfunction size(element, width, height) {\r\n if (typeof width === 'number') {\r\n element.style.width = `${width}px`;\r\n }\r\n if (typeof height === 'number') {\r\n element.style.height = `${height}px`;\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 let 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\nconst StandardWindow = new class {\r\n get scrollX() {\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 get scrollY() {\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};\r\n// Adapted from WinJS\r\n// Gets the width of the element, including margins.\r\nfunction getTotalWidth(element) {\r\n let margin = SizeUtils.getMarginLeft(element) + SizeUtils.getMarginRight(element);\r\n return element.offsetWidth + margin;\r\n}\r\nfunction getContentWidth(element) {\r\n let border = SizeUtils.getBorderLeftWidth(element) + SizeUtils.getBorderRightWidth(element);\r\n let 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 let border = SizeUtils.getBorderTopWidth(element) + SizeUtils.getBorderBottomWidth(element);\r\n let 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 let 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 (node.classList.contains(clazz)) {\r\n return node;\r\n }\r\n if (stopAtClazzOrNode) {\r\n if (typeof stopAtClazzOrNode === 'string') {\r\n if (node.classList.contains(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 hasParentWithClass(node, clazz, stopAtClazzOrNode) {\r\n return !!findParentWithClass(node, clazz, stopAtClazzOrNode);\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 getActiveElement() {\r\n let result = document.activeElement;\r\n while (result === null || result === void 0 ? void 0 : result.shadowRoot) {\r\n result = result.shadowRoot.activeElement;\r\n }\r\n return result;\r\n}\r\nfunction createStyleSheet(container = document.getElementsByTagName('head')[0]) {\r\n let 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\nlet _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 var _a, _b;\r\n if ((_a = style === null || style === void 0 ? void 0 : style.sheet) === null || _a === void 0 ? void 0 : _a.rules) {\r\n // Chrome, IE\r\n return style.sheet.rules;\r\n }\r\n if ((_b = style === null || style === void 0 ? void 0 : style.sheet) === null || _b === void 0 ? void 0 : _b.cssRules) {\r\n // FF\r\n return style.sheet.cssRules;\r\n }\r\n return [];\r\n}\r\nfunction createCSSRule(selector, cssText, 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 = getSharedStyleSheet()) {\r\n if (!style) {\r\n return;\r\n }\r\n let rules = getDynamicStyleSheetRules(style);\r\n let toDelete = [];\r\n for (let i = 0; i < rules.length; i++) {\r\n let rule = rules[i];\r\n if (rule.selectorText.indexOf(ruleName) !== -1) {\r\n toDelete.push(i);\r\n }\r\n }\r\n for (let 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\nconst EventType = {\r\n // Mouse\r\n CLICK: 'click',\r\n AUXCLICK: 'auxclick',\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 MOUSE_WHEEL: 'wheel',\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 ? 'webkitAnimationStart' : 'animationstart',\r\n ANIMATION_END: _browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit ? 'webkitAnimationEnd' : 'animationend',\r\n ANIMATION_ITERATION: _browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit ? 'webkitAnimationIteration' : 'animationiteration'\r\n};\r\nconst 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 let r = [];\r\n for (let 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 (let 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\nclass FocusTracker extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.Disposable {\r\n constructor(element) {\r\n super();\r\n this._onDidFocus = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidFocus = this._onDidFocus.event;\r\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidBlur = this._onDidBlur.event;\r\n let hasFocus = isAncestor(document.activeElement, element);\r\n let loosingFocus = false;\r\n const onFocus = () => {\r\n loosingFocus = false;\r\n if (!hasFocus) {\r\n hasFocus = true;\r\n this._onDidFocus.fire();\r\n }\r\n };\r\n const onBlur = () => {\r\n if (hasFocus) {\r\n loosingFocus = true;\r\n window.setTimeout(() => {\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 = () => {\r\n let 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((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(element, EventType.FOCUS, true)(onFocus));\r\n this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(element, EventType.BLUR, true)(onBlur));\r\n }\r\n}\r\nfunction trackFocus(element) {\r\n return new FocusTracker(element);\r\n}\r\nfunction append(parent, ...children) {\r\n parent.append(...children);\r\n if (children.length === 1 && typeof children[0] !== 'string') {\r\n return children[0];\r\n }\r\n}\r\n/**\r\n * Removes all children from `parent` and appends `children`\r\n */\r\nfunction reset(parent, ...children) {\r\n parent.innerText = '';\r\n append(parent, ...children);\r\n}\r\nconst 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, ...children) {\r\n let match = SELECTOR_REGEX.exec(description);\r\n if (!match) {\r\n throw new Error('Bad use of emmet');\r\n }\r\n attrs = Object.assign({}, (attrs || {}));\r\n let tagName = match[1] || 'div';\r\n let 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(name => {\r\n const 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 result.append(...children);\r\n return result;\r\n}\r\nfunction $(description, attrs, ...children) {\r\n return _$(Namespace.HTML, description, attrs, ...children);\r\n}\r\n$.SVG = function (description, attrs, ...children) {\r\n return _$(Namespace.SVG, description, attrs, ...children);\r\n};\r\nfunction show(...elements) {\r\n for (let element of elements) {\r\n element.style.display = '';\r\n element.removeAttribute('aria-hidden');\r\n }\r\n}\r\nfunction hide(...elements) {\r\n for (let element of elements) {\r\n element.style.display = 'none';\r\n element.setAttribute('aria-hidden', 'true');\r\n }\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 const 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 (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isElectron || _browser_js__WEBPACK_IMPORTED_MODULE_0__.isEdgeLegacyWebView) {\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 // Also call directly window.open in sandboxed Electron (see https://github.com/microsoft/monaco-editor/issues/2220)\r\n window.open(url);\r\n }\r\n else {\r\n let 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 const step = () => {\r\n fn();\r\n stepDisposable = scheduleAtNextAnimationFrame(step);\r\n };\r\n let stepDisposable = scheduleAtNextAnimationFrame(step);\r\n return (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.toDisposable)(() => stepDisposable.dispose());\r\n}\r\n_common_network_js__WEBPACK_IMPORTED_MODULE_9__.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(window.location.href) ? 'https' : 'http');\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('${_common_network_js__WEBPACK_IMPORTED_MODULE_9__.FileAccess.asBrowserUri(uri).toString(true).replace(/'/g, '%27')}')`;\r\n}\r\nfunction asCSSPropertyValue(value) {\r\n return `'${value.replace(/'/g, '%27')}'`;\r\n}\r\nclass ModifierKeyEmitter extends _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter {\r\n constructor() {\r\n super();\r\n this._subscriptions = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.DisposableStore();\r\n this._keyStatus = {\r\n altKey: false,\r\n shiftKey: false,\r\n ctrlKey: false,\r\n metaKey: false\r\n };\r\n this._subscriptions.add((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(window, 'keydown', true)(e => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e);\r\n // If Alt-key keydown event is repeated, ignore it #112347\r\n // Only known to be necessary for Alt-Key at the moment #115810\r\n if (event.keyCode === 6 /* Alt */ && e.repeat) {\r\n return;\r\n }\r\n if (e.altKey && !this._keyStatus.altKey) {\r\n this._keyStatus.lastKeyPressed = 'alt';\r\n }\r\n else if (e.ctrlKey && !this._keyStatus.ctrlKey) {\r\n this._keyStatus.lastKeyPressed = 'ctrl';\r\n }\r\n else if (e.metaKey && !this._keyStatus.metaKey) {\r\n this._keyStatus.lastKeyPressed = 'meta';\r\n }\r\n else if (e.shiftKey && !this._keyStatus.shiftKey) {\r\n this._keyStatus.lastKeyPressed = 'shift';\r\n }\r\n else if (event.keyCode !== 6 /* Alt */) {\r\n this._keyStatus.lastKeyPressed = undefined;\r\n }\r\n else {\r\n return;\r\n }\r\n this._keyStatus.altKey = e.altKey;\r\n this._keyStatus.ctrlKey = e.ctrlKey;\r\n this._keyStatus.metaKey = e.metaKey;\r\n this._keyStatus.shiftKey = e.shiftKey;\r\n if (this._keyStatus.lastKeyPressed) {\r\n this._keyStatus.event = e;\r\n this.fire(this._keyStatus);\r\n }\r\n }));\r\n this._subscriptions.add((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(window, 'keyup', true)(e => {\r\n if (!e.altKey && this._keyStatus.altKey) {\r\n this._keyStatus.lastKeyReleased = 'alt';\r\n }\r\n else if (!e.ctrlKey && this._keyStatus.ctrlKey) {\r\n this._keyStatus.lastKeyReleased = 'ctrl';\r\n }\r\n else if (!e.metaKey && this._keyStatus.metaKey) {\r\n this._keyStatus.lastKeyReleased = 'meta';\r\n }\r\n else if (!e.shiftKey && this._keyStatus.shiftKey) {\r\n this._keyStatus.lastKeyReleased = 'shift';\r\n }\r\n else {\r\n this._keyStatus.lastKeyReleased = undefined;\r\n }\r\n if (this._keyStatus.lastKeyPressed !== this._keyStatus.lastKeyReleased) {\r\n this._keyStatus.lastKeyPressed = undefined;\r\n }\r\n this._keyStatus.altKey = e.altKey;\r\n this._keyStatus.ctrlKey = e.ctrlKey;\r\n this._keyStatus.metaKey = e.metaKey;\r\n this._keyStatus.shiftKey = e.shiftKey;\r\n if (this._keyStatus.lastKeyReleased) {\r\n this._keyStatus.event = e;\r\n this.fire(this._keyStatus);\r\n }\r\n }));\r\n this._subscriptions.add((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(document.body, 'mousedown', true)(e => {\r\n this._keyStatus.lastKeyPressed = undefined;\r\n }));\r\n this._subscriptions.add((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(document.body, 'mouseup', true)(e => {\r\n this._keyStatus.lastKeyPressed = undefined;\r\n }));\r\n this._subscriptions.add((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(document.body, 'mousemove', true)(e => {\r\n if (e.buttons) {\r\n this._keyStatus.lastKeyPressed = undefined;\r\n }\r\n }));\r\n this._subscriptions.add((0,_event_js__WEBPACK_IMPORTED_MODULE_1__.domEvent)(window, 'blur')(e => {\r\n this.resetKeyStatus();\r\n }));\r\n }\r\n get keyStatus() {\r\n return this._keyStatus;\r\n }\r\n /**\r\n * Allows to explicitly reset the key status based on more knowledge (#109062)\r\n */\r\n resetKeyStatus() {\r\n this.doResetKeyStatus();\r\n this.fire(this._keyStatus);\r\n }\r\n doResetKeyStatus() {\r\n this._keyStatus = {\r\n altKey: false,\r\n shiftKey: false,\r\n ctrlKey: false,\r\n metaKey: false\r\n };\r\n }\r\n static getInstance() {\r\n if (!ModifierKeyEmitter.instance) {\r\n ModifierKeyEmitter.instance = new ModifierKeyEmitter();\r\n }\r\n return ModifierKeyEmitter.instance;\r\n }\r\n dispose() {\r\n super.dispose();\r\n this._subscriptions.dispose();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/dom.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/event.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/event.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"domEvent\": () => (/* binding */ domEvent),\n/* harmony export */ \"stopEvent\": () => (/* binding */ stopEvent),\n/* harmony export */ \"stop\": () => (/* binding */ stop)\n/* harmony export */ });\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nconst domEvent = (element, type, useCapture) => {\r\n const fn = (e) => emitter.fire(e);\r\n const emitter = new _common_event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter({\r\n onFirstListenerAdd: () => {\r\n element.addEventListener(type, fn, useCapture);\r\n },\r\n onLastListenerRemove: () => {\r\n element.removeEventListener(type, fn, useCapture);\r\n }\r\n });\r\n return emitter.event;\r\n};\r\nfunction stopEvent(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return event;\r\n}\r\nfunction stop(event) {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_0__.Event.map(event, stopEvent);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/event.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js": /*!***********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"FastDomNode\": () => (/* binding */ FastDomNode),\n/* harmony export */ \"createFastDomNode\": () => (/* binding */ createFastDomNode)\n/* harmony export */ });\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\nclass FastDomNode {\r\n constructor(domNode) {\r\n this.domNode = domNode;\r\n this._maxWidth = -1;\r\n this._width = -1;\r\n this._height = -1;\r\n this._top = -1;\r\n this._left = -1;\r\n this._bottom = -1;\r\n this._right = -1;\r\n this._fontFamily = '';\r\n this._fontWeight = '';\r\n this._fontSize = -1;\r\n this._fontFeatureSettings = '';\r\n this._lineHeight = -1;\r\n this._letterSpacing = -100;\r\n this._className = '';\r\n this._display = '';\r\n this._position = '';\r\n this._visibility = '';\r\n this._backgroundColor = '';\r\n this._layerHint = false;\r\n this._contain = 'none';\r\n this._boxShadow = '';\r\n }\r\n setMaxWidth(maxWidth) {\r\n if (this._maxWidth === maxWidth) {\r\n return;\r\n }\r\n this._maxWidth = maxWidth;\r\n this.domNode.style.maxWidth = this._maxWidth + 'px';\r\n }\r\n setWidth(width) {\r\n if (this._width === width) {\r\n return;\r\n }\r\n this._width = width;\r\n this.domNode.style.width = this._width + 'px';\r\n }\r\n setHeight(height) {\r\n if (this._height === height) {\r\n return;\r\n }\r\n this._height = height;\r\n this.domNode.style.height = this._height + 'px';\r\n }\r\n setTop(top) {\r\n if (this._top === top) {\r\n return;\r\n }\r\n this._top = top;\r\n this.domNode.style.top = this._top + 'px';\r\n }\r\n unsetTop() {\r\n if (this._top === -1) {\r\n return;\r\n }\r\n this._top = -1;\r\n this.domNode.style.top = '';\r\n }\r\n setLeft(left) {\r\n if (this._left === left) {\r\n return;\r\n }\r\n this._left = left;\r\n this.domNode.style.left = this._left + 'px';\r\n }\r\n setBottom(bottom) {\r\n if (this._bottom === bottom) {\r\n return;\r\n }\r\n this._bottom = bottom;\r\n this.domNode.style.bottom = this._bottom + 'px';\r\n }\r\n setRight(right) {\r\n if (this._right === right) {\r\n return;\r\n }\r\n this._right = right;\r\n this.domNode.style.right = this._right + 'px';\r\n }\r\n setFontFamily(fontFamily) {\r\n if (this._fontFamily === fontFamily) {\r\n return;\r\n }\r\n this._fontFamily = fontFamily;\r\n this.domNode.style.fontFamily = this._fontFamily;\r\n }\r\n setFontWeight(fontWeight) {\r\n if (this._fontWeight === fontWeight) {\r\n return;\r\n }\r\n this._fontWeight = fontWeight;\r\n this.domNode.style.fontWeight = this._fontWeight;\r\n }\r\n setFontSize(fontSize) {\r\n if (this._fontSize === fontSize) {\r\n return;\r\n }\r\n this._fontSize = fontSize;\r\n this.domNode.style.fontSize = this._fontSize + 'px';\r\n }\r\n setFontFeatureSettings(fontFeatureSettings) {\r\n if (this._fontFeatureSettings === fontFeatureSettings) {\r\n return;\r\n }\r\n this._fontFeatureSettings = fontFeatureSettings;\r\n this.domNode.style.fontFeatureSettings = this._fontFeatureSettings;\r\n }\r\n setLineHeight(lineHeight) {\r\n if (this._lineHeight === lineHeight) {\r\n return;\r\n }\r\n this._lineHeight = lineHeight;\r\n this.domNode.style.lineHeight = this._lineHeight + 'px';\r\n }\r\n setLetterSpacing(letterSpacing) {\r\n if (this._letterSpacing === letterSpacing) {\r\n return;\r\n }\r\n this._letterSpacing = letterSpacing;\r\n this.domNode.style.letterSpacing = this._letterSpacing + 'px';\r\n }\r\n setClassName(className) {\r\n if (this._className === className) {\r\n return;\r\n }\r\n this._className = className;\r\n this.domNode.className = this._className;\r\n }\r\n toggleClassName(className, shouldHaveIt) {\r\n this.domNode.classList.toggle(className, shouldHaveIt);\r\n this._className = this.domNode.className;\r\n }\r\n setDisplay(display) {\r\n if (this._display === display) {\r\n return;\r\n }\r\n this._display = display;\r\n this.domNode.style.display = this._display;\r\n }\r\n setPosition(position) {\r\n if (this._position === position) {\r\n return;\r\n }\r\n this._position = position;\r\n this.domNode.style.position = this._position;\r\n }\r\n setVisibility(visibility) {\r\n if (this._visibility === visibility) {\r\n return;\r\n }\r\n this._visibility = visibility;\r\n this.domNode.style.visibility = this._visibility;\r\n }\r\n setBackgroundColor(backgroundColor) {\r\n if (this._backgroundColor === backgroundColor) {\r\n return;\r\n }\r\n this._backgroundColor = backgroundColor;\r\n this.domNode.style.backgroundColor = this._backgroundColor;\r\n }\r\n setLayerHinting(layerHint) {\r\n if (this._layerHint === layerHint) {\r\n return;\r\n }\r\n this._layerHint = layerHint;\r\n this.domNode.style.transform = this._layerHint ? 'translate3d(0px, 0px, 0px)' : '';\r\n }\r\n setBoxShadow(boxShadow) {\r\n if (this._boxShadow === boxShadow) {\r\n return;\r\n }\r\n this._boxShadow = boxShadow;\r\n this.domNode.style.boxShadow = boxShadow;\r\n }\r\n setContain(contain) {\r\n if (this._contain === contain) {\r\n return;\r\n }\r\n this._contain = contain;\r\n this.domNode.style.contain = this._contain;\r\n }\r\n setAttribute(name, value) {\r\n this.domNode.setAttribute(name, value);\r\n }\r\n removeAttribute(name) {\r\n this.domNode.removeAttribute(name);\r\n }\r\n appendChild(child) {\r\n this.domNode.appendChild(child.domNode);\r\n }\r\n removeChild(child) {\r\n this.domNode.removeChild(child.domNode);\r\n }\r\n}\r\nfunction createFastDomNode(domNode) {\r\n return new FastDomNode(domNode);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"renderText\": () => (/* binding */ renderText),\n/* harmony export */ \"renderFormattedText\": () => (/* binding */ renderFormattedText),\n/* harmony export */ \"createElement\": () => (/* binding */ createElement)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\nfunction renderText(text, options = {}) {\r\n const element = createElement(options);\r\n element.textContent = text;\r\n return element;\r\n}\r\nfunction renderFormattedText(formattedText, options = {}) {\r\n const element = createElement(options);\r\n _renderFormattedText(element, parseFormattedText(formattedText), options.actionHandler);\r\n return element;\r\n}\r\nfunction createElement(options) {\r\n const tagName = options.inline ? 'span' : 'div';\r\n const element = document.createElement(tagName);\r\n if (options.className) {\r\n element.className = options.className;\r\n }\r\n return element;\r\n}\r\nclass StringStream {\r\n constructor(source) {\r\n this.source = source;\r\n this.index = 0;\r\n }\r\n eos() {\r\n return this.index >= this.source.length;\r\n }\r\n next() {\r\n const next = this.peek();\r\n this.advance();\r\n return next;\r\n }\r\n peek() {\r\n return this.source[this.index];\r\n }\r\n advance() {\r\n this.index++;\r\n }\r\n}\r\nfunction _renderFormattedText(element, treeNode, actionHandler) {\r\n let 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 const a = document.createElement('a');\r\n a.href = '#';\r\n actionHandler.disposeables.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(a, 'click', (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((nodeChild) => {\r\n _renderFormattedText(child, nodeChild, actionHandler);\r\n });\r\n }\r\n}\r\nfunction parseFormattedText(content) {\r\n const root = {\r\n type: 1 /* Root */,\r\n children: []\r\n };\r\n let actionViewItemIndex = 0;\r\n let current = root;\r\n const stack = [];\r\n const stream = new StringStream(content);\r\n while (!stream.eos()) {\r\n let next = stream.next();\r\n const 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 const 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 const 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 const 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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"standardMouseMoveMerger\": () => (/* binding */ standardMouseMoveMerger),\n/* harmony export */ \"GlobalMouseMoveMonitor\": () => (/* binding */ GlobalMouseMoveMonitor)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _iframe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iframe.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/iframe.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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\nfunction standardMouseMoveMerger(lastEvent, currentEvent) {\r\n let ev = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(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\nclass GlobalMouseMoveMonitor {\r\n constructor() {\r\n this._hooks = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.DisposableStore();\r\n this._mouseMoveEventMerger = null;\r\n this._mouseMoveCallback = null;\r\n this._onStopCallback = null;\r\n }\r\n dispose() {\r\n this.stopMonitoring(false);\r\n this._hooks.dispose();\r\n }\r\n stopMonitoring(invokeStopCallback, browserEvent) {\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 const onStopCallback = this._onStopCallback;\r\n this._onStopCallback = null;\r\n if (invokeStopCallback && onStopCallback) {\r\n onStopCallback(browserEvent);\r\n }\r\n }\r\n isMonitoring() {\r\n return !!this._mouseMoveEventMerger;\r\n }\r\n startMonitoring(initialElement, initialButtons, mouseMoveEventMerger, mouseMoveCallback, onStopCallback) {\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 const windowChain = _iframe_js__WEBPACK_IMPORTED_MODULE_1__.IframeUtils.getSameOriginWindowChain();\r\n const mouseMove = 'mousemove';\r\n const mouseUp = 'mouseup';\r\n const listenTo = windowChain.map(element => element.window.document);\r\n const shadowRoot = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getShadowRoot(initialElement);\r\n if (shadowRoot) {\r\n listenTo.unshift(shadowRoot);\r\n }\r\n for (const element of listenTo) {\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableThrottledListener(element, mouseMove, (data) => {\r\n if (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 }, (lastEvent, currentEvent) => this._mouseMoveEventMerger(lastEvent, currentEvent)));\r\n this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(element, mouseUp, (e) => this.stopMonitoring(true)));\r\n }\r\n if (_iframe_js__WEBPACK_IMPORTED_MODULE_1__.IframeUtils.hasDifferentOriginAncestor()) {\r\n let 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(lastSameOriginAncestor.window.document, 'mouseout', (browserEvent) => {\r\n let e = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(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(lastSameOriginAncestor.window.document, 'mouseover', (browserEvent) => {\r\n let e = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(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(lastSameOriginAncestor.window.document.body, 'mouseleave', (browserEvent) => {\r\n this.stopMonitoring(true);\r\n }));\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/iframe.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/iframe.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IframeUtils\": () => (/* binding */ IframeUtils)\n/* harmony export */ });\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\nlet hasDifferentOriginAncestorFlag = false;\r\nlet 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 let location = w.location;\r\n let parentLocation = w.parent.location;\r\n if (location.origin !== 'null' && parentLocation.origin !== 'null') {\r\n if (location.protocol !== parentLocation.protocol || location.hostname !== parentLocation.hostname || location.port !== parentLocation.port) {\r\n hasDifferentOriginAncestorFlag = true;\r\n return null;\r\n }\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\nclass IframeUtils {\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 static getSameOriginWindowChain() {\r\n if (!sameOriginWindowChainCache) {\r\n sameOriginWindowChainCache = [];\r\n let w = window;\r\n let parent;\r\n do {\r\n parent = getParentWindowIfSameOrigin(w);\r\n if (parent) {\r\n sameOriginWindowChainCache.push({\r\n window: w,\r\n iframeElement: w.frameElement || null\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;\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 static hasDifferentOriginAncestor() {\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 static getPositionOfChildWindowRelativeToAncestorWindow(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 let top = 0, left = 0;\r\n let windowChain = this.getSameOriginWindowChain();\r\n for (const windowChainEl of windowChain) {\r\n top += windowChainEl.window.scrollY;\r\n left += windowChainEl.window.scrollX;\r\n if (windowChainEl.window === ancestorWindow) {\r\n break;\r\n }\r\n if (!windowChainEl.iframeElement) {\r\n break;\r\n }\r\n let 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}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/iframe.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js": /*!*************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StandardKeyboardEvent\": () => (/* binding */ StandardKeyboardEvent)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/keyCodes.js */ \"./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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\nlet KEY_CODE_MAP = new Array(230);\r\nlet INVERSE_KEY_CODE_MAP = new Array(112 /* MAX_VALUE */);\r\n(function () {\r\n for (let i = 0; i < INVERSE_KEY_CODE_MAP.length; i++) {\r\n INVERSE_KEY_CODE_MAP[i] = -1;\r\n }\r\n function define(code, keyCode) {\r\n KEY_CODE_MAP[code] = keyCode;\r\n INVERSE_KEY_CODE_MAP[keyCode] = code;\r\n }\r\n define(3, 7 /* PauseBreak */); // VK_CANCEL 0x03 Control-break processing\r\n define(8, 1 /* Backspace */);\r\n define(9, 2 /* Tab */);\r\n define(13, 3 /* Enter */);\r\n define(16, 4 /* Shift */);\r\n define(17, 5 /* Ctrl */);\r\n define(18, 6 /* Alt */);\r\n define(19, 7 /* PauseBreak */);\r\n define(20, 8 /* CapsLock */);\r\n define(27, 9 /* Escape */);\r\n define(32, 10 /* Space */);\r\n define(33, 11 /* PageUp */);\r\n define(34, 12 /* PageDown */);\r\n define(35, 13 /* End */);\r\n define(36, 14 /* Home */);\r\n define(37, 15 /* LeftArrow */);\r\n define(38, 16 /* UpArrow */);\r\n define(39, 17 /* RightArrow */);\r\n define(40, 18 /* DownArrow */);\r\n define(45, 19 /* Insert */);\r\n define(46, 20 /* Delete */);\r\n define(48, 21 /* KEY_0 */);\r\n define(49, 22 /* KEY_1 */);\r\n define(50, 23 /* KEY_2 */);\r\n define(51, 24 /* KEY_3 */);\r\n define(52, 25 /* KEY_4 */);\r\n define(53, 26 /* KEY_5 */);\r\n define(54, 27 /* KEY_6 */);\r\n define(55, 28 /* KEY_7 */);\r\n define(56, 29 /* KEY_8 */);\r\n define(57, 30 /* KEY_9 */);\r\n define(65, 31 /* KEY_A */);\r\n define(66, 32 /* KEY_B */);\r\n define(67, 33 /* KEY_C */);\r\n define(68, 34 /* KEY_D */);\r\n define(69, 35 /* KEY_E */);\r\n define(70, 36 /* KEY_F */);\r\n define(71, 37 /* KEY_G */);\r\n define(72, 38 /* KEY_H */);\r\n define(73, 39 /* KEY_I */);\r\n define(74, 40 /* KEY_J */);\r\n define(75, 41 /* KEY_K */);\r\n define(76, 42 /* KEY_L */);\r\n define(77, 43 /* KEY_M */);\r\n define(78, 44 /* KEY_N */);\r\n define(79, 45 /* KEY_O */);\r\n define(80, 46 /* KEY_P */);\r\n define(81, 47 /* KEY_Q */);\r\n define(82, 48 /* KEY_R */);\r\n define(83, 49 /* KEY_S */);\r\n define(84, 50 /* KEY_T */);\r\n define(85, 51 /* KEY_U */);\r\n define(86, 52 /* KEY_V */);\r\n define(87, 53 /* KEY_W */);\r\n define(88, 54 /* KEY_X */);\r\n define(89, 55 /* KEY_Y */);\r\n define(90, 56 /* KEY_Z */);\r\n define(93, 58 /* ContextMenu */);\r\n define(96, 93 /* NUMPAD_0 */);\r\n define(97, 94 /* NUMPAD_1 */);\r\n define(98, 95 /* NUMPAD_2 */);\r\n define(99, 96 /* NUMPAD_3 */);\r\n define(100, 97 /* NUMPAD_4 */);\r\n define(101, 98 /* NUMPAD_5 */);\r\n define(102, 99 /* NUMPAD_6 */);\r\n define(103, 100 /* NUMPAD_7 */);\r\n define(104, 101 /* NUMPAD_8 */);\r\n define(105, 102 /* NUMPAD_9 */);\r\n define(106, 103 /* NUMPAD_MULTIPLY */);\r\n define(107, 104 /* NUMPAD_ADD */);\r\n define(108, 105 /* NUMPAD_SEPARATOR */);\r\n define(109, 106 /* NUMPAD_SUBTRACT */);\r\n define(110, 107 /* NUMPAD_DECIMAL */);\r\n define(111, 108 /* NUMPAD_DIVIDE */);\r\n define(112, 59 /* F1 */);\r\n define(113, 60 /* F2 */);\r\n define(114, 61 /* F3 */);\r\n define(115, 62 /* F4 */);\r\n define(116, 63 /* F5 */);\r\n define(117, 64 /* F6 */);\r\n define(118, 65 /* F7 */);\r\n define(119, 66 /* F8 */);\r\n define(120, 67 /* F9 */);\r\n define(121, 68 /* F10 */);\r\n define(122, 69 /* F11 */);\r\n define(123, 70 /* F12 */);\r\n define(124, 71 /* F13 */);\r\n define(125, 72 /* F14 */);\r\n define(126, 73 /* F15 */);\r\n define(127, 74 /* F16 */);\r\n define(128, 75 /* F17 */);\r\n define(129, 76 /* F18 */);\r\n define(130, 77 /* F19 */);\r\n define(144, 78 /* NumLock */);\r\n define(145, 79 /* ScrollLock */);\r\n define(186, 80 /* US_SEMICOLON */);\r\n define(187, 81 /* US_EQUAL */);\r\n define(188, 82 /* US_COMMA */);\r\n define(189, 83 /* US_MINUS */);\r\n define(190, 84 /* US_DOT */);\r\n define(191, 85 /* US_SLASH */);\r\n define(192, 86 /* US_BACKTICK */);\r\n define(193, 110 /* ABNT_C1 */);\r\n define(194, 111 /* ABNT_C2 */);\r\n define(219, 87 /* US_OPEN_SQUARE_BRACKET */);\r\n define(220, 88 /* US_BACKSLASH */);\r\n define(221, 89 /* US_CLOSE_SQUARE_BRACKET */);\r\n define(222, 90 /* US_QUOTE */);\r\n define(223, 91 /* OEM_8 */);\r\n define(226, 92 /* OEM_102 */);\r\n /**\r\n * https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html\r\n * If an Input Method Editor is processing key input and the event is keydown, return 229.\r\n */\r\n define(229, 109 /* KEY_IN_COMPOSITION */);\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox) {\r\n define(59, 80 /* US_SEMICOLON */);\r\n define(107, 81 /* US_EQUAL */);\r\n define(109, 83 /* US_MINUS */);\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\r\n define(224, 57 /* Meta */);\r\n }\r\n }\r\n else if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit) {\r\n define(91, 57 /* Meta */);\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\r\n // the two meta keys in the Mac have different key codes (91 and 93)\r\n define(93, 57 /* Meta */);\r\n }\r\n else {\r\n define(92, 57 /* Meta */);\r\n }\r\n }\r\n})();\r\nfunction extractKeyCode(e) {\r\n if (e.charCode) {\r\n // \"keypress\" events mostly\r\n let char = String.fromCharCode(e.charCode).toUpperCase();\r\n return _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_1__.KeyCodeUtils.fromString(char);\r\n }\r\n return KEY_CODE_MAP[e.keyCode] || 0 /* Unknown */;\r\n}\r\nconst ctrlKeyMod = (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh ? 256 /* WinCtrl */ : 2048 /* CtrlCmd */);\r\nconst altKeyMod = 512 /* Alt */;\r\nconst shiftKeyMod = 1024 /* Shift */;\r\nconst metaKeyMod = (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh ? 2048 /* CtrlCmd */ : 256 /* WinCtrl */);\r\nclass StandardKeyboardEvent {\r\n constructor(source) {\r\n this._standardKeyboardEventBrand = true;\r\n let e = source;\r\n this.browserEvent = e;\r\n this.target = e.target;\r\n this.ctrlKey = e.ctrlKey;\r\n this.shiftKey = e.shiftKey;\r\n this.altKey = e.altKey;\r\n this.metaKey = e.metaKey;\r\n this.keyCode = extractKeyCode(e);\r\n this.code = e.code;\r\n // console.info(e.type + \": keyCode: \" + e.keyCode + \", which: \" + e.which + \", charCode: \" + e.charCode + \", detail: \" + e.detail + \" ====> \" + this.keyCode + ' -- ' + KeyCode[this.keyCode]);\r\n this.ctrlKey = this.ctrlKey || this.keyCode === 5 /* Ctrl */;\r\n this.altKey = this.altKey || this.keyCode === 6 /* Alt */;\r\n this.shiftKey = this.shiftKey || this.keyCode === 4 /* Shift */;\r\n this.metaKey = this.metaKey || this.keyCode === 57 /* Meta */;\r\n this._asKeybinding = this._computeKeybinding();\r\n this._asRuntimeKeybinding = this._computeRuntimeKeybinding();\r\n // console.log(`code: ${e.code}, keyCode: ${e.keyCode}, key: ${e.key}`);\r\n }\r\n preventDefault() {\r\n if (this.browserEvent && this.browserEvent.preventDefault) {\r\n this.browserEvent.preventDefault();\r\n }\r\n }\r\n stopPropagation() {\r\n if (this.browserEvent && this.browserEvent.stopPropagation) {\r\n this.browserEvent.stopPropagation();\r\n }\r\n }\r\n toKeybinding() {\r\n return this._asRuntimeKeybinding;\r\n }\r\n equals(other) {\r\n return this._asKeybinding === other;\r\n }\r\n _computeKeybinding() {\r\n let key = 0 /* Unknown */;\r\n if (this.keyCode !== 5 /* Ctrl */ && this.keyCode !== 4 /* Shift */ && this.keyCode !== 6 /* Alt */ && this.keyCode !== 57 /* Meta */) {\r\n key = this.keyCode;\r\n }\r\n let result = 0;\r\n if (this.ctrlKey) {\r\n result |= ctrlKeyMod;\r\n }\r\n if (this.altKey) {\r\n result |= altKeyMod;\r\n }\r\n if (this.shiftKey) {\r\n result |= shiftKeyMod;\r\n }\r\n if (this.metaKey) {\r\n result |= metaKeyMod;\r\n }\r\n result |= key;\r\n return result;\r\n }\r\n _computeRuntimeKeybinding() {\r\n let key = 0 /* Unknown */;\r\n if (this.keyCode !== 5 /* Ctrl */ && this.keyCode !== 4 /* Shift */ && this.keyCode !== 6 /* Alt */ && this.keyCode !== 57 /* Meta */) {\r\n key = this.keyCode;\r\n }\r\n return new _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_1__.SimpleKeybinding(this.ctrlKey, this.shiftKey, this.altKey, this.metaKey, key);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js": /*!****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"renderMarkdown\": () => (/* binding */ renderMarkdown)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formattedTextRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/htmlContent.js */ \"./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js\");\n/* harmony import */ var _common_idGenerator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/idGenerator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js\");\n/* harmony import */ var _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/marked/marked.js */ \"./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js\");\n/* harmony import */ var _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_common_marked_marked_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _common_insane_insane_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/insane/insane.js */ \"./node_modules/monaco-editor/esm/vs/base/common/insane/insane.js\");\n/* harmony import */ var _common_marshalling_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/marshalling.js */ \"./node_modules/monaco-editor/esm/vs/base/common/marshalling.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _common_uri_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/* harmony import */ var _common_network_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../common/network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _common_resources_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/resources.js */ \"./node_modules/monaco-editor/esm/vs/base/common/resources.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _ui_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ui/iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.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 _a;\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\nconst _ttpInsane = (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy('insane', {\r\n createHTML(value, options) {\r\n return (0,_common_insane_insane_js__WEBPACK_IMPORTED_MODULE_6__.insane)(value, options);\r\n }\r\n});\r\n/**\r\n * Low-level way create a html element from a markdown string.\r\n *\r\n * **Note** that for most cases you should be using [`MarkdownRenderer`](./src/vs/editor/browser/core/markdownRenderer.ts)\r\n * which comes with support for pretty code block rendering and which uses the default way of handling links.\r\n */\r\nfunction renderMarkdown(markdown, options = {}, markedOptions = {}) {\r\n var _a;\r\n const element = (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_1__.createElement)(options);\r\n const _uriMassage = function (part) {\r\n let data;\r\n try {\r\n data = (0,_common_marshalling_js__WEBPACK_IMPORTED_MODULE_7__.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 = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_8__.cloneAndChange)(data, value => {\r\n if (markdown.uris && markdown.uris[value]) {\r\n return _common_uri_js__WEBPACK_IMPORTED_MODULE_10__.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 const _href = function (href, isDomUri) {\r\n const data = markdown.uris && markdown.uris[href];\r\n if (!data) {\r\n return href; // no uri exists\r\n }\r\n let uri = _common_uri_js__WEBPACK_IMPORTED_MODULE_10__.URI.revive(data);\r\n if (_common_uri_js__WEBPACK_IMPORTED_MODULE_10__.URI.parse(href).toString() === uri.toString()) {\r\n return href; // no tranformation performed\r\n }\r\n if (isDomUri) {\r\n // this URI will end up as \"src\"-attribute of a dom node\r\n // and because of that special rewriting needs to be done\r\n // so that the URI uses a protocol that's understood by\r\n // browsers (like http or https)\r\n return _common_network_js__WEBPACK_IMPORTED_MODULE_11__.FileAccess.asBrowserUri(uri).toString(true);\r\n }\r\n if (uri.query) {\r\n uri = uri.with({ query: _uriMassage(uri.query) });\r\n }\r\n return uri.toString();\r\n };\r\n // signal to code-block render that the\r\n // element has been created\r\n let signalInnerHTML;\r\n const withInnerHTML = new Promise(c => signalInnerHTML = c);\r\n const renderer = new _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_5__.Renderer();\r\n renderer.image = (href, title, text) => {\r\n let dimensions = [];\r\n let attributes = [];\r\n if (href) {\r\n ({ href, dimensions } = (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__.parseHrefAndDimensions)(href));\r\n href = _href(href, true);\r\n try {\r\n const hrefAsUri = _common_uri_js__WEBPACK_IMPORTED_MODULE_10__.URI.parse(href);\r\n if (options.baseUrl && hrefAsUri.scheme === _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.file) { // absolute or relative local path, or file: uri\r\n href = (0,_common_resources_js__WEBPACK_IMPORTED_MODULE_13__.resolvePath)(options.baseUrl, href).toString();\r\n }\r\n }\r\n catch (err) { }\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 = (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 = (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__.removeMarkdownEscapes)(text);\r\n }\r\n href = _href(href, false);\r\n if (options.baseUrl) {\r\n const hasScheme = /^\\w[\\w\\d+.-]*:/.test(href);\r\n if (!hasScheme) {\r\n href = (0,_common_resources_js__WEBPACK_IMPORTED_MODULE_13__.resolvePath)(options.baseUrl, href).toString();\r\n }\r\n }\r\n title = (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__.removeMarkdownEscapes)(title);\r\n href = (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__.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 = (text) => {\r\n if (markdown.supportThemeIcons) {\r\n const elements = (0,_ui_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_15__.renderLabelWithIcons)(text);\r\n text = elements.map(e => typeof e === 'string' ? e : e.outerHTML).join('');\r\n }\r\n return `

${text}

`;\r\n };\r\n if (options.codeBlockRenderer) {\r\n renderer.code = (code, lang) => {\r\n const 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 const id = _common_idGenerator_js__WEBPACK_IMPORTED_MODULE_4__.defaultGenerator.nextId();\r\n const promise = Promise.all([value, withInnerHTML]).then(values => {\r\n const span = element.querySelector(`div[data-code=\"${id}\"]`);\r\n if (span) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.reset(span, values[0]);\r\n }\r\n }).catch(_err => {\r\n // ignore\r\n });\r\n if (options.asyncRenderCallback) {\r\n promise.then(options.asyncRenderCallback);\r\n }\r\n return `
${(0,_common_strings_js__WEBPACK_IMPORTED_MODULE_9__.escape)(code)}
`;\r\n };\r\n }\r\n if (options.actionHandler) {\r\n options.actionHandler.disposeables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_16__.Event.any((0,_event_js__WEBPACK_IMPORTED_MODULE_17__.domEvent)(element, 'click'), (0,_event_js__WEBPACK_IMPORTED_MODULE_17__.domEvent)(element, 'auxclick'))(e => {\r\n const mouseEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_14__.StandardMouseEvent(e);\r\n if (!mouseEvent.leftButton && !mouseEvent.middleButton) {\r\n return;\r\n }\r\n let target = mouseEvent.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 const href = target.dataset['href'];\r\n if (href) {\r\n options.actionHandler.callback(href, mouseEvent);\r\n }\r\n }\r\n catch (err) {\r\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_2__.onUnexpectedError)(err);\r\n }\r\n finally {\r\n mouseEvent.preventDefault();\r\n }\r\n }));\r\n }\r\n // Use our own sanitizer so that we can let through only spans.\r\n // Otherwise, we'd be letting all html be rendered.\r\n // If we want to allow markdown permitted tags, then we can delete sanitizer and sanitize.\r\n // We always pass the output through insane after this so that we don't rely on\r\n // marked for sanitization.\r\n markedOptions.sanitizer = (html) => {\r\n const match = markdown.isTrusted ? html.match(/^(]+>)|(<\\/\\s*span>)$/) : undefined;\r\n return match ? html : '';\r\n };\r\n markedOptions.sanitize = true;\r\n markedOptions.silent = true;\r\n markedOptions.renderer = renderer;\r\n // values that are too long will freeze the UI\r\n let value = (_a = markdown.value) !== null && _a !== void 0 ? _a : '';\r\n if (value.length > 100000) {\r\n value = `${value.substr(0, 100000)}…`;\r\n }\r\n // escape theme icons\r\n if (markdown.supportThemeIcons) {\r\n value = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_12__.markdownEscapeEscapedIcons)(value);\r\n }\r\n const renderedMarkdown = _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_5__.parse(value, markedOptions);\r\n // sanitize with insane\r\n element.innerHTML = sanitizeRenderedMarkdown(markdown, renderedMarkdown);\r\n // signal that async code blocks can be now be inserted\r\n signalInnerHTML();\r\n // signal size changes for image tags\r\n if (options.asyncRenderCallback) {\r\n for (const img of element.getElementsByTagName('img')) {\r\n const listener = _dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(img, 'load', () => {\r\n listener.dispose();\r\n options.asyncRenderCallback();\r\n });\r\n }\r\n }\r\n return element;\r\n}\r\nfunction sanitizeRenderedMarkdown(options, renderedMarkdown) {\r\n var _a;\r\n const insaneOptions = getInsaneOptions(options);\r\n return (_a = _ttpInsane === null || _ttpInsane === void 0 ? void 0 : _ttpInsane.createHTML(renderedMarkdown, insaneOptions)) !== null && _a !== void 0 ? _a : (0,_common_insane_insane_js__WEBPACK_IMPORTED_MODULE_6__.insane)(renderedMarkdown, insaneOptions);\r\n}\r\nfunction getInsaneOptions(options) {\r\n const allowedSchemes = [\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.http,\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.https,\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.mailto,\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.data,\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.file,\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.vscodeRemote,\r\n _common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.vscodeRemoteResource,\r\n ];\r\n if (options.isTrusted) {\r\n allowedSchemes.push(_common_network_js__WEBPACK_IMPORTED_MODULE_11__.Schemas.command);\r\n }\r\n return {\r\n allowedSchemes,\r\n // allowedTags should included everything that markdown renders to.\r\n // Since we have our own sanitize function for marked, it's possible we missed some tag so let insane make sure.\r\n // HTML tags that can result from markdown are from reading https://spec.commonmark.org/0.29/\r\n // HTML table tags that can result from markdown are from https://github.github.com/gfm/#tables-extension-\r\n allowedTags: ['ul', 'li', 'p', 'code', 'blockquote', 'ol', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'em', 'pre', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'div', 'del', 'a', 'strong', 'br', 'img', 'span'],\r\n allowedAttributes: {\r\n 'a': ['href', 'name', 'target', 'data-href'],\r\n 'img': ['src', 'title', 'alt', 'width', 'height'],\r\n 'div': ['class', 'data-code'],\r\n 'span': ['class', 'style'],\r\n // https://github.com/microsoft/vscode/issues/95937\r\n 'th': ['align'],\r\n 'td': ['align']\r\n },\r\n filter(token) {\r\n if (token.tag === 'span' && options.isTrusted) {\r\n if (token.attrs['style'] && (Object.keys(token.attrs).length === 1)) {\r\n return !!token.attrs['style'].match(/^(color\\:#[0-9a-fA-F]+;)?(background-color\\:#[0-9a-fA-F]+;)?$/);\r\n }\r\n else if (token.attrs['class']) {\r\n // The class should match codicon rendering in src\\vs\\base\\common\\codicons.ts\r\n return !!token.attrs['class'].match(/^codicon codicon-[a-z\\-]+( codicon-modifier-[a-z\\-]+)?$/);\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n };\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js": /*!**********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StandardMouseEvent\": () => (/* binding */ StandardMouseEvent),\n/* harmony export */ \"StandardWheelEvent\": () => (/* binding */ StandardWheelEvent)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _iframe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iframe.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/iframe.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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\nclass StandardMouseEvent {\r\n constructor(e) {\r\n this.timestamp = Date.now();\r\n this.browserEvent = e;\r\n this.leftButton = e.button === 0;\r\n this.middleButton = e.button === 1;\r\n this.rightButton = e.button === 2;\r\n this.buttons = e.buttons;\r\n this.target = e.target;\r\n this.detail = e.detail || 1;\r\n if (e.type === 'dblclick') {\r\n this.detail = 2;\r\n }\r\n this.ctrlKey = e.ctrlKey;\r\n this.shiftKey = e.shiftKey;\r\n this.altKey = e.altKey;\r\n this.metaKey = e.metaKey;\r\n if (typeof e.pageX === 'number') {\r\n this.posx = e.pageX;\r\n this.posy = e.pageY;\r\n }\r\n else {\r\n // Probably hit by MSGestureEvent\r\n this.posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;\r\n this.posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;\r\n }\r\n // Find the position of the iframe this code is executing in relative to the iframe where the event was captured.\r\n let iframeOffsets = _iframe_js__WEBPACK_IMPORTED_MODULE_1__.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(self, e.view);\r\n this.posx -= iframeOffsets.left;\r\n this.posy -= iframeOffsets.top;\r\n }\r\n preventDefault() {\r\n this.browserEvent.preventDefault();\r\n }\r\n stopPropagation() {\r\n this.browserEvent.stopPropagation();\r\n }\r\n}\r\nclass StandardWheelEvent {\r\n constructor(e, deltaX = 0, deltaY = 0) {\r\n this.browserEvent = e || null;\r\n this.target = e ? (e.target || e.targetNode || e.srcElement) : null;\r\n this.deltaY = deltaY;\r\n this.deltaX = deltaX;\r\n if (e) {\r\n // Old (deprecated) wheel events\r\n let e1 = e;\r\n let e2 = e;\r\n // vertical delta scroll\r\n if (typeof e1.wheelDeltaY !== 'undefined') {\r\n this.deltaY = e1.wheelDeltaY / 120;\r\n }\r\n else if (typeof e2.VERTICAL_AXIS !== 'undefined' && e2.axis === e2.VERTICAL_AXIS) {\r\n this.deltaY = -e2.detail / 3;\r\n }\r\n else if (e.type === 'wheel') {\r\n // Modern wheel event\r\n // https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\r\n const ev = e;\r\n if (ev.deltaMode === ev.DOM_DELTA_LINE) {\r\n // the deltas are expressed in lines\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox && !_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\r\n this.deltaY = -e.deltaY / 3;\r\n }\r\n else {\r\n this.deltaY = -e.deltaY;\r\n }\r\n }\r\n else {\r\n this.deltaY = -e.deltaY / 40;\r\n }\r\n }\r\n // horizontal delta scroll\r\n if (typeof e1.wheelDeltaX !== 'undefined') {\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari && _common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isWindows) {\r\n this.deltaX = -(e1.wheelDeltaX / 120);\r\n }\r\n else {\r\n this.deltaX = e1.wheelDeltaX / 120;\r\n }\r\n }\r\n else if (typeof e2.HORIZONTAL_AXIS !== 'undefined' && e2.axis === e2.HORIZONTAL_AXIS) {\r\n this.deltaX = -e.detail / 3;\r\n }\r\n else if (e.type === 'wheel') {\r\n // Modern wheel event\r\n // https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\r\n const ev = e;\r\n if (ev.deltaMode === ev.DOM_DELTA_LINE) {\r\n // the deltas are expressed in lines\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox && !_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\r\n this.deltaX = -e.deltaX / 3;\r\n }\r\n else {\r\n this.deltaX = -e.deltaX;\r\n }\r\n }\r\n else {\r\n this.deltaX = -e.deltaX / 40;\r\n }\r\n }\r\n // Assume a vertical scroll if nothing else worked\r\n if (this.deltaY === 0 && this.deltaX === 0 && e.wheelDelta) {\r\n this.deltaY = e.wheelDelta / 120;\r\n }\r\n }\r\n }\r\n preventDefault() {\r\n if (this.browserEvent) {\r\n this.browserEvent.preventDefault();\r\n }\r\n }\r\n stopPropagation() {\r\n if (this.browserEvent) {\r\n this.browserEvent.stopPropagation();\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/touch.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/touch.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventType\": () => (/* binding */ EventType),\n/* harmony export */ \"Gesture\": () => (/* binding */ Gesture)\n/* harmony export */ });\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.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\n\r\n\r\n\r\n\r\nvar EventType;\r\n(function (EventType) {\r\n EventType.Tap = '-monaco-gesturetap';\r\n EventType.Change = '-monaco-gesturechange';\r\n EventType.Start = '-monaco-gesturestart';\r\n EventType.End = '-monaco-gesturesend';\r\n EventType.Contextmenu = '-monaco-gesturecontextmenu';\r\n})(EventType || (EventType = {}));\r\nclass Gesture extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor() {\r\n super();\r\n this.dispatched = false;\r\n this.activeTouches = {};\r\n this.handle = null;\r\n this.targets = [];\r\n this.ignoreTargets = [];\r\n this._lastSetTapCountTime = 0;\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(document, 'touchstart', (e) => this.onTouchStart(e), { passive: false }));\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(document, 'touchend', (e) => this.onTouchEnd(e)));\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(document, 'touchmove', (e) => this.onTouchMove(e), { passive: false }));\r\n }\r\n static addTarget(element) {\r\n if (!Gesture.isTouchDevice()) {\r\n return _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n }\r\n if (!Gesture.INSTANCE) {\r\n Gesture.INSTANCE = new Gesture();\r\n }\r\n Gesture.INSTANCE.targets.push(element);\r\n return {\r\n dispose: () => {\r\n Gesture.INSTANCE.targets = Gesture.INSTANCE.targets.filter(t => t !== element);\r\n }\r\n };\r\n }\r\n static ignoreTarget(element) {\r\n if (!Gesture.isTouchDevice()) {\r\n return _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n }\r\n if (!Gesture.INSTANCE) {\r\n Gesture.INSTANCE = new Gesture();\r\n }\r\n Gesture.INSTANCE.ignoreTargets.push(element);\r\n return {\r\n dispose: () => {\r\n Gesture.INSTANCE.ignoreTargets = Gesture.INSTANCE.ignoreTargets.filter(t => t !== element);\r\n }\r\n };\r\n }\r\n static isTouchDevice() {\r\n // `'ontouchstart' in window` always evaluates to true with typescript's modern typings. This causes `window` to be\r\n // `never` later in `window.navigator`. That's why we need the explicit `window as Window` cast\r\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0;\r\n }\r\n dispose() {\r\n if (this.handle) {\r\n this.handle.dispose();\r\n this.handle = null;\r\n }\r\n super.dispose();\r\n }\r\n onTouchStart(e) {\r\n let timestamp = Date.now(); // use Date.now() because on FF e.timeStamp is not epoch based.\r\n if (this.handle) {\r\n this.handle.dispose();\r\n this.handle = null;\r\n }\r\n for (let i = 0, len = e.targetTouches.length; i < len; i++) {\r\n let touch = e.targetTouches.item(i);\r\n this.activeTouches[touch.identifier] = {\r\n id: touch.identifier,\r\n initialTarget: touch.target,\r\n initialTimeStamp: timestamp,\r\n initialPageX: touch.pageX,\r\n initialPageY: touch.pageY,\r\n rollingTimestamps: [timestamp],\r\n rollingPageX: [touch.pageX],\r\n rollingPageY: [touch.pageY]\r\n };\r\n let evt = this.newGestureEvent(EventType.Start, touch.target);\r\n evt.pageX = touch.pageX;\r\n evt.pageY = touch.pageY;\r\n this.dispatchEvent(evt);\r\n }\r\n if (this.dispatched) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.dispatched = false;\r\n }\r\n }\r\n onTouchEnd(e) {\r\n let timestamp = Date.now(); // use Date.now() because on FF e.timeStamp is not epoch based.\r\n let activeTouchCount = Object.keys(this.activeTouches).length;\r\n for (let i = 0, len = e.changedTouches.length; i < len; i++) {\r\n let touch = e.changedTouches.item(i);\r\n if (!this.activeTouches.hasOwnProperty(String(touch.identifier))) {\r\n console.warn('move of an UNKNOWN touch', touch);\r\n continue;\r\n }\r\n let data = this.activeTouches[touch.identifier], holdTime = Date.now() - data.initialTimeStamp;\r\n if (holdTime < Gesture.HOLD_DELAY\r\n && Math.abs(data.initialPageX - _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageX)) < 30\r\n && Math.abs(data.initialPageY - _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageY)) < 30) {\r\n let evt = this.newGestureEvent(EventType.Tap, data.initialTarget);\r\n evt.pageX = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageX);\r\n evt.pageY = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageY);\r\n this.dispatchEvent(evt);\r\n }\r\n else if (holdTime >= Gesture.HOLD_DELAY\r\n && Math.abs(data.initialPageX - _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageX)) < 30\r\n && Math.abs(data.initialPageY - _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageY)) < 30) {\r\n let evt = this.newGestureEvent(EventType.Contextmenu, data.initialTarget);\r\n evt.pageX = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageX);\r\n evt.pageY = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageY);\r\n this.dispatchEvent(evt);\r\n }\r\n else if (activeTouchCount === 1) {\r\n let finalX = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageX);\r\n let finalY = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageY);\r\n let deltaT = _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingTimestamps) - data.rollingTimestamps[0];\r\n let deltaX = finalX - data.rollingPageX[0];\r\n let deltaY = finalY - data.rollingPageY[0];\r\n // We need to get all the dispatch targets on the start of the inertia event\r\n const dispatchTo = this.targets.filter(t => data.initialTarget instanceof Node && t.contains(data.initialTarget));\r\n this.inertia(dispatchTo, timestamp, // time now\r\n Math.abs(deltaX) / deltaT, // speed\r\n deltaX > 0 ? 1 : -1, // x direction\r\n finalX, // x now\r\n Math.abs(deltaY) / deltaT, // y speed\r\n deltaY > 0 ? 1 : -1, // y direction\r\n finalY // y now\r\n );\r\n }\r\n this.dispatchEvent(this.newGestureEvent(EventType.End, data.initialTarget));\r\n // forget about this touch\r\n delete this.activeTouches[touch.identifier];\r\n }\r\n if (this.dispatched) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.dispatched = false;\r\n }\r\n }\r\n newGestureEvent(type, initialTarget) {\r\n let event = document.createEvent('CustomEvent');\r\n event.initEvent(type, false, true);\r\n event.initialTarget = initialTarget;\r\n event.tapCount = 0;\r\n return event;\r\n }\r\n dispatchEvent(event) {\r\n if (event.type === EventType.Tap) {\r\n const currentTime = (new Date()).getTime();\r\n let setTapCount = 0;\r\n if (currentTime - this._lastSetTapCountTime > Gesture.CLEAR_TAP_COUNT_TIME) {\r\n setTapCount = 1;\r\n }\r\n else {\r\n setTapCount = 2;\r\n }\r\n this._lastSetTapCountTime = currentTime;\r\n event.tapCount = setTapCount;\r\n }\r\n else if (event.type === EventType.Change || event.type === EventType.Contextmenu) {\r\n // tap is canceled by scrolling or context menu\r\n this._lastSetTapCountTime = 0;\r\n }\r\n for (let i = 0; i < this.ignoreTargets.length; i++) {\r\n if (event.initialTarget instanceof Node && this.ignoreTargets[i].contains(event.initialTarget)) {\r\n return;\r\n }\r\n }\r\n this.targets.forEach(target => {\r\n if (event.initialTarget instanceof Node && target.contains(event.initialTarget)) {\r\n target.dispatchEvent(event);\r\n this.dispatched = true;\r\n }\r\n });\r\n }\r\n inertia(dispatchTo, t1, vX, dirX, x, vY, dirY, y) {\r\n this.handle = _dom_js__WEBPACK_IMPORTED_MODULE_2__.scheduleAtNextAnimationFrame(() => {\r\n let now = Date.now();\r\n // velocity: old speed + accel_over_time\r\n let deltaT = now - t1, delta_pos_x = 0, delta_pos_y = 0, stopped = true;\r\n vX += Gesture.SCROLL_FRICTION * deltaT;\r\n vY += Gesture.SCROLL_FRICTION * deltaT;\r\n if (vX > 0) {\r\n stopped = false;\r\n delta_pos_x = dirX * vX * deltaT;\r\n }\r\n if (vY > 0) {\r\n stopped = false;\r\n delta_pos_y = dirY * vY * deltaT;\r\n }\r\n // dispatch translation event\r\n let evt = this.newGestureEvent(EventType.Change);\r\n evt.translationX = delta_pos_x;\r\n evt.translationY = delta_pos_y;\r\n dispatchTo.forEach(d => d.dispatchEvent(evt));\r\n if (!stopped) {\r\n this.inertia(dispatchTo, now, vX, dirX, x + delta_pos_x, vY, dirY, y + delta_pos_y);\r\n }\r\n });\r\n }\r\n onTouchMove(e) {\r\n let timestamp = Date.now(); // use Date.now() because on FF e.timeStamp is not epoch based.\r\n for (let i = 0, len = e.changedTouches.length; i < len; i++) {\r\n let touch = e.changedTouches.item(i);\r\n if (!this.activeTouches.hasOwnProperty(String(touch.identifier))) {\r\n console.warn('end of an UNKNOWN touch', touch);\r\n continue;\r\n }\r\n let data = this.activeTouches[touch.identifier];\r\n let evt = this.newGestureEvent(EventType.Change, data.initialTarget);\r\n evt.translationX = touch.pageX - _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageX);\r\n evt.translationY = touch.pageY - _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.tail(data.rollingPageY);\r\n evt.pageX = touch.pageX;\r\n evt.pageY = touch.pageY;\r\n this.dispatchEvent(evt);\r\n // only keep a few data points, to average the final speed\r\n if (data.rollingPageX.length > 3) {\r\n data.rollingPageX.shift();\r\n data.rollingPageY.shift();\r\n data.rollingTimestamps.shift();\r\n }\r\n data.rollingPageX.push(touch.pageX);\r\n data.rollingPageY.push(touch.pageY);\r\n data.rollingTimestamps.push(timestamp);\r\n }\r\n if (this.dispatched) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.dispatched = false;\r\n }\r\n }\r\n}\r\nGesture.SCROLL_FRICTION = -0.005;\r\nGesture.HOLD_DELAY = 700;\r\nGesture.CLEAR_TAP_COUNT_TIME = 400; // ms\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_3__.memoize\r\n], Gesture, \"isTouchDevice\", null);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/touch.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js": /*!****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js ***! \****************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BaseActionViewItem\": () => (/* binding */ BaseActionViewItem),\n/* harmony export */ \"ActionViewItem\": () => (/* binding */ ActionViewItem)\n/* harmony export */ });\n/* harmony import */ var _actionbar_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actionbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _dnd_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../dnd.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dnd.js\");\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\nclass BaseActionViewItem extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\r\n constructor(context, action, options = {}) {\r\n super();\r\n this.options = options;\r\n this._context = context || this;\r\n this._action = action;\r\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_4__.Action) {\r\n this._register(action.onDidChange(event => {\r\n if (!this.element) {\r\n // we have not been rendered yet, so there\r\n // is no point in updating the UI\r\n return;\r\n }\r\n this.handleActionChangeEvent(event);\r\n }));\r\n }\r\n }\r\n handleActionChangeEvent(event) {\r\n if (event.enabled !== undefined) {\r\n this.updateEnabled();\r\n }\r\n if (event.checked !== undefined) {\r\n this.updateChecked();\r\n }\r\n if (event.class !== undefined) {\r\n this.updateClass();\r\n }\r\n if (event.label !== undefined) {\r\n this.updateLabel();\r\n this.updateTooltip();\r\n }\r\n if (event.tooltip !== undefined) {\r\n this.updateTooltip();\r\n }\r\n }\r\n get actionRunner() {\r\n if (!this._actionRunner) {\r\n this._actionRunner = this._register(new _common_actions_js__WEBPACK_IMPORTED_MODULE_4__.ActionRunner());\r\n }\r\n return this._actionRunner;\r\n }\r\n set actionRunner(actionRunner) {\r\n this._actionRunner = actionRunner;\r\n }\r\n getAction() {\r\n return this._action;\r\n }\r\n isEnabled() {\r\n return this._action.enabled;\r\n }\r\n setActionContext(newContext) {\r\n this._context = newContext;\r\n }\r\n render(container) {\r\n const element = this.element = container;\r\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_6__.Gesture.addTarget(container));\r\n const enableDragging = this.options && this.options.draggable;\r\n if (enableDragging) {\r\n container.draggable = true;\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_8__.isFirefox) {\r\n // Firefox: requires to set a text data transfer to get going\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(container, _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.DRAG_START, e => { var _a; return (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData(_dnd_js__WEBPACK_IMPORTED_MODULE_7__.DataTransfers.TEXT, this._action.label); }));\r\n }\r\n }\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(element, _touch_js__WEBPACK_IMPORTED_MODULE_6__.EventType.Tap, e => this.onClick(e)));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.MOUSE_DOWN, e => {\r\n if (!enableDragging) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventHelper.stop(e, true); // do not run when dragging is on because that would disable it\r\n }\r\n if (this._action.enabled && e.button === 0) {\r\n element.classList.add('active');\r\n }\r\n }));\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.isMacintosh) {\r\n // macOS: allow to trigger the button when holding Ctrl+key and pressing the\r\n // main mouse button. This is for scenarios where e.g. some interaction forces\r\n // the Ctrl+key to be pressed and hold but the user still wants to interact\r\n // with the actions (for example quick access in quick navigation mode).\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.CONTEXT_MENU, e => {\r\n if (e.button === 0 && e.ctrlKey === true) {\r\n this.onClick(e);\r\n }\r\n }));\r\n }\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.CLICK, e => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventHelper.stop(e, true);\r\n // menus do not use the click event\r\n if (!(this.options && this.options.isMenu)) {\r\n _common_platform_js__WEBPACK_IMPORTED_MODULE_1__.setImmediate(() => this.onClick(e));\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.DBLCLICK, e => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventHelper.stop(e, true);\r\n }));\r\n [_dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.MOUSE_UP, _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventType.MOUSE_OUT].forEach(event => {\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.addDisposableListener)(element, event, e => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventHelper.stop(e);\r\n element.classList.remove('active');\r\n }));\r\n });\r\n }\r\n onClick(event) {\r\n var _a;\r\n _dom_js__WEBPACK_IMPORTED_MODULE_9__.EventHelper.stop(event, true);\r\n const context = _common_types_js__WEBPACK_IMPORTED_MODULE_5__.isUndefinedOrNull(this._context) ? ((_a = this.options) === null || _a === void 0 ? void 0 : _a.useEventAsContext) ? event : undefined : this._context;\r\n this.actionRunner.run(this._action, context);\r\n }\r\n // Only set the tabIndex on the element once it is about to get focused\r\n // That way this element wont be a tab stop when it is not needed #106441\r\n focus() {\r\n if (this.element) {\r\n this.element.tabIndex = 0;\r\n this.element.focus();\r\n this.element.classList.add('focused');\r\n }\r\n }\r\n blur() {\r\n if (this.element) {\r\n this.element.blur();\r\n this.element.tabIndex = -1;\r\n this.element.classList.remove('focused');\r\n }\r\n }\r\n setFocusable(focusable) {\r\n if (this.element) {\r\n this.element.tabIndex = focusable ? 0 : -1;\r\n }\r\n }\r\n get trapsArrowNavigation() {\r\n return false;\r\n }\r\n updateEnabled() {\r\n // implement in subclass\r\n }\r\n updateLabel() {\r\n // implement in subclass\r\n }\r\n updateTooltip() {\r\n // implement in subclass\r\n }\r\n updateClass() {\r\n // implement in subclass\r\n }\r\n updateChecked() {\r\n // implement in subclass\r\n }\r\n dispose() {\r\n if (this.element) {\r\n this.element.remove();\r\n this.element = undefined;\r\n }\r\n super.dispose();\r\n }\r\n}\r\nclass ActionViewItem extends BaseActionViewItem {\r\n constructor(context, action, options = {}) {\r\n super(context, action, options);\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 }\r\n render(container) {\r\n super.render(container);\r\n if (this.element) {\r\n this.label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.$)('a.action-label'));\r\n }\r\n if (this.label) {\r\n if (this._action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_4__.Separator.ID) {\r\n this.label.setAttribute('role', 'presentation'); // A separator is a presentation item\r\n }\r\n else {\r\n if (this.options.isMenu) {\r\n this.label.setAttribute('role', 'menuitem');\r\n }\r\n else {\r\n this.label.setAttribute('role', 'button');\r\n }\r\n }\r\n }\r\n if (this.options.label && this.options.keybinding && this.element) {\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.$)('span.keybinding')).textContent = this.options.keybinding;\r\n }\r\n this.updateClass();\r\n this.updateLabel();\r\n this.updateTooltip();\r\n this.updateEnabled();\r\n this.updateChecked();\r\n }\r\n // Only set the tabIndex on the element once it is about to get focused\r\n // That way this element wont be a tab stop when it is not needed #106441\r\n focus() {\r\n if (this.label) {\r\n this.label.tabIndex = 0;\r\n this.label.focus();\r\n }\r\n }\r\n blur() {\r\n if (this.label) {\r\n this.label.tabIndex = -1;\r\n }\r\n }\r\n setFocusable(focusable) {\r\n if (this.label) {\r\n this.label.tabIndex = focusable ? 0 : -1;\r\n }\r\n }\r\n updateLabel() {\r\n if (this.options.label && this.label) {\r\n this.label.textContent = this.getAction().label;\r\n }\r\n }\r\n updateTooltip() {\r\n let 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_js__WEBPACK_IMPORTED_MODULE_2__.localize({ key: 'titleLabel', comment: ['action title', 'action keybinding'] }, \"{0} ({1})\", title, this.options.keybinding);\r\n }\r\n }\r\n if (title && this.label) {\r\n this.label.title = title;\r\n }\r\n }\r\n updateClass() {\r\n if (this.cssClass && this.label) {\r\n this.label.classList.remove(...this.cssClass.split(' '));\r\n }\r\n if (this.options.icon) {\r\n this.cssClass = this.getAction().class;\r\n if (this.label) {\r\n this.label.classList.add('codicon');\r\n if (this.cssClass) {\r\n this.label.classList.add(...this.cssClass.split(' '));\r\n }\r\n }\r\n this.updateEnabled();\r\n }\r\n else {\r\n if (this.label) {\r\n this.label.classList.remove('codicon');\r\n }\r\n }\r\n }\r\n updateEnabled() {\r\n if (this.getAction().enabled) {\r\n if (this.label) {\r\n this.label.removeAttribute('aria-disabled');\r\n this.label.classList.remove('disabled');\r\n }\r\n if (this.element) {\r\n this.element.classList.remove('disabled');\r\n }\r\n }\r\n else {\r\n if (this.label) {\r\n this.label.setAttribute('aria-disabled', 'true');\r\n this.label.classList.add('disabled');\r\n }\r\n if (this.element) {\r\n this.element.classList.add('disabled');\r\n }\r\n }\r\n }\r\n updateChecked() {\r\n if (this.label) {\r\n if (this.getAction().checked) {\r\n this.label.classList.add('checked');\r\n }\r\n else {\r\n this.label.classList.remove('checked');\r\n }\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ActionBar\": () => (/* binding */ ActionBar)\n/* harmony export */ });\n/* harmony import */ var _actionbar_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actionbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _actionViewItems_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.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\nclass ActionBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(container, options = {}) {\r\n var _a, _b, _c, _d, _e, _f;\r\n super();\r\n // Trigger Key Tracking\r\n this.triggerKeyDown = false;\r\n this.focusable = true;\r\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidBlur = this._onDidBlur.event;\r\n this._onDidCancel = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter({ onFirstListenerAdd: () => this.cancelHasListener = true }));\r\n this.onDidCancel = this._onDidCancel.event;\r\n this.cancelHasListener = false;\r\n this._onDidRun = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidRun = this._onDidRun.event;\r\n this._onBeforeRun = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onBeforeRun = this._onBeforeRun.event;\r\n this.options = options;\r\n this._context = (_a = options.context) !== null && _a !== void 0 ? _a : null;\r\n this._orientation = (_b = this.options.orientation) !== null && _b !== void 0 ? _b : 0 /* HORIZONTAL */;\r\n this._triggerKeys = {\r\n keyDown: (_d = (_c = this.options.triggerKeys) === null || _c === void 0 ? void 0 : _c.keyDown) !== null && _d !== void 0 ? _d : false,\r\n keys: (_f = (_e = this.options.triggerKeys) === null || _e === void 0 ? void 0 : _e.keys) !== null && _f !== void 0 ? _f : [3 /* Enter */, 10 /* Space */]\r\n };\r\n if (this.options.actionRunner) {\r\n this._actionRunner = this.options.actionRunner;\r\n }\r\n else {\r\n this._actionRunner = new _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.ActionRunner();\r\n this._register(this._actionRunner);\r\n }\r\n this._register(this._actionRunner.onDidRun(e => this._onDidRun.fire(e)));\r\n this._register(this._actionRunner.onBeforeRun(e => this._onBeforeRun.fire(e)));\r\n this._actionIds = [];\r\n this.viewItems = [];\r\n this.focusedItem = undefined;\r\n this.domNode = document.createElement('div');\r\n this.domNode.className = 'monaco-action-bar';\r\n if (options.animated !== false) {\r\n this.domNode.classList.add('animated');\r\n }\r\n let previousKeys;\r\n let nextKeys;\r\n switch (this._orientation) {\r\n case 0 /* HORIZONTAL */:\r\n previousKeys = [15 /* LeftArrow */];\r\n nextKeys = [17 /* RightArrow */];\r\n break;\r\n case 1 /* HORIZONTAL_REVERSE */:\r\n previousKeys = [17 /* RightArrow */];\r\n nextKeys = [15 /* LeftArrow */];\r\n this.domNode.className += ' reverse';\r\n break;\r\n case 2 /* VERTICAL */:\r\n previousKeys = [16 /* UpArrow */];\r\n nextKeys = [18 /* DownArrow */];\r\n this.domNode.className += ' vertical';\r\n break;\r\n case 3 /* VERTICAL_REVERSE */:\r\n previousKeys = [18 /* DownArrow */];\r\n nextKeys = [16 /* UpArrow */];\r\n this.domNode.className += ' vertical reverse';\r\n break;\r\n }\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_3__.addDisposableListener(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.KEY_DOWN, e => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e);\r\n let eventHandled = true;\r\n const focusedItem = typeof this.focusedItem === 'number' ? this.viewItems[this.focusedItem] : undefined;\r\n if (previousKeys && (event.equals(previousKeys[0]) || event.equals(previousKeys[1]))) {\r\n eventHandled = this.focusPrevious();\r\n }\r\n else if (nextKeys && (event.equals(nextKeys[0]) || event.equals(nextKeys[1]))) {\r\n eventHandled = this.focusNext();\r\n }\r\n else if (event.equals(9 /* Escape */) && this.cancelHasListener) {\r\n this._onDidCancel.fire();\r\n }\r\n else if (event.equals(2 /* Tab */) && focusedItem instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_7__.BaseActionViewItem && focusedItem.trapsArrowNavigation) {\r\n this.focusNext();\r\n }\r\n else if (this.isTriggerKeyEvent(event)) {\r\n // Staying out of the else branch even if not triggered\r\n if (this._triggerKeys.keyDown) {\r\n this.doTrigger(event);\r\n }\r\n else {\r\n this.triggerKeyDown = true;\r\n }\r\n }\r\n else {\r\n eventHandled = false;\r\n }\r\n if (eventHandled) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }));\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_3__.addDisposableListener(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.KEY_UP, e => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e);\r\n // Run action on Enter/Space\r\n if (this.isTriggerKeyEvent(event)) {\r\n if (!this._triggerKeys.keyDown && this.triggerKeyDown) {\r\n this.triggerKeyDown = false;\r\n this.doTrigger(event);\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n // Recompute focused item\r\n else if (event.equals(2 /* Tab */) || event.equals(1024 /* Shift */ | 2 /* Tab */)) {\r\n this.updateFocusedItem();\r\n }\r\n }));\r\n this.focusTracker = this._register(_dom_js__WEBPACK_IMPORTED_MODULE_3__.trackFocus(this.domNode));\r\n this._register(this.focusTracker.onDidBlur(() => {\r\n if (_dom_js__WEBPACK_IMPORTED_MODULE_3__.getActiveElement() === this.domNode || !_dom_js__WEBPACK_IMPORTED_MODULE_3__.isAncestor(_dom_js__WEBPACK_IMPORTED_MODULE_3__.getActiveElement(), this.domNode)) {\r\n this._onDidBlur.fire();\r\n this.focusedItem = undefined;\r\n this.triggerKeyDown = false;\r\n }\r\n }));\r\n this._register(this.focusTracker.onDidFocus(() => this.updateFocusedItem()));\r\n this.actionsList = document.createElement('ul');\r\n this.actionsList.className = 'actions-container';\r\n this.actionsList.setAttribute('role', 'toolbar');\r\n if (this.options.ariaLabel) {\r\n this.actionsList.setAttribute('aria-label', this.options.ariaLabel);\r\n }\r\n this.domNode.appendChild(this.actionsList);\r\n container.appendChild(this.domNode);\r\n }\r\n isTriggerKeyEvent(event) {\r\n let ret = false;\r\n this._triggerKeys.keys.forEach(keyCode => {\r\n ret = ret || event.equals(keyCode);\r\n });\r\n return ret;\r\n }\r\n updateFocusedItem() {\r\n for (let i = 0; i < this.actionsList.children.length; i++) {\r\n const elem = this.actionsList.children[i];\r\n if (_dom_js__WEBPACK_IMPORTED_MODULE_3__.isAncestor(_dom_js__WEBPACK_IMPORTED_MODULE_3__.getActiveElement(), elem)) {\r\n this.focusedItem = i;\r\n break;\r\n }\r\n }\r\n }\r\n get context() {\r\n return this._context;\r\n }\r\n set context(context) {\r\n this._context = context;\r\n this.viewItems.forEach(i => i.setActionContext(context));\r\n }\r\n get actionRunner() {\r\n return this._actionRunner;\r\n }\r\n set actionRunner(actionRunner) {\r\n if (actionRunner) {\r\n this._actionRunner = actionRunner;\r\n this.viewItems.forEach(item => item.actionRunner = actionRunner);\r\n }\r\n }\r\n getContainer() {\r\n return this.domNode;\r\n }\r\n push(arg, options = {}) {\r\n const actions = Array.isArray(arg) ? arg : [arg];\r\n let index = _common_types_js__WEBPACK_IMPORTED_MODULE_4__.isNumber(options.index) ? options.index : null;\r\n actions.forEach((action) => {\r\n const actionViewItemElement = document.createElement('li');\r\n actionViewItemElement.className = 'action-item';\r\n actionViewItemElement.setAttribute('role', 'presentation');\r\n // Prevent native context menu on actions\r\n if (!this.options.allowContextMenu) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_3__.addDisposableListener(actionViewItemElement, _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.CONTEXT_MENU, (e) => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventHelper.stop(e, true);\r\n }));\r\n }\r\n let item;\r\n if (this.options.actionViewItemProvider) {\r\n item = this.options.actionViewItemProvider(action);\r\n }\r\n if (!item) {\r\n item = new _actionViewItems_js__WEBPACK_IMPORTED_MODULE_7__.ActionViewItem(this.context, action, options);\r\n }\r\n item.actionRunner = this._actionRunner;\r\n item.setActionContext(this.context);\r\n item.render(actionViewItemElement);\r\n if (this.focusable && item instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_7__.BaseActionViewItem && this.viewItems.length === 0) {\r\n // We need to allow for the first enabled item to be focused on using tab navigation #106441\r\n item.setFocusable(true);\r\n }\r\n if (index === null || index < 0 || index >= this.actionsList.children.length) {\r\n this.actionsList.appendChild(actionViewItemElement);\r\n this.viewItems.push(item);\r\n this._actionIds.push(action.id);\r\n }\r\n else {\r\n this.actionsList.insertBefore(actionViewItemElement, this.actionsList.children[index]);\r\n this.viewItems.splice(index, 0, item);\r\n this._actionIds.splice(index, 0, action.id);\r\n index++;\r\n }\r\n });\r\n if (typeof this.focusedItem === 'number') {\r\n // After a clear actions might be re-added to simply toggle some actions. We should preserve focus #97128\r\n this.focus(this.focusedItem);\r\n }\r\n }\r\n clear() {\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.viewItems);\r\n this.viewItems = [];\r\n this._actionIds = [];\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.clearNode(this.actionsList);\r\n }\r\n focus(arg) {\r\n let selectFirst = false;\r\n let index = undefined;\r\n if (arg === undefined) {\r\n selectFirst = true;\r\n }\r\n else if (typeof arg === 'number') {\r\n index = arg;\r\n }\r\n else if (typeof arg === 'boolean') {\r\n selectFirst = arg;\r\n }\r\n if (selectFirst && typeof this.focusedItem === 'undefined') {\r\n const firstEnabled = this.viewItems.findIndex(item => item.isEnabled());\r\n // Focus the first enabled item\r\n this.focusedItem = firstEnabled === -1 ? undefined : firstEnabled;\r\n this.updateFocus();\r\n }\r\n else {\r\n if (index !== undefined) {\r\n this.focusedItem = index;\r\n }\r\n this.updateFocus();\r\n }\r\n }\r\n focusNext() {\r\n if (typeof this.focusedItem === 'undefined') {\r\n this.focusedItem = this.viewItems.length - 1;\r\n }\r\n const startIndex = this.focusedItem;\r\n let item;\r\n do {\r\n if (this.options.preventLoopNavigation && this.focusedItem + 1 >= this.viewItems.length) {\r\n this.focusedItem = startIndex;\r\n return false;\r\n }\r\n this.focusedItem = (this.focusedItem + 1) % this.viewItems.length;\r\n item = this.viewItems[this.focusedItem];\r\n } while (this.focusedItem !== startIndex && this.options.focusOnlyEnabledItems && !item.isEnabled());\r\n this.updateFocus();\r\n return true;\r\n }\r\n focusPrevious() {\r\n if (typeof this.focusedItem === 'undefined') {\r\n this.focusedItem = 0;\r\n }\r\n const startIndex = this.focusedItem;\r\n let item;\r\n do {\r\n this.focusedItem = this.focusedItem - 1;\r\n if (this.focusedItem < 0) {\r\n if (this.options.preventLoopNavigation) {\r\n this.focusedItem = startIndex;\r\n return false;\r\n }\r\n this.focusedItem = this.viewItems.length - 1;\r\n }\r\n item = this.viewItems[this.focusedItem];\r\n } while (this.focusedItem !== startIndex && this.options.focusOnlyEnabledItems && !item.isEnabled());\r\n this.updateFocus(true);\r\n return true;\r\n }\r\n updateFocus(fromRight, preventScroll) {\r\n if (typeof this.focusedItem === 'undefined') {\r\n this.actionsList.focus({ preventScroll });\r\n }\r\n for (let i = 0; i < this.viewItems.length; i++) {\r\n const item = this.viewItems[i];\r\n const actionViewItem = item;\r\n if (i === this.focusedItem) {\r\n let focusItem = true;\r\n if (!_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isFunction(actionViewItem.focus)) {\r\n focusItem = false;\r\n }\r\n if (this.options.focusOnlyEnabledItems && _common_types_js__WEBPACK_IMPORTED_MODULE_4__.isFunction(item.isEnabled) && !item.isEnabled()) {\r\n focusItem = false;\r\n }\r\n if (focusItem) {\r\n actionViewItem.focus(fromRight);\r\n }\r\n else {\r\n this.actionsList.focus({ preventScroll });\r\n }\r\n }\r\n else {\r\n if (_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isFunction(actionViewItem.blur)) {\r\n actionViewItem.blur();\r\n }\r\n }\r\n }\r\n }\r\n doTrigger(event) {\r\n if (typeof this.focusedItem === 'undefined') {\r\n return; //nothing to focus\r\n }\r\n // trigger action\r\n const actionViewItem = this.viewItems[this.focusedItem];\r\n if (actionViewItem instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_7__.BaseActionViewItem) {\r\n const context = (actionViewItem._context === null || actionViewItem._context === undefined) ? event : actionViewItem._context;\r\n this.run(actionViewItem._action, context);\r\n }\r\n }\r\n run(action, context) {\r\n return this._actionRunner.run(action, context);\r\n }\r\n dispose() {\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.viewItems);\r\n this.viewItems = [];\r\n this._actionIds = [];\r\n this.getContainer().remove();\r\n super.dispose();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setARIAContainer\": () => (/* binding */ setARIAContainer),\n/* harmony export */ \"alert\": () => (/* binding */ alert),\n/* harmony export */ \"status\": () => (/* binding */ status)\n/* harmony export */ });\n/* harmony import */ var _aria_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./aria.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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// Use a max length since we are inserting the whole msg in the DOM and that can cause browsers to freeze for long messages #94233\r\nconst MAX_MESSAGE_LENGTH = 20000;\r\nlet ariaContainer;\r\nlet alertContainer;\r\nlet alertContainer2;\r\nlet statusContainer;\r\nlet statusContainer2;\r\nfunction setARIAContainer(parent) {\r\n ariaContainer = document.createElement('div');\r\n ariaContainer.className = 'monaco-aria-container';\r\n const createAlertContainer = () => {\r\n const element = document.createElement('div');\r\n element.className = 'monaco-alert';\r\n element.setAttribute('role', 'alert');\r\n element.setAttribute('aria-atomic', 'true');\r\n ariaContainer.appendChild(element);\r\n return element;\r\n };\r\n alertContainer = createAlertContainer();\r\n alertContainer2 = createAlertContainer();\r\n const createStatusContainer = () => {\r\n const element = document.createElement('div');\r\n element.className = 'monaco-status';\r\n element.setAttribute('role', 'complementary');\r\n element.setAttribute('aria-live', 'polite');\r\n element.setAttribute('aria-atomic', 'true');\r\n ariaContainer.appendChild(element);\r\n return element;\r\n };\r\n statusContainer = createStatusContainer();\r\n statusContainer2 = createStatusContainer();\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) {\r\n if (!ariaContainer) {\r\n return;\r\n }\r\n // Use alternate containers such that duplicated messages get read out by screen readers #99466\r\n if (alertContainer.textContent !== msg) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode(alertContainer2);\r\n insertMessage(alertContainer, msg);\r\n }\r\n else {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode(alertContainer);\r\n insertMessage(alertContainer2, msg);\r\n }\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) {\r\n if (!ariaContainer) {\r\n return;\r\n }\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.isMacintosh) {\r\n alert(msg); // VoiceOver does not seem to support status role\r\n }\r\n else {\r\n if (statusContainer.textContent !== msg) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode(statusContainer2);\r\n insertMessage(statusContainer, msg);\r\n }\r\n else {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode(statusContainer);\r\n insertMessage(statusContainer2, msg);\r\n }\r\n }\r\n}\r\nfunction insertMessage(target, msg) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode(target);\r\n if (msg.length > MAX_MESSAGE_LENGTH) {\r\n msg = msg.substr(0, MAX_MESSAGE_LENGTH);\r\n }\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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js": /*!****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Button\": () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var _button_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\nconst defaultOptions = {\r\n buttonBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.fromHex('#0E639C'),\r\n buttonHoverBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.fromHex('#006BB3'),\r\n buttonForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.white\r\n};\r\nclass Button extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.Disposable {\r\n constructor(container, options) {\r\n super();\r\n this._onDidClick = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\r\n this.options = options || Object.create(null);\r\n (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_3__.mixin)(this.options, defaultOptions, false);\r\n this.buttonForeground = this.options.buttonForeground;\r\n this.buttonBackground = this.options.buttonBackground;\r\n this.buttonHoverBackground = this.options.buttonHoverBackground;\r\n this.buttonSecondaryForeground = this.options.buttonSecondaryForeground;\r\n this.buttonSecondaryBackground = this.options.buttonSecondaryBackground;\r\n this.buttonSecondaryHoverBackground = this.options.buttonSecondaryHoverBackground;\r\n this.buttonBorder = this.options.buttonBorder;\r\n this._element = document.createElement('a');\r\n this._element.classList.add('monaco-button');\r\n this._element.tabIndex = 0;\r\n this._element.setAttribute('role', 'button');\r\n container.appendChild(this._element);\r\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_6__.Gesture.addTarget(this._element));\r\n [_dom_js__WEBPACK_IMPORTED_MODULE_8__.EventType.CLICK, _touch_js__WEBPACK_IMPORTED_MODULE_6__.EventType.Tap].forEach(eventType => {\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_8__.addDisposableListener)(this._element, eventType, e => {\r\n if (!this.enabled) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_8__.EventHelper.stop(e);\r\n return;\r\n }\r\n this._onDidClick.fire(e);\r\n }));\r\n });\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_8__.addDisposableListener)(this._element, _dom_js__WEBPACK_IMPORTED_MODULE_8__.EventType.KEY_DOWN, e => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\r\n let eventHandled = false;\r\n if (this.enabled && (event.equals(3 /* Enter */) || event.equals(10 /* Space */))) {\r\n this._onDidClick.fire(e);\r\n eventHandled = true;\r\n }\r\n else if (event.equals(9 /* Escape */)) {\r\n this._element.blur();\r\n eventHandled = true;\r\n }\r\n if (eventHandled) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_8__.EventHelper.stop(event, true);\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_8__.addDisposableListener)(this._element, _dom_js__WEBPACK_IMPORTED_MODULE_8__.EventType.MOUSE_OVER, e => {\r\n if (!this._element.classList.contains('disabled')) {\r\n this.setHoverBackground();\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_8__.addDisposableListener)(this._element, _dom_js__WEBPACK_IMPORTED_MODULE_8__.EventType.MOUSE_OUT, e => {\r\n this.applyStyles(); // restore standard styles\r\n }));\r\n // Also set hover background when button is focused for feedback\r\n this.focusTracker = this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_8__.trackFocus)(this._element));\r\n this._register(this.focusTracker.onDidFocus(() => this.setHoverBackground()));\r\n this._register(this.focusTracker.onDidBlur(() => this.applyStyles())); // restore standard styles\r\n this.applyStyles();\r\n }\r\n get onDidClick() { return this._onDidClick.event; }\r\n setHoverBackground() {\r\n let hoverBackground;\r\n if (this.options.secondary) {\r\n hoverBackground = this.buttonSecondaryHoverBackground ? this.buttonSecondaryHoverBackground.toString() : null;\r\n }\r\n else {\r\n hoverBackground = this.buttonHoverBackground ? this.buttonHoverBackground.toString() : null;\r\n }\r\n if (hoverBackground) {\r\n this._element.style.backgroundColor = hoverBackground;\r\n }\r\n }\r\n style(styles) {\r\n this.buttonForeground = styles.buttonForeground;\r\n this.buttonBackground = styles.buttonBackground;\r\n this.buttonHoverBackground = styles.buttonHoverBackground;\r\n this.buttonSecondaryForeground = styles.buttonSecondaryForeground;\r\n this.buttonSecondaryBackground = styles.buttonSecondaryBackground;\r\n this.buttonSecondaryHoverBackground = styles.buttonSecondaryHoverBackground;\r\n this.buttonBorder = styles.buttonBorder;\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n if (this._element) {\r\n let background, foreground;\r\n if (this.options.secondary) {\r\n foreground = this.buttonSecondaryForeground ? this.buttonSecondaryForeground.toString() : '';\r\n background = this.buttonSecondaryBackground ? this.buttonSecondaryBackground.toString() : '';\r\n }\r\n else {\r\n foreground = this.buttonForeground ? this.buttonForeground.toString() : '';\r\n background = this.buttonBackground ? this.buttonBackground.toString() : '';\r\n }\r\n const border = this.buttonBorder ? this.buttonBorder.toString() : '';\r\n this._element.style.color = foreground;\r\n this._element.style.backgroundColor = background;\r\n this._element.style.borderWidth = border ? '1px' : '';\r\n this._element.style.borderStyle = border ? 'solid' : '';\r\n this._element.style.borderColor = border;\r\n }\r\n }\r\n get element() {\r\n return this._element;\r\n }\r\n set label(value) {\r\n this._element.classList.add('monaco-text-button');\r\n if (this.options.supportIcons) {\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_8__.reset)(this._element, ...(0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_7__.renderLabelWithIcons)(value));\r\n }\r\n else {\r\n this._element.textContent = value;\r\n }\r\n if (typeof this.options.title === 'string') {\r\n this._element.title = this.options.title;\r\n }\r\n else if (this.options.title) {\r\n this._element.title = value;\r\n }\r\n }\r\n set enabled(value) {\r\n if (value) {\r\n this._element.classList.remove('disabled');\r\n this._element.setAttribute('aria-disabled', String(false));\r\n this._element.tabIndex = 0;\r\n }\r\n else {\r\n this._element.classList.add('disabled');\r\n this._element.setAttribute('aria-disabled', String(true));\r\n }\r\n }\r\n get enabled() {\r\n return !this._element.classList.contains('disabled');\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Checkbox\": () => (/* binding */ Checkbox)\n/* harmony export */ });\n/* harmony import */ var _checkbox_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkbox.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.css\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst defaultOpts = {\r\n inputActiveOptionBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.fromHex('#007ACC00'),\r\n inputActiveOptionForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.fromHex('#FFFFFF'),\r\n inputActiveOptionBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.fromHex('#0E639C50')\r\n};\r\nclass Checkbox extends _widget_js__WEBPACK_IMPORTED_MODULE_1__.Widget {\r\n constructor(opts) {\r\n super();\r\n this._onChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter());\r\n this.onChange = this._onChange.event;\r\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter());\r\n this.onKeyDown = this._onKeyDown.event;\r\n this._opts = Object.assign(Object.assign({}, defaultOpts), opts);\r\n this._checked = this._opts.isChecked;\r\n const classes = ['monaco-custom-checkbox'];\r\n if (this._opts.icon) {\r\n classes.push(..._common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.CSSIcon.asClassNameArray(this._opts.icon));\r\n }\r\n if (this._opts.actionClassName) {\r\n classes.push(...this._opts.actionClassName.split(' '));\r\n }\r\n if (this._checked) {\r\n classes.push('checked');\r\n }\r\n this.domNode = document.createElement('div');\r\n this.domNode.title = this._opts.title;\r\n this.domNode.classList.add(...classes);\r\n if (!this._opts.notFocusable) {\r\n this.domNode.tabIndex = 0;\r\n }\r\n this.domNode.setAttribute('role', 'checkbox');\r\n this.domNode.setAttribute('aria-checked', String(this._checked));\r\n this.domNode.setAttribute('aria-label', this._opts.title);\r\n this.applyStyles();\r\n this.onclick(this.domNode, (ev) => {\r\n this.checked = !this._checked;\r\n this._onChange.fire(false);\r\n ev.preventDefault();\r\n });\r\n this.ignoreGesture(this.domNode);\r\n this.onkeydown(this.domNode, (keyboardEvent) => {\r\n if (keyboardEvent.keyCode === 10 /* Space */ || keyboardEvent.keyCode === 3 /* Enter */) {\r\n this.checked = !this._checked;\r\n this._onChange.fire(true);\r\n keyboardEvent.preventDefault();\r\n return;\r\n }\r\n this._onKeyDown.fire(keyboardEvent);\r\n });\r\n }\r\n get enabled() {\r\n return this.domNode.getAttribute('aria-disabled') !== 'true';\r\n }\r\n focus() {\r\n this.domNode.focus();\r\n }\r\n get checked() {\r\n return this._checked;\r\n }\r\n set checked(newIsChecked) {\r\n this._checked = newIsChecked;\r\n this.domNode.setAttribute('aria-checked', String(this._checked));\r\n this.domNode.classList.toggle('checked', this._checked);\r\n this.applyStyles();\r\n }\r\n width() {\r\n return 2 /*marginleft*/ + 2 /*border*/ + 2 /*padding*/ + 16 /* icon width */;\r\n }\r\n style(styles) {\r\n if (styles.inputActiveOptionBorder) {\r\n this._opts.inputActiveOptionBorder = styles.inputActiveOptionBorder;\r\n }\r\n if (styles.inputActiveOptionForeground) {\r\n this._opts.inputActiveOptionForeground = styles.inputActiveOptionForeground;\r\n }\r\n if (styles.inputActiveOptionBackground) {\r\n this._opts.inputActiveOptionBackground = styles.inputActiveOptionBackground;\r\n }\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n if (this.domNode) {\r\n this.domNode.style.borderColor = this._checked && this._opts.inputActiveOptionBorder ? this._opts.inputActiveOptionBorder.toString() : 'transparent';\r\n this.domNode.style.color = this._checked && this._opts.inputActiveOptionForeground ? this._opts.inputActiveOptionForeground.toString() : 'inherit';\r\n this.domNode.style.backgroundColor = this._checked && this._opts.inputActiveOptionBackground ? this._opts.inputActiveOptionBackground.toString() : 'transparent';\r\n }\r\n }\r\n enable() {\r\n this.domNode.setAttribute('aria-disabled', String(false));\r\n }\r\n disable() {\r\n this.domNode.setAttribute('aria-disabled', String(true));\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"formatRule\": () => (/* binding */ formatRule)\n/* harmony export */ });\n/* harmony import */ var _codicon_codicon_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codicon/codicon.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css\");\n/* harmony import */ var _codicon_codicon_modifiers_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codicon/codicon-modifiers.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nfunction formatRule(c) {\r\n let def = c.definition;\r\n while (def instanceof _common_codicons_js__WEBPACK_IMPORTED_MODULE_2__.Codicon) {\r\n def = def.definition;\r\n }\r\n return `.codicon-${c.id}:before { content: '${def.fontCharacter}'; }`;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js": /*!**************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LayoutAnchorMode\": () => (/* binding */ LayoutAnchorMode),\n/* harmony export */ \"layout\": () => (/* binding */ layout),\n/* harmony export */ \"ContextView\": () => (/* binding */ ContextView)\n/* harmony export */ });\n/* harmony import */ var _contextview_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./contextview.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.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 LayoutAnchorMode;\r\n(function (LayoutAnchorMode) {\r\n LayoutAnchorMode[LayoutAnchorMode[\"AVOID\"] = 0] = \"AVOID\";\r\n LayoutAnchorMode[LayoutAnchorMode[\"ALIGN\"] = 1] = \"ALIGN\";\r\n})(LayoutAnchorMode || (LayoutAnchorMode = {}));\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 const layoutAfterAnchorBoundary = anchor.mode === LayoutAnchorMode.ALIGN ? anchor.offset : anchor.offset + anchor.size;\r\n const layoutBeforeAnchorBoundary = anchor.mode === LayoutAnchorMode.ALIGN ? anchor.offset + anchor.size : anchor.offset;\r\n if (anchor.position === 0 /* Before */) {\r\n if (viewSize <= viewportSize - layoutAfterAnchorBoundary) {\r\n return layoutAfterAnchorBoundary; // happy case, lay it out after the anchor\r\n }\r\n if (viewSize <= layoutBeforeAnchorBoundary) {\r\n return layoutBeforeAnchorBoundary - 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 <= layoutBeforeAnchorBoundary) {\r\n return layoutBeforeAnchorBoundary - viewSize; // happy case, lay it out before the anchor\r\n }\r\n if (viewSize <= viewportSize - layoutAfterAnchorBoundary) {\r\n return layoutAfterAnchorBoundary; // 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\nclass ContextView extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\r\n constructor(container, domPosition) {\r\n super();\r\n this.container = null;\r\n this.delegate = null;\r\n this.toDisposeOnClean = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable.None;\r\n this.toDisposeOnSetContainer = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable.None;\r\n this.shadowRoot = null;\r\n this.shadowRootHostElement = null;\r\n this.view = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.context-view');\r\n this.useFixedPosition = false;\r\n this.useShadowDOM = false;\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.hide(this.view);\r\n this.setContainer(container, domPosition);\r\n this._register((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(() => this.setContainer(null, 1 /* ABSOLUTE */)));\r\n }\r\n setContainer(container, domPosition) {\r\n var _a;\r\n if (this.container) {\r\n this.toDisposeOnSetContainer.dispose();\r\n if (this.shadowRoot) {\r\n this.shadowRoot.removeChild(this.view);\r\n this.shadowRoot = null;\r\n (_a = this.shadowRootHostElement) === null || _a === void 0 ? void 0 : _a.remove();\r\n this.shadowRootHostElement = null;\r\n }\r\n else {\r\n this.container.removeChild(this.view);\r\n }\r\n this.container = null;\r\n }\r\n if (container) {\r\n this.container = container;\r\n this.useFixedPosition = domPosition !== 1 /* ABSOLUTE */;\r\n this.useShadowDOM = domPosition === 3 /* FIXED_SHADOW */;\r\n if (this.useShadowDOM) {\r\n this.shadowRootHostElement = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.shadow-root-host');\r\n this.container.appendChild(this.shadowRootHostElement);\r\n this.shadowRoot = this.shadowRootHostElement.attachShadow({ mode: 'open' });\r\n const style = document.createElement('style');\r\n style.textContent = SHADOW_ROOT_CSS;\r\n this.shadowRoot.appendChild(style);\r\n this.shadowRoot.appendChild(this.view);\r\n this.shadowRoot.appendChild(_dom_js__WEBPACK_IMPORTED_MODULE_1__.$('slot'));\r\n }\r\n else {\r\n this.container.appendChild(this.view);\r\n }\r\n const toDisposeOnSetContainer = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.DisposableStore();\r\n ContextView.BUBBLE_UP_EVENTS.forEach(event => {\r\n toDisposeOnSetContainer.add(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(this.container, event, (e) => {\r\n this.onDOMEvent(e, false);\r\n }));\r\n });\r\n ContextView.BUBBLE_DOWN_EVENTS.forEach(event => {\r\n toDisposeOnSetContainer.add(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(this.container, event, (e) => {\r\n this.onDOMEvent(e, true);\r\n }, true));\r\n });\r\n this.toDisposeOnSetContainer = toDisposeOnSetContainer;\r\n }\r\n }\r\n show(delegate) {\r\n if (this.isVisible()) {\r\n this.hide();\r\n }\r\n // Show static box\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.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 this.view.style.zIndex = '2500';\r\n this.view.style.position = this.useFixedPosition ? 'fixed' : 'absolute';\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.show(this.view);\r\n // Render content\r\n this.toDisposeOnClean = delegate.render(this.view) || _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.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 getViewElement() {\r\n return this.view;\r\n }\r\n layout() {\r\n if (!this.isVisible()) {\r\n return;\r\n }\r\n if (this.delegate.canRelayout === false && !(_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isIOS && _canIUse_js__WEBPACK_IMPORTED_MODULE_5__.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 doLayout() {\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 let anchor = this.delegate.getAnchor();\r\n // Compute around\r\n let around;\r\n // Get the element's position and size (to anchor the view)\r\n if (_dom_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement(anchor)) {\r\n let elementPosition = _dom_js__WEBPACK_IMPORTED_MODULE_1__.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 const viewSizeWidth = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getTotalWidth(this.view);\r\n const viewSizeHeight = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getTotalHeight(this.view);\r\n const anchorPosition = this.delegate.anchorPosition || 0 /* BELOW */;\r\n const anchorAlignment = this.delegate.anchorAlignment || 0 /* LEFT */;\r\n const anchorAxisAlignment = this.delegate.anchorAxisAlignment || 0 /* VERTICAL */;\r\n let top;\r\n let left;\r\n if (anchorAxisAlignment === 0 /* VERTICAL */) {\r\n const verticalAnchor = { offset: around.top - window.pageYOffset, size: around.height, position: anchorPosition === 0 /* BELOW */ ? 0 /* Before */ : 1 /* After */ };\r\n const horizontalAnchor = { offset: around.left, size: around.width, position: anchorAlignment === 0 /* LEFT */ ? 0 /* Before */ : 1 /* After */, mode: LayoutAnchorMode.ALIGN };\r\n top = layout(window.innerHeight, viewSizeHeight, verticalAnchor) + window.pageYOffset;\r\n // if view intersects vertically with anchor, we must avoid the anchor\r\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersects({ start: top, end: top + viewSizeHeight }, { start: verticalAnchor.offset, end: verticalAnchor.offset + verticalAnchor.size })) {\r\n horizontalAnchor.mode = LayoutAnchorMode.AVOID;\r\n }\r\n left = layout(window.innerWidth, viewSizeWidth, horizontalAnchor);\r\n }\r\n else {\r\n const horizontalAnchor = { offset: around.left, size: around.width, position: anchorAlignment === 0 /* LEFT */ ? 0 /* Before */ : 1 /* After */ };\r\n const verticalAnchor = { offset: around.top, size: around.height, position: anchorPosition === 0 /* BELOW */ ? 0 /* Before */ : 1 /* After */, mode: LayoutAnchorMode.ALIGN };\r\n left = layout(window.innerWidth, viewSizeWidth, horizontalAnchor);\r\n // if view intersects horizontally with anchor, we must avoid the anchor\r\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersects({ start: left, end: left + viewSizeWidth }, { start: horizontalAnchor.offset, end: horizontalAnchor.offset + horizontalAnchor.size })) {\r\n verticalAnchor.mode = LayoutAnchorMode.AVOID;\r\n }\r\n top = layout(window.innerHeight, viewSizeHeight, verticalAnchor) + window.pageYOffset;\r\n }\r\n this.view.classList.remove('top', 'bottom', 'left', 'right');\r\n this.view.classList.add(anchorPosition === 0 /* BELOW */ ? 'bottom' : 'top');\r\n this.view.classList.add(anchorAlignment === 0 /* LEFT */ ? 'left' : 'right');\r\n this.view.classList.toggle('fixed', this.useFixedPosition);\r\n const containerPosition = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.container);\r\n this.view.style.top = `${top - (this.useFixedPosition ? _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.view).top : containerPosition.top)}px`;\r\n this.view.style.left = `${left - (this.useFixedPosition ? _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.view).left : containerPosition.left)}px`;\r\n this.view.style.width = 'initial';\r\n }\r\n hide(data) {\r\n const 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_js__WEBPACK_IMPORTED_MODULE_1__.hide(this.view);\r\n }\r\n isVisible() {\r\n return !!this.delegate;\r\n }\r\n onDOMEvent(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_js__WEBPACK_IMPORTED_MODULE_1__.isAncestor(e.target, this.container)) {\r\n this.hide();\r\n }\r\n }\r\n }\r\n dispose() {\r\n this.hide();\r\n super.dispose();\r\n }\r\n}\r\nContextView.BUBBLE_UP_EVENTS = ['click', 'keydown', 'focus', 'blur'];\r\nContextView.BUBBLE_DOWN_EVENTS = ['click'];\r\nlet SHADOW_ROOT_CSS = /* css */ `\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t@font-face {\n\t\tfont-family: \"codicon\";\n\t\tsrc: url(\"./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6\") format(\"truetype\");\n\t}\n\n\t.codicon[class*='codicon-'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang SC\", \"Hiragino Sans GB\", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang TC\", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, \"Hiragino Kaku Gothic Pro\", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, \"Nanum Gothic\", \"Apple SD Gothic Neo\", \"AppleGothic\", sans-serif; }\n\n\t:host-context(.windows) { font-family: \"Segoe WPC\", \"Segoe UI\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft YaHei\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft Jhenghei\", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Yu Gothic UI\", \"Meiryo UI\", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Malgun Gothic\", \"Dotom\", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans SC\", \"Source Han Sans CN\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans TC\", \"Source Han Sans TW\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans J\", \"Source Han Sans JP\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans K\", \"Source Han Sans JR\", \"Source Han Sans\", \"UnDotum\", \"FBaekmuk Gulim\", sans-serif; }\n`;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js": /*!************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CountBadge\": () => (/* binding */ CountBadge)\n/* harmony export */ });\n/* harmony import */ var _countBadge_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./countBadge.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.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\nconst defaultOpts = {\r\n badgeBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_3__.Color.fromHex('#4D4D4D'),\r\n badgeForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_3__.Color.fromHex('#FFFFFF')\r\n};\r\nclass CountBadge {\r\n constructor(container, options) {\r\n this.count = 0;\r\n this.options = options || Object.create(null);\r\n (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_4__.mixin)(this.options, defaultOpts, false);\r\n this.badgeBackground = this.options.badgeBackground;\r\n this.badgeForeground = this.options.badgeForeground;\r\n this.badgeBorder = this.options.badgeBorder;\r\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.$)('.monaco-count-badge'));\r\n this.countFormat = this.options.countFormat || '{0}';\r\n this.titleFormat = this.options.titleFormat || '';\r\n this.setCount(this.options.count || 0);\r\n }\r\n setCount(count) {\r\n this.count = count;\r\n this.render();\r\n }\r\n setTitleFormat(titleFormat) {\r\n this.titleFormat = titleFormat;\r\n this.render();\r\n }\r\n render() {\r\n this.element.textContent = (0,_common_strings_js__WEBPACK_IMPORTED_MODULE_2__.format)(this.countFormat, this.count);\r\n this.element.title = (0,_common_strings_js__WEBPACK_IMPORTED_MODULE_2__.format)(this.titleFormat, this.count);\r\n this.applyStyles();\r\n }\r\n style(styles) {\r\n this.badgeBackground = styles.badgeBackground;\r\n this.badgeForeground = styles.badgeForeground;\r\n this.badgeBorder = styles.badgeBorder;\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n if (this.element) {\r\n const background = this.badgeBackground ? this.badgeBackground.toString() : '';\r\n const foreground = this.badgeForeground ? this.badgeForeground.toString() : '';\r\n const border = this.badgeBorder ? this.badgeBorder.toString() : '';\r\n this.element.style.backgroundColor = background;\r\n this.element.style.color = foreground;\r\n this.element.style.borderWidth = border ? '1px' : '';\r\n this.element.style.borderStyle = border ? 'solid' : '';\r\n this.element.style.borderColor = border;\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BaseDropdown\": () => (/* binding */ BaseDropdown),\n/* harmony export */ \"DropdownMenu\": () => (/* binding */ DropdownMenu)\n/* harmony export */ });\n/* harmony import */ var _dropdown_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dropdown.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nclass BaseDropdown extends _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.ActionRunner {\r\n constructor(container, options) {\r\n super();\r\n this._onDidChangeVisibility = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onDidChangeVisibility = this._onDidChangeVisibility.event;\r\n this._element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.monaco-dropdown'));\r\n this._label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(this._element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.dropdown-label'));\r\n let labelRenderer = options.labelRenderer;\r\n if (!labelRenderer) {\r\n labelRenderer = (container) => {\r\n container.textContent = options.label || '';\r\n return null;\r\n };\r\n }\r\n for (const event of [_dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.CLICK, _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.MOUSE_DOWN, _touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Tap]) {\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.addDisposableListener)(this.element, event, e => _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventHelper.stop(e, true))); // prevent default click behaviour to trigger\r\n }\r\n for (const event of [_dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.MOUSE_DOWN, _touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Tap]) {\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.addDisposableListener)(this._label, event, e => {\r\n if (e instanceof MouseEvent && e.detail > 1) {\r\n return; // prevent multiple clicks to open multiple context menus (https://github.com/microsoft/vscode/issues/41363)\r\n }\r\n if (this.visible) {\r\n this.hide();\r\n }\r\n else {\r\n this.show();\r\n }\r\n }));\r\n }\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.addDisposableListener)(this._label, _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventType.KEY_UP, e => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_4__.StandardKeyboardEvent(e);\r\n if (event.equals(3 /* Enter */) || event.equals(10 /* Space */)) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.EventHelper.stop(e, true); // https://github.com/microsoft/vscode/issues/57997\r\n if (this.visible) {\r\n this.hide();\r\n }\r\n else {\r\n this.show();\r\n }\r\n }\r\n }));\r\n const cleanupFn = labelRenderer(this._label);\r\n if (cleanupFn) {\r\n this._register(cleanupFn);\r\n }\r\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(this._label));\r\n }\r\n get element() {\r\n return this._element;\r\n }\r\n show() {\r\n if (!this.visible) {\r\n this.visible = true;\r\n this._onDidChangeVisibility.fire(true);\r\n }\r\n }\r\n hide() {\r\n if (this.visible) {\r\n this.visible = false;\r\n this._onDidChangeVisibility.fire(false);\r\n }\r\n }\r\n dispose() {\r\n super.dispose();\r\n this.hide();\r\n if (this.boxContainer) {\r\n this.boxContainer.remove();\r\n this.boxContainer = undefined;\r\n }\r\n if (this.contents) {\r\n this.contents.remove();\r\n this.contents = undefined;\r\n }\r\n if (this._label) {\r\n this._label.remove();\r\n this._label = undefined;\r\n }\r\n }\r\n}\r\nclass DropdownMenu extends BaseDropdown {\r\n constructor(container, options) {\r\n super(container, options);\r\n this._actions = [];\r\n this._contextMenuProvider = options.contextMenuProvider;\r\n this.actions = options.actions || [];\r\n this.actionProvider = options.actionProvider;\r\n this.menuClassName = options.menuClassName || '';\r\n this.menuAsChild = !!options.menuAsChild;\r\n }\r\n set menuOptions(options) {\r\n this._menuOptions = options;\r\n }\r\n get menuOptions() {\r\n return this._menuOptions;\r\n }\r\n get actions() {\r\n if (this.actionProvider) {\r\n return this.actionProvider.getActions();\r\n }\r\n return this._actions;\r\n }\r\n set actions(actions) {\r\n this._actions = actions;\r\n }\r\n show() {\r\n super.show();\r\n this.element.classList.add('active');\r\n this._contextMenuProvider.showContextMenu({\r\n getAnchor: () => this.element,\r\n getActions: () => this.actions,\r\n getActionsContext: () => this.menuOptions ? this.menuOptions.context : null,\r\n getActionViewItem: action => this.menuOptions && this.menuOptions.actionViewItemProvider ? this.menuOptions.actionViewItemProvider(action) : undefined,\r\n getKeyBinding: action => this.menuOptions && this.menuOptions.getKeyBinding ? this.menuOptions.getKeyBinding(action) : undefined,\r\n getMenuClassName: () => this.menuClassName,\r\n onHide: () => this.onHide(),\r\n actionRunner: this.menuOptions ? this.menuOptions.actionRunner : undefined,\r\n anchorAlignment: this.menuOptions ? this.menuOptions.anchorAlignment : 0 /* LEFT */,\r\n domForShadowRoot: this.menuAsChild ? this.element : undefined\r\n });\r\n }\r\n hide() {\r\n super.hide();\r\n }\r\n onHide() {\r\n this.hide();\r\n this.element.classList.remove('active');\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js": /*!**********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js ***! \**********************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DropdownMenuActionViewItem\": () => (/* binding */ DropdownMenuActionViewItem)\n/* harmony export */ });\n/* harmony import */ var _dropdown_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dropdown.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionbar/actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _dropdown_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dropdown.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.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\nclass DropdownMenuActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_3__.BaseActionViewItem {\r\n constructor(action, menuActionsOrProvider, contextMenuProvider, options = {}) {\r\n super(null, action, options);\r\n this.options = options;\r\n this.actionItem = null;\r\n this._onDidChangeVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\r\n this.menuActionsOrProvider = menuActionsOrProvider;\r\n this.contextMenuProvider = contextMenuProvider;\r\n if (this.options.actionRunner) {\r\n this.actionRunner = this.options.actionRunner;\r\n }\r\n }\r\n render(container) {\r\n this.actionItem = container;\r\n const labelRenderer = (el) => {\r\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.$)('a.action-label'));\r\n let classNames = [];\r\n if (typeof this.options.classNames === 'string') {\r\n classNames = this.options.classNames.split(/\\s+/g).filter(s => !!s);\r\n }\r\n else if (this.options.classNames) {\r\n classNames = this.options.classNames;\r\n }\r\n // todo@aeschli: remove codicon, should come through `this.options.classNames`\r\n if (!classNames.find(c => c === 'icon')) {\r\n classNames.push('codicon');\r\n }\r\n this.element.classList.add(...classNames);\r\n this.element.setAttribute('role', 'button');\r\n this.element.setAttribute('aria-haspopup', 'true');\r\n this.element.setAttribute('aria-expanded', 'false');\r\n this.element.title = this._action.label || '';\r\n return null;\r\n };\r\n const isActionsArray = Array.isArray(this.menuActionsOrProvider);\r\n const options = {\r\n contextMenuProvider: this.contextMenuProvider,\r\n labelRenderer: labelRenderer,\r\n menuAsChild: this.options.menuAsChild,\r\n actions: isActionsArray ? this.menuActionsOrProvider : undefined,\r\n actionProvider: isActionsArray ? undefined : this.menuActionsOrProvider\r\n };\r\n this.dropdownMenu = this._register(new _dropdown_js__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu(container, options));\r\n this._register(this.dropdownMenu.onDidChangeVisibility(visible => {\r\n var _a;\r\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', `${visible}`);\r\n this._onDidChangeVisibility.fire(visible);\r\n }));\r\n this.dropdownMenu.menuOptions = {\r\n actionViewItemProvider: this.options.actionViewItemProvider,\r\n actionRunner: this.actionRunner,\r\n getKeyBinding: this.options.keybindingProvider,\r\n context: this._context\r\n };\r\n if (this.options.anchorAlignmentProvider) {\r\n const that = this;\r\n this.dropdownMenu.menuOptions = Object.assign(Object.assign({}, this.dropdownMenu.menuOptions), { get anchorAlignment() {\r\n return that.options.anchorAlignmentProvider();\r\n } });\r\n }\r\n this.updateEnabled();\r\n }\r\n setActionContext(newContext) {\r\n super.setActionContext(newContext);\r\n if (this.dropdownMenu) {\r\n if (this.dropdownMenu.menuOptions) {\r\n this.dropdownMenu.menuOptions.context = newContext;\r\n }\r\n else {\r\n this.dropdownMenu.menuOptions = { context: newContext };\r\n }\r\n }\r\n }\r\n updateEnabled() {\r\n var _a, _b;\r\n const disabled = !this.getAction().enabled;\r\n (_a = this.actionItem) === null || _a === void 0 ? void 0 : _a.classList.toggle('disabled', disabled);\r\n (_b = this.element) === null || _b === void 0 ? void 0 : _b.classList.toggle('disabled', disabled);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"FindInput\": () => (/* binding */ FindInput)\n/* harmony export */ });\n/* harmony import */ var _findInput_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./findInput.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _findInputCheckboxes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findInputCheckboxes.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputCheckboxes.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\nconst NLS_DEFAULT_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('defaultLabel', \"input\");\r\nclass FindInput extends _widget_js__WEBPACK_IMPORTED_MODULE_4__.Widget {\r\n constructor(parent, contextViewProvider, _showOptionButtons, options) {\r\n super();\r\n this._showOptionButtons = _showOptionButtons;\r\n this.fixFocusOnOptionClickEnabled = true;\r\n this._onDidOptionChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onDidOptionChange = this._onDidOptionChange.event;\r\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onKeyDown = this._onKeyDown.event;\r\n this._onMouseDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onMouseDown = this._onMouseDown.event;\r\n this._onInput = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this._onKeyUp = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this._onCaseSensitiveKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onCaseSensitiveKeyDown = this._onCaseSensitiveKeyDown.event;\r\n this._onRegexKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onRegexKeyDown = this._onRegexKeyDown.event;\r\n this._lastHighlightFindOptions = 0;\r\n this.contextViewProvider = contextViewProvider;\r\n this.placeholder = options.placeholder || '';\r\n this.validation = options.validation;\r\n this.label = options.label || NLS_DEFAULT_LABEL;\r\n this.inputActiveOptionBorder = options.inputActiveOptionBorder;\r\n this.inputActiveOptionForeground = options.inputActiveOptionForeground;\r\n this.inputActiveOptionBackground = options.inputActiveOptionBackground;\r\n this.inputBackground = options.inputBackground;\r\n this.inputForeground = options.inputForeground;\r\n this.inputBorder = options.inputBorder;\r\n this.inputValidationInfoBorder = options.inputValidationInfoBorder;\r\n this.inputValidationInfoBackground = options.inputValidationInfoBackground;\r\n this.inputValidationInfoForeground = options.inputValidationInfoForeground;\r\n this.inputValidationWarningBorder = options.inputValidationWarningBorder;\r\n this.inputValidationWarningBackground = options.inputValidationWarningBackground;\r\n this.inputValidationWarningForeground = options.inputValidationWarningForeground;\r\n this.inputValidationErrorBorder = options.inputValidationErrorBorder;\r\n this.inputValidationErrorBackground = options.inputValidationErrorBackground;\r\n this.inputValidationErrorForeground = options.inputValidationErrorForeground;\r\n const appendCaseSensitiveLabel = options.appendCaseSensitiveLabel || '';\r\n const appendWholeWordsLabel = options.appendWholeWordsLabel || '';\r\n const appendRegexLabel = options.appendRegexLabel || '';\r\n const history = options.history || [];\r\n const flexibleHeight = !!options.flexibleHeight;\r\n const flexibleWidth = !!options.flexibleWidth;\r\n const flexibleMaxHeight = options.flexibleMaxHeight;\r\n this.domNode = document.createElement('div');\r\n this.domNode.classList.add('monaco-findInput');\r\n this.inputBox = this._register(new _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_3__.HistoryInputBox(this.domNode, this.contextViewProvider, {\r\n placeholder: this.placeholder || '',\r\n ariaLabel: this.label || '',\r\n validationOptions: {\r\n validation: this.validation\r\n },\r\n inputBackground: this.inputBackground,\r\n inputForeground: this.inputForeground,\r\n inputBorder: this.inputBorder,\r\n inputValidationInfoBackground: this.inputValidationInfoBackground,\r\n inputValidationInfoForeground: this.inputValidationInfoForeground,\r\n inputValidationInfoBorder: this.inputValidationInfoBorder,\r\n inputValidationWarningBackground: this.inputValidationWarningBackground,\r\n inputValidationWarningForeground: this.inputValidationWarningForeground,\r\n inputValidationWarningBorder: this.inputValidationWarningBorder,\r\n inputValidationErrorBackground: this.inputValidationErrorBackground,\r\n inputValidationErrorForeground: this.inputValidationErrorForeground,\r\n inputValidationErrorBorder: this.inputValidationErrorBorder,\r\n history,\r\n flexibleHeight,\r\n flexibleWidth,\r\n flexibleMaxHeight\r\n }));\r\n this.regex = this._register(new _findInputCheckboxes_js__WEBPACK_IMPORTED_MODULE_6__.RegexCheckbox({\r\n appendTitle: appendRegexLabel,\r\n isChecked: false,\r\n inputActiveOptionBorder: this.inputActiveOptionBorder,\r\n inputActiveOptionForeground: this.inputActiveOptionForeground,\r\n inputActiveOptionBackground: this.inputActiveOptionBackground\r\n }));\r\n this._register(this.regex.onChange(viaKeyboard => {\r\n this._onDidOptionChange.fire(viaKeyboard);\r\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\r\n this.inputBox.focus();\r\n }\r\n this.validate();\r\n }));\r\n this._register(this.regex.onKeyDown(e => {\r\n this._onRegexKeyDown.fire(e);\r\n }));\r\n this.wholeWords = this._register(new _findInputCheckboxes_js__WEBPACK_IMPORTED_MODULE_6__.WholeWordsCheckbox({\r\n appendTitle: appendWholeWordsLabel,\r\n isChecked: false,\r\n inputActiveOptionBorder: this.inputActiveOptionBorder,\r\n inputActiveOptionForeground: this.inputActiveOptionForeground,\r\n inputActiveOptionBackground: this.inputActiveOptionBackground\r\n }));\r\n this._register(this.wholeWords.onChange(viaKeyboard => {\r\n this._onDidOptionChange.fire(viaKeyboard);\r\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\r\n this.inputBox.focus();\r\n }\r\n this.validate();\r\n }));\r\n this.caseSensitive = this._register(new _findInputCheckboxes_js__WEBPACK_IMPORTED_MODULE_6__.CaseSensitiveCheckbox({\r\n appendTitle: appendCaseSensitiveLabel,\r\n isChecked: false,\r\n inputActiveOptionBorder: this.inputActiveOptionBorder,\r\n inputActiveOptionForeground: this.inputActiveOptionForeground,\r\n inputActiveOptionBackground: this.inputActiveOptionBackground\r\n }));\r\n this._register(this.caseSensitive.onChange(viaKeyboard => {\r\n this._onDidOptionChange.fire(viaKeyboard);\r\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\r\n this.inputBox.focus();\r\n }\r\n this.validate();\r\n }));\r\n this._register(this.caseSensitive.onKeyDown(e => {\r\n this._onCaseSensitiveKeyDown.fire(e);\r\n }));\r\n if (this._showOptionButtons) {\r\n this.inputBox.paddingRight = this.caseSensitive.width() + this.wholeWords.width() + this.regex.width();\r\n }\r\n // Arrow-Key support to navigate between options\r\n let indexes = [this.caseSensitive.domNode, this.wholeWords.domNode, this.regex.domNode];\r\n this.onkeydown(this.domNode, (event) => {\r\n if (event.equals(15 /* LeftArrow */) || event.equals(17 /* RightArrow */) || event.equals(9 /* Escape */)) {\r\n let index = indexes.indexOf(document.activeElement);\r\n if (index >= 0) {\r\n let newIndex = -1;\r\n if (event.equals(17 /* RightArrow */)) {\r\n newIndex = (index + 1) % indexes.length;\r\n }\r\n else if (event.equals(15 /* LeftArrow */)) {\r\n if (index === 0) {\r\n newIndex = indexes.length - 1;\r\n }\r\n else {\r\n newIndex = index - 1;\r\n }\r\n }\r\n if (event.equals(9 /* Escape */)) {\r\n indexes[index].blur();\r\n this.inputBox.focus();\r\n }\r\n else if (newIndex >= 0) {\r\n indexes[newIndex].focus();\r\n }\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n }\r\n }\r\n });\r\n let controls = document.createElement('div');\r\n controls.className = 'controls';\r\n controls.style.display = this._showOptionButtons ? 'block' : 'none';\r\n controls.appendChild(this.caseSensitive.domNode);\r\n controls.appendChild(this.wholeWords.domNode);\r\n controls.appendChild(this.regex.domNode);\r\n this.domNode.appendChild(controls);\r\n if (parent) {\r\n parent.appendChild(this.domNode);\r\n }\r\n this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\r\n this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\r\n this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\r\n this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\r\n }\r\n enable() {\r\n this.domNode.classList.remove('disabled');\r\n this.inputBox.enable();\r\n this.regex.enable();\r\n this.wholeWords.enable();\r\n this.caseSensitive.enable();\r\n }\r\n disable() {\r\n this.domNode.classList.add('disabled');\r\n this.inputBox.disable();\r\n this.regex.disable();\r\n this.wholeWords.disable();\r\n this.caseSensitive.disable();\r\n }\r\n setFocusInputOnOptionClick(value) {\r\n this.fixFocusOnOptionClickEnabled = value;\r\n }\r\n setEnabled(enabled) {\r\n if (enabled) {\r\n this.enable();\r\n }\r\n else {\r\n this.disable();\r\n }\r\n }\r\n getValue() {\r\n return this.inputBox.value;\r\n }\r\n setValue(value) {\r\n if (this.inputBox.value !== value) {\r\n this.inputBox.value = value;\r\n }\r\n }\r\n style(styles) {\r\n this.inputActiveOptionBorder = styles.inputActiveOptionBorder;\r\n this.inputActiveOptionForeground = styles.inputActiveOptionForeground;\r\n this.inputActiveOptionBackground = styles.inputActiveOptionBackground;\r\n this.inputBackground = styles.inputBackground;\r\n this.inputForeground = styles.inputForeground;\r\n this.inputBorder = styles.inputBorder;\r\n this.inputValidationInfoBackground = styles.inputValidationInfoBackground;\r\n this.inputValidationInfoForeground = styles.inputValidationInfoForeground;\r\n this.inputValidationInfoBorder = styles.inputValidationInfoBorder;\r\n this.inputValidationWarningBackground = styles.inputValidationWarningBackground;\r\n this.inputValidationWarningForeground = styles.inputValidationWarningForeground;\r\n this.inputValidationWarningBorder = styles.inputValidationWarningBorder;\r\n this.inputValidationErrorBackground = styles.inputValidationErrorBackground;\r\n this.inputValidationErrorForeground = styles.inputValidationErrorForeground;\r\n this.inputValidationErrorBorder = styles.inputValidationErrorBorder;\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n if (this.domNode) {\r\n const checkBoxStyles = {\r\n inputActiveOptionBorder: this.inputActiveOptionBorder,\r\n inputActiveOptionForeground: this.inputActiveOptionForeground,\r\n inputActiveOptionBackground: this.inputActiveOptionBackground,\r\n };\r\n this.regex.style(checkBoxStyles);\r\n this.wholeWords.style(checkBoxStyles);\r\n this.caseSensitive.style(checkBoxStyles);\r\n const inputBoxStyles = {\r\n inputBackground: this.inputBackground,\r\n inputForeground: this.inputForeground,\r\n inputBorder: this.inputBorder,\r\n inputValidationInfoBackground: this.inputValidationInfoBackground,\r\n inputValidationInfoForeground: this.inputValidationInfoForeground,\r\n inputValidationInfoBorder: this.inputValidationInfoBorder,\r\n inputValidationWarningBackground: this.inputValidationWarningBackground,\r\n inputValidationWarningForeground: this.inputValidationWarningForeground,\r\n inputValidationWarningBorder: this.inputValidationWarningBorder,\r\n inputValidationErrorBackground: this.inputValidationErrorBackground,\r\n inputValidationErrorForeground: this.inputValidationErrorForeground,\r\n inputValidationErrorBorder: this.inputValidationErrorBorder\r\n };\r\n this.inputBox.style(inputBoxStyles);\r\n }\r\n }\r\n select() {\r\n this.inputBox.select();\r\n }\r\n focus() {\r\n this.inputBox.focus();\r\n }\r\n getCaseSensitive() {\r\n return this.caseSensitive.checked;\r\n }\r\n setCaseSensitive(value) {\r\n this.caseSensitive.checked = value;\r\n }\r\n getWholeWords() {\r\n return this.wholeWords.checked;\r\n }\r\n setWholeWords(value) {\r\n this.wholeWords.checked = value;\r\n }\r\n getRegex() {\r\n return this.regex.checked;\r\n }\r\n setRegex(value) {\r\n this.regex.checked = value;\r\n this.validate();\r\n }\r\n focusOnCaseSensitive() {\r\n this.caseSensitive.focus();\r\n }\r\n highlightFindOptions() {\r\n this.domNode.classList.remove('highlight-' + (this._lastHighlightFindOptions));\r\n this._lastHighlightFindOptions = 1 - this._lastHighlightFindOptions;\r\n this.domNode.classList.add('highlight-' + (this._lastHighlightFindOptions));\r\n }\r\n validate() {\r\n this.inputBox.validate();\r\n }\r\n clearMessage() {\r\n this.inputBox.hideMessage();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputCheckboxes.js": /*!********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputCheckboxes.js ***! \********************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CaseSensitiveCheckbox\": () => (/* binding */ CaseSensitiveCheckbox),\n/* harmony export */ \"WholeWordsCheckbox\": () => (/* binding */ WholeWordsCheckbox),\n/* harmony export */ \"RegexCheckbox\": () => (/* binding */ RegexCheckbox)\n/* harmony export */ });\n/* harmony import */ var _checkbox_checkbox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../checkbox/checkbox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst NLS_CASE_SENSITIVE_CHECKBOX_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('caseDescription', \"Match Case\");\r\nconst NLS_WHOLE_WORD_CHECKBOX_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('wordsDescription', \"Match Whole Word\");\r\nconst NLS_REGEX_CHECKBOX_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('regexDescription', \"Use Regular Expression\");\r\nclass CaseSensitiveCheckbox extends _checkbox_checkbox_js__WEBPACK_IMPORTED_MODULE_0__.Checkbox {\r\n constructor(opts) {\r\n super({\r\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_2__.Codicon.caseSensitive,\r\n title: NLS_CASE_SENSITIVE_CHECKBOX_LABEL + opts.appendTitle,\r\n isChecked: opts.isChecked,\r\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\r\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\r\n inputActiveOptionBackground: opts.inputActiveOptionBackground\r\n });\r\n }\r\n}\r\nclass WholeWordsCheckbox extends _checkbox_checkbox_js__WEBPACK_IMPORTED_MODULE_0__.Checkbox {\r\n constructor(opts) {\r\n super({\r\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_2__.Codicon.wholeWord,\r\n title: NLS_WHOLE_WORD_CHECKBOX_LABEL + opts.appendTitle,\r\n isChecked: opts.isChecked,\r\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\r\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\r\n inputActiveOptionBackground: opts.inputActiveOptionBackground\r\n });\r\n }\r\n}\r\nclass RegexCheckbox extends _checkbox_checkbox_js__WEBPACK_IMPORTED_MODULE_0__.Checkbox {\r\n constructor(opts) {\r\n super({\r\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_2__.Codicon.regex,\r\n title: NLS_REGEX_CHECKBOX_LABEL + opts.appendTitle,\r\n isChecked: opts.isChecked,\r\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\r\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\r\n inputActiveOptionBackground: opts.inputActiveOptionBackground\r\n });\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputCheckboxes.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PreserveCaseCheckbox\": () => (/* binding */ PreserveCaseCheckbox),\n/* harmony export */ \"ReplaceInput\": () => (/* binding */ ReplaceInput)\n/* harmony export */ });\n/* harmony import */ var _findInput_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./findInput.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _checkbox_checkbox_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../checkbox/checkbox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/checkbox/checkbox.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst NLS_DEFAULT_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('defaultLabel', \"input\");\r\nconst NLS_PRESERVE_CASE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('label.preserveCaseCheckbox', \"Preserve Case\");\r\nclass PreserveCaseCheckbox extends _checkbox_checkbox_js__WEBPACK_IMPORTED_MODULE_6__.Checkbox {\r\n constructor(opts) {\r\n super({\r\n // TODO: does this need its own icon?\r\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_7__.Codicon.preserveCase,\r\n title: NLS_PRESERVE_CASE_LABEL + opts.appendTitle,\r\n isChecked: opts.isChecked,\r\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\r\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\r\n inputActiveOptionBackground: opts.inputActiveOptionBackground\r\n });\r\n }\r\n}\r\nclass ReplaceInput extends _widget_js__WEBPACK_IMPORTED_MODULE_4__.Widget {\r\n constructor(parent, contextViewProvider, _showOptionButtons, options) {\r\n super();\r\n this._showOptionButtons = _showOptionButtons;\r\n this.fixFocusOnOptionClickEnabled = true;\r\n this.cachedOptionsWidth = 0;\r\n this._onDidOptionChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onDidOptionChange = this._onDidOptionChange.event;\r\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onKeyDown = this._onKeyDown.event;\r\n this._onMouseDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this._onInput = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this._onKeyUp = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this._onPreserveCaseKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\r\n this.onPreserveCaseKeyDown = this._onPreserveCaseKeyDown.event;\r\n this.contextViewProvider = contextViewProvider;\r\n this.placeholder = options.placeholder || '';\r\n this.validation = options.validation;\r\n this.label = options.label || NLS_DEFAULT_LABEL;\r\n this.inputActiveOptionBorder = options.inputActiveOptionBorder;\r\n this.inputActiveOptionForeground = options.inputActiveOptionForeground;\r\n this.inputActiveOptionBackground = options.inputActiveOptionBackground;\r\n this.inputBackground = options.inputBackground;\r\n this.inputForeground = options.inputForeground;\r\n this.inputBorder = options.inputBorder;\r\n this.inputValidationInfoBorder = options.inputValidationInfoBorder;\r\n this.inputValidationInfoBackground = options.inputValidationInfoBackground;\r\n this.inputValidationInfoForeground = options.inputValidationInfoForeground;\r\n this.inputValidationWarningBorder = options.inputValidationWarningBorder;\r\n this.inputValidationWarningBackground = options.inputValidationWarningBackground;\r\n this.inputValidationWarningForeground = options.inputValidationWarningForeground;\r\n this.inputValidationErrorBorder = options.inputValidationErrorBorder;\r\n this.inputValidationErrorBackground = options.inputValidationErrorBackground;\r\n this.inputValidationErrorForeground = options.inputValidationErrorForeground;\r\n const appendPreserveCaseLabel = options.appendPreserveCaseLabel || '';\r\n const history = options.history || [];\r\n const flexibleHeight = !!options.flexibleHeight;\r\n const flexibleWidth = !!options.flexibleWidth;\r\n const flexibleMaxHeight = options.flexibleMaxHeight;\r\n this.domNode = document.createElement('div');\r\n this.domNode.classList.add('monaco-findInput');\r\n this.inputBox = this._register(new _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_3__.HistoryInputBox(this.domNode, this.contextViewProvider, {\r\n ariaLabel: this.label || '',\r\n placeholder: this.placeholder || '',\r\n validationOptions: {\r\n validation: this.validation\r\n },\r\n inputBackground: this.inputBackground,\r\n inputForeground: this.inputForeground,\r\n inputBorder: this.inputBorder,\r\n inputValidationInfoBackground: this.inputValidationInfoBackground,\r\n inputValidationInfoForeground: this.inputValidationInfoForeground,\r\n inputValidationInfoBorder: this.inputValidationInfoBorder,\r\n inputValidationWarningBackground: this.inputValidationWarningBackground,\r\n inputValidationWarningForeground: this.inputValidationWarningForeground,\r\n inputValidationWarningBorder: this.inputValidationWarningBorder,\r\n inputValidationErrorBackground: this.inputValidationErrorBackground,\r\n inputValidationErrorForeground: this.inputValidationErrorForeground,\r\n inputValidationErrorBorder: this.inputValidationErrorBorder,\r\n history,\r\n flexibleHeight,\r\n flexibleWidth,\r\n flexibleMaxHeight\r\n }));\r\n this.preserveCase = this._register(new PreserveCaseCheckbox({\r\n appendTitle: appendPreserveCaseLabel,\r\n isChecked: false,\r\n inputActiveOptionBorder: this.inputActiveOptionBorder,\r\n inputActiveOptionForeground: this.inputActiveOptionForeground,\r\n inputActiveOptionBackground: this.inputActiveOptionBackground,\r\n }));\r\n this._register(this.preserveCase.onChange(viaKeyboard => {\r\n this._onDidOptionChange.fire(viaKeyboard);\r\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\r\n this.inputBox.focus();\r\n }\r\n this.validate();\r\n }));\r\n this._register(this.preserveCase.onKeyDown(e => {\r\n this._onPreserveCaseKeyDown.fire(e);\r\n }));\r\n if (this._showOptionButtons) {\r\n this.cachedOptionsWidth = this.preserveCase.width();\r\n }\r\n else {\r\n this.cachedOptionsWidth = 0;\r\n }\r\n // Arrow-Key support to navigate between options\r\n let indexes = [this.preserveCase.domNode];\r\n this.onkeydown(this.domNode, (event) => {\r\n if (event.equals(15 /* LeftArrow */) || event.equals(17 /* RightArrow */) || event.equals(9 /* Escape */)) {\r\n let index = indexes.indexOf(document.activeElement);\r\n if (index >= 0) {\r\n let newIndex = -1;\r\n if (event.equals(17 /* RightArrow */)) {\r\n newIndex = (index + 1) % indexes.length;\r\n }\r\n else if (event.equals(15 /* LeftArrow */)) {\r\n if (index === 0) {\r\n newIndex = indexes.length - 1;\r\n }\r\n else {\r\n newIndex = index - 1;\r\n }\r\n }\r\n if (event.equals(9 /* Escape */)) {\r\n indexes[index].blur();\r\n this.inputBox.focus();\r\n }\r\n else if (newIndex >= 0) {\r\n indexes[newIndex].focus();\r\n }\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n }\r\n }\r\n });\r\n let controls = document.createElement('div');\r\n controls.className = 'controls';\r\n controls.style.display = this._showOptionButtons ? 'block' : 'none';\r\n controls.appendChild(this.preserveCase.domNode);\r\n this.domNode.appendChild(controls);\r\n if (parent) {\r\n parent.appendChild(this.domNode);\r\n }\r\n this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\r\n this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\r\n this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\r\n this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\r\n }\r\n enable() {\r\n this.domNode.classList.remove('disabled');\r\n this.inputBox.enable();\r\n this.preserveCase.enable();\r\n }\r\n disable() {\r\n this.domNode.classList.add('disabled');\r\n this.inputBox.disable();\r\n this.preserveCase.disable();\r\n }\r\n setEnabled(enabled) {\r\n if (enabled) {\r\n this.enable();\r\n }\r\n else {\r\n this.disable();\r\n }\r\n }\r\n style(styles) {\r\n this.inputActiveOptionBorder = styles.inputActiveOptionBorder;\r\n this.inputActiveOptionForeground = styles.inputActiveOptionForeground;\r\n this.inputActiveOptionBackground = styles.inputActiveOptionBackground;\r\n this.inputBackground = styles.inputBackground;\r\n this.inputForeground = styles.inputForeground;\r\n this.inputBorder = styles.inputBorder;\r\n this.inputValidationInfoBackground = styles.inputValidationInfoBackground;\r\n this.inputValidationInfoForeground = styles.inputValidationInfoForeground;\r\n this.inputValidationInfoBorder = styles.inputValidationInfoBorder;\r\n this.inputValidationWarningBackground = styles.inputValidationWarningBackground;\r\n this.inputValidationWarningForeground = styles.inputValidationWarningForeground;\r\n this.inputValidationWarningBorder = styles.inputValidationWarningBorder;\r\n this.inputValidationErrorBackground = styles.inputValidationErrorBackground;\r\n this.inputValidationErrorForeground = styles.inputValidationErrorForeground;\r\n this.inputValidationErrorBorder = styles.inputValidationErrorBorder;\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n if (this.domNode) {\r\n const checkBoxStyles = {\r\n inputActiveOptionBorder: this.inputActiveOptionBorder,\r\n inputActiveOptionForeground: this.inputActiveOptionForeground,\r\n inputActiveOptionBackground: this.inputActiveOptionBackground,\r\n };\r\n this.preserveCase.style(checkBoxStyles);\r\n const inputBoxStyles = {\r\n inputBackground: this.inputBackground,\r\n inputForeground: this.inputForeground,\r\n inputBorder: this.inputBorder,\r\n inputValidationInfoBackground: this.inputValidationInfoBackground,\r\n inputValidationInfoForeground: this.inputValidationInfoForeground,\r\n inputValidationInfoBorder: this.inputValidationInfoBorder,\r\n inputValidationWarningBackground: this.inputValidationWarningBackground,\r\n inputValidationWarningForeground: this.inputValidationWarningForeground,\r\n inputValidationWarningBorder: this.inputValidationWarningBorder,\r\n inputValidationErrorBackground: this.inputValidationErrorBackground,\r\n inputValidationErrorForeground: this.inputValidationErrorForeground,\r\n inputValidationErrorBorder: this.inputValidationErrorBorder\r\n };\r\n this.inputBox.style(inputBoxStyles);\r\n }\r\n }\r\n select() {\r\n this.inputBox.select();\r\n }\r\n focus() {\r\n this.inputBox.focus();\r\n }\r\n getPreserveCase() {\r\n return this.preserveCase.checked;\r\n }\r\n setPreserveCase(value) {\r\n this.preserveCase.checked = value;\r\n }\r\n focusOnPreserve() {\r\n this.preserveCase.focus();\r\n }\r\n validate() {\r\n if (this.inputBox) {\r\n this.inputBox.validate();\r\n }\r\n }\r\n set width(newWidth) {\r\n this.inputBox.paddingRight = this.cachedOptionsWidth;\r\n this.inputBox.width = newWidth;\r\n this.domNode.style.width = newWidth + 'px';\r\n }\r\n dispose() {\r\n super.dispose();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js": /*!************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js ***! \************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HighlightedLabel\": () => (/* binding */ HighlightedLabel)\n/* harmony export */ });\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.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\nclass HighlightedLabel {\r\n constructor(container, supportIcons) {\r\n this.supportIcons = supportIcons;\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 get element() {\r\n return this.domNode;\r\n }\r\n set(text, highlights = [], title = '', escapeNewLines) {\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(this.highlights, highlights)) {\r\n return;\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 render() {\r\n const children = [];\r\n let pos = 0;\r\n for (const highlight of this.highlights) {\r\n if (highlight.end === highlight.start) {\r\n continue;\r\n }\r\n if (pos < highlight.start) {\r\n const substring = this.text.substring(pos, highlight.start);\r\n children.push(_dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span', undefined, ...this.supportIcons ? (0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_2__.renderLabelWithIcons)(substring) : [substring]));\r\n pos = highlight.end;\r\n }\r\n const substring = this.text.substring(highlight.start, highlight.end);\r\n const element = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.highlight', undefined, ...this.supportIcons ? (0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_2__.renderLabelWithIcons)(substring) : [substring]);\r\n if (highlight.extraClasses) {\r\n element.classList.add(highlight.extraClasses);\r\n }\r\n children.push(element);\r\n pos = highlight.end;\r\n }\r\n if (pos < this.text.length) {\r\n const substring = this.text.substring(pos);\r\n children.push(_dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span', undefined, ...this.supportIcons ? (0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_2__.renderLabelWithIcons)(substring) : [substring]));\r\n }\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.reset(this.domNode, ...children);\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 static escapeNewLines(text, highlights) {\r\n let total = 0;\r\n let extra = 0;\r\n return text.replace(/\\r\\n|\\r|\\n/g, (match, offset) => {\r\n extra = match === '\\r\\n' ? -1 : 0;\r\n offset += total;\r\n for (const highlight of highlights) {\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}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HoverWidget\": () => (/* binding */ HoverWidget),\n/* harmony export */ \"renderHoverAction\": () => (/* binding */ renderHoverAction)\n/* harmony export */ });\n/* harmony import */ var _hover_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hover.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./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\n\r\n\r\n\r\n\r\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$;\r\nclass HoverWidget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\r\n constructor() {\r\n super();\r\n this.containerDomNode = document.createElement('div');\r\n this.containerDomNode.className = 'monaco-hover';\r\n this.containerDomNode.tabIndex = 0;\r\n this.containerDomNode.setAttribute('role', 'tooltip');\r\n this.contentsDomNode = document.createElement('div');\r\n this.contentsDomNode.className = 'monaco-hover-content';\r\n this._scrollbar = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_3__.DomScrollableElement(this.contentsDomNode, {\r\n consumeMouseWheelIfScrollbarIsNeeded: true\r\n }));\r\n this.containerDomNode.appendChild(this._scrollbar.getDomNode());\r\n }\r\n onContentsChanged() {\r\n this._scrollbar.scanDomNode();\r\n }\r\n}\r\nfunction renderHoverAction(parent, actionOptions, keybindingLabel) {\r\n const actionContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(parent, $('div.action-container'));\r\n const action = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(actionContainer, $('a.action'));\r\n action.setAttribute('href', '#');\r\n action.setAttribute('role', 'button');\r\n if (actionOptions.iconClass) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(action, $(`span.icon.${actionOptions.iconClass}`));\r\n }\r\n const label = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(action, $('span'));\r\n label.textContent = keybindingLabel ? `${actionOptions.label} (${keybindingLabel})` : actionOptions.label;\r\n return _dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(actionContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.CLICK, e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n actionOptions.run(actionContainer);\r\n });\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IconLabel\": () => (/* binding */ IconLabel)\n/* harmony export */ });\n/* harmony import */ var _iconlabel_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iconlabel.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../highlightedlabel/highlightedLabel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.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 __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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nclass FastLabelNode {\r\n constructor(_element) {\r\n this._element = _element;\r\n }\r\n get element() {\r\n return this._element;\r\n }\r\n set textContent(content) {\r\n if (this.disposed || content === this._textContent) {\r\n return;\r\n }\r\n this._textContent = content;\r\n this._element.textContent = content;\r\n }\r\n set className(className) {\r\n if (this.disposed || className === this._className) {\r\n return;\r\n }\r\n this._className = className;\r\n this._element.className = className;\r\n }\r\n set empty(empty) {\r\n if (this.disposed || empty === this._empty) {\r\n return;\r\n }\r\n this._empty = empty;\r\n this._element.style.marginLeft = empty ? '0' : '';\r\n }\r\n dispose() {\r\n this.disposed = true;\r\n }\r\n}\r\nclass IconLabel extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\r\n constructor(container, options) {\r\n super();\r\n this.hoverDelegate = undefined;\r\n this.customHovers = new Map();\r\n this.domNode = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.monaco-icon-label'))));\r\n this.labelContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.domNode.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.monaco-icon-label-container'));\r\n const nameContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.labelContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-name-container'));\r\n this.descriptionContainer = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.labelContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-description-container'))));\r\n if (options === null || options === void 0 ? void 0 : options.supportHighlights) {\r\n this.nameNode = new LabelWithHighlights(nameContainer, !!options.supportIcons);\r\n }\r\n else {\r\n this.nameNode = new Label(nameContainer);\r\n }\r\n if (options === null || options === void 0 ? void 0 : options.supportDescriptionHighlights) {\r\n this.descriptionNodeFactory = () => new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.descriptionContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-description')), !!options.supportIcons);\r\n }\r\n else {\r\n this.descriptionNodeFactory = () => this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.descriptionContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-description'))));\r\n }\r\n if (options === null || options === void 0 ? void 0 : options.hoverDelegate) {\r\n this.hoverDelegate = options.hoverDelegate;\r\n }\r\n }\r\n setLabel(label, description, options) {\r\n const classes = ['monaco-icon-label'];\r\n if (options) {\r\n if (options.extraClasses) {\r\n classes.push(...options.extraClasses);\r\n }\r\n if (options.italic) {\r\n classes.push('italic');\r\n }\r\n if (options.strikethrough) {\r\n classes.push('strikethrough');\r\n }\r\n }\r\n this.domNode.className = classes.join(' ');\r\n this.setupHover(this.labelContainer, options === null || options === void 0 ? void 0 : options.title);\r\n this.nameNode.setLabel(label, options);\r\n if (description || this.descriptionNode) {\r\n if (!this.descriptionNode) {\r\n this.descriptionNode = this.descriptionNodeFactory(); // description node is created lazily on demand\r\n }\r\n if (this.descriptionNode instanceof _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel) {\r\n this.descriptionNode.set(description || '', options ? options.descriptionMatches : undefined);\r\n this.setupHover(this.descriptionNode.element, options === null || options === void 0 ? void 0 : options.descriptionTitle);\r\n }\r\n else {\r\n this.descriptionNode.textContent = description || '';\r\n this.setupHover(this.descriptionNode.element, (options === null || options === void 0 ? void 0 : options.descriptionTitle) || '');\r\n this.descriptionNode.empty = !description;\r\n }\r\n }\r\n }\r\n setupHover(htmlElement, tooltip) {\r\n const previousCustomHover = this.customHovers.get(htmlElement);\r\n if (previousCustomHover) {\r\n previousCustomHover.dispose();\r\n this.customHovers.delete(htmlElement);\r\n }\r\n if (!tooltip) {\r\n htmlElement.removeAttribute('title');\r\n return;\r\n }\r\n if (!this.hoverDelegate) {\r\n return this.setupNativeHover(htmlElement, tooltip);\r\n }\r\n else {\r\n return this.setupCustomHover(this.hoverDelegate, htmlElement, tooltip);\r\n }\r\n }\r\n static adjustXAndShowCustomHover(hoverOptions, mouseX, hoverDelegate, isHovering) {\r\n if (hoverOptions && isHovering) {\r\n if (mouseX !== undefined) {\r\n hoverOptions.target.x = mouseX + 10;\r\n }\r\n return hoverDelegate.showHover(hoverOptions);\r\n }\r\n return undefined;\r\n }\r\n getTooltipForCustom(markdownTooltip) {\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_7__.isString)(markdownTooltip)) {\r\n return () => __awaiter(this, void 0, void 0, function* () { return markdownTooltip; });\r\n }\r\n else if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(markdownTooltip.markdown)) {\r\n return markdownTooltip.markdown;\r\n }\r\n else {\r\n const markdown = markdownTooltip.markdown;\r\n return () => __awaiter(this, void 0, void 0, function* () { return markdown; });\r\n }\r\n }\r\n setupCustomHover(hoverDelegate, htmlElement, markdownTooltip) {\r\n htmlElement.setAttribute('title', '');\r\n htmlElement.removeAttribute('title');\r\n let tooltip = this.getTooltipForCustom(markdownTooltip);\r\n // Testing has indicated that on Windows and Linux 500 ms matches the native hovers most closely.\r\n // On Mac, the delay is 1500.\r\n const hoverDelay = _common_platform_js__WEBPACK_IMPORTED_MODULE_6__.isMacintosh ? 1500 : 500;\r\n let hoverOptions;\r\n let mouseX;\r\n let isHovering = false;\r\n let tokenSource;\r\n let hoverDisposable;\r\n function mouseOver(e) {\r\n if (isHovering) {\r\n return;\r\n }\r\n tokenSource = new _common_cancellation_js__WEBPACK_IMPORTED_MODULE_10__.CancellationTokenSource();\r\n function mouseLeaveOrDown(e) {\r\n if ((e.type === _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_DOWN) || e.fromElement === htmlElement) {\r\n hoverDisposable === null || hoverDisposable === void 0 ? void 0 : hoverDisposable.dispose();\r\n hoverDisposable = undefined;\r\n isHovering = false;\r\n hoverOptions = undefined;\r\n tokenSource.dispose(true);\r\n mouseLeaveDisposable.dispose();\r\n mouseDownDisposable.dispose();\r\n }\r\n }\r\n const mouseLeaveDisposable = (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_LEAVE, true)(mouseLeaveOrDown.bind(htmlElement));\r\n const mouseDownDisposable = (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_DOWN, true)(mouseLeaveOrDown.bind(htmlElement));\r\n isHovering = true;\r\n function mouseMove(e) {\r\n mouseX = e.x;\r\n }\r\n const mouseMoveDisposable = (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_MOVE, true)(mouseMove.bind(htmlElement));\r\n setTimeout(() => __awaiter(this, void 0, void 0, function* () {\r\n var _a;\r\n if (isHovering && tooltip) {\r\n // Re-use the already computed hover options if they exist.\r\n if (!hoverOptions) {\r\n const target = {\r\n targetElements: [this],\r\n dispose: () => { }\r\n };\r\n hoverOptions = {\r\n text: (0,_nls_js__WEBPACK_IMPORTED_MODULE_9__.localize)('iconLabel.loading', \"Loading...\"),\r\n target,\r\n anchorPosition: 0 /* BELOW */\r\n };\r\n hoverDisposable = IconLabel.adjustXAndShowCustomHover(hoverOptions, mouseX, hoverDelegate, isHovering);\r\n const resolvedTooltip = (_a = (yield tooltip(tokenSource.token))) !== null && _a !== void 0 ? _a : (!(0,_common_types_js__WEBPACK_IMPORTED_MODULE_7__.isString)(markdownTooltip) ? markdownTooltip.markdownNotSupportedFallback : undefined);\r\n if (resolvedTooltip) {\r\n hoverOptions = {\r\n text: resolvedTooltip,\r\n target,\r\n anchorPosition: 0 /* BELOW */\r\n };\r\n // awaiting the tooltip could take a while. Make sure we're still hovering.\r\n hoverDisposable = IconLabel.adjustXAndShowCustomHover(hoverOptions, mouseX, hoverDelegate, isHovering);\r\n }\r\n else if (hoverDisposable) {\r\n hoverDisposable.dispose();\r\n hoverDisposable = undefined;\r\n }\r\n }\r\n }\r\n mouseMoveDisposable.dispose();\r\n }), hoverDelay);\r\n }\r\n const mouseOverDisposable = this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_OVER, true)(mouseOver.bind(htmlElement)));\r\n this.customHovers.set(htmlElement, mouseOverDisposable);\r\n }\r\n setupNativeHover(htmlElement, tooltip) {\r\n let stringTooltip = '';\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_7__.isString)(tooltip)) {\r\n stringTooltip = tooltip;\r\n }\r\n else if (tooltip === null || tooltip === void 0 ? void 0 : tooltip.markdownNotSupportedFallback) {\r\n stringTooltip = tooltip.markdownNotSupportedFallback;\r\n }\r\n htmlElement.title = stringTooltip;\r\n }\r\n}\r\nclass Label {\r\n constructor(container) {\r\n this.container = container;\r\n this.label = undefined;\r\n this.singleLabel = undefined;\r\n }\r\n setLabel(label, options) {\r\n if (this.label === label && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_5__.equals)(this.options, options)) {\r\n return;\r\n }\r\n this.label = label;\r\n this.options = options;\r\n if (typeof label === 'string') {\r\n if (!this.singleLabel) {\r\n this.container.innerText = '';\r\n this.container.classList.remove('multiple');\r\n this.singleLabel = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id: options === null || options === void 0 ? void 0 : options.domId }));\r\n }\r\n this.singleLabel.textContent = label;\r\n }\r\n else {\r\n this.container.innerText = '';\r\n this.container.classList.add('multiple');\r\n this.singleLabel = undefined;\r\n for (let i = 0; i < label.length; i++) {\r\n const l = label[i];\r\n const id = (options === null || options === void 0 ? void 0 : options.domId) && `${options === null || options === void 0 ? void 0 : options.domId}_${i}`;\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id, 'data-icon-label-count': label.length, 'data-icon-label-index': i, 'role': 'treeitem' }, l));\r\n if (i < label.length - 1) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-separator', undefined, (options === null || options === void 0 ? void 0 : options.separator) || '/'));\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction splitMatches(labels, separator, matches) {\r\n if (!matches) {\r\n return undefined;\r\n }\r\n let labelStart = 0;\r\n return labels.map(label => {\r\n const labelRange = { start: labelStart, end: labelStart + label.length };\r\n const result = matches\r\n .map(match => _common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersect(labelRange, match))\r\n .filter(range => !_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.isEmpty(range))\r\n .map(({ start, end }) => ({ start: start - labelStart, end: end - labelStart }));\r\n labelStart = labelRange.end + separator.length;\r\n return result;\r\n });\r\n}\r\nclass LabelWithHighlights {\r\n constructor(container, supportIcons) {\r\n this.container = container;\r\n this.supportIcons = supportIcons;\r\n this.label = undefined;\r\n this.singleLabel = undefined;\r\n }\r\n setLabel(label, options) {\r\n if (this.label === label && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_5__.equals)(this.options, options)) {\r\n return;\r\n }\r\n this.label = label;\r\n this.options = options;\r\n if (typeof label === 'string') {\r\n if (!this.singleLabel) {\r\n this.container.innerText = '';\r\n this.container.classList.remove('multiple');\r\n this.singleLabel = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id: options === null || options === void 0 ? void 0 : options.domId })), this.supportIcons);\r\n }\r\n this.singleLabel.set(label, options === null || options === void 0 ? void 0 : options.matches, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\r\n }\r\n else {\r\n this.container.innerText = '';\r\n this.container.classList.add('multiple');\r\n this.singleLabel = undefined;\r\n const separator = (options === null || options === void 0 ? void 0 : options.separator) || '/';\r\n const matches = splitMatches(label, separator, options === null || options === void 0 ? void 0 : options.matches);\r\n for (let i = 0; i < label.length; i++) {\r\n const l = label[i];\r\n const m = matches ? matches[i] : undefined;\r\n const id = (options === null || options === void 0 ? void 0 : options.domId) && `${options === null || options === void 0 ? void 0 : options.domId}_${i}`;\r\n const name = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id, 'data-icon-label-count': label.length, 'data-icon-label-index': i, 'role': 'treeitem' });\r\n const highlightedLabel = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, name), this.supportIcons);\r\n highlightedLabel.set(l, m, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\r\n if (i < label.length - 1) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(name, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-separator', undefined, separator));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"renderLabelWithIcons\": () => (/* binding */ renderLabelWithIcons),\n/* harmony export */ \"renderIcon\": () => (/* binding */ renderIcon)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst labelWithIconsRegex = new RegExp(`(\\\\\\\\)?\\\\$\\\\((${_common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.CSSIcon.iconNameExpression}(?:${_common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.CSSIcon.iconModifierExpression})?)\\\\)`, 'g');\r\nfunction renderLabelWithIcons(text) {\r\n const elements = new Array();\r\n let match;\r\n let textStart = 0, textStop = 0;\r\n while ((match = labelWithIconsRegex.exec(text)) !== null) {\r\n textStop = match.index || 0;\r\n elements.push(text.substring(textStart, textStop));\r\n textStart = (match.index || 0) + match[0].length;\r\n const [, escaped, codicon] = match;\r\n elements.push(escaped ? `$(${codicon})` : renderIcon({ id: codicon }));\r\n }\r\n if (textStart < text.length) {\r\n elements.push(text.substring(textStart));\r\n }\r\n return elements;\r\n}\r\nfunction renderIcon(icon) {\r\n const node = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$(`span`);\r\n node.classList.add(..._common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.CSSIcon.asClassNameArray(icon));\r\n return node;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"InputBox\": () => (/* binding */ InputBox),\n/* harmony export */ \"HistoryInputBox\": () => (/* binding */ HistoryInputBox)\n/* harmony export */ });\n/* harmony import */ var _inputBox_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./inputBox.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../formattedTextRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js\");\n/* harmony import */ var _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../aria/aria.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_history_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/history.js */ \"./node_modules/monaco-editor/esm/vs/base/common/history.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.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\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_2__.$;\r\nconst defaultOpts = {\r\n inputBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#3C3C3C'),\r\n inputForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#CCCCCC'),\r\n inputValidationInfoBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#55AAFF'),\r\n inputValidationInfoBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#063B49'),\r\n inputValidationWarningBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#B89500'),\r\n inputValidationWarningBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#352A05'),\r\n inputValidationErrorBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#BE1100'),\r\n inputValidationErrorBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#5A1D1D')\r\n};\r\nclass InputBox extends _widget_js__WEBPACK_IMPORTED_MODULE_7__.Widget {\r\n constructor(container, contextViewProvider, options) {\r\n super();\r\n this.state = 'idle';\r\n this.maxHeight = Number.POSITIVE_INFINITY;\r\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidChange = this._onDidChange.event;\r\n this._onDidHeightChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidHeightChange = this._onDidHeightChange.event;\r\n this.contextViewProvider = contextViewProvider;\r\n this.options = options || Object.create(null);\r\n (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_9__.mixin)(this.options, defaultOpts, false);\r\n this.message = null;\r\n this.placeholder = this.options.placeholder || '';\r\n this.ariaLabel = this.options.ariaLabel || '';\r\n this.inputBackground = this.options.inputBackground;\r\n this.inputForeground = this.options.inputForeground;\r\n this.inputBorder = this.options.inputBorder;\r\n this.inputValidationInfoBorder = this.options.inputValidationInfoBorder;\r\n this.inputValidationInfoBackground = this.options.inputValidationInfoBackground;\r\n this.inputValidationInfoForeground = this.options.inputValidationInfoForeground;\r\n this.inputValidationWarningBorder = this.options.inputValidationWarningBorder;\r\n this.inputValidationWarningBackground = this.options.inputValidationWarningBackground;\r\n this.inputValidationWarningForeground = this.options.inputValidationWarningForeground;\r\n this.inputValidationErrorBorder = this.options.inputValidationErrorBorder;\r\n this.inputValidationErrorBackground = this.options.inputValidationErrorBackground;\r\n this.inputValidationErrorForeground = this.options.inputValidationErrorForeground;\r\n if (this.options.validationOptions) {\r\n this.validation = this.options.validationOptions.validation;\r\n }\r\n this.element = _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(container, $('.monaco-inputbox.idle'));\r\n let tagName = this.options.flexibleHeight ? 'textarea' : 'input';\r\n let wrapper = _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(this.element, $('.ibwrapper'));\r\n this.input = _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(wrapper, $(tagName + '.input.empty'));\r\n this.input.setAttribute('autocorrect', 'off');\r\n this.input.setAttribute('autocapitalize', 'off');\r\n this.input.setAttribute('spellcheck', 'false');\r\n this.onfocus(this.input, () => this.element.classList.add('synthetic-focus'));\r\n this.onblur(this.input, () => this.element.classList.remove('synthetic-focus'));\r\n if (this.options.flexibleHeight) {\r\n this.maxHeight = typeof this.options.flexibleMaxHeight === 'number' ? this.options.flexibleMaxHeight : Number.POSITIVE_INFINITY;\r\n this.mirror = _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(wrapper, $('div.mirror'));\r\n this.mirror.innerText = '\\u00a0';\r\n this.scrollableElement = new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_11__.ScrollableElement(this.element, { vertical: 1 /* Auto */ });\r\n if (this.options.flexibleWidth) {\r\n this.input.setAttribute('wrap', 'off');\r\n this.mirror.style.whiteSpace = 'pre';\r\n this.mirror.style.wordWrap = 'initial';\r\n }\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(container, this.scrollableElement.getDomNode());\r\n this._register(this.scrollableElement);\r\n // from ScrollableElement to DOM\r\n this._register(this.scrollableElement.onScroll(e => this.input.scrollTop = e.scrollTop));\r\n const onSelectionChange = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.filter((0,_event_js__WEBPACK_IMPORTED_MODULE_12__.domEvent)(document, 'selectionchange'), () => {\r\n const selection = document.getSelection();\r\n return (selection === null || selection === void 0 ? void 0 : selection.anchorNode) === wrapper;\r\n });\r\n // from DOM to ScrollableElement\r\n this._register(onSelectionChange(this.updateScrollDimensions, this));\r\n this._register(this.onDidHeightChange(this.updateScrollDimensions, this));\r\n }\r\n else {\r\n this.input.type = this.options.type || 'text';\r\n this.input.setAttribute('wrap', 'off');\r\n }\r\n if (this.ariaLabel) {\r\n this.input.setAttribute('aria-label', this.ariaLabel);\r\n }\r\n if (this.placeholder) {\r\n this.setPlaceHolder(this.placeholder);\r\n }\r\n this.oninput(this.input, () => this.onValueChange());\r\n this.onblur(this.input, () => this.onBlur());\r\n this.onfocus(this.input, () => this.onFocus());\r\n this.ignoreGesture(this.input);\r\n setTimeout(() => this.updateMirror(), 0);\r\n // Support actions\r\n if (this.options.actions) {\r\n this.actionbar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_5__.ActionBar(this.element));\r\n this.actionbar.push(this.options.actions, { icon: true, label: false });\r\n }\r\n this.applyStyles();\r\n }\r\n onBlur() {\r\n this._hideMessage();\r\n }\r\n onFocus() {\r\n this._showMessage();\r\n }\r\n setPlaceHolder(placeHolder) {\r\n this.placeholder = placeHolder;\r\n this.input.setAttribute('placeholder', placeHolder);\r\n this.input.title = placeHolder;\r\n }\r\n setAriaLabel(label) {\r\n this.ariaLabel = label;\r\n if (label) {\r\n this.input.setAttribute('aria-label', this.ariaLabel);\r\n }\r\n else {\r\n this.input.removeAttribute('aria-label');\r\n }\r\n }\r\n getAriaLabel() {\r\n return this.ariaLabel;\r\n }\r\n get inputElement() {\r\n return this.input;\r\n }\r\n get value() {\r\n return this.input.value;\r\n }\r\n set value(newValue) {\r\n if (this.input.value !== newValue) {\r\n this.input.value = newValue;\r\n this.onValueChange();\r\n }\r\n }\r\n get height() {\r\n return typeof this.cachedHeight === 'number' ? this.cachedHeight : _dom_js__WEBPACK_IMPORTED_MODULE_2__.getTotalHeight(this.element);\r\n }\r\n focus() {\r\n this.input.focus();\r\n }\r\n blur() {\r\n this.input.blur();\r\n }\r\n hasFocus() {\r\n return document.activeElement === this.input;\r\n }\r\n select(range = null) {\r\n this.input.select();\r\n if (range) {\r\n this.input.setSelectionRange(range.start, range.end);\r\n if (range.end === this.input.value.length) {\r\n this.input.scrollLeft = this.input.scrollWidth;\r\n }\r\n }\r\n }\r\n isSelectionAtEnd() {\r\n return this.input.selectionEnd === this.input.value.length && this.input.selectionStart === this.input.selectionEnd;\r\n }\r\n enable() {\r\n this.input.removeAttribute('disabled');\r\n }\r\n disable() {\r\n this.blur();\r\n this.input.disabled = true;\r\n this._hideMessage();\r\n }\r\n get width() {\r\n return _dom_js__WEBPACK_IMPORTED_MODULE_2__.getTotalWidth(this.input);\r\n }\r\n set width(width) {\r\n if (this.options.flexibleHeight && this.options.flexibleWidth) {\r\n // textarea with horizontal scrolling\r\n let horizontalPadding = 0;\r\n if (this.mirror) {\r\n const paddingLeft = parseFloat(this.mirror.style.paddingLeft || '') || 0;\r\n const paddingRight = parseFloat(this.mirror.style.paddingRight || '') || 0;\r\n horizontalPadding = paddingLeft + paddingRight;\r\n }\r\n this.input.style.width = (width - horizontalPadding) + 'px';\r\n }\r\n else {\r\n this.input.style.width = width + 'px';\r\n }\r\n if (this.mirror) {\r\n this.mirror.style.width = width + 'px';\r\n }\r\n }\r\n set paddingRight(paddingRight) {\r\n if (this.options.flexibleHeight && this.options.flexibleWidth) {\r\n this.input.style.width = `calc(100% - ${paddingRight}px)`;\r\n }\r\n else {\r\n this.input.style.paddingRight = paddingRight + 'px';\r\n }\r\n if (this.mirror) {\r\n this.mirror.style.paddingRight = paddingRight + 'px';\r\n }\r\n }\r\n updateScrollDimensions() {\r\n if (typeof this.cachedContentHeight !== 'number' || typeof this.cachedHeight !== 'number' || !this.scrollableElement) {\r\n return;\r\n }\r\n const scrollHeight = this.cachedContentHeight;\r\n const height = this.cachedHeight;\r\n const scrollTop = this.input.scrollTop;\r\n this.scrollableElement.setScrollDimensions({ scrollHeight, height });\r\n this.scrollableElement.setScrollPosition({ scrollTop });\r\n }\r\n showMessage(message, force) {\r\n this.message = message;\r\n this.element.classList.remove('idle');\r\n this.element.classList.remove('info');\r\n this.element.classList.remove('warning');\r\n this.element.classList.remove('error');\r\n this.element.classList.add(this.classForType(message.type));\r\n const styles = this.stylesForType(this.message.type);\r\n this.element.style.border = styles.border ? `1px solid ${styles.border}` : '';\r\n if (this.hasFocus() || force) {\r\n this._showMessage();\r\n }\r\n }\r\n hideMessage() {\r\n this.message = null;\r\n this.element.classList.remove('info');\r\n this.element.classList.remove('warning');\r\n this.element.classList.remove('error');\r\n this.element.classList.add('idle');\r\n this._hideMessage();\r\n this.applyStyles();\r\n }\r\n validate() {\r\n let errorMsg = null;\r\n if (this.validation) {\r\n errorMsg = this.validation(this.value);\r\n if (errorMsg) {\r\n this.inputElement.setAttribute('aria-invalid', 'true');\r\n this.showMessage(errorMsg);\r\n }\r\n else if (this.inputElement.hasAttribute('aria-invalid')) {\r\n this.inputElement.removeAttribute('aria-invalid');\r\n this.hideMessage();\r\n }\r\n }\r\n return errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.type;\r\n }\r\n stylesForType(type) {\r\n switch (type) {\r\n case 1 /* INFO */: return { border: this.inputValidationInfoBorder, background: this.inputValidationInfoBackground, foreground: this.inputValidationInfoForeground };\r\n case 2 /* WARNING */: return { border: this.inputValidationWarningBorder, background: this.inputValidationWarningBackground, foreground: this.inputValidationWarningForeground };\r\n default: return { border: this.inputValidationErrorBorder, background: this.inputValidationErrorBackground, foreground: this.inputValidationErrorForeground };\r\n }\r\n }\r\n classForType(type) {\r\n switch (type) {\r\n case 1 /* INFO */: return 'info';\r\n case 2 /* WARNING */: return 'warning';\r\n default: return 'error';\r\n }\r\n }\r\n _showMessage() {\r\n if (!this.contextViewProvider || !this.message) {\r\n return;\r\n }\r\n let div;\r\n let layout = () => div.style.width = _dom_js__WEBPACK_IMPORTED_MODULE_2__.getTotalWidth(this.element) + 'px';\r\n this.contextViewProvider.showContextView({\r\n getAnchor: () => this.element,\r\n anchorAlignment: 1 /* RIGHT */,\r\n render: (container) => {\r\n if (!this.message) {\r\n return null;\r\n }\r\n div = _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(container, $('.monaco-inputbox-container'));\r\n layout();\r\n const renderOptions = {\r\n inline: true,\r\n className: 'monaco-inputbox-message'\r\n };\r\n const spanElement = (this.message.formatContent\r\n ? (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderFormattedText)(this.message.content, renderOptions)\r\n : (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderText)(this.message.content, renderOptions));\r\n spanElement.classList.add(this.classForType(this.message.type));\r\n const styles = this.stylesForType(this.message.type);\r\n spanElement.style.backgroundColor = styles.background ? styles.background.toString() : '';\r\n spanElement.style.color = styles.foreground ? styles.foreground.toString() : '';\r\n spanElement.style.border = styles.border ? `1px solid ${styles.border}` : '';\r\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.append(div, spanElement);\r\n return null;\r\n },\r\n onHide: () => {\r\n this.state = 'closed';\r\n },\r\n layout: layout\r\n });\r\n // ARIA Support\r\n let alertText;\r\n if (this.message.type === 3 /* ERROR */) {\r\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('alertErrorMessage', \"Error: {0}\", this.message.content);\r\n }\r\n else if (this.message.type === 2 /* WARNING */) {\r\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('alertWarningMessage', \"Warning: {0}\", this.message.content);\r\n }\r\n else {\r\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_1__.localize('alertInfoMessage', \"Info: {0}\", this.message.content);\r\n }\r\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.alert(alertText);\r\n this.state = 'open';\r\n }\r\n _hideMessage() {\r\n if (!this.contextViewProvider) {\r\n return;\r\n }\r\n if (this.state === 'open') {\r\n this.contextViewProvider.hideContextView();\r\n }\r\n this.state = 'idle';\r\n }\r\n onValueChange() {\r\n this._onDidChange.fire(this.value);\r\n this.validate();\r\n this.updateMirror();\r\n this.input.classList.toggle('empty', !this.value);\r\n if (this.state === 'open' && this.contextViewProvider) {\r\n this.contextViewProvider.layout();\r\n }\r\n }\r\n updateMirror() {\r\n if (!this.mirror) {\r\n return;\r\n }\r\n const value = this.value;\r\n const lastCharCode = value.charCodeAt(value.length - 1);\r\n const suffix = lastCharCode === 10 ? ' ' : '';\r\n const mirrorTextContent = value + suffix;\r\n if (mirrorTextContent) {\r\n this.mirror.textContent = value + suffix;\r\n }\r\n else {\r\n this.mirror.innerText = '\\u00a0';\r\n }\r\n this.layout();\r\n }\r\n style(styles) {\r\n this.inputBackground = styles.inputBackground;\r\n this.inputForeground = styles.inputForeground;\r\n this.inputBorder = styles.inputBorder;\r\n this.inputValidationInfoBackground = styles.inputValidationInfoBackground;\r\n this.inputValidationInfoForeground = styles.inputValidationInfoForeground;\r\n this.inputValidationInfoBorder = styles.inputValidationInfoBorder;\r\n this.inputValidationWarningBackground = styles.inputValidationWarningBackground;\r\n this.inputValidationWarningForeground = styles.inputValidationWarningForeground;\r\n this.inputValidationWarningBorder = styles.inputValidationWarningBorder;\r\n this.inputValidationErrorBackground = styles.inputValidationErrorBackground;\r\n this.inputValidationErrorForeground = styles.inputValidationErrorForeground;\r\n this.inputValidationErrorBorder = styles.inputValidationErrorBorder;\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n const background = this.inputBackground ? this.inputBackground.toString() : '';\r\n const foreground = this.inputForeground ? this.inputForeground.toString() : '';\r\n const border = this.inputBorder ? this.inputBorder.toString() : '';\r\n this.element.style.backgroundColor = background;\r\n this.element.style.color = foreground;\r\n this.input.style.backgroundColor = 'inherit';\r\n this.input.style.color = foreground;\r\n this.element.style.borderWidth = border ? '1px' : '';\r\n this.element.style.borderStyle = border ? 'solid' : '';\r\n this.element.style.borderColor = border;\r\n }\r\n layout() {\r\n if (!this.mirror) {\r\n return;\r\n }\r\n const previousHeight = this.cachedContentHeight;\r\n this.cachedContentHeight = _dom_js__WEBPACK_IMPORTED_MODULE_2__.getTotalHeight(this.mirror);\r\n if (previousHeight !== this.cachedContentHeight) {\r\n this.cachedHeight = Math.min(this.cachedContentHeight, this.maxHeight);\r\n this.input.style.height = this.cachedHeight + 'px';\r\n this._onDidHeightChange.fire(this.cachedContentHeight);\r\n }\r\n }\r\n insertAtCursor(text) {\r\n const inputElement = this.inputElement;\r\n const start = inputElement.selectionStart;\r\n const end = inputElement.selectionEnd;\r\n const content = inputElement.value;\r\n if (start !== null && end !== null) {\r\n this.value = content.substr(0, start) + text + content.substr(end);\r\n inputElement.setSelectionRange(start + 1, start + 1);\r\n this.layout();\r\n }\r\n }\r\n dispose() {\r\n this._hideMessage();\r\n this.message = null;\r\n if (this.actionbar) {\r\n this.actionbar.dispose();\r\n }\r\n super.dispose();\r\n }\r\n}\r\nclass HistoryInputBox extends InputBox {\r\n constructor(container, contextViewProvider, options) {\r\n super(container, contextViewProvider, options);\r\n this.history = new _common_history_js__WEBPACK_IMPORTED_MODULE_10__.HistoryNavigator(options.history, 100);\r\n }\r\n addToHistory() {\r\n if (this.value && this.value !== this.getCurrentValue()) {\r\n this.history.add(this.value);\r\n }\r\n }\r\n showNextValue() {\r\n if (!this.history.has(this.value)) {\r\n this.addToHistory();\r\n }\r\n let next = this.getNextValue();\r\n if (next) {\r\n next = next === this.value ? this.getNextValue() : next;\r\n }\r\n if (next) {\r\n this.value = next;\r\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.status(this.value);\r\n }\r\n }\r\n showPreviousValue() {\r\n if (!this.history.has(this.value)) {\r\n this.addToHistory();\r\n }\r\n let previous = this.getPreviousValue();\r\n if (previous) {\r\n previous = previous === this.value ? this.getPreviousValue() : previous;\r\n }\r\n if (previous) {\r\n this.value = previous;\r\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.status(this.value);\r\n }\r\n }\r\n getCurrentValue() {\r\n let currentValue = this.history.current();\r\n if (!currentValue) {\r\n currentValue = this.history.last();\r\n this.history.next();\r\n }\r\n return currentValue;\r\n }\r\n getPreviousValue() {\r\n return this.history.previous() || this.history.first();\r\n }\r\n getNextValue() {\r\n return this.history.next() || this.history.last();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js": /*!**********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js ***! \**********************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KeybindingLabel\": () => (/* binding */ KeybindingLabel)\n/* harmony export */ });\n/* harmony import */ var _keybindingLabel_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./keybindingLabel.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_keybindingLabels_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/keybindingLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_3__.$;\r\nclass KeybindingLabel {\r\n constructor(container, os, options) {\r\n this.os = os;\r\n this.options = options;\r\n this.domNode = _dom_js__WEBPACK_IMPORTED_MODULE_3__.append(container, $('.monaco-keybinding'));\r\n this.didEverRender = false;\r\n container.appendChild(this.domNode);\r\n }\r\n set(keybinding, matches) {\r\n if (this.didEverRender && this.keybinding === keybinding && KeybindingLabel.areSame(this.matches, matches)) {\r\n return;\r\n }\r\n this.keybinding = keybinding;\r\n this.matches = matches;\r\n this.render();\r\n }\r\n render() {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.clearNode(this.domNode);\r\n if (this.keybinding) {\r\n let [firstPart, chordPart] = this.keybinding.getParts();\r\n if (firstPart) {\r\n this.renderPart(this.domNode, firstPart, this.matches ? this.matches.firstPart : null);\r\n }\r\n if (chordPart) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.append(this.domNode, $('span.monaco-keybinding-key-chord-separator', undefined, ' '));\r\n this.renderPart(this.domNode, chordPart, this.matches ? this.matches.chordPart : null);\r\n }\r\n this.domNode.title = this.keybinding.getAriaLabel() || '';\r\n }\r\n else if (this.options && this.options.renderUnboundKeybindings) {\r\n this.renderUnbound(this.domNode);\r\n }\r\n this.didEverRender = true;\r\n }\r\n renderPart(parent, part, match) {\r\n const modifierLabels = _common_keybindingLabels_js__WEBPACK_IMPORTED_MODULE_2__.UILabelProvider.modifierLabels[this.os];\r\n if (part.ctrlKey) {\r\n this.renderKey(parent, modifierLabels.ctrlKey, Boolean(match === null || match === void 0 ? void 0 : match.ctrlKey), modifierLabels.separator);\r\n }\r\n if (part.shiftKey) {\r\n this.renderKey(parent, modifierLabels.shiftKey, Boolean(match === null || match === void 0 ? void 0 : match.shiftKey), modifierLabels.separator);\r\n }\r\n if (part.altKey) {\r\n this.renderKey(parent, modifierLabels.altKey, Boolean(match === null || match === void 0 ? void 0 : match.altKey), modifierLabels.separator);\r\n }\r\n if (part.metaKey) {\r\n this.renderKey(parent, modifierLabels.metaKey, Boolean(match === null || match === void 0 ? void 0 : match.metaKey), modifierLabels.separator);\r\n }\r\n const keyLabel = part.keyLabel;\r\n if (keyLabel) {\r\n this.renderKey(parent, keyLabel, Boolean(match === null || match === void 0 ? void 0 : match.keyCode), '');\r\n }\r\n }\r\n renderKey(parent, label, highlight, separator) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.append(parent, $('span.monaco-keybinding-key' + (highlight ? '.highlight' : ''), undefined, label));\r\n if (separator) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.append(parent, $('span.monaco-keybinding-key-separator', undefined, separator));\r\n }\r\n }\r\n renderUnbound(parent) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_3__.append(parent, $('span.monaco-keybinding-key', undefined, (0,_nls_js__WEBPACK_IMPORTED_MODULE_4__.localize)('unbound', \"Unbound\")));\r\n }\r\n static areSame(a, b) {\r\n if (a === b || (!a && !b)) {\r\n return true;\r\n }\r\n return !!a && !!b && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_1__.equals)(a.firstPart, b.firstPart) && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_1__.equals)(a.chordPart, b.chordPart);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ListError\": () => (/* binding */ ListError)\n/* harmony export */ });\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\nclass ListError extends Error {\r\n constructor(user, message) {\r\n super(`ListError [${user}] ${message}`);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js": /*!******************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PagedList\": () => (/* binding */ PagedList)\n/* harmony export */ });\n/* harmony import */ var _list_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _listWidget_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.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\nclass PagedRenderer {\r\n constructor(renderer, modelProvider) {\r\n this.renderer = renderer;\r\n this.modelProvider = modelProvider;\r\n }\r\n get templateId() { return this.renderer.templateId; }\r\n renderTemplate(container) {\r\n const data = this.renderer.renderTemplate(container);\r\n return { data, disposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None };\r\n }\r\n renderElement(index, _, data, height) {\r\n if (data.disposable) {\r\n data.disposable.dispose();\r\n }\r\n if (!data.data) {\r\n return;\r\n }\r\n const model = this.modelProvider();\r\n if (model.isResolved(index)) {\r\n return this.renderer.renderElement(model.get(index), index, data.data, height);\r\n }\r\n const cts = new _common_cancellation_js__WEBPACK_IMPORTED_MODULE_5__.CancellationTokenSource();\r\n const promise = model.resolve(index, cts.token);\r\n data.disposable = { dispose: () => cts.cancel() };\r\n this.renderer.renderPlaceholder(index, data.data);\r\n promise.then(entry => this.renderer.renderElement(entry, index, data.data, height));\r\n }\r\n disposeTemplate(data) {\r\n if (data.disposable) {\r\n data.disposable.dispose();\r\n data.disposable = undefined;\r\n }\r\n if (data.data) {\r\n this.renderer.disposeTemplate(data.data);\r\n data.data = undefined;\r\n }\r\n }\r\n}\r\nclass PagedAccessibilityProvider {\r\n constructor(modelProvider, accessibilityProvider) {\r\n this.modelProvider = modelProvider;\r\n this.accessibilityProvider = accessibilityProvider;\r\n }\r\n getWidgetAriaLabel() {\r\n return this.accessibilityProvider.getWidgetAriaLabel();\r\n }\r\n getAriaLabel(index) {\r\n const model = this.modelProvider();\r\n if (!model.isResolved(index)) {\r\n return null;\r\n }\r\n return this.accessibilityProvider.getAriaLabel(model.get(index));\r\n }\r\n}\r\nfunction fromPagedListOptions(modelProvider, options) {\r\n return Object.assign(Object.assign({}, options), { accessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider) });\r\n}\r\nclass PagedList {\r\n constructor(user, container, virtualDelegate, renderers, options = {}) {\r\n const modelProvider = () => this.model;\r\n const pagedRenderers = renderers.map(r => new PagedRenderer(r, modelProvider));\r\n this.list = new _listWidget_js__WEBPACK_IMPORTED_MODULE_3__.List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\r\n }\r\n updateOptions(options) {\r\n this.list.updateOptions(options);\r\n }\r\n getHTMLElement() {\r\n return this.list.getHTMLElement();\r\n }\r\n get onDidFocus() {\r\n return this.list.onDidFocus;\r\n }\r\n get onDidDispose() {\r\n return this.list.onDidDispose;\r\n }\r\n get onMouseDblClick() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\r\n }\r\n get onPointer() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\r\n }\r\n get onDidChangeFocus() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.list.onDidChangeFocus, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\r\n }\r\n get onDidChangeSelection() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n set model(model) {\r\n this._model = model;\r\n this.list.splice(0, this.list.length, (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_2__.range)(model.length));\r\n }\r\n getFocus() {\r\n return this.list.getFocus();\r\n }\r\n setSelection(indexes, browserEvent) {\r\n this.list.setSelection(indexes, browserEvent);\r\n }\r\n getSelection() {\r\n return this.list.getSelection();\r\n }\r\n getSelectedElements() {\r\n return this.getSelection().map(i => this.model.get(i));\r\n }\r\n style(styles) {\r\n this.list.style(styles);\r\n }\r\n dispose() {\r\n this.list.dispose();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js": /*!****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ElementsDragAndDropData\": () => (/* binding */ ElementsDragAndDropData),\n/* harmony export */ \"ExternalElementsDragAndDropData\": () => (/* binding */ ExternalElementsDragAndDropData),\n/* harmony export */ \"NativeDragAndDropData\": () => (/* binding */ NativeDragAndDropData),\n/* harmony export */ \"ListView\": () => (/* binding */ ListView)\n/* harmony export */ });\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _rangeMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./rangeMap.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js\");\n/* harmony import */ var _rowCache_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rowCache.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _dnd_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../dnd.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dnd.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\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\nconst DefaultOptions = {\r\n useShadows: true,\r\n verticalScrollMode: 1 /* Auto */,\r\n setRowLineHeight: true,\r\n setRowHeight: true,\r\n supportDynamicHeights: false,\r\n dnd: {\r\n getDragElements(e) { return [e]; },\r\n getDragURI() { return null; },\r\n onDragStart() { },\r\n onDragOver() { return false; },\r\n drop() { }\r\n },\r\n horizontalScrolling: false,\r\n transformOptimization: true,\r\n alwaysConsumeMouseWheel: true,\r\n};\r\nclass ElementsDragAndDropData {\r\n constructor(elements) {\r\n this.elements = elements;\r\n }\r\n update() { }\r\n getData() {\r\n return this.elements;\r\n }\r\n}\r\nclass ExternalElementsDragAndDropData {\r\n constructor(elements) {\r\n this.elements = elements;\r\n }\r\n update() { }\r\n getData() {\r\n return this.elements;\r\n }\r\n}\r\nclass NativeDragAndDropData {\r\n constructor() {\r\n this.types = [];\r\n this.files = [];\r\n }\r\n update(dataTransfer) {\r\n if (dataTransfer.types) {\r\n this.types.splice(0, this.types.length, ...dataTransfer.types);\r\n }\r\n if (dataTransfer.files) {\r\n this.files.splice(0, this.files.length);\r\n for (let i = 0; i < dataTransfer.files.length; i++) {\r\n const file = dataTransfer.files.item(i);\r\n if (file && (file.size || file.type)) {\r\n this.files.push(file);\r\n }\r\n }\r\n }\r\n }\r\n getData() {\r\n return {\r\n types: this.types,\r\n files: this.files\r\n };\r\n }\r\n}\r\nfunction equalsDragFeedback(f1, f2) {\r\n if (Array.isArray(f1) && Array.isArray(f2)) {\r\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_11__.equals)(f1, f2);\r\n }\r\n return f1 === f2;\r\n}\r\nclass ListViewAccessibilityProvider {\r\n constructor(accessibilityProvider) {\r\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getSetSize) {\r\n this.getSetSize = accessibilityProvider.getSetSize.bind(accessibilityProvider);\r\n }\r\n else {\r\n this.getSetSize = (e, i, l) => l;\r\n }\r\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getPosInSet) {\r\n this.getPosInSet = accessibilityProvider.getPosInSet.bind(accessibilityProvider);\r\n }\r\n else {\r\n this.getPosInSet = (e, i) => i + 1;\r\n }\r\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getRole) {\r\n this.getRole = accessibilityProvider.getRole.bind(accessibilityProvider);\r\n }\r\n else {\r\n this.getRole = _ => 'listitem';\r\n }\r\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.isChecked) {\r\n this.isChecked = accessibilityProvider.isChecked.bind(accessibilityProvider);\r\n }\r\n else {\r\n this.isChecked = _ => undefined;\r\n }\r\n }\r\n}\r\nclass ListView {\r\n constructor(container, virtualDelegate, renderers, options = DefaultOptions) {\r\n this.virtualDelegate = virtualDelegate;\r\n this.domId = `list_id_${++ListView.InstanceCount}`;\r\n this.renderers = new Map();\r\n this.renderWidth = 0;\r\n this._scrollHeight = 0;\r\n this.scrollableElementUpdateDisposable = null;\r\n this.scrollableElementWidthDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_13__.Delayer(50);\r\n this.splicing = false;\r\n this.dragOverAnimationStopDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n this.dragOverMouseY = 0;\r\n this.canDrop = false;\r\n this.currentDragFeedbackDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n this.onDragLeaveTimeout = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this._onDidChangeContentHeight = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter();\r\n this._horizontalScrolling = false;\r\n if (options.horizontalScrolling && options.supportDynamicHeights) {\r\n throw new Error('Horizontal scrolling and dynamic heights not supported simultaneously');\r\n }\r\n this.items = [];\r\n this.itemId = 0;\r\n this.rangeMap = new _rangeMap_js__WEBPACK_IMPORTED_MODULE_7__.RangeMap();\r\n for (const renderer of renderers) {\r\n this.renderers.set(renderer.templateId, renderer);\r\n }\r\n this.cache = this.disposables.add(new _rowCache_js__WEBPACK_IMPORTED_MODULE_8__.RowCache(this.renderers));\r\n this.lastRenderTop = 0;\r\n this.lastRenderHeight = 0;\r\n this.domNode = document.createElement('div');\r\n this.domNode.className = 'monaco-list';\r\n this.domNode.classList.add(this.domId);\r\n this.domNode.tabIndex = 0;\r\n this.domNode.classList.toggle('mouse-support', typeof options.mouseSupport === 'boolean' ? options.mouseSupport : true);\r\n this._horizontalScrolling = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.horizontalScrolling, DefaultOptions.horizontalScrolling);\r\n this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);\r\n this.additionalScrollHeight = typeof options.additionalScrollHeight === 'undefined' ? 0 : options.additionalScrollHeight;\r\n this.accessibilityProvider = new ListViewAccessibilityProvider(options.accessibilityProvider);\r\n this.rowsContainer = document.createElement('div');\r\n this.rowsContainer.className = 'monaco-list-rows';\r\n const transformOptimization = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.transformOptimization, DefaultOptions.transformOptimization);\r\n if (transformOptimization) {\r\n this.rowsContainer.style.transform = 'translate3d(0px, 0px, 0px)';\r\n }\r\n this.disposables.add(_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.rowsContainer));\r\n this.scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_6__.Scrollable((0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.smoothScrolling, false) ? 125 : 0, cb => (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.scheduleAtNextAnimationFrame)(cb));\r\n this.scrollableElement = this.disposables.add(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_5__.SmoothScrollableElement(this.rowsContainer, {\r\n alwaysConsumeMouseWheel: (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.alwaysConsumeMouseWheel, DefaultOptions.alwaysConsumeMouseWheel),\r\n horizontal: 1 /* Auto */,\r\n vertical: (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.verticalScrollMode, DefaultOptions.verticalScrollMode),\r\n useShadows: (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.useShadows, DefaultOptions.useShadows),\r\n }, this.scrollable));\r\n this.domNode.appendChild(this.scrollableElement.getDomNode());\r\n container.appendChild(this.domNode);\r\n this.scrollableElement.onScroll(this.onScroll, this, this.disposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.rowsContainer, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change)(this.onTouchChange, this, this.disposables);\r\n // Prevent the monaco-scrollable-element from scrolling\r\n // https://github.com/microsoft/vscode/issues/44181\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.scrollableElement.getDomNode(), 'scroll')(e => e.target.scrollTop = 0, null, this.disposables);\r\n _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'dragover'), e => this.toDragEvent(e))(this.onDragOver, this, this.disposables);\r\n _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'drop'), e => this.toDragEvent(e))(this.onDrop, this, this.disposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'dragleave')(this.onDragLeave, this, this.disposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(window, 'dragend')(this.onDragEnd, this, this.disposables);\r\n this.setRowLineHeight = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.setRowLineHeight, DefaultOptions.setRowLineHeight);\r\n this.setRowHeight = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.setRowHeight, DefaultOptions.setRowHeight);\r\n this.supportDynamicHeights = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.supportDynamicHeights, DefaultOptions.supportDynamicHeights);\r\n this.dnd = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_0__.getOrDefault)(options, o => o.dnd, DefaultOptions.dnd);\r\n this.layout();\r\n }\r\n get contentHeight() { return this.rangeMap.size; }\r\n get horizontalScrolling() { return this._horizontalScrolling; }\r\n set horizontalScrolling(value) {\r\n if (value === this._horizontalScrolling) {\r\n return;\r\n }\r\n if (value && this.supportDynamicHeights) {\r\n throw new Error('Horizontal scrolling and dynamic heights not supported simultaneously');\r\n }\r\n this._horizontalScrolling = value;\r\n this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);\r\n if (this._horizontalScrolling) {\r\n for (const item of this.items) {\r\n this.measureItemWidth(item);\r\n }\r\n this.updateScrollWidth();\r\n this.scrollableElement.setScrollDimensions({ width: (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.getContentWidth)(this.domNode) });\r\n this.rowsContainer.style.width = `${Math.max(this.scrollWidth || 0, this.renderWidth)}px`;\r\n }\r\n else {\r\n this.scrollableElementWidthDelayer.cancel();\r\n this.scrollableElement.setScrollDimensions({ width: this.renderWidth, scrollWidth: this.renderWidth });\r\n this.rowsContainer.style.width = '';\r\n }\r\n }\r\n updateOptions(options) {\r\n if (options.additionalScrollHeight !== undefined) {\r\n this.additionalScrollHeight = options.additionalScrollHeight;\r\n }\r\n if (options.smoothScrolling !== undefined) {\r\n this.scrollable.setSmoothScrollDuration(options.smoothScrolling ? 125 : 0);\r\n }\r\n if (options.horizontalScrolling !== undefined) {\r\n this.horizontalScrolling = options.horizontalScrolling;\r\n }\r\n }\r\n splice(start, deleteCount, elements = []) {\r\n if (this.splicing) {\r\n throw new Error('Can\\'t run recursive splices.');\r\n }\r\n this.splicing = true;\r\n try {\r\n return this._splice(start, deleteCount, elements);\r\n }\r\n finally {\r\n this.splicing = false;\r\n this._onDidChangeContentHeight.fire(this.contentHeight);\r\n }\r\n }\r\n _splice(start, deleteCount, elements = []) {\r\n const previousRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\r\n const deleteRange = { start, end: start + deleteCount };\r\n const removeRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRenderRange, deleteRange);\r\n // try to reuse rows, avoid removing them from DOM\r\n const rowsToDispose = new Map();\r\n for (let i = removeRange.start; i < removeRange.end; i++) {\r\n const item = this.items[i];\r\n item.dragStartDisposable.dispose();\r\n if (item.row) {\r\n let rows = rowsToDispose.get(item.templateId);\r\n if (!rows) {\r\n rows = [];\r\n rowsToDispose.set(item.templateId, rows);\r\n }\r\n const renderer = this.renderers.get(item.templateId);\r\n if (renderer && renderer.disposeElement) {\r\n renderer.disposeElement(item.element, i, item.row.templateData, item.size);\r\n }\r\n rows.push(item.row);\r\n }\r\n item.row = null;\r\n }\r\n const previousRestRange = { start: start + deleteCount, end: this.items.length };\r\n const previousRenderedRestRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRestRange, previousRenderRange);\r\n const previousUnrenderedRestRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRestRange, previousRenderRange);\r\n const inserted = elements.map(element => ({\r\n id: String(this.itemId++),\r\n element,\r\n templateId: this.virtualDelegate.getTemplateId(element),\r\n size: this.virtualDelegate.getHeight(element),\r\n width: undefined,\r\n hasDynamicHeight: !!this.virtualDelegate.hasDynamicHeight && this.virtualDelegate.hasDynamicHeight(element),\r\n lastDynamicHeightWidth: undefined,\r\n row: null,\r\n uri: undefined,\r\n dropTarget: false,\r\n dragStartDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None\r\n }));\r\n let deleted;\r\n // TODO@joao: improve this optimization to catch even more cases\r\n if (start === 0 && deleteCount >= this.items.length) {\r\n this.rangeMap = new _rangeMap_js__WEBPACK_IMPORTED_MODULE_7__.RangeMap();\r\n this.rangeMap.splice(0, 0, inserted);\r\n deleted = this.items;\r\n this.items = inserted;\r\n }\r\n else {\r\n this.rangeMap.splice(start, deleteCount, inserted);\r\n deleted = this.items.splice(start, deleteCount, ...inserted);\r\n }\r\n const delta = elements.length - deleteCount;\r\n const renderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\r\n const renderedRestRange = (0,_rangeMap_js__WEBPACK_IMPORTED_MODULE_7__.shift)(previousRenderedRestRange, delta);\r\n const updateRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(renderRange, renderedRestRange);\r\n for (let i = updateRange.start; i < updateRange.end; i++) {\r\n this.updateItemInDOM(this.items[i], i);\r\n }\r\n const removeRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderedRestRange, renderRange);\r\n for (const range of removeRanges) {\r\n for (let i = range.start; i < range.end; i++) {\r\n this.removeItemFromDOM(i);\r\n }\r\n }\r\n const unrenderedRestRanges = previousUnrenderedRestRanges.map(r => (0,_rangeMap_js__WEBPACK_IMPORTED_MODULE_7__.shift)(r, delta));\r\n const elementsRange = { start, end: start + elements.length };\r\n const insertRanges = [elementsRange, ...unrenderedRestRanges].map(r => _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(renderRange, r));\r\n const beforeElement = this.getNextToLastElement(insertRanges);\r\n for (const range of insertRanges) {\r\n for (let i = range.start; i < range.end; i++) {\r\n const item = this.items[i];\r\n const rows = rowsToDispose.get(item.templateId);\r\n const row = rows === null || rows === void 0 ? void 0 : rows.pop();\r\n this.insertItemInDOM(i, beforeElement, row);\r\n }\r\n }\r\n for (const rows of rowsToDispose.values()) {\r\n for (const row of rows) {\r\n this.cache.release(row);\r\n }\r\n }\r\n this.eventuallyUpdateScrollDimensions();\r\n if (this.supportDynamicHeights) {\r\n this._rerender(this.scrollTop, this.renderHeight);\r\n }\r\n return deleted.map(i => i.element);\r\n }\r\n eventuallyUpdateScrollDimensions() {\r\n this._scrollHeight = this.contentHeight;\r\n this.rowsContainer.style.height = `${this._scrollHeight}px`;\r\n if (!this.scrollableElementUpdateDisposable) {\r\n this.scrollableElementUpdateDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.scheduleAtNextAnimationFrame)(() => {\r\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\r\n this.updateScrollWidth();\r\n this.scrollableElementUpdateDisposable = null;\r\n });\r\n }\r\n }\r\n eventuallyUpdateScrollWidth() {\r\n if (!this.horizontalScrolling) {\r\n this.scrollableElementWidthDelayer.cancel();\r\n return;\r\n }\r\n this.scrollableElementWidthDelayer.trigger(() => this.updateScrollWidth());\r\n }\r\n updateScrollWidth() {\r\n if (!this.horizontalScrolling) {\r\n return;\r\n }\r\n let scrollWidth = 0;\r\n for (const item of this.items) {\r\n if (typeof item.width !== 'undefined') {\r\n scrollWidth = Math.max(scrollWidth, item.width);\r\n }\r\n }\r\n this.scrollWidth = scrollWidth;\r\n this.scrollableElement.setScrollDimensions({ scrollWidth: scrollWidth === 0 ? 0 : (scrollWidth + 10) });\r\n }\r\n rerender() {\r\n if (!this.supportDynamicHeights) {\r\n return;\r\n }\r\n for (const item of this.items) {\r\n item.lastDynamicHeightWidth = undefined;\r\n }\r\n this._rerender(this.lastRenderTop, this.lastRenderHeight);\r\n }\r\n get length() {\r\n return this.items.length;\r\n }\r\n get renderHeight() {\r\n const scrollDimensions = this.scrollableElement.getScrollDimensions();\r\n return scrollDimensions.height;\r\n }\r\n element(index) {\r\n return this.items[index].element;\r\n }\r\n domElement(index) {\r\n const row = this.items[index].row;\r\n return row && row.domNode;\r\n }\r\n elementHeight(index) {\r\n return this.items[index].size;\r\n }\r\n elementTop(index) {\r\n return this.rangeMap.positionAt(index);\r\n }\r\n indexAt(position) {\r\n return this.rangeMap.indexAt(position);\r\n }\r\n indexAfter(position) {\r\n return this.rangeMap.indexAfter(position);\r\n }\r\n layout(height, width) {\r\n let scrollDimensions = {\r\n height: typeof height === 'number' ? height : (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.getContentHeight)(this.domNode)\r\n };\r\n if (this.scrollableElementUpdateDisposable) {\r\n this.scrollableElementUpdateDisposable.dispose();\r\n this.scrollableElementUpdateDisposable = null;\r\n scrollDimensions.scrollHeight = this.scrollHeight;\r\n }\r\n this.scrollableElement.setScrollDimensions(scrollDimensions);\r\n if (typeof width !== 'undefined') {\r\n this.renderWidth = width;\r\n if (this.supportDynamicHeights) {\r\n this._rerender(this.scrollTop, this.renderHeight);\r\n }\r\n if (this.horizontalScrolling) {\r\n this.scrollableElement.setScrollDimensions({\r\n width: typeof width === 'number' ? width : (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.getContentWidth)(this.domNode)\r\n });\r\n }\r\n }\r\n }\r\n // Render\r\n render(previousRenderRange, renderTop, renderHeight, renderLeft, scrollWidth, updateItemsInDOM = false) {\r\n const renderRange = this.getRenderRange(renderTop, renderHeight);\r\n const rangesToInsert = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderRange, previousRenderRange);\r\n const rangesToRemove = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRenderRange, renderRange);\r\n const beforeElement = this.getNextToLastElement(rangesToInsert);\r\n if (updateItemsInDOM) {\r\n const rangesToUpdate = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRenderRange, renderRange);\r\n for (let i = rangesToUpdate.start; i < rangesToUpdate.end; i++) {\r\n this.updateItemInDOM(this.items[i], i);\r\n }\r\n }\r\n for (const range of rangesToInsert) {\r\n for (let i = range.start; i < range.end; i++) {\r\n this.insertItemInDOM(i, beforeElement);\r\n }\r\n }\r\n for (const range of rangesToRemove) {\r\n for (let i = range.start; i < range.end; i++) {\r\n this.removeItemFromDOM(i);\r\n }\r\n }\r\n if (renderLeft !== undefined) {\r\n this.rowsContainer.style.left = `-${renderLeft}px`;\r\n }\r\n this.rowsContainer.style.top = `-${renderTop}px`;\r\n if (this.horizontalScrolling && scrollWidth !== undefined) {\r\n this.rowsContainer.style.width = `${Math.max(scrollWidth, this.renderWidth)}px`;\r\n }\r\n this.lastRenderTop = renderTop;\r\n this.lastRenderHeight = renderHeight;\r\n }\r\n // DOM operations\r\n insertItemInDOM(index, beforeElement, row) {\r\n const item = this.items[index];\r\n if (!item.row) {\r\n item.row = row !== null && row !== void 0 ? row : this.cache.alloc(item.templateId);\r\n }\r\n const role = this.accessibilityProvider.getRole(item.element) || 'listitem';\r\n item.row.domNode.setAttribute('role', role);\r\n const checked = this.accessibilityProvider.isChecked(item.element);\r\n if (typeof checked !== 'undefined') {\r\n item.row.domNode.setAttribute('aria-checked', String(!!checked));\r\n }\r\n if (!item.row.domNode.parentElement) {\r\n if (beforeElement) {\r\n this.rowsContainer.insertBefore(item.row.domNode, beforeElement);\r\n }\r\n else {\r\n this.rowsContainer.appendChild(item.row.domNode);\r\n }\r\n }\r\n this.updateItemInDOM(item, index);\r\n const renderer = this.renderers.get(item.templateId);\r\n if (!renderer) {\r\n throw new Error(`No renderer found for template id ${item.templateId}`);\r\n }\r\n if (renderer) {\r\n renderer.renderElement(item.element, index, item.row.templateData, item.size);\r\n }\r\n const uri = this.dnd.getDragURI(item.element);\r\n item.dragStartDisposable.dispose();\r\n item.row.domNode.draggable = !!uri;\r\n if (uri) {\r\n const onDragStart = (0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(item.row.domNode, 'dragstart');\r\n item.dragStartDisposable = onDragStart(event => this.onDragStart(item.element, uri, event));\r\n }\r\n if (this.horizontalScrolling) {\r\n this.measureItemWidth(item);\r\n this.eventuallyUpdateScrollWidth();\r\n }\r\n }\r\n measureItemWidth(item) {\r\n if (!item.row || !item.row.domNode) {\r\n return;\r\n }\r\n item.row.domNode.style.width = _browser_js__WEBPACK_IMPORTED_MODULE_14__.isFirefox ? '-moz-fit-content' : 'fit-content';\r\n item.width = (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.getContentWidth)(item.row.domNode);\r\n const style = window.getComputedStyle(item.row.domNode);\r\n if (style.paddingLeft) {\r\n item.width += parseFloat(style.paddingLeft);\r\n }\r\n if (style.paddingRight) {\r\n item.width += parseFloat(style.paddingRight);\r\n }\r\n item.row.domNode.style.width = '';\r\n }\r\n updateItemInDOM(item, index) {\r\n item.row.domNode.style.top = `${this.elementTop(index)}px`;\r\n if (this.setRowHeight) {\r\n item.row.domNode.style.height = `${item.size}px`;\r\n }\r\n if (this.setRowLineHeight) {\r\n item.row.domNode.style.lineHeight = `${item.size}px`;\r\n }\r\n item.row.domNode.setAttribute('data-index', `${index}`);\r\n item.row.domNode.setAttribute('data-last-element', index === this.length - 1 ? 'true' : 'false');\r\n item.row.domNode.setAttribute('aria-setsize', String(this.accessibilityProvider.getSetSize(item.element, index, this.length)));\r\n item.row.domNode.setAttribute('aria-posinset', String(this.accessibilityProvider.getPosInSet(item.element, index)));\r\n item.row.domNode.setAttribute('id', this.getElementDomId(index));\r\n item.row.domNode.classList.toggle('drop-target', item.dropTarget);\r\n }\r\n removeItemFromDOM(index) {\r\n const item = this.items[index];\r\n item.dragStartDisposable.dispose();\r\n if (item.row) {\r\n const renderer = this.renderers.get(item.templateId);\r\n if (renderer && renderer.disposeElement) {\r\n renderer.disposeElement(item.element, index, item.row.templateData, item.size);\r\n }\r\n this.cache.release(item.row);\r\n item.row = null;\r\n }\r\n if (this.horizontalScrolling) {\r\n this.eventuallyUpdateScrollWidth();\r\n }\r\n }\r\n getScrollTop() {\r\n const scrollPosition = this.scrollableElement.getScrollPosition();\r\n return scrollPosition.scrollTop;\r\n }\r\n setScrollTop(scrollTop, reuseAnimation) {\r\n if (this.scrollableElementUpdateDisposable) {\r\n this.scrollableElementUpdateDisposable.dispose();\r\n this.scrollableElementUpdateDisposable = null;\r\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\r\n }\r\n this.scrollableElement.setScrollPosition({ scrollTop, reuseAnimation });\r\n }\r\n get scrollTop() {\r\n return this.getScrollTop();\r\n }\r\n set scrollTop(scrollTop) {\r\n this.setScrollTop(scrollTop);\r\n }\r\n get scrollHeight() {\r\n return this._scrollHeight + (this.horizontalScrolling ? 10 : 0) + this.additionalScrollHeight;\r\n }\r\n // Events\r\n get onMouseClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'click'), e => this.toMouseEvent(e)); }\r\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'dblclick'), e => this.toMouseEvent(e)); }\r\n get onMouseMiddleClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.filter(_common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'auxclick'), e => this.toMouseEvent(e)), e => e.browserEvent.button === 1); }\r\n get onMouseDown() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'mousedown'), e => this.toMouseEvent(e)); }\r\n get onContextMenu() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'contextmenu'), e => this.toMouseEvent(e)); }\r\n get onTouchStart() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.domNode, 'touchstart'), e => this.toTouchEvent(e)); }\r\n get onTap() { return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_4__.domEvent)(this.rowsContainer, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap), e => this.toGestureEvent(e)); }\r\n toMouseEvent(browserEvent) {\r\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\r\n const item = typeof index === 'undefined' ? undefined : this.items[index];\r\n const element = item && item.element;\r\n return { browserEvent, index, element };\r\n }\r\n toTouchEvent(browserEvent) {\r\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\r\n const item = typeof index === 'undefined' ? undefined : this.items[index];\r\n const element = item && item.element;\r\n return { browserEvent, index, element };\r\n }\r\n toGestureEvent(browserEvent) {\r\n const index = this.getItemIndexFromEventTarget(browserEvent.initialTarget || null);\r\n const item = typeof index === 'undefined' ? undefined : this.items[index];\r\n const element = item && item.element;\r\n return { browserEvent, index, element };\r\n }\r\n toDragEvent(browserEvent) {\r\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\r\n const item = typeof index === 'undefined' ? undefined : this.items[index];\r\n const element = item && item.element;\r\n return { browserEvent, index, element };\r\n }\r\n onScroll(e) {\r\n try {\r\n const previousRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\r\n this.render(previousRenderRange, e.scrollTop, e.height, e.scrollLeft, e.scrollWidth);\r\n if (this.supportDynamicHeights) {\r\n this._rerender(e.scrollTop, e.height, e.inSmoothScrolling);\r\n }\r\n }\r\n catch (err) {\r\n console.error('Got bad scroll event:', e);\r\n throw err;\r\n }\r\n }\r\n onTouchChange(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.scrollTop -= event.translationY;\r\n }\r\n // DND\r\n onDragStart(element, uri, event) {\r\n if (!event.dataTransfer) {\r\n return;\r\n }\r\n const elements = this.dnd.getDragElements(element);\r\n event.dataTransfer.effectAllowed = 'copyMove';\r\n event.dataTransfer.setData(_dnd_js__WEBPACK_IMPORTED_MODULE_12__.DataTransfers.RESOURCES, JSON.stringify([uri]));\r\n if (event.dataTransfer.setDragImage) {\r\n let label;\r\n if (this.dnd.getDragLabel) {\r\n label = this.dnd.getDragLabel(elements, event);\r\n }\r\n if (typeof label === 'undefined') {\r\n label = String(elements.length);\r\n }\r\n const dragImage = (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.$)('.monaco-drag-image');\r\n dragImage.textContent = label;\r\n document.body.appendChild(dragImage);\r\n event.dataTransfer.setDragImage(dragImage, -10, -10);\r\n setTimeout(() => document.body.removeChild(dragImage), 0);\r\n }\r\n this.currentDragData = new ElementsDragAndDropData(elements);\r\n _dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData = new ExternalElementsDragAndDropData(elements);\r\n if (this.dnd.onDragStart) {\r\n this.dnd.onDragStart(this.currentDragData, event);\r\n }\r\n }\r\n onDragOver(event) {\r\n event.browserEvent.preventDefault(); // needed so that the drop event fires (https://stackoverflow.com/questions/21339924/drop-event-not-firing-in-chrome)\r\n this.onDragLeaveTimeout.dispose();\r\n if (_dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData && _dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData.getData() === 'vscode-ui') {\r\n return false;\r\n }\r\n this.setupDragAndDropScrollTopAnimation(event.browserEvent);\r\n if (!event.browserEvent.dataTransfer) {\r\n return false;\r\n }\r\n // Drag over from outside\r\n if (!this.currentDragData) {\r\n if (_dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData) {\r\n // Drag over from another list\r\n this.currentDragData = _dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData;\r\n }\r\n else {\r\n // Drag over from the desktop\r\n if (!event.browserEvent.dataTransfer.types) {\r\n return false;\r\n }\r\n this.currentDragData = new NativeDragAndDropData();\r\n }\r\n }\r\n const result = this.dnd.onDragOver(this.currentDragData, event.element, event.index, event.browserEvent);\r\n this.canDrop = typeof result === 'boolean' ? result : result.accept;\r\n if (!this.canDrop) {\r\n this.currentDragFeedback = undefined;\r\n this.currentDragFeedbackDisposable.dispose();\r\n return false;\r\n }\r\n event.browserEvent.dataTransfer.dropEffect = (typeof result !== 'boolean' && result.effect === 0 /* Copy */) ? 'copy' : 'move';\r\n let feedback;\r\n if (typeof result !== 'boolean' && result.feedback) {\r\n feedback = result.feedback;\r\n }\r\n else {\r\n if (typeof event.index === 'undefined') {\r\n feedback = [-1];\r\n }\r\n else {\r\n feedback = [event.index];\r\n }\r\n }\r\n // sanitize feedback list\r\n feedback = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_11__.distinct)(feedback).filter(i => i >= -1 && i < this.length).sort((a, b) => a - b);\r\n feedback = feedback[0] === -1 ? [-1] : feedback;\r\n if (equalsDragFeedback(this.currentDragFeedback, feedback)) {\r\n return true;\r\n }\r\n this.currentDragFeedback = feedback;\r\n this.currentDragFeedbackDisposable.dispose();\r\n if (feedback[0] === -1) { // entire list feedback\r\n this.domNode.classList.add('drop-target');\r\n this.rowsContainer.classList.add('drop-target');\r\n this.currentDragFeedbackDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {\r\n this.domNode.classList.remove('drop-target');\r\n this.rowsContainer.classList.remove('drop-target');\r\n });\r\n }\r\n else {\r\n for (const index of feedback) {\r\n const item = this.items[index];\r\n item.dropTarget = true;\r\n if (item.row) {\r\n item.row.domNode.classList.add('drop-target');\r\n }\r\n }\r\n this.currentDragFeedbackDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {\r\n for (const index of feedback) {\r\n const item = this.items[index];\r\n item.dropTarget = false;\r\n if (item.row) {\r\n item.row.domNode.classList.remove('drop-target');\r\n }\r\n }\r\n });\r\n }\r\n return true;\r\n }\r\n onDragLeave() {\r\n this.onDragLeaveTimeout.dispose();\r\n this.onDragLeaveTimeout = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_13__.disposableTimeout)(() => this.clearDragOverFeedback(), 100);\r\n }\r\n onDrop(event) {\r\n if (!this.canDrop) {\r\n return;\r\n }\r\n const dragData = this.currentDragData;\r\n this.teardownDragAndDropScrollTopAnimation();\r\n this.clearDragOverFeedback();\r\n this.currentDragData = undefined;\r\n _dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData = undefined;\r\n if (!dragData || !event.browserEvent.dataTransfer) {\r\n return;\r\n }\r\n event.browserEvent.preventDefault();\r\n dragData.update(event.browserEvent.dataTransfer);\r\n this.dnd.drop(dragData, event.element, event.index, event.browserEvent);\r\n }\r\n onDragEnd(event) {\r\n this.canDrop = false;\r\n this.teardownDragAndDropScrollTopAnimation();\r\n this.clearDragOverFeedback();\r\n this.currentDragData = undefined;\r\n _dnd_js__WEBPACK_IMPORTED_MODULE_12__.StaticDND.CurrentDragAndDropData = undefined;\r\n if (this.dnd.onDragEnd) {\r\n this.dnd.onDragEnd(event);\r\n }\r\n }\r\n clearDragOverFeedback() {\r\n this.currentDragFeedback = undefined;\r\n this.currentDragFeedbackDisposable.dispose();\r\n this.currentDragFeedbackDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n }\r\n // DND scroll top animation\r\n setupDragAndDropScrollTopAnimation(event) {\r\n if (!this.dragOverAnimationDisposable) {\r\n const viewTop = (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.getTopLeftOffset)(this.domNode).top;\r\n this.dragOverAnimationDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_15__.animate)(this.animateDragAndDropScrollTop.bind(this, viewTop));\r\n }\r\n this.dragOverAnimationStopDisposable.dispose();\r\n this.dragOverAnimationStopDisposable = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_13__.disposableTimeout)(() => {\r\n if (this.dragOverAnimationDisposable) {\r\n this.dragOverAnimationDisposable.dispose();\r\n this.dragOverAnimationDisposable = undefined;\r\n }\r\n }, 1000);\r\n this.dragOverMouseY = event.pageY;\r\n }\r\n animateDragAndDropScrollTop(viewTop) {\r\n if (this.dragOverMouseY === undefined) {\r\n return;\r\n }\r\n const diff = this.dragOverMouseY - viewTop;\r\n const upperLimit = this.renderHeight - 35;\r\n if (diff < 35) {\r\n this.scrollTop += Math.max(-14, Math.floor(0.3 * (diff - 35)));\r\n }\r\n else if (diff > upperLimit) {\r\n this.scrollTop += Math.min(14, Math.floor(0.3 * (diff - upperLimit)));\r\n }\r\n }\r\n teardownDragAndDropScrollTopAnimation() {\r\n this.dragOverAnimationStopDisposable.dispose();\r\n if (this.dragOverAnimationDisposable) {\r\n this.dragOverAnimationDisposable.dispose();\r\n this.dragOverAnimationDisposable = undefined;\r\n }\r\n }\r\n // Util\r\n getItemIndexFromEventTarget(target) {\r\n const scrollableElement = this.scrollableElement.getDomNode();\r\n let element = target;\r\n while (element instanceof HTMLElement && element !== this.rowsContainer && scrollableElement.contains(element)) {\r\n const rawIndex = element.getAttribute('data-index');\r\n if (rawIndex) {\r\n const index = Number(rawIndex);\r\n if (!isNaN(index)) {\r\n return index;\r\n }\r\n }\r\n element = element.parentElement;\r\n }\r\n return undefined;\r\n }\r\n getRenderRange(renderTop, renderHeight) {\r\n return {\r\n start: this.rangeMap.indexAt(renderTop),\r\n end: this.rangeMap.indexAfter(renderTop + renderHeight - 1)\r\n };\r\n }\r\n /**\r\n * Given a stable rendered state, checks every rendered element whether it needs\r\n * to be probed for dynamic height. Adjusts scroll height and top if necessary.\r\n */\r\n _rerender(renderTop, renderHeight, inSmoothScrolling) {\r\n const previousRenderRange = this.getRenderRange(renderTop, renderHeight);\r\n // Let's remember the second element's position, this helps in scrolling up\r\n // and preserving a linear upwards scroll movement\r\n let anchorElementIndex;\r\n let anchorElementTopDelta;\r\n if (renderTop === this.elementTop(previousRenderRange.start)) {\r\n anchorElementIndex = previousRenderRange.start;\r\n anchorElementTopDelta = 0;\r\n }\r\n else if (previousRenderRange.end - previousRenderRange.start > 1) {\r\n anchorElementIndex = previousRenderRange.start + 1;\r\n anchorElementTopDelta = this.elementTop(anchorElementIndex) - renderTop;\r\n }\r\n let heightDiff = 0;\r\n while (true) {\r\n const renderRange = this.getRenderRange(renderTop, renderHeight);\r\n let didChange = false;\r\n for (let i = renderRange.start; i < renderRange.end; i++) {\r\n const diff = this.probeDynamicHeight(i);\r\n if (diff !== 0) {\r\n this.rangeMap.splice(i, 1, [this.items[i]]);\r\n }\r\n heightDiff += diff;\r\n didChange = didChange || diff !== 0;\r\n }\r\n if (!didChange) {\r\n if (heightDiff !== 0) {\r\n this.eventuallyUpdateScrollDimensions();\r\n }\r\n const unrenderRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRenderRange, renderRange);\r\n for (const range of unrenderRanges) {\r\n for (let i = range.start; i < range.end; i++) {\r\n if (this.items[i].row) {\r\n this.removeItemFromDOM(i);\r\n }\r\n }\r\n }\r\n const renderRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderRange, previousRenderRange);\r\n for (const range of renderRanges) {\r\n for (let i = range.start; i < range.end; i++) {\r\n const afterIndex = i + 1;\r\n const beforeRow = afterIndex < this.items.length ? this.items[afterIndex].row : null;\r\n const beforeElement = beforeRow ? beforeRow.domNode : null;\r\n this.insertItemInDOM(i, beforeElement);\r\n }\r\n }\r\n for (let i = renderRange.start; i < renderRange.end; i++) {\r\n if (this.items[i].row) {\r\n this.updateItemInDOM(this.items[i], i);\r\n }\r\n }\r\n if (typeof anchorElementIndex === 'number') {\r\n // To compute a destination scroll top, we need to take into account the current smooth scrolling\r\n // animation, and then reuse it with a new target (to avoid prolonging the scroll)\r\n // See https://github.com/microsoft/vscode/issues/104144\r\n // See https://github.com/microsoft/vscode/pull/104284\r\n // See https://github.com/microsoft/vscode/issues/107704\r\n const deltaScrollTop = this.scrollable.getFutureScrollPosition().scrollTop - renderTop;\r\n const newScrollTop = this.elementTop(anchorElementIndex) - anchorElementTopDelta + deltaScrollTop;\r\n this.setScrollTop(newScrollTop, inSmoothScrolling);\r\n }\r\n this._onDidChangeContentHeight.fire(this.contentHeight);\r\n return;\r\n }\r\n }\r\n }\r\n probeDynamicHeight(index) {\r\n const item = this.items[index];\r\n if (!item.hasDynamicHeight || item.lastDynamicHeightWidth === this.renderWidth) {\r\n return 0;\r\n }\r\n if (!!this.virtualDelegate.hasDynamicHeight && !this.virtualDelegate.hasDynamicHeight(item.element)) {\r\n return 0;\r\n }\r\n const size = item.size;\r\n if (!this.setRowHeight && item.row) {\r\n let newSize = item.row.domNode.offsetHeight;\r\n item.size = newSize;\r\n item.lastDynamicHeightWidth = this.renderWidth;\r\n return newSize - size;\r\n }\r\n const row = this.cache.alloc(item.templateId);\r\n row.domNode.style.height = '';\r\n this.rowsContainer.appendChild(row.domNode);\r\n const renderer = this.renderers.get(item.templateId);\r\n if (renderer) {\r\n renderer.renderElement(item.element, index, row.templateData, undefined);\r\n if (renderer.disposeElement) {\r\n renderer.disposeElement(item.element, index, row.templateData, undefined);\r\n }\r\n }\r\n item.size = row.domNode.offsetHeight;\r\n if (this.virtualDelegate.setDynamicHeight) {\r\n this.virtualDelegate.setDynamicHeight(item.element, item.size);\r\n }\r\n item.lastDynamicHeightWidth = this.renderWidth;\r\n this.rowsContainer.removeChild(row.domNode);\r\n this.cache.release(row);\r\n return item.size - size;\r\n }\r\n getNextToLastElement(ranges) {\r\n const lastRange = ranges[ranges.length - 1];\r\n if (!lastRange) {\r\n return null;\r\n }\r\n const nextToLastItem = this.items[lastRange.end];\r\n if (!nextToLastItem) {\r\n return null;\r\n }\r\n if (!nextToLastItem.row) {\r\n return null;\r\n }\r\n return nextToLastItem.row.domNode;\r\n }\r\n getElementDomId(index) {\r\n return `${this.domId}_${index}`;\r\n }\r\n // Dispose\r\n dispose() {\r\n if (this.items) {\r\n for (const item of this.items) {\r\n if (item.row) {\r\n const renderer = this.renderers.get(item.row.templateId);\r\n if (renderer) {\r\n if (renderer.disposeElement) {\r\n renderer.disposeElement(item.element, -1, item.row.templateData, undefined);\r\n }\r\n renderer.disposeTemplate(item.row.templateData);\r\n }\r\n }\r\n }\r\n this.items = [];\r\n }\r\n if (this.domNode && this.domNode.parentNode) {\r\n this.domNode.parentNode.removeChild(this.domNode);\r\n }\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.disposables);\r\n }\r\n}\r\nListView.InstanceCount = 0;\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onMouseClick\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onMouseDblClick\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onMouseMiddleClick\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onMouseDown\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onContextMenu\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onTouchStart\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], ListView.prototype, \"onTap\", null);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js": /*!******************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isInputElement\": () => (/* binding */ isInputElement),\n/* harmony export */ \"isMonacoEditor\": () => (/* binding */ isMonacoEditor),\n/* harmony export */ \"DefaultKeyboardNavigationDelegate\": () => (/* binding */ DefaultKeyboardNavigationDelegate),\n/* harmony export */ \"isSelectionSingleChangeEvent\": () => (/* binding */ isSelectionSingleChangeEvent),\n/* harmony export */ \"isSelectionRangeChangeEvent\": () => (/* binding */ isSelectionRangeChangeEvent),\n/* harmony export */ \"MouseController\": () => (/* binding */ MouseController),\n/* harmony export */ \"DefaultStyleController\": () => (/* binding */ DefaultStyleController),\n/* harmony export */ \"List\": () => (/* binding */ List)\n/* harmony export */ });\n/* harmony import */ var _list_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _list_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./list.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _splice_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./splice.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_filters_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _aria_aria_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../aria/aria.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\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\nclass TraitRenderer {\r\n constructor(trait) {\r\n this.trait = trait;\r\n this.renderedElements = [];\r\n }\r\n get templateId() {\r\n return `template:${this.trait.trait}`;\r\n }\r\n renderTemplate(container) {\r\n return container;\r\n }\r\n renderElement(element, index, templateData) {\r\n const renderedElementIndex = this.renderedElements.findIndex(el => el.templateData === templateData);\r\n if (renderedElementIndex >= 0) {\r\n const rendered = this.renderedElements[renderedElementIndex];\r\n this.trait.unrender(templateData);\r\n rendered.index = index;\r\n }\r\n else {\r\n const rendered = { index, templateData };\r\n this.renderedElements.push(rendered);\r\n }\r\n this.trait.renderIndex(index, templateData);\r\n }\r\n splice(start, deleteCount, insertCount) {\r\n const rendered = [];\r\n for (const renderedElement of this.renderedElements) {\r\n if (renderedElement.index < start) {\r\n rendered.push(renderedElement);\r\n }\r\n else if (renderedElement.index >= start + deleteCount) {\r\n rendered.push({\r\n index: renderedElement.index + insertCount - deleteCount,\r\n templateData: renderedElement.templateData\r\n });\r\n }\r\n }\r\n this.renderedElements = rendered;\r\n }\r\n renderIndexes(indexes) {\r\n for (const { index, templateData } of this.renderedElements) {\r\n if (indexes.indexOf(index) > -1) {\r\n this.trait.renderIndex(index, templateData);\r\n }\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n const index = this.renderedElements.findIndex(el => el.templateData === templateData);\r\n if (index < 0) {\r\n return;\r\n }\r\n this.renderedElements.splice(index, 1);\r\n }\r\n}\r\nclass Trait {\r\n constructor(_trait) {\r\n this._trait = _trait;\r\n this.indexes = [];\r\n this.sortedIndexes = [];\r\n this._onChange = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\r\n this.onChange = this._onChange.event;\r\n }\r\n get trait() { return this._trait; }\r\n get renderer() {\r\n return new TraitRenderer(this);\r\n }\r\n splice(start, deleteCount, elements) {\r\n const diff = elements.length - deleteCount;\r\n const end = start + deleteCount;\r\n const indexes = [\r\n ...this.sortedIndexes.filter(i => i < start),\r\n ...elements.map((hasTrait, i) => hasTrait ? i + start : -1).filter(i => i !== -1),\r\n ...this.sortedIndexes.filter(i => i >= end).map(i => i + diff)\r\n ];\r\n this.renderer.splice(start, deleteCount, elements.length);\r\n this._set(indexes, indexes);\r\n }\r\n renderIndex(index, container) {\r\n container.classList.toggle(this._trait, this.contains(index));\r\n }\r\n unrender(container) {\r\n container.classList.remove(this._trait);\r\n }\r\n /**\r\n * Sets the indexes which should have this trait.\r\n *\r\n * @param indexes Indexes which should have this trait.\r\n * @return The old indexes which had this trait.\r\n */\r\n set(indexes, browserEvent) {\r\n return this._set(indexes, [...indexes].sort(numericSort), browserEvent);\r\n }\r\n _set(indexes, sortedIndexes, browserEvent) {\r\n const result = this.indexes;\r\n const sortedResult = this.sortedIndexes;\r\n this.indexes = indexes;\r\n this.sortedIndexes = sortedIndexes;\r\n const toRender = disjunction(sortedResult, indexes);\r\n this.renderer.renderIndexes(toRender);\r\n this._onChange.fire({ indexes, browserEvent });\r\n return result;\r\n }\r\n get() {\r\n return this.indexes;\r\n }\r\n contains(index) {\r\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_3__.binarySearch)(this.sortedIndexes, index, numericSort) >= 0;\r\n }\r\n dispose() {\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this._onChange);\r\n }\r\n}\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\r\n], Trait.prototype, \"renderer\", null);\r\nclass SelectionTrait extends Trait {\r\n constructor(setAriaSelected) {\r\n super('selected');\r\n this.setAriaSelected = setAriaSelected;\r\n }\r\n renderIndex(index, container) {\r\n super.renderIndex(index, container);\r\n if (this.setAriaSelected) {\r\n if (this.contains(index)) {\r\n container.setAttribute('aria-selected', 'true');\r\n }\r\n else {\r\n container.setAttribute('aria-selected', 'false');\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * The TraitSpliceable is used as a util class to be able\r\n * to preserve traits across splice calls, given an identity\r\n * provider.\r\n */\r\nclass TraitSpliceable {\r\n constructor(trait, view, identityProvider) {\r\n this.trait = trait;\r\n this.view = view;\r\n this.identityProvider = identityProvider;\r\n }\r\n splice(start, deleteCount, elements) {\r\n if (!this.identityProvider) {\r\n return this.trait.splice(start, deleteCount, elements.map(() => false));\r\n }\r\n const pastElementsWithTrait = this.trait.get().map(i => this.identityProvider.getId(this.view.element(i)).toString());\r\n const elementsWithTrait = elements.map(e => pastElementsWithTrait.indexOf(this.identityProvider.getId(e).toString()) > -1);\r\n this.trait.splice(start, deleteCount, elementsWithTrait);\r\n }\r\n}\r\nfunction isInputElement(e) {\r\n return e.tagName === 'INPUT' || e.tagName === 'TEXTAREA';\r\n}\r\nfunction isMonacoEditor(e) {\r\n if (e.classList.contains('monaco-editor')) {\r\n return true;\r\n }\r\n if (e.classList.contains('monaco-list')) {\r\n return false;\r\n }\r\n if (!e.parentElement) {\r\n return false;\r\n }\r\n return isMonacoEditor(e.parentElement);\r\n}\r\nclass KeyboardController {\r\n constructor(list, view, options) {\r\n this.list = list;\r\n this.view = view;\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n const multipleSelectionSupport = options.multipleSelectionSupport !== false;\r\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.chain((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(view.domNode, 'keydown'))\r\n .filter(e => !isInputElement(e.target))\r\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_7__.StandardKeyboardEvent(e));\r\n onKeyDown.filter(e => e.keyCode === 3 /* Enter */).on(this.onEnter, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 16 /* UpArrow */).on(this.onUpArrow, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 18 /* DownArrow */).on(this.onDownArrow, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 11 /* PageUp */).on(this.onPageUpArrow, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 12 /* PageDown */).on(this.onPageDownArrow, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 9 /* Escape */).on(this.onEscape, this, this.disposables);\r\n if (multipleSelectionSupport) {\r\n onKeyDown.filter(e => (_common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh ? e.metaKey : e.ctrlKey) && e.keyCode === 31 /* KEY_A */).on(this.onCtrlA, this, this.disposables);\r\n }\r\n }\r\n onEnter(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.setSelection(this.list.getFocus(), e.browserEvent);\r\n }\r\n onUpArrow(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.focusPrevious(1, false, e.browserEvent);\r\n this.list.reveal(this.list.getFocus()[0]);\r\n this.view.domNode.focus();\r\n }\r\n onDownArrow(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.focusNext(1, false, e.browserEvent);\r\n this.list.reveal(this.list.getFocus()[0]);\r\n this.view.domNode.focus();\r\n }\r\n onPageUpArrow(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.focusPreviousPage(e.browserEvent);\r\n this.list.reveal(this.list.getFocus()[0]);\r\n this.view.domNode.focus();\r\n }\r\n onPageDownArrow(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.focusNextPage(e.browserEvent);\r\n this.list.reveal(this.list.getFocus()[0]);\r\n this.view.domNode.focus();\r\n }\r\n onCtrlA(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.setSelection((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_3__.range)(this.list.length), e.browserEvent);\r\n this.view.domNode.focus();\r\n }\r\n onEscape(e) {\r\n if (this.list.getSelection().length) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.list.setSelection([], e.browserEvent);\r\n this.view.domNode.focus();\r\n }\r\n }\r\n dispose() {\r\n this.disposables.dispose();\r\n }\r\n}\r\nvar TypeLabelControllerState;\r\n(function (TypeLabelControllerState) {\r\n TypeLabelControllerState[TypeLabelControllerState[\"Idle\"] = 0] = \"Idle\";\r\n TypeLabelControllerState[TypeLabelControllerState[\"Typing\"] = 1] = \"Typing\";\r\n})(TypeLabelControllerState || (TypeLabelControllerState = {}));\r\nconst DefaultKeyboardNavigationDelegate = new class {\r\n mightProducePrintableCharacter(event) {\r\n if (event.ctrlKey || event.metaKey || event.altKey) {\r\n return false;\r\n }\r\n return (event.keyCode >= 31 /* KEY_A */ && event.keyCode <= 56 /* KEY_Z */)\r\n || (event.keyCode >= 21 /* KEY_0 */ && event.keyCode <= 30 /* KEY_9 */)\r\n || (event.keyCode >= 93 /* NUMPAD_0 */ && event.keyCode <= 102 /* NUMPAD_9 */)\r\n || (event.keyCode >= 80 /* US_SEMICOLON */ && event.keyCode <= 90 /* US_QUOTE */);\r\n }\r\n};\r\nclass TypeLabelController {\r\n constructor(list, view, keyboardNavigationLabelProvider, delegate) {\r\n this.list = list;\r\n this.view = view;\r\n this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;\r\n this.delegate = delegate;\r\n this.enabled = false;\r\n this.state = TypeLabelControllerState.Idle;\r\n this.automaticKeyboardNavigation = true;\r\n this.triggered = false;\r\n this.previouslyFocused = -1;\r\n this.enabledDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this.updateOptions(list.options);\r\n }\r\n updateOptions(options) {\r\n const enableKeyboardNavigation = typeof options.enableKeyboardNavigation === 'undefined' ? true : !!options.enableKeyboardNavigation;\r\n if (enableKeyboardNavigation) {\r\n this.enable();\r\n }\r\n else {\r\n this.disable();\r\n }\r\n if (typeof options.automaticKeyboardNavigation !== 'undefined') {\r\n this.automaticKeyboardNavigation = options.automaticKeyboardNavigation;\r\n }\r\n }\r\n enable() {\r\n if (this.enabled) {\r\n return;\r\n }\r\n const onChar = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.chain((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(this.view.domNode, 'keydown'))\r\n .filter(e => !isInputElement(e.target))\r\n .filter(() => this.automaticKeyboardNavigation || this.triggered)\r\n .map(event => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_7__.StandardKeyboardEvent(event))\r\n .filter(e => this.delegate.mightProducePrintableCharacter(e))\r\n .forEach(e => { e.stopPropagation(); e.preventDefault(); })\r\n .map(event => event.browserEvent.key)\r\n .event;\r\n const onClear = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.debounce(onChar, () => null, 800);\r\n const onInput = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.reduce(_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.any(onChar, onClear), (r, i) => i === null ? null : ((r || '') + i));\r\n onInput(this.onInput, this, this.enabledDisposables);\r\n onClear(this.onClear, this, this.enabledDisposables);\r\n this.enabled = true;\r\n this.triggered = false;\r\n }\r\n disable() {\r\n if (!this.enabled) {\r\n return;\r\n }\r\n this.enabledDisposables.clear();\r\n this.enabled = false;\r\n this.triggered = false;\r\n }\r\n onClear() {\r\n var _a;\r\n const focus = this.list.getFocus();\r\n if (focus.length > 0 && focus[0] === this.previouslyFocused) {\r\n // List: re-anounce element on typing end since typed keys will interupt aria label of focused element\r\n // Do not announce if there was a focus change at the end to prevent duplication https://github.com/microsoft/vscode/issues/95961\r\n const ariaLabel = (_a = this.list.options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getAriaLabel(this.list.element(focus[0]));\r\n if (ariaLabel) {\r\n (0,_aria_aria_js__WEBPACK_IMPORTED_MODULE_17__.alert)(ariaLabel);\r\n }\r\n }\r\n this.previouslyFocused = -1;\r\n }\r\n onInput(word) {\r\n if (!word) {\r\n this.state = TypeLabelControllerState.Idle;\r\n this.triggered = false;\r\n return;\r\n }\r\n const focus = this.list.getFocus();\r\n const start = focus.length > 0 ? focus[0] : 0;\r\n const delta = this.state === TypeLabelControllerState.Idle ? 1 : 0;\r\n this.state = TypeLabelControllerState.Typing;\r\n for (let i = 0; i < this.list.length; i++) {\r\n const index = (start + i + delta) % this.list.length;\r\n const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(index));\r\n const labelStr = label && label.toString();\r\n if (typeof labelStr === 'undefined' || (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_16__.matchesPrefix)(word, labelStr)) {\r\n this.previouslyFocused = start;\r\n this.list.setFocus([index]);\r\n this.list.reveal(index);\r\n return;\r\n }\r\n }\r\n }\r\n dispose() {\r\n this.disable();\r\n this.enabledDisposables.dispose();\r\n this.disposables.dispose();\r\n }\r\n}\r\nclass DOMFocusController {\r\n constructor(list, view) {\r\n this.list = list;\r\n this.view = view;\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.chain((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(view.domNode, 'keydown'))\r\n .filter(e => !isInputElement(e.target))\r\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_7__.StandardKeyboardEvent(e));\r\n onKeyDown.filter(e => e.keyCode === 2 /* Tab */ && !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey)\r\n .on(this.onTab, this, this.disposables);\r\n }\r\n onTab(e) {\r\n if (e.target !== this.view.domNode) {\r\n return;\r\n }\r\n const focus = this.list.getFocus();\r\n if (focus.length === 0) {\r\n return;\r\n }\r\n const focusedDomElement = this.view.domElement(focus[0]);\r\n if (!focusedDomElement) {\r\n return;\r\n }\r\n const tabIndexElement = focusedDomElement.querySelector('[tabIndex]');\r\n if (!tabIndexElement || !(tabIndexElement instanceof HTMLElement) || tabIndexElement.tabIndex === -1) {\r\n return;\r\n }\r\n const style = window.getComputedStyle(tabIndexElement);\r\n if (style.visibility === 'hidden' || style.display === 'none') {\r\n return;\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n tabIndexElement.focus();\r\n }\r\n dispose() {\r\n this.disposables.dispose();\r\n }\r\n}\r\nfunction isSelectionSingleChangeEvent(event) {\r\n return _common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh ? event.browserEvent.metaKey : event.browserEvent.ctrlKey;\r\n}\r\nfunction isSelectionRangeChangeEvent(event) {\r\n return event.browserEvent.shiftKey;\r\n}\r\nfunction isMouseRightClick(event) {\r\n return event instanceof MouseEvent && event.button === 2;\r\n}\r\nconst DefaultMultipleSelectionController = {\r\n isSelectionSingleChangeEvent,\r\n isSelectionRangeChangeEvent\r\n};\r\nclass MouseController {\r\n constructor(list) {\r\n this.list = list;\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this._onPointer = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\r\n this.onPointer = this._onPointer.event;\r\n this.multipleSelectionSupport = !(list.options.multipleSelectionSupport === false);\r\n if (this.multipleSelectionSupport) {\r\n this.multipleSelectionController = list.options.multipleSelectionController || DefaultMultipleSelectionController;\r\n }\r\n this.mouseSupport = typeof list.options.mouseSupport === 'undefined' || !!list.options.mouseSupport;\r\n if (this.mouseSupport) {\r\n list.onMouseDown(this.onMouseDown, this, this.disposables);\r\n list.onContextMenu(this.onContextMenu, this, this.disposables);\r\n list.onMouseDblClick(this.onDoubleClick, this, this.disposables);\r\n list.onTouchStart(this.onMouseDown, this, this.disposables);\r\n this.disposables.add(_touch_js__WEBPACK_IMPORTED_MODULE_6__.Gesture.addTarget(list.getHTMLElement()));\r\n }\r\n _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.any(list.onMouseClick, list.onMouseMiddleClick, list.onTap)(this.onViewPointer, this, this.disposables);\r\n }\r\n isSelectionSingleChangeEvent(event) {\r\n if (this.multipleSelectionController) {\r\n return this.multipleSelectionController.isSelectionSingleChangeEvent(event);\r\n }\r\n return _common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh ? event.browserEvent.metaKey : event.browserEvent.ctrlKey;\r\n }\r\n isSelectionRangeChangeEvent(event) {\r\n if (this.multipleSelectionController) {\r\n return this.multipleSelectionController.isSelectionRangeChangeEvent(event);\r\n }\r\n return event.browserEvent.shiftKey;\r\n }\r\n isSelectionChangeEvent(event) {\r\n return this.isSelectionSingleChangeEvent(event) || this.isSelectionRangeChangeEvent(event);\r\n }\r\n onMouseDown(e) {\r\n if (isMonacoEditor(e.browserEvent.target)) {\r\n return;\r\n }\r\n if (document.activeElement !== e.browserEvent.target) {\r\n this.list.domFocus();\r\n }\r\n }\r\n onContextMenu(e) {\r\n if (isMonacoEditor(e.browserEvent.target)) {\r\n return;\r\n }\r\n const focus = typeof e.index === 'undefined' ? [] : [e.index];\r\n this.list.setFocus(focus, e.browserEvent);\r\n }\r\n onViewPointer(e) {\r\n if (!this.mouseSupport) {\r\n return;\r\n }\r\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\r\n return;\r\n }\r\n let reference = this.list.getFocus()[0];\r\n const selection = this.list.getSelection();\r\n reference = reference === undefined ? selection[0] : reference;\r\n const focus = e.index;\r\n if (typeof focus === 'undefined') {\r\n this.list.setFocus([], e.browserEvent);\r\n this.list.setSelection([], e.browserEvent);\r\n return;\r\n }\r\n if (this.multipleSelectionSupport && this.isSelectionRangeChangeEvent(e)) {\r\n return this.changeSelection(e, reference);\r\n }\r\n if (this.multipleSelectionSupport && this.isSelectionChangeEvent(e)) {\r\n return this.changeSelection(e, reference);\r\n }\r\n this.list.setFocus([focus], e.browserEvent);\r\n if (!isMouseRightClick(e.browserEvent)) {\r\n this.list.setSelection([focus], e.browserEvent);\r\n }\r\n this._onPointer.fire(e);\r\n }\r\n onDoubleClick(e) {\r\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\r\n return;\r\n }\r\n if (this.multipleSelectionSupport && this.isSelectionChangeEvent(e)) {\r\n return;\r\n }\r\n const focus = this.list.getFocus();\r\n this.list.setSelection(focus, e.browserEvent);\r\n }\r\n changeSelection(e, reference) {\r\n const focus = e.index;\r\n if (this.isSelectionRangeChangeEvent(e) && reference !== undefined) {\r\n const min = Math.min(reference, focus);\r\n const max = Math.max(reference, focus);\r\n const rangeSelection = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_3__.range)(min, max + 1);\r\n const selection = this.list.getSelection();\r\n const contiguousRange = getContiguousRangeContaining(disjunction(selection, [reference]), reference);\r\n if (contiguousRange.length === 0) {\r\n return;\r\n }\r\n const newSelection = disjunction(rangeSelection, relativeComplement(selection, contiguousRange));\r\n this.list.setSelection(newSelection, e.browserEvent);\r\n }\r\n else if (this.isSelectionSingleChangeEvent(e)) {\r\n const selection = this.list.getSelection();\r\n const newSelection = selection.filter(i => i !== focus);\r\n this.list.setFocus([focus]);\r\n if (selection.length === newSelection.length) {\r\n this.list.setSelection([...newSelection, focus], e.browserEvent);\r\n }\r\n else {\r\n this.list.setSelection(newSelection, e.browserEvent);\r\n }\r\n }\r\n }\r\n dispose() {\r\n this.disposables.dispose();\r\n }\r\n}\r\nclass DefaultStyleController {\r\n constructor(styleElement, selectorSuffix) {\r\n this.styleElement = styleElement;\r\n this.selectorSuffix = selectorSuffix;\r\n }\r\n style(styles) {\r\n const suffix = this.selectorSuffix && `.${this.selectorSuffix}`;\r\n const content = [];\r\n if (styles.listBackground) {\r\n if (styles.listBackground.isOpaque()) {\r\n content.push(`.monaco-list${suffix} .monaco-list-rows { background: ${styles.listBackground}; }`);\r\n }\r\n else if (!_common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh) { // subpixel AA doesn't exist in macOS\r\n console.warn(`List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.`);\r\n }\r\n }\r\n if (styles.listFocusBackground) {\r\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { background-color: ${styles.listFocusBackground}; }`);\r\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused:hover { background-color: ${styles.listFocusBackground}; }`); // overwrite :hover style in this case!\r\n }\r\n if (styles.listFocusForeground) {\r\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { color: ${styles.listFocusForeground}; }`);\r\n }\r\n if (styles.listActiveSelectionBackground) {\r\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { background-color: ${styles.listActiveSelectionBackground}; }`);\r\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected:hover { background-color: ${styles.listActiveSelectionBackground}; }`); // overwrite :hover style in this case!\r\n }\r\n if (styles.listActiveSelectionForeground) {\r\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { color: ${styles.listActiveSelectionForeground}; }`);\r\n }\r\n if (styles.listFocusAndSelectionBackground) {\r\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { background-color: ${styles.listFocusAndSelectionBackground}; }\n\t\t\t`);\r\n }\r\n if (styles.listFocusAndSelectionForeground) {\r\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { color: ${styles.listFocusAndSelectionForeground}; }\n\t\t\t`);\r\n }\r\n if (styles.listInactiveFocusForeground) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { color: ${styles.listInactiveFocusForeground}; }`);\r\n content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { color: ${styles.listInactiveFocusForeground}; }`); // overwrite :hover style in this case!\r\n }\r\n if (styles.listInactiveFocusBackground) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { background-color: ${styles.listInactiveFocusBackground}; }`);\r\n content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { background-color: ${styles.listInactiveFocusBackground}; }`); // overwrite :hover style in this case!\r\n }\r\n if (styles.listInactiveSelectionBackground) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { background-color: ${styles.listInactiveSelectionBackground}; }`);\r\n content.push(`.monaco-list${suffix} .monaco-list-row.selected:hover { background-color: ${styles.listInactiveSelectionBackground}; }`); // overwrite :hover style in this case!\r\n }\r\n if (styles.listInactiveSelectionForeground) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { color: ${styles.listInactiveSelectionForeground}; }`);\r\n }\r\n if (styles.listHoverBackground) {\r\n content.push(`.monaco-list${suffix}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${styles.listHoverBackground}; }`);\r\n }\r\n if (styles.listHoverForeground) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${styles.listHoverForeground}; }`);\r\n }\r\n if (styles.listSelectionOutline) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { outline: 1px dotted ${styles.listSelectionOutline}; outline-offset: -1px; }`);\r\n }\r\n if (styles.listFocusOutline) {\r\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);\r\n }\r\n if (styles.listInactiveFocusOutline) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { outline: 1px dotted ${styles.listInactiveFocusOutline}; outline-offset: -1px; }`);\r\n }\r\n if (styles.listHoverOutline) {\r\n content.push(`.monaco-list${suffix} .monaco-list-row:hover { outline: 1px dashed ${styles.listHoverOutline}; outline-offset: -1px; }`);\r\n }\r\n if (styles.listDropBackground) {\r\n content.push(`\n\t\t\t\t.monaco-list${suffix}.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-row.drop-target { background-color: ${styles.listDropBackground} !important; color: inherit !important; }\n\t\t\t`);\r\n }\r\n if (styles.listFilterWidgetBackground) {\r\n content.push(`.monaco-list-type-filter { background-color: ${styles.listFilterWidgetBackground} }`);\r\n }\r\n if (styles.listFilterWidgetOutline) {\r\n content.push(`.monaco-list-type-filter { border: 1px solid ${styles.listFilterWidgetOutline}; }`);\r\n }\r\n if (styles.listFilterWidgetNoMatchesOutline) {\r\n content.push(`.monaco-list-type-filter.no-matches { border: 1px solid ${styles.listFilterWidgetNoMatchesOutline}; }`);\r\n }\r\n if (styles.listMatchesShadow) {\r\n content.push(`.monaco-list-type-filter { box-shadow: 1px 1px 1px ${styles.listMatchesShadow}; }`);\r\n }\r\n if (styles.tableColumnsBorder) {\r\n content.push(`\n\t\t\t\t.monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${styles.tableColumnsBorder};\n\t\t\t}`);\r\n }\r\n this.styleElement.textContent = content.join('\\n');\r\n }\r\n}\r\nconst defaultStyles = {\r\n listFocusBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#7FB0D0'),\r\n listActiveSelectionBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#0E639C'),\r\n listActiveSelectionForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#FFFFFF'),\r\n listFocusAndSelectionBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#094771'),\r\n listFocusAndSelectionForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#FFFFFF'),\r\n listInactiveSelectionBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#3F3F46'),\r\n listHoverBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#2A2D2E'),\r\n listDropBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#383B3D'),\r\n treeIndentGuidesStroke: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#a9a9a9'),\r\n tableColumnsBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_12__.Color.fromHex('#cccccc').transparent(0.2)\r\n};\r\nconst DefaultOptions = {\r\n keyboardSupport: true,\r\n mouseSupport: true,\r\n multipleSelectionSupport: true,\r\n dnd: {\r\n getDragURI() { return null; },\r\n onDragStart() { },\r\n onDragOver() { return false; },\r\n drop() { }\r\n }\r\n};\r\n// TODO@Joao: move these utils into a SortedArray class\r\nfunction getContiguousRangeContaining(range, value) {\r\n const index = range.indexOf(value);\r\n if (index === -1) {\r\n return [];\r\n }\r\n const result = [];\r\n let i = index - 1;\r\n while (i >= 0 && range[i] === value - (index - i)) {\r\n result.push(range[i--]);\r\n }\r\n result.reverse();\r\n i = index;\r\n while (i < range.length && range[i] === value + (i - index)) {\r\n result.push(range[i++]);\r\n }\r\n return result;\r\n}\r\n/**\r\n * Given two sorted collections of numbers, returns the intersection\r\n * between them (OR).\r\n */\r\nfunction disjunction(one, other) {\r\n const result = [];\r\n let i = 0, j = 0;\r\n while (i < one.length || j < other.length) {\r\n if (i >= one.length) {\r\n result.push(other[j++]);\r\n }\r\n else if (j >= other.length) {\r\n result.push(one[i++]);\r\n }\r\n else if (one[i] === other[j]) {\r\n result.push(one[i]);\r\n i++;\r\n j++;\r\n continue;\r\n }\r\n else if (one[i] < other[j]) {\r\n result.push(one[i++]);\r\n }\r\n else {\r\n result.push(other[j++]);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Given two sorted collections of numbers, returns the relative\r\n * complement between them (XOR).\r\n */\r\nfunction relativeComplement(one, other) {\r\n const result = [];\r\n let i = 0, j = 0;\r\n while (i < one.length || j < other.length) {\r\n if (i >= one.length) {\r\n result.push(other[j++]);\r\n }\r\n else if (j >= other.length) {\r\n result.push(one[i++]);\r\n }\r\n else if (one[i] === other[j]) {\r\n i++;\r\n j++;\r\n continue;\r\n }\r\n else if (one[i] < other[j]) {\r\n result.push(one[i++]);\r\n }\r\n else {\r\n j++;\r\n }\r\n }\r\n return result;\r\n}\r\nconst numericSort = (a, b) => a - b;\r\nclass PipelineRenderer {\r\n constructor(_templateId, renderers) {\r\n this._templateId = _templateId;\r\n this.renderers = renderers;\r\n }\r\n get templateId() {\r\n return this._templateId;\r\n }\r\n renderTemplate(container) {\r\n return this.renderers.map(r => r.renderTemplate(container));\r\n }\r\n renderElement(element, index, templateData, height) {\r\n let i = 0;\r\n for (const renderer of this.renderers) {\r\n renderer.renderElement(element, index, templateData[i++], height);\r\n }\r\n }\r\n disposeElement(element, index, templateData, height) {\r\n let i = 0;\r\n for (const renderer of this.renderers) {\r\n if (renderer.disposeElement) {\r\n renderer.disposeElement(element, index, templateData[i], height);\r\n }\r\n i += 1;\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n let i = 0;\r\n for (const renderer of this.renderers) {\r\n renderer.disposeTemplate(templateData[i++]);\r\n }\r\n }\r\n}\r\nclass AccessibiltyRenderer {\r\n constructor(accessibilityProvider) {\r\n this.accessibilityProvider = accessibilityProvider;\r\n this.templateId = 'a18n';\r\n }\r\n renderTemplate(container) {\r\n return container;\r\n }\r\n renderElement(element, index, container) {\r\n const ariaLabel = this.accessibilityProvider.getAriaLabel(element);\r\n if (ariaLabel) {\r\n container.setAttribute('aria-label', ariaLabel);\r\n }\r\n else {\r\n container.removeAttribute('aria-label');\r\n }\r\n const ariaLevel = this.accessibilityProvider.getAriaLevel && this.accessibilityProvider.getAriaLevel(element);\r\n if (typeof ariaLevel === 'number') {\r\n container.setAttribute('aria-level', `${ariaLevel}`);\r\n }\r\n else {\r\n container.removeAttribute('aria-level');\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n // noop\r\n }\r\n}\r\nclass ListViewDragAndDrop {\r\n constructor(list, dnd) {\r\n this.list = list;\r\n this.dnd = dnd;\r\n }\r\n getDragElements(element) {\r\n const selection = this.list.getSelectedElements();\r\n const elements = selection.indexOf(element) > -1 ? selection : [element];\r\n return elements;\r\n }\r\n getDragURI(element) {\r\n return this.dnd.getDragURI(element);\r\n }\r\n getDragLabel(elements, originalEvent) {\r\n if (this.dnd.getDragLabel) {\r\n return this.dnd.getDragLabel(elements, originalEvent);\r\n }\r\n return undefined;\r\n }\r\n onDragStart(data, originalEvent) {\r\n if (this.dnd.onDragStart) {\r\n this.dnd.onDragStart(data, originalEvent);\r\n }\r\n }\r\n onDragOver(data, targetElement, targetIndex, originalEvent) {\r\n return this.dnd.onDragOver(data, targetElement, targetIndex, originalEvent);\r\n }\r\n onDragEnd(originalEvent) {\r\n if (this.dnd.onDragEnd) {\r\n this.dnd.onDragEnd(originalEvent);\r\n }\r\n }\r\n drop(data, targetElement, targetIndex, originalEvent) {\r\n this.dnd.drop(data, targetElement, targetIndex, originalEvent);\r\n }\r\n}\r\nclass List {\r\n constructor(user, container, virtualDelegate, renderers, _options = DefaultOptions) {\r\n var _a;\r\n this.user = user;\r\n this._options = _options;\r\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.EventBufferer();\r\n this._ariaLabel = '';\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this._onDidDispose = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\r\n this.onDidDispose = this._onDidDispose.event;\r\n const role = this._options.accessibilityProvider && this._options.accessibilityProvider.getWidgetRole ? (_a = this._options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getWidgetRole() : 'list';\r\n this.selection = new SelectionTrait(role !== 'listbox');\r\n this.focus = new Trait('focused');\r\n (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_13__.mixin)(_options, defaultStyles, false);\r\n const baseRenderers = [this.focus.renderer, this.selection.renderer];\r\n this.accessibilityProvider = _options.accessibilityProvider;\r\n if (this.accessibilityProvider) {\r\n baseRenderers.push(new AccessibiltyRenderer(this.accessibilityProvider));\r\n if (this.accessibilityProvider.onDidChangeActiveDescendant) {\r\n this.accessibilityProvider.onDidChangeActiveDescendant(this.onDidChangeActiveDescendant, this, this.disposables);\r\n }\r\n }\r\n renderers = renderers.map(r => new PipelineRenderer(r.templateId, [...baseRenderers, r]));\r\n const viewOptions = Object.assign(Object.assign({}, _options), { dnd: _options.dnd && new ListViewDragAndDrop(this, _options.dnd) });\r\n this.view = new _listView_js__WEBPACK_IMPORTED_MODULE_11__.ListView(container, virtualDelegate, renderers, viewOptions);\r\n this.view.domNode.setAttribute('role', role);\r\n if (_options.styleController) {\r\n this.styleController = _options.styleController(this.view.domId);\r\n }\r\n else {\r\n const styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_18__.createStyleSheet)(this.view.domNode);\r\n this.styleController = new DefaultStyleController(styleElement, this.view.domId);\r\n }\r\n this.spliceable = new _splice_js__WEBPACK_IMPORTED_MODULE_14__.CombinedSpliceable([\r\n new TraitSpliceable(this.focus, this.view, _options.identityProvider),\r\n new TraitSpliceable(this.selection, this.view, _options.identityProvider),\r\n this.view\r\n ]);\r\n this.disposables.add(this.focus);\r\n this.disposables.add(this.selection);\r\n this.disposables.add(this.view);\r\n this.disposables.add(this._onDidDispose);\r\n this.onDidFocus = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(this.view.domNode, 'focus', true), () => null);\r\n this.onDidBlur = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(this.view.domNode, 'blur', true), () => null);\r\n this.disposables.add(new DOMFocusController(this, this.view));\r\n if (typeof _options.keyboardSupport !== 'boolean' || _options.keyboardSupport) {\r\n const controller = new KeyboardController(this, this.view, _options);\r\n this.disposables.add(controller);\r\n }\r\n if (_options.keyboardNavigationLabelProvider) {\r\n const delegate = _options.keyboardNavigationDelegate || DefaultKeyboardNavigationDelegate;\r\n this.typeLabelController = new TypeLabelController(this, this.view, _options.keyboardNavigationLabelProvider, delegate);\r\n this.disposables.add(this.typeLabelController);\r\n }\r\n this.mouseController = this.createMouseController(_options);\r\n this.disposables.add(this.mouseController);\r\n this.onDidChangeFocus(this._onFocusChange, this, this.disposables);\r\n this.onDidChangeSelection(this._onSelectionChange, this, this.disposables);\r\n if (this.accessibilityProvider) {\r\n this.ariaLabel = this.accessibilityProvider.getWidgetAriaLabel();\r\n }\r\n if (_options.multipleSelectionSupport) {\r\n this.view.domNode.setAttribute('aria-multiselectable', 'true');\r\n }\r\n }\r\n get onDidChangeFocus() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange), e => this.toListEvent(e));\r\n }\r\n get onDidChangeSelection() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange), e => this.toListEvent(e));\r\n }\r\n get domId() { return this.view.domId; }\r\n get onMouseClick() { return this.view.onMouseClick; }\r\n get onMouseDblClick() { return this.view.onMouseDblClick; }\r\n get onMouseMiddleClick() { return this.view.onMouseMiddleClick; }\r\n get onPointer() { return this.mouseController.onPointer; }\r\n get onMouseDown() { return this.view.onMouseDown; }\r\n get onTouchStart() { return this.view.onTouchStart; }\r\n get onTap() { return this.view.onTap; }\r\n /**\r\n * Possible context menu trigger events:\r\n * - ContextMenu key\r\n * - Shift F10\r\n * - Ctrl Option Shift M (macOS with VoiceOver)\r\n * - Mouse right click\r\n */\r\n get onContextMenu() {\r\n let didJustPressContextMenuKey = false;\r\n const fromKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.chain((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(this.view.domNode, 'keydown'))\r\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_7__.StandardKeyboardEvent(e))\r\n .filter(e => didJustPressContextMenuKey = e.keyCode === 58 /* ContextMenu */ || (e.shiftKey && e.keyCode === 68 /* F10 */))\r\n .map(_event_js__WEBPACK_IMPORTED_MODULE_9__.stopEvent)\r\n .filter(() => false)\r\n .event;\r\n const fromKeyUp = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.chain((0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(this.view.domNode, 'keyup'))\r\n .forEach(() => didJustPressContextMenuKey = false)\r\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_7__.StandardKeyboardEvent(e))\r\n .filter(e => e.keyCode === 58 /* ContextMenu */ || (e.shiftKey && e.keyCode === 68 /* F10 */))\r\n .map(_event_js__WEBPACK_IMPORTED_MODULE_9__.stopEvent)\r\n .map(({ browserEvent }) => {\r\n const focus = this.getFocus();\r\n const index = focus.length ? focus[0] : undefined;\r\n const element = typeof index !== 'undefined' ? this.view.element(index) : undefined;\r\n const anchor = typeof index !== 'undefined' ? this.view.domElement(index) : this.view.domNode;\r\n return { index, element, anchor, browserEvent };\r\n })\r\n .event;\r\n const fromMouse = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.chain(this.view.onContextMenu)\r\n .filter(_ => !didJustPressContextMenuKey)\r\n .map(({ element, index, browserEvent }) => ({ element, index, anchor: { x: browserEvent.clientX + 1, y: browserEvent.clientY }, browserEvent }))\r\n .event;\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.any(fromKeyDown, fromKeyUp, fromMouse);\r\n }\r\n get onKeyDown() { return (0,_event_js__WEBPACK_IMPORTED_MODULE_9__.domEvent)(this.view.domNode, 'keydown'); }\r\n createMouseController(options) {\r\n return new MouseController(this);\r\n }\r\n updateOptions(optionsUpdate = {}) {\r\n this._options = Object.assign(Object.assign({}, this._options), optionsUpdate);\r\n if (this.typeLabelController) {\r\n this.typeLabelController.updateOptions(this._options);\r\n }\r\n this.view.updateOptions(optionsUpdate);\r\n }\r\n get options() {\r\n return this._options;\r\n }\r\n splice(start, deleteCount, elements = []) {\r\n if (start < 0 || start > this.view.length) {\r\n throw new _list_js__WEBPACK_IMPORTED_MODULE_10__.ListError(this.user, `Invalid start index: ${start}`);\r\n }\r\n if (deleteCount < 0) {\r\n throw new _list_js__WEBPACK_IMPORTED_MODULE_10__.ListError(this.user, `Invalid delete count: ${deleteCount}`);\r\n }\r\n if (deleteCount === 0 && elements.length === 0) {\r\n return;\r\n }\r\n this.eventBufferer.bufferEvents(() => this.spliceable.splice(start, deleteCount, elements));\r\n }\r\n rerender() {\r\n this.view.rerender();\r\n }\r\n element(index) {\r\n return this.view.element(index);\r\n }\r\n get length() {\r\n return this.view.length;\r\n }\r\n get contentHeight() {\r\n return this.view.contentHeight;\r\n }\r\n get scrollTop() {\r\n return this.view.getScrollTop();\r\n }\r\n set scrollTop(scrollTop) {\r\n this.view.setScrollTop(scrollTop);\r\n }\r\n get ariaLabel() {\r\n return this._ariaLabel;\r\n }\r\n set ariaLabel(value) {\r\n this._ariaLabel = value;\r\n this.view.domNode.setAttribute('aria-label', value);\r\n }\r\n domFocus() {\r\n this.view.domNode.focus({ preventScroll: true });\r\n }\r\n layout(height, width) {\r\n this.view.layout(height, width);\r\n }\r\n setSelection(indexes, browserEvent) {\r\n for (const index of indexes) {\r\n if (index < 0 || index >= this.length) {\r\n throw new _list_js__WEBPACK_IMPORTED_MODULE_10__.ListError(this.user, `Invalid index ${index}`);\r\n }\r\n }\r\n this.selection.set(indexes, browserEvent);\r\n }\r\n getSelection() {\r\n return this.selection.get();\r\n }\r\n getSelectedElements() {\r\n return this.getSelection().map(i => this.view.element(i));\r\n }\r\n setFocus(indexes, browserEvent) {\r\n for (const index of indexes) {\r\n if (index < 0 || index >= this.length) {\r\n throw new _list_js__WEBPACK_IMPORTED_MODULE_10__.ListError(this.user, `Invalid index ${index}`);\r\n }\r\n }\r\n this.focus.set(indexes, browserEvent);\r\n }\r\n focusNext(n = 1, loop = false, browserEvent, filter) {\r\n if (this.length === 0) {\r\n return;\r\n }\r\n const focus = this.focus.get();\r\n const index = this.findNextIndex(focus.length > 0 ? focus[0] + n : 0, loop, filter);\r\n if (index > -1) {\r\n this.setFocus([index], browserEvent);\r\n }\r\n }\r\n focusPrevious(n = 1, loop = false, browserEvent, filter) {\r\n if (this.length === 0) {\r\n return;\r\n }\r\n const focus = this.focus.get();\r\n const index = this.findPreviousIndex(focus.length > 0 ? focus[0] - n : 0, loop, filter);\r\n if (index > -1) {\r\n this.setFocus([index], browserEvent);\r\n }\r\n }\r\n focusNextPage(browserEvent, filter) {\r\n let lastPageIndex = this.view.indexAt(this.view.getScrollTop() + this.view.renderHeight);\r\n lastPageIndex = lastPageIndex === 0 ? 0 : lastPageIndex - 1;\r\n const lastPageElement = this.view.element(lastPageIndex);\r\n const currentlyFocusedElement = this.getFocusedElements()[0];\r\n if (currentlyFocusedElement !== lastPageElement) {\r\n const lastGoodPageIndex = this.findPreviousIndex(lastPageIndex, false, filter);\r\n if (lastGoodPageIndex > -1 && currentlyFocusedElement !== this.view.element(lastGoodPageIndex)) {\r\n this.setFocus([lastGoodPageIndex], browserEvent);\r\n }\r\n else {\r\n this.setFocus([lastPageIndex], browserEvent);\r\n }\r\n }\r\n else {\r\n const previousScrollTop = this.view.getScrollTop();\r\n this.view.setScrollTop(previousScrollTop + this.view.renderHeight - this.view.elementHeight(lastPageIndex));\r\n if (this.view.getScrollTop() !== previousScrollTop) {\r\n this.setFocus([]);\r\n // Let the scroll event listener run\r\n setTimeout(() => this.focusNextPage(browserEvent, filter), 0);\r\n }\r\n }\r\n }\r\n focusPreviousPage(browserEvent, filter) {\r\n let firstPageIndex;\r\n const scrollTop = this.view.getScrollTop();\r\n if (scrollTop === 0) {\r\n firstPageIndex = this.view.indexAt(scrollTop);\r\n }\r\n else {\r\n firstPageIndex = this.view.indexAfter(scrollTop - 1);\r\n }\r\n const firstPageElement = this.view.element(firstPageIndex);\r\n const currentlyFocusedElement = this.getFocusedElements()[0];\r\n if (currentlyFocusedElement !== firstPageElement) {\r\n const firstGoodPageIndex = this.findNextIndex(firstPageIndex, false, filter);\r\n if (firstGoodPageIndex > -1 && currentlyFocusedElement !== this.view.element(firstGoodPageIndex)) {\r\n this.setFocus([firstGoodPageIndex], browserEvent);\r\n }\r\n else {\r\n this.setFocus([firstPageIndex], browserEvent);\r\n }\r\n }\r\n else {\r\n const previousScrollTop = scrollTop;\r\n this.view.setScrollTop(scrollTop - this.view.renderHeight);\r\n if (this.view.getScrollTop() !== previousScrollTop) {\r\n this.setFocus([]);\r\n // Let the scroll event listener run\r\n setTimeout(() => this.focusPreviousPage(browserEvent, filter), 0);\r\n }\r\n }\r\n }\r\n focusLast(browserEvent, filter) {\r\n if (this.length === 0) {\r\n return;\r\n }\r\n const index = this.findPreviousIndex(this.length - 1, false, filter);\r\n if (index > -1) {\r\n this.setFocus([index], browserEvent);\r\n }\r\n }\r\n focusFirst(browserEvent, filter) {\r\n this.focusNth(0, browserEvent, filter);\r\n }\r\n focusNth(n, browserEvent, filter) {\r\n if (this.length === 0) {\r\n return;\r\n }\r\n const index = this.findNextIndex(n, false, filter);\r\n if (index > -1) {\r\n this.setFocus([index], browserEvent);\r\n }\r\n }\r\n findNextIndex(index, loop = false, filter) {\r\n for (let i = 0; i < this.length; i++) {\r\n if (index >= this.length && !loop) {\r\n return -1;\r\n }\r\n index = index % this.length;\r\n if (!filter || filter(this.element(index))) {\r\n return index;\r\n }\r\n index++;\r\n }\r\n return -1;\r\n }\r\n findPreviousIndex(index, loop = false, filter) {\r\n for (let i = 0; i < this.length; i++) {\r\n if (index < 0 && !loop) {\r\n return -1;\r\n }\r\n index = (this.length + (index % this.length)) % this.length;\r\n if (!filter || filter(this.element(index))) {\r\n return index;\r\n }\r\n index--;\r\n }\r\n return -1;\r\n }\r\n getFocus() {\r\n return this.focus.get();\r\n }\r\n getFocusedElements() {\r\n return this.getFocus().map(i => this.view.element(i));\r\n }\r\n reveal(index, relativeTop) {\r\n if (index < 0 || index >= this.length) {\r\n throw new _list_js__WEBPACK_IMPORTED_MODULE_10__.ListError(this.user, `Invalid index ${index}`);\r\n }\r\n const scrollTop = this.view.getScrollTop();\r\n const elementTop = this.view.elementTop(index);\r\n const elementHeight = this.view.elementHeight(index);\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(relativeTop)) {\r\n // y = mx + b\r\n const m = elementHeight - this.view.renderHeight;\r\n this.view.setScrollTop(m * (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_15__.clamp)(relativeTop, 0, 1) + elementTop);\r\n }\r\n else {\r\n const viewItemBottom = elementTop + elementHeight;\r\n const wrapperBottom = scrollTop + this.view.renderHeight;\r\n if (elementTop < scrollTop && viewItemBottom >= wrapperBottom) {\r\n // The element is already overflowing the viewport, no-op\r\n }\r\n else if (elementTop < scrollTop) {\r\n this.view.setScrollTop(elementTop);\r\n }\r\n else if (viewItemBottom >= wrapperBottom) {\r\n this.view.setScrollTop(viewItemBottom - this.view.renderHeight);\r\n }\r\n }\r\n }\r\n /**\r\n * Returns the relative position of an element rendered in the list.\r\n * Returns `null` if the element isn't *entirely* in the visible viewport.\r\n */\r\n getRelativeTop(index) {\r\n if (index < 0 || index >= this.length) {\r\n throw new _list_js__WEBPACK_IMPORTED_MODULE_10__.ListError(this.user, `Invalid index ${index}`);\r\n }\r\n const scrollTop = this.view.getScrollTop();\r\n const elementTop = this.view.elementTop(index);\r\n const elementHeight = this.view.elementHeight(index);\r\n if (elementTop < scrollTop || elementTop + elementHeight > scrollTop + this.view.renderHeight) {\r\n return null;\r\n }\r\n // y = mx + b\r\n const m = elementHeight - this.view.renderHeight;\r\n return Math.abs((scrollTop - elementTop) / m);\r\n }\r\n getHTMLElement() {\r\n return this.view.domNode;\r\n }\r\n style(styles) {\r\n this.styleController.style(styles);\r\n }\r\n toListEvent({ indexes, browserEvent }) {\r\n return { indexes, elements: indexes.map(i => this.view.element(i)), browserEvent };\r\n }\r\n _onFocusChange() {\r\n const focus = this.focus.get();\r\n this.view.domNode.classList.toggle('element-focused', focus.length > 0);\r\n this.onDidChangeActiveDescendant();\r\n }\r\n onDidChangeActiveDescendant() {\r\n var _a;\r\n const focus = this.focus.get();\r\n if (focus.length > 0) {\r\n let id;\r\n if ((_a = this.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getActiveDescendantId) {\r\n id = this.accessibilityProvider.getActiveDescendantId(this.view.element(focus[0]));\r\n }\r\n this.view.domNode.setAttribute('aria-activedescendant', id || this.view.getElementDomId(focus[0]));\r\n }\r\n else {\r\n this.view.domNode.removeAttribute('aria-activedescendant');\r\n }\r\n }\r\n _onSelectionChange() {\r\n const selection = this.selection.get();\r\n this.view.domNode.classList.toggle('selection-none', selection.length === 0);\r\n this.view.domNode.classList.toggle('selection-single', selection.length === 1);\r\n this.view.domNode.classList.toggle('selection-multiple', selection.length > 1);\r\n }\r\n dispose() {\r\n this._onDidDispose.fire();\r\n this.disposables.dispose();\r\n this._onDidDispose.dispose();\r\n }\r\n}\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\r\n], List.prototype, \"onDidChangeFocus\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\r\n], List.prototype, \"onDidChangeSelection\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\r\n], List.prototype, \"onContextMenu\", null);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js": /*!****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"groupIntersect\": () => (/* binding */ groupIntersect),\n/* harmony export */ \"shift\": () => (/* binding */ shift),\n/* harmony export */ \"consolidate\": () => (/* binding */ consolidate),\n/* harmony export */ \"RangeMap\": () => (/* binding */ RangeMap)\n/* harmony export */ });\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.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 * Returns the intersection between a ranged group and a range.\r\n * Returns `[]` if the intersection is empty.\r\n */\r\nfunction groupIntersect(range, groups) {\r\n const result = [];\r\n for (let r of groups) {\r\n if (range.start >= r.range.end) {\r\n continue;\r\n }\r\n if (range.end < r.range.start) {\r\n break;\r\n }\r\n const intersection = _common_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.intersect(range, r.range);\r\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.isEmpty(intersection)) {\r\n continue;\r\n }\r\n result.push({\r\n range: intersection,\r\n size: r.size\r\n });\r\n }\r\n return result;\r\n}\r\n/**\r\n * Shifts a range by that `much`.\r\n */\r\nfunction shift({ start, end }, much) {\r\n return { start: start + much, end: end + much };\r\n}\r\n/**\r\n * Consolidates a collection of ranged groups.\r\n *\r\n * Consolidation is the process of merging consecutive ranged groups\r\n * that share the same `size`.\r\n */\r\nfunction consolidate(groups) {\r\n const result = [];\r\n let previousGroup = null;\r\n for (let group of groups) {\r\n const start = group.range.start;\r\n const end = group.range.end;\r\n const size = group.size;\r\n if (previousGroup && size === previousGroup.size) {\r\n previousGroup.range.end = end;\r\n continue;\r\n }\r\n previousGroup = { range: { start, end }, size };\r\n result.push(previousGroup);\r\n }\r\n return result;\r\n}\r\n/**\r\n * Concatenates several collections of ranged groups into a single\r\n * collection.\r\n */\r\nfunction concat(...groups) {\r\n return consolidate(groups.reduce((r, g) => r.concat(g), []));\r\n}\r\nclass RangeMap {\r\n constructor() {\r\n this.groups = [];\r\n this._size = 0;\r\n }\r\n splice(index, deleteCount, items = []) {\r\n const diff = items.length - deleteCount;\r\n const before = groupIntersect({ start: 0, end: index }, this.groups);\r\n const after = groupIntersect({ start: index + deleteCount, end: Number.POSITIVE_INFINITY }, this.groups)\r\n .map(g => ({ range: shift(g.range, diff), size: g.size }));\r\n const middle = items.map((item, i) => ({\r\n range: { start: index + i, end: index + i + 1 },\r\n size: item.size\r\n }));\r\n this.groups = concat(before, middle, after);\r\n this._size = this.groups.reduce((t, g) => t + (g.size * (g.range.end - g.range.start)), 0);\r\n }\r\n /**\r\n * Returns the number of items in the range map.\r\n */\r\n get count() {\r\n const len = this.groups.length;\r\n if (!len) {\r\n return 0;\r\n }\r\n return this.groups[len - 1].range.end;\r\n }\r\n /**\r\n * Returns the sum of the sizes of all items in the range map.\r\n */\r\n get size() {\r\n return this._size;\r\n }\r\n /**\r\n * Returns the index of the item at the given position.\r\n */\r\n indexAt(position) {\r\n if (position < 0) {\r\n return -1;\r\n }\r\n let index = 0;\r\n let size = 0;\r\n for (let group of this.groups) {\r\n const count = group.range.end - group.range.start;\r\n const newSize = size + (count * group.size);\r\n if (position < newSize) {\r\n return index + Math.floor((position - size) / group.size);\r\n }\r\n index += count;\r\n size = newSize;\r\n }\r\n return index;\r\n }\r\n /**\r\n * Returns the index of the item right after the item at the\r\n * index of the given position.\r\n */\r\n indexAfter(position) {\r\n return Math.min(this.indexAt(position) + 1, this.count);\r\n }\r\n /**\r\n * Returns the start position of the item at the given index.\r\n */\r\n positionAt(index) {\r\n if (index < 0) {\r\n return -1;\r\n }\r\n let position = 0;\r\n let count = 0;\r\n for (let group of this.groups) {\r\n const groupCount = group.range.end - group.range.start;\r\n const newCount = count + groupCount;\r\n if (index < newCount) {\r\n return position + ((index - count) * group.size);\r\n }\r\n position += groupCount * group.size;\r\n count = newCount;\r\n }\r\n return -1;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js": /*!****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RowCache\": () => (/* binding */ RowCache)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\nfunction removeFromParent(element) {\r\n try {\r\n if (element.parentElement) {\r\n element.parentElement.removeChild(element);\r\n }\r\n }\r\n catch (e) {\r\n // this will throw if this happens due to a blur event, nasty business\r\n }\r\n}\r\nclass RowCache {\r\n constructor(renderers) {\r\n this.renderers = renderers;\r\n this.cache = new Map();\r\n }\r\n /**\r\n * Returns a row either by creating a new one or reusing\r\n * a previously released row which shares the same templateId.\r\n */\r\n alloc(templateId) {\r\n let result = this.getTemplateCache(templateId).pop();\r\n if (!result) {\r\n const domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-list-row');\r\n const renderer = this.getRenderer(templateId);\r\n const templateData = renderer.renderTemplate(domNode);\r\n result = { domNode, templateId, templateData };\r\n }\r\n return result;\r\n }\r\n /**\r\n * Releases the row for eventual reuse.\r\n */\r\n release(row) {\r\n if (!row) {\r\n return;\r\n }\r\n this.releaseRow(row);\r\n }\r\n releaseRow(row) {\r\n const { domNode, templateId } = row;\r\n if (domNode) {\r\n domNode.classList.remove('scrolling');\r\n removeFromParent(domNode);\r\n }\r\n const cache = this.getTemplateCache(templateId);\r\n cache.push(row);\r\n }\r\n getTemplateCache(templateId) {\r\n let result = this.cache.get(templateId);\r\n if (!result) {\r\n result = [];\r\n this.cache.set(templateId, result);\r\n }\r\n return result;\r\n }\r\n dispose() {\r\n this.cache.forEach((cachedRows, templateId) => {\r\n for (const cachedRow of cachedRows) {\r\n const renderer = this.getRenderer(templateId);\r\n renderer.disposeTemplate(cachedRow.templateData);\r\n cachedRow.templateData = null;\r\n }\r\n });\r\n this.cache.clear();\r\n }\r\n getRenderer(templateId) {\r\n const renderer = this.renderers.get(templateId);\r\n if (!renderer) {\r\n throw new Error(`No renderer found for ${templateId}`);\r\n }\r\n return renderer;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js": /*!**************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CombinedSpliceable\": () => (/* binding */ CombinedSpliceable)\n/* harmony export */ });\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\nclass CombinedSpliceable {\r\n constructor(spliceables) {\r\n this.spliceables = spliceables;\r\n }\r\n splice(start, deleteCount, elements) {\r\n this.spliceables.forEach(s => s.splice(start, deleteCount, elements));\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MENU_MNEMONIC_REGEX\": () => (/* binding */ MENU_MNEMONIC_REGEX),\n/* harmony export */ \"MENU_ESCAPED_MNEMONIC_REGEX\": () => (/* binding */ MENU_ESCAPED_MNEMONIC_REGEX),\n/* harmony export */ \"Direction\": () => (/* binding */ Direction),\n/* harmony export */ \"Menu\": () => (/* binding */ Menu),\n/* harmony export */ \"cleanMnemonic\": () => (/* binding */ cleanMnemonic)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _contextview_contextview_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../contextview/contextview.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../actionbar/actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _codicons_codiconStyles_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../codicons/codiconStyles.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js\");\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.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\nconst MENU_MNEMONIC_REGEX = /\\(&([^\\s&])\\)|(^|[^&])&([^\\s&])/;\r\nconst MENU_ESCAPED_MNEMONIC_REGEX = /(&)?(&)([^\\s&])/g;\r\nconst menuSelectionIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.registerCodicon)('menu-selection', _common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.check);\r\nconst menuSubmenuIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.registerCodicon)('menu-submenu', _common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.chevronRight);\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\nclass Menu extends _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__.ActionBar {\r\n constructor(container, actions, options = {}) {\r\n container.classList.add('monaco-menu-container');\r\n container.setAttribute('role', 'presentation');\r\n const menuElement = document.createElement('div');\r\n menuElement.classList.add('monaco-menu');\r\n menuElement.setAttribute('role', 'presentation');\r\n super(menuElement, {\r\n orientation: 2 /* VERTICAL */,\r\n actionViewItemProvider: action => this.doGetActionViewItem(action, options, parentData),\r\n context: options.context,\r\n actionRunner: options.actionRunner,\r\n ariaLabel: options.ariaLabel,\r\n focusOnlyEnabledItems: true,\r\n triggerKeys: { keys: [3 /* Enter */, ...(_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh || _common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isLinux ? [10 /* Space */] : [])], keyDown: true }\r\n });\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 _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.DisposableStore());\r\n this.initializeStyleSheet(container);\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_DOWN, (e) => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.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((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_DOWN, (e) => {\r\n const key = e.key.toLocaleLowerCase();\r\n if (this.mnemonics.has(key)) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n const actions = this.mnemonics.get(key);\r\n if (actions.length === 1) {\r\n if (actions[0] instanceof SubmenuMenuActionViewItem && actions[0].container) {\r\n this.focusItemByElement(actions[0].container);\r\n }\r\n actions[0].onClick(e);\r\n }\r\n if (actions.length > 1) {\r\n const action = actions.shift();\r\n if (action && action.container) {\r\n this.focusItemByElement(action.container);\r\n actions.push(action);\r\n }\r\n this.mnemonics.set(key, actions);\r\n }\r\n }\r\n }));\r\n }\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isLinux) {\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_DOWN, e => {\r\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.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_js__WEBPACK_IMPORTED_MODULE_4__.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_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n }\r\n }));\r\n }\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.MOUSE_OUT, e => {\r\n let relatedTarget = e.relatedTarget;\r\n if (!(0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.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((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.actionsList, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.MOUSE_OVER, e => {\r\n let target = e.target;\r\n if (!target || !(0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.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 (target.classList.contains('action-item')) {\r\n const 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 let parentData = {\r\n parent: this\r\n };\r\n this.mnemonics = new Map();\r\n // Scroll Logic\r\n this.scrollableElement = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_8__.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 const scrollElement = this.scrollableElement.getDomNode();\r\n scrollElement.style.position = '';\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(scrollElement, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.MOUSE_UP, 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 - 35)}px`;\r\n actions = actions.filter(a => {\r\n var _a;\r\n if ((_a = options.submenuIds) === null || _a === void 0 ? void 0 : _a.has(a.id)) {\r\n console.warn(`Found submenu cycle: ${a.id}`);\r\n return false;\r\n }\r\n return true;\r\n });\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(item => !(item instanceof MenuSeparatorActionViewItem)).forEach((item, index, array) => {\r\n item.updatePositionInSet(index + 1, array.length);\r\n });\r\n }\r\n initializeStyleSheet(container) {\r\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.isInShadowDOM)(container)) {\r\n this.styleSheet = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.createStyleSheet)(container);\r\n this.styleSheet.textContent = MENU_WIDGET_CSS;\r\n }\r\n else {\r\n if (!Menu.globalStyleSheet) {\r\n Menu.globalStyleSheet = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.createStyleSheet)();\r\n Menu.globalStyleSheet.textContent = MENU_WIDGET_CSS;\r\n }\r\n this.styleSheet = Menu.globalStyleSheet;\r\n }\r\n }\r\n style(style) {\r\n const container = this.getContainer();\r\n const fgColor = style.foregroundColor ? `${style.foregroundColor}` : '';\r\n const bgColor = style.backgroundColor ? `${style.backgroundColor}` : '';\r\n const border = style.borderColor ? `1px solid ${style.borderColor}` : '';\r\n const 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(item => {\r\n if (item instanceof BaseMenuActionViewItem || item instanceof MenuSeparatorActionViewItem) {\r\n item.style(style);\r\n }\r\n });\r\n }\r\n }\r\n getContainer() {\r\n return this.scrollableElement.getDomNode();\r\n }\r\n get onScroll() {\r\n return this.scrollableElement.onScroll;\r\n }\r\n focusItemByElement(element) {\r\n const lastFocusedItem = this.focusedItem;\r\n this.setFocusedItem(element);\r\n if (lastFocusedItem !== this.focusedItem) {\r\n this.updateFocus();\r\n }\r\n }\r\n setFocusedItem(element) {\r\n for (let i = 0; i < this.actionsList.children.length; i++) {\r\n let 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 updateFocus(fromRight) {\r\n super.updateFocus(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 doGetActionViewItem(action, options, parentData) {\r\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.Separator) {\r\n return new MenuSeparatorActionViewItem(options.context, action, { icon: true });\r\n }\r\n else if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.SubmenuAction) {\r\n const menuActionViewItem = new SubmenuMenuActionViewItem(action, action.actions, parentData, Object.assign(Object.assign({}, options), { submenuIds: new Set([...(options.submenuIds || []), action.id]) }));\r\n if (options.enableMnemonics) {\r\n const mnemonic = menuActionViewItem.getMnemonic();\r\n if (mnemonic && menuActionViewItem.isEnabled()) {\r\n let 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 const menuItemOptions = { enableMnemonics: options.enableMnemonics, useEventAsContext: options.useEventAsContext };\r\n if (options.getKeyBinding) {\r\n const keybinding = options.getKeyBinding(action);\r\n if (keybinding) {\r\n const keybindingLabel = keybinding.getLabel();\r\n if (keybindingLabel) {\r\n menuItemOptions.keybinding = keybindingLabel;\r\n }\r\n }\r\n }\r\n const menuActionViewItem = new BaseMenuActionViewItem(options.context, action, menuItemOptions);\r\n if (options.enableMnemonics) {\r\n const mnemonic = menuActionViewItem.getMnemonic();\r\n if (mnemonic && menuActionViewItem.isEnabled()) {\r\n let 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}\r\nclass BaseMenuActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_12__.BaseActionViewItem {\r\n constructor(ctx, action, options = {}) {\r\n options.isMenu = true;\r\n super(action, action, options);\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 let label = this.getAction().label;\r\n if (label) {\r\n let 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_js__WEBPACK_IMPORTED_MODULE_6__.RunOnceScheduler(() => {\r\n if (!this.element) {\r\n return;\r\n }\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.MOUSE_UP, e => {\r\n // removed default prevention as it conflicts\r\n // with BaseActionViewItem #101537\r\n // add back if issues arise and link new issue\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n // See https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Interact_with_the_clipboard\r\n // > Writing to the clipboard\r\n // > You can use the \"cut\" and \"copy\" commands without any special\r\n // permission if you are using them in a short-lived event handler\r\n // for a user action (for example, a click handler).\r\n // => to get the Copy and Paste context menu actions working on Firefox,\r\n // there should be no timeout here\r\n if (_browser_js__WEBPACK_IMPORTED_MODULE_14__.isFirefox) {\r\n const mouseEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_15__.StandardMouseEvent(e);\r\n // Allowing right click to trigger the event causes the issue described below,\r\n // but since the solution below does not work in FF, we must disable right click\r\n if (mouseEvent.rightButton) {\r\n return;\r\n }\r\n this.onClick(e);\r\n }\r\n // In all other cases, set timout to allow context menu cancellation to trigger\r\n // otherwise the action will destroy the menu and a second context menu\r\n // will still trigger for right click.\r\n else {\r\n setTimeout(() => {\r\n this.onClick(e);\r\n }, 0);\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.CONTEXT_MENU, e => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n }));\r\n }, 100);\r\n this._register(this.runOnceToEnableMouseUp);\r\n }\r\n render(container) {\r\n super.render(container);\r\n if (!this.element) {\r\n return;\r\n }\r\n this.container = container;\r\n this.item = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('a.action-menu-item'));\r\n if (this._action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.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 = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('span.menu-item-check' + menuSelectionIcon.cssSelector));\r\n this.check.setAttribute('role', 'none');\r\n this.label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('span.action-label'));\r\n if (this.options.label && this.options.keybinding) {\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('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 blur() {\r\n super.blur();\r\n this.applyStyle();\r\n }\r\n focus() {\r\n super.focus();\r\n if (this.item) {\r\n this.item.focus();\r\n }\r\n this.applyStyle();\r\n }\r\n updatePositionInSet(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 updateLabel() {\r\n if (!this.label) {\r\n return;\r\n }\r\n if (this.options.label) {\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.clearNode)(this.label);\r\n let label = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_16__.stripIcons)(this.getAction().label);\r\n if (label) {\r\n const cleanLabel = cleanMnemonic(label);\r\n if (!this.options.enableMnemonics) {\r\n label = cleanLabel;\r\n }\r\n this.label.setAttribute('aria-label', cleanLabel.replace(/&&/g, '&'));\r\n const matches = MENU_MNEMONIC_REGEX.exec(label);\r\n if (matches) {\r\n label = _common_strings_js__WEBPACK_IMPORTED_MODULE_1__.escape(label);\r\n // This is global, reset it\r\n MENU_ESCAPED_MNEMONIC_REGEX.lastIndex = 0;\r\n let 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 const replaceDoubleEscapes = (str) => str.replace(/&&/g, '&');\r\n if (escMatch) {\r\n this.label.append(_common_strings_js__WEBPACK_IMPORTED_MODULE_1__.ltrim(replaceDoubleEscapes(label.substr(0, escMatch.index)), ' '), (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('u', { 'aria-hidden': 'true' }, escMatch[3]), _common_strings_js__WEBPACK_IMPORTED_MODULE_1__.rtrim(replaceDoubleEscapes(label.substr(escMatch.index + escMatch[0].length)), ' '));\r\n }\r\n else {\r\n this.label.innerText = replaceDoubleEscapes(label).trim();\r\n }\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 this.label.innerText = label.replace(/&&/g, '&').trim();\r\n }\r\n }\r\n }\r\n }\r\n updateTooltip() {\r\n let 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_js__WEBPACK_IMPORTED_MODULE_0__.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 updateClass() {\r\n if (this.cssClass && this.item) {\r\n this.item.classList.remove(...this.cssClass.split(' '));\r\n }\r\n if (this.options.icon && this.label) {\r\n this.cssClass = this.getAction().class || '';\r\n this.label.classList.add('icon');\r\n if (this.cssClass) {\r\n this.label.classList.add(...this.cssClass.split(' '));\r\n }\r\n this.updateEnabled();\r\n }\r\n else if (this.label) {\r\n this.label.classList.remove('icon');\r\n }\r\n }\r\n updateEnabled() {\r\n if (this.getAction().enabled) {\r\n if (this.element) {\r\n this.element.classList.remove('disabled');\r\n this.element.removeAttribute('aria-disabled');\r\n }\r\n if (this.item) {\r\n this.item.classList.remove('disabled');\r\n this.item.removeAttribute('aria-disabled');\r\n this.item.tabIndex = 0;\r\n }\r\n }\r\n else {\r\n if (this.element) {\r\n this.element.classList.add('disabled');\r\n this.element.setAttribute('aria-disabled', 'true');\r\n }\r\n if (this.item) {\r\n this.item.classList.add('disabled');\r\n this.item.setAttribute('aria-disabled', 'true');\r\n }\r\n }\r\n }\r\n updateChecked() {\r\n if (!this.item) {\r\n return;\r\n }\r\n if (this.getAction().checked) {\r\n this.item.classList.add('checked');\r\n this.item.setAttribute('role', 'menuitemcheckbox');\r\n this.item.setAttribute('aria-checked', 'true');\r\n }\r\n else {\r\n this.item.classList.remove('checked');\r\n this.item.setAttribute('role', 'menuitem');\r\n this.item.setAttribute('aria-checked', 'false');\r\n }\r\n }\r\n getMnemonic() {\r\n return this.mnemonic;\r\n }\r\n applyStyle() {\r\n if (!this.menuStyle) {\r\n return;\r\n }\r\n const isSelected = this.element && this.element.classList.contains('focused');\r\n const fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\r\n const bgColor = isSelected && this.menuStyle.selectionBackgroundColor ? this.menuStyle.selectionBackgroundColor : undefined;\r\n const 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 style(style) {\r\n this.menuStyle = style;\r\n this.applyStyle();\r\n }\r\n}\r\nclass SubmenuMenuActionViewItem extends BaseMenuActionViewItem {\r\n constructor(action, submenuActions, parentData, submenuOptions) {\r\n super(action, action, submenuOptions);\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 _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.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_js__WEBPACK_IMPORTED_MODULE_6__.RunOnceScheduler(() => {\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_js__WEBPACK_IMPORTED_MODULE_6__.RunOnceScheduler(() => {\r\n if (this.element && (!(0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.isAncestor)((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.getActiveElement)(), 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 }\r\n render(container) {\r\n super.render(container);\r\n if (!this.element) {\r\n return;\r\n }\r\n if (this.item) {\r\n this.item.classList.add('monaco-submenu-item');\r\n this.item.tabIndex = 0;\r\n this.item.setAttribute('aria-haspopup', 'true');\r\n this.updateAriaExpanded('false');\r\n this.submenuIndicator = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('span.submenu-indicator' + menuSubmenuIcon.cssSelector));\r\n this.submenuIndicator.setAttribute('aria-hidden', 'true');\r\n }\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_UP, e => {\r\n let event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e);\r\n if (event.equals(17 /* RightArrow */) || event.equals(3 /* Enter */)) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n this.createSubmenu(true);\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_DOWN, e => {\r\n let event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e);\r\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.getActiveElement)() === this.item) {\r\n if (event.equals(17 /* RightArrow */) || event.equals(3 /* Enter */)) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n }\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.MOUSE_OVER, e => {\r\n if (!this.mouseOver) {\r\n this.mouseOver = true;\r\n this.showScheduler.schedule();\r\n }\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.MOUSE_LEAVE, e => {\r\n this.mouseOver = false;\r\n }));\r\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.FOCUS_OUT, e => {\r\n if (this.element && !(0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.isAncestor)((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.getActiveElement)(), this.element)) {\r\n this.hideScheduler.schedule();\r\n }\r\n }));\r\n this._register(this.parentData.parent.onScroll(() => {\r\n this.parentData.parent.focus(false);\r\n this.cleanupExistingSubmenu(false);\r\n }));\r\n }\r\n updateEnabled() {\r\n // override on submenu entry\r\n // native menus do not observe enablement on sumbenus\r\n // we mimic that behavior\r\n }\r\n onClick(e) {\r\n // stop clicking from trying to run an action\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n this.cleanupExistingSubmenu(false);\r\n this.createSubmenu(true);\r\n }\r\n cleanupExistingSubmenu(force) {\r\n if (this.parentData.submenu && (force || (this.parentData.submenu !== this.mysubmenu))) {\r\n // disposal may throw if the submenu has already been removed\r\n try {\r\n this.parentData.submenu.dispose();\r\n }\r\n catch (_a) { }\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 calculateSubmenuMenuLayout(windowDimensions, submenu, entry, expandDirection) {\r\n const ret = { top: 0, left: 0 };\r\n // Start with horizontal\r\n ret.left = (0,_contextview_contextview_js__WEBPACK_IMPORTED_MODULE_9__.layout)(windowDimensions.width, submenu.width, { position: expandDirection === Direction.Right ? 0 /* Before */ : 1 /* After */, offset: entry.left, size: entry.width });\r\n // We don't have enough room to layout the menu fully, so we are overlapping the menu\r\n if (ret.left >= entry.left && ret.left < entry.left + entry.width) {\r\n if (entry.left + 10 + submenu.width <= windowDimensions.width) {\r\n ret.left = entry.left + 10;\r\n }\r\n entry.top += 10;\r\n entry.height = 0;\r\n }\r\n // Now that we have a horizontal position, try layout vertically\r\n ret.top = (0,_contextview_contextview_js__WEBPACK_IMPORTED_MODULE_9__.layout)(windowDimensions.height, submenu.height, { position: 0 /* Before */, offset: entry.top, size: 0 });\r\n // We didn't have enough room below, but we did above, so we shift down to align the menu\r\n if (ret.top + submenu.height === entry.top && ret.top + entry.height + submenu.height <= windowDimensions.height) {\r\n ret.top += entry.height;\r\n }\r\n return ret;\r\n }\r\n createSubmenu(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 = (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.$)('div.monaco-submenu'));\r\n this.submenuContainer.classList.add('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 const computedStyles = getComputedStyle(this.parentData.parent.domNode);\r\n const paddingTop = parseFloat(computedStyles.paddingTop || '0') || 0;\r\n // this.submenuContainer.style.top = `${this.element.offsetTop - this.parentData.parent.scrollOffset - paddingTop}px`;\r\n this.submenuContainer.style.zIndex = '1';\r\n this.submenuContainer.style.position = 'fixed';\r\n this.submenuContainer.style.top = '0';\r\n this.submenuContainer.style.left = '0';\r\n this.parentData.submenu = new Menu(this.submenuContainer, this.submenuActions.length ? this.submenuActions : [new _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.EmptySubmenuAction()], this.submenuOptions);\r\n if (this.menuStyle) {\r\n this.parentData.submenu.style(this.menuStyle);\r\n }\r\n // layout submenu\r\n const entryBox = this.element.getBoundingClientRect();\r\n const entryBoxUpdated = {\r\n top: entryBox.top - paddingTop,\r\n left: entryBox.left,\r\n height: entryBox.height + 2 * paddingTop,\r\n width: entryBox.width\r\n };\r\n const viewBox = this.submenuContainer.getBoundingClientRect();\r\n const { top, left } = this.calculateSubmenuMenuLayout(new _dom_js__WEBPACK_IMPORTED_MODULE_4__.Dimension(window.innerWidth, window.innerHeight), _dom_js__WEBPACK_IMPORTED_MODULE_4__.Dimension.lift(viewBox), entryBoxUpdated, this.expandDirection);\r\n this.submenuContainer.style.left = `${left}px`;\r\n this.submenuContainer.style.top = `${top}px`;\r\n this.submenuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.submenuContainer, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_UP, e => {\r\n let event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e);\r\n if (event.equals(15 /* LeftArrow */)) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n this.parentData.parent.focus();\r\n this.cleanupExistingSubmenu(true);\r\n }\r\n }));\r\n this.submenuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.addDisposableListener)(this.submenuContainer, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.KEY_DOWN, e => {\r\n let event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e);\r\n if (event.equals(15 /* LeftArrow */)) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventHelper.stop(e, true);\r\n }\r\n }));\r\n this.submenuDisposables.add(this.parentData.submenu.onDidCancel(() => {\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 updateAriaExpanded(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 applyStyle() {\r\n super.applyStyle();\r\n if (!this.menuStyle) {\r\n return;\r\n }\r\n const isSelected = this.element && this.element.classList.contains('focused');\r\n const 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 dispose() {\r\n super.dispose();\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}\r\nclass MenuSeparatorActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_12__.ActionViewItem {\r\n style(style) {\r\n if (this.label) {\r\n this.label.style.borderBottomColor = style.separatorColor ? `${style.separatorColor}` : '';\r\n }\r\n }\r\n}\r\nfunction cleanMnemonic(label) {\r\n const regex = MENU_MNEMONIC_REGEX;\r\n const matches = regex.exec(label);\r\n if (!matches) {\r\n return label;\r\n }\r\n const mnemonicInText = !matches[1];\r\n return label.replace(regex, mnemonicInText ? '$2$3' : '').trim();\r\n}\r\nlet MENU_WIDGET_CSS = `\n.monaco-menu {\n\tfont-size: 13px;\n\n}\n\n${(0,_codicons_codiconStyles_js__WEBPACK_IMPORTED_MODULE_13__.formatRule)(menuSelectionIcon)}\n${(0,_codicons_codiconStyles_js__WEBPACK_IMPORTED_MODULE_13__.formatRule)(menuSubmenuIcon)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\topacity: 0.4;\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tpadding: 0.5em 0 0 0;\n\tmargin-bottom: 0.5em;\n\twidth: 100%;\n\theight: 0px !important;\n\tmargin-left: .8em !important;\n\tmargin-right: .8em !important;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tborder: thin solid transparent; /* prevents jumping behaviour on hover or focus */\n}\n\n\n/* High Contrast Theming */\n:host-context(.hc-black) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: .5em 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 1.8em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tpadding: 0.2em 0 0 0;\n\tmargin-bottom: 0.2em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: #DDD 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: #DDD 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: #DDD 6px 6px 6px -6px inset;\n}\n\n/* ---------- Default Style ---------- */\n\n:host-context(.vs) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(100, 100, 100, .4);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(121, 121, 121, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(111, 195, 223, .6);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(100, 100, 100, .7);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(111, 195, 223, .8);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(0, 0, 0, .6);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(191, 191, 191, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(111, 195, 223, 1);\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: #000 6px 0 6px -6px inset;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: #000 6px 6px 6px -6px inset;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: none;\n}\n`;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js": /*!**************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MOUSE_CURSOR_TEXT_CSS_CLASS_NAME\": () => (/* binding */ MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)\n/* harmony export */ });\n/* harmony import */ var _mouseCursor_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mouseCursor.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css\");\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\nconst MOUSE_CURSOR_TEXT_CSS_CLASS_NAME = `monaco-mouse-cursor-text`;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js": /*!**************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ProgressBar\": () => (/* binding */ ProgressBar)\n/* harmony export */ });\n/* harmony import */ var _progressbar_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./progressbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.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\nconst CSS_DONE = 'done';\r\nconst CSS_ACTIVE = 'active';\r\nconst CSS_INFINITE = 'infinite';\r\nconst CSS_DISCRETE = 'discrete';\r\nconst defaultOpts = {\r\n progressBarBackground: _common_color_js__WEBPACK_IMPORTED_MODULE_2__.Color.fromHex('#0E70C0')\r\n};\r\n/**\r\n * A progress bar with support for infinite or discrete progress.\r\n */\r\nclass ProgressBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(container, options) {\r\n super();\r\n this.options = options || Object.create(null);\r\n (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_3__.mixin)(this.options, defaultOpts, false);\r\n this.workedVal = 0;\r\n this.progressBarBackground = this.options.progressBarBackground;\r\n this._register(this.showDelayedScheduler = new _common_async_js__WEBPACK_IMPORTED_MODULE_5__.RunOnceScheduler(() => (0,_dom_js__WEBPACK_IMPORTED_MODULE_4__.show)(this.element), 0));\r\n this.create(container);\r\n }\r\n create(container) {\r\n this.element = document.createElement('div');\r\n this.element.classList.add('monaco-progress-container');\r\n this.element.setAttribute('role', 'progressbar');\r\n this.element.setAttribute('aria-valuemin', '0');\r\n container.appendChild(this.element);\r\n this.bit = document.createElement('div');\r\n this.bit.classList.add('progress-bit');\r\n this.element.appendChild(this.bit);\r\n this.applyStyles();\r\n }\r\n off() {\r\n this.bit.style.width = 'inherit';\r\n this.bit.style.opacity = '1';\r\n this.element.classList.remove(CSS_ACTIVE, CSS_INFINITE, CSS_DISCRETE);\r\n this.workedVal = 0;\r\n this.totalWork = undefined;\r\n }\r\n /**\r\n * Stops the progressbar from showing any progress instantly without fading out.\r\n */\r\n stop() {\r\n return this.doDone(false);\r\n }\r\n doDone(delayed) {\r\n this.element.classList.add(CSS_DONE);\r\n // let it grow to 100% width and hide afterwards\r\n if (!this.element.classList.contains(CSS_INFINITE)) {\r\n this.bit.style.width = 'inherit';\r\n if (delayed) {\r\n setTimeout(() => this.off(), 200);\r\n }\r\n else {\r\n this.off();\r\n }\r\n }\r\n // let it fade out and hide afterwards\r\n else {\r\n this.bit.style.opacity = '0';\r\n if (delayed) {\r\n setTimeout(() => this.off(), 200);\r\n }\r\n else {\r\n this.off();\r\n }\r\n }\r\n return this;\r\n }\r\n /**\r\n * Use this mode to indicate progress that has no total number of work units.\r\n */\r\n infinite() {\r\n this.bit.style.width = '2%';\r\n this.bit.style.opacity = '1';\r\n this.element.classList.remove(CSS_DISCRETE, CSS_DONE);\r\n this.element.classList.add(CSS_ACTIVE, CSS_INFINITE);\r\n return this;\r\n }\r\n getContainer() {\r\n return this.element;\r\n }\r\n style(styles) {\r\n this.progressBarBackground = styles.progressBarBackground;\r\n this.applyStyles();\r\n }\r\n applyStyles() {\r\n if (this.bit) {\r\n const background = this.progressBarBackground ? this.progressBarBackground.toString() : '';\r\n this.bit.style.backgroundColor = background;\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"OrthogonalEdge\": () => (/* binding */ OrthogonalEdge),\n/* harmony export */ \"Sash\": () => (/* binding */ Sash)\n/* harmony export */ });\n/* harmony import */ var _sash_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sash.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.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\nlet DEBUG = false;\r\nvar OrthogonalEdge;\r\n(function (OrthogonalEdge) {\r\n OrthogonalEdge[\"North\"] = \"north\";\r\n OrthogonalEdge[\"South\"] = \"south\";\r\n OrthogonalEdge[\"East\"] = \"east\";\r\n OrthogonalEdge[\"West\"] = \"west\";\r\n})(OrthogonalEdge || (OrthogonalEdge = {}));\r\nlet globalSize = 4;\r\nconst onDidChangeGlobalSize = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\r\nclass Sash extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(container, layoutProvider, options) {\r\n super();\r\n this.hoverDelayer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_9__.Delayer(300));\r\n this._state = 3 /* Enabled */;\r\n this._onDidEnablementChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidEnablementChange = this._onDidEnablementChange.event;\r\n this._onDidStart = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidStart = this._onDidStart.event;\r\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidChange = this._onDidChange.event;\r\n this._onDidReset = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidReset = this._onDidReset.event;\r\n this._onDidEnd = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\r\n this.onDidEnd = this._onDidEnd.event;\r\n this.linkedSash = undefined;\r\n this.orthogonalStartSashDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore());\r\n this.orthogonalStartDragHandleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore());\r\n this.orthogonalEndSashDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore());\r\n this.orthogonalEndDragHandleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore());\r\n this.el = (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.$)('.monaco-sash'));\r\n if (options.orthogonalEdge) {\r\n this.el.classList.add(`orthogonal-edge-${options.orthogonalEdge}`);\r\n }\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\r\n this.el.classList.add('mac');\r\n }\r\n this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this.el, 'mousedown')(this.onMouseDown, this));\r\n this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this.el, 'dblclick')(this.onMouseDoubleClick, this));\r\n this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this.el, 'mouseenter')(() => Sash.onMouseEnter(this)));\r\n this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this.el, 'mouseleave')(() => Sash.onMouseLeave(this)));\r\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_4__.Gesture.addTarget(this.el));\r\n this._register((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_4__.EventType.Start)(this.onTouchStart, this));\r\n if (typeof options.size === 'number') {\r\n this.size = options.size;\r\n if (options.orientation === 0 /* VERTICAL */) {\r\n this.el.style.width = `${this.size}px`;\r\n }\r\n else {\r\n this.el.style.height = `${this.size}px`;\r\n }\r\n }\r\n else {\r\n this.size = globalSize;\r\n this._register(onDidChangeGlobalSize.event(size => {\r\n this.size = size;\r\n this.layout();\r\n }));\r\n }\r\n this.hidden = false;\r\n this.layoutProvider = layoutProvider;\r\n this.orthogonalStartSash = options.orthogonalStartSash;\r\n this.orthogonalEndSash = options.orthogonalEndSash;\r\n this.orientation = options.orientation || 0 /* VERTICAL */;\r\n if (this.orientation === 1 /* HORIZONTAL */) {\r\n this.el.classList.add('horizontal');\r\n this.el.classList.remove('vertical');\r\n }\r\n else {\r\n this.el.classList.remove('horizontal');\r\n this.el.classList.add('vertical');\r\n }\r\n this.el.classList.toggle('debug', DEBUG);\r\n this.layout();\r\n }\r\n get state() { return this._state; }\r\n set state(state) {\r\n if (this._state === state) {\r\n return;\r\n }\r\n this.el.classList.toggle('disabled', state === 0 /* Disabled */);\r\n this.el.classList.toggle('minimum', state === 1 /* Minimum */);\r\n this.el.classList.toggle('maximum', state === 2 /* Maximum */);\r\n this._state = state;\r\n this._onDidEnablementChange.fire(state);\r\n }\r\n get orthogonalStartSash() { return this._orthogonalStartSash; }\r\n set orthogonalStartSash(sash) {\r\n this.orthogonalStartDragHandleDisposables.clear();\r\n this.orthogonalStartSashDisposables.clear();\r\n if (sash) {\r\n const onChange = (state) => {\r\n this.orthogonalStartDragHandleDisposables.clear();\r\n if (state !== 0 /* Disabled */) {\r\n this._orthogonalStartDragHandle = (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.$)('.orthogonal-drag-handle.start'));\r\n this.orthogonalStartDragHandleDisposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => this._orthogonalStartDragHandle.remove()));\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this._orthogonalStartDragHandle, 'mouseenter')(() => Sash.onMouseEnter(sash), undefined, this.orthogonalStartDragHandleDisposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this._orthogonalStartDragHandle, 'mouseleave')(() => Sash.onMouseLeave(sash), undefined, this.orthogonalStartDragHandleDisposables);\r\n }\r\n };\r\n this.orthogonalStartSashDisposables.add(sash.onDidEnablementChange(onChange, this));\r\n onChange(sash.state);\r\n }\r\n this._orthogonalStartSash = sash;\r\n }\r\n get orthogonalEndSash() { return this._orthogonalEndSash; }\r\n set orthogonalEndSash(sash) {\r\n this.orthogonalEndDragHandleDisposables.clear();\r\n this.orthogonalEndSashDisposables.clear();\r\n if (sash) {\r\n const onChange = (state) => {\r\n this.orthogonalEndDragHandleDisposables.clear();\r\n if (state !== 0 /* Disabled */) {\r\n this._orthogonalEndDragHandle = (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.$)('.orthogonal-drag-handle.end'));\r\n this.orthogonalEndDragHandleDisposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => this._orthogonalEndDragHandle.remove()));\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this._orthogonalEndDragHandle, 'mouseenter')(() => Sash.onMouseEnter(sash), undefined, this.orthogonalEndDragHandleDisposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(this._orthogonalEndDragHandle, 'mouseleave')(() => Sash.onMouseLeave(sash), undefined, this.orthogonalEndDragHandleDisposables);\r\n }\r\n };\r\n this.orthogonalEndSashDisposables.add(sash.onDidEnablementChange(onChange, this));\r\n onChange(sash.state);\r\n }\r\n this._orthogonalEndSash = sash;\r\n }\r\n onMouseDown(e) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_7__.EventHelper.stop(e, false);\r\n let isMultisashResize = false;\r\n if (!e.__orthogonalSashEvent) {\r\n const orthogonalSash = this.getOrthogonalSash(e);\r\n if (orthogonalSash) {\r\n isMultisashResize = true;\r\n e.__orthogonalSashEvent = true;\r\n orthogonalSash.onMouseDown(e);\r\n }\r\n }\r\n if (this.linkedSash && !e.__linkedSashEvent) {\r\n e.__linkedSashEvent = true;\r\n this.linkedSash.onMouseDown(e);\r\n }\r\n if (!this.state) {\r\n return;\r\n }\r\n // Select both iframes and webviews; internally Electron nests an iframe\r\n // in its component, but this isn't queryable.\r\n const iframes = [\r\n ...(0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.getElementsByTagName)('iframe'),\r\n ...(0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.getElementsByTagName)('webview'),\r\n ];\r\n for (const iframe of iframes) {\r\n iframe.style.pointerEvents = 'none'; // disable mouse events on iframes as long as we drag the sash\r\n }\r\n const mouseDownEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardMouseEvent(e);\r\n const startX = mouseDownEvent.posx;\r\n const startY = mouseDownEvent.posy;\r\n const altKey = mouseDownEvent.altKey;\r\n const startEvent = { startX, currentX: startX, startY, currentY: startY, altKey };\r\n this.el.classList.add('active');\r\n this._onDidStart.fire(startEvent);\r\n // fix https://github.com/microsoft/vscode/issues/21675\r\n const style = (0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.createStyleSheet)(this.el);\r\n const updateStyle = () => {\r\n let cursor = '';\r\n if (isMultisashResize) {\r\n cursor = 'all-scroll';\r\n }\r\n else if (this.orientation === 1 /* HORIZONTAL */) {\r\n if (this.state === 1 /* Minimum */) {\r\n cursor = 's-resize';\r\n }\r\n else if (this.state === 2 /* Maximum */) {\r\n cursor = 'n-resize';\r\n }\r\n else {\r\n cursor = _common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh ? 'row-resize' : 'ns-resize';\r\n }\r\n }\r\n else {\r\n if (this.state === 1 /* Minimum */) {\r\n cursor = 'e-resize';\r\n }\r\n else if (this.state === 2 /* Maximum */) {\r\n cursor = 'w-resize';\r\n }\r\n else {\r\n cursor = _common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh ? 'col-resize' : 'ew-resize';\r\n }\r\n }\r\n style.textContent = `* { cursor: ${cursor} !important; }`;\r\n };\r\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n updateStyle();\r\n if (!isMultisashResize) {\r\n this.onDidEnablementChange(updateStyle, null, disposables);\r\n }\r\n const onMouseMove = (e) => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_7__.EventHelper.stop(e, false);\r\n const mouseMoveEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardMouseEvent(e);\r\n const event = { startX, currentX: mouseMoveEvent.posx, startY, currentY: mouseMoveEvent.posy, altKey };\r\n this._onDidChange.fire(event);\r\n };\r\n const onMouseUp = (e) => {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_7__.EventHelper.stop(e, false);\r\n this.el.removeChild(style);\r\n this.el.classList.remove('active');\r\n this._onDidEnd.fire();\r\n disposables.dispose();\r\n for (const iframe of iframes) {\r\n iframe.style.pointerEvents = 'auto';\r\n }\r\n };\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(window, 'mousemove')(onMouseMove, null, disposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(window, 'mouseup')(onMouseUp, null, disposables);\r\n }\r\n onMouseDoubleClick(e) {\r\n const orthogonalSash = this.getOrthogonalSash(e);\r\n if (orthogonalSash) {\r\n orthogonalSash._onDidReset.fire();\r\n }\r\n if (this.linkedSash) {\r\n this.linkedSash._onDidReset.fire();\r\n }\r\n this._onDidReset.fire();\r\n }\r\n onTouchStart(event) {\r\n _dom_js__WEBPACK_IMPORTED_MODULE_7__.EventHelper.stop(event);\r\n const listeners = [];\r\n const startX = event.pageX;\r\n const startY = event.pageY;\r\n const altKey = event.altKey;\r\n this._onDidStart.fire({\r\n startX: startX,\r\n currentX: startX,\r\n startY: startY,\r\n currentY: startY,\r\n altKey\r\n });\r\n listeners.push((0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.addDisposableListener)(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_4__.EventType.Change, (event) => {\r\n if (_common_types_js__WEBPACK_IMPORTED_MODULE_3__.isNumber(event.pageX) && _common_types_js__WEBPACK_IMPORTED_MODULE_3__.isNumber(event.pageY)) {\r\n this._onDidChange.fire({\r\n startX: startX,\r\n currentX: event.pageX,\r\n startY: startY,\r\n currentY: event.pageY,\r\n altKey\r\n });\r\n }\r\n }));\r\n listeners.push((0,_dom_js__WEBPACK_IMPORTED_MODULE_7__.addDisposableListener)(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_4__.EventType.End, () => {\r\n this._onDidEnd.fire();\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(listeners);\r\n }));\r\n }\r\n static onMouseEnter(sash, fromLinkedSash = false) {\r\n if (sash.el.classList.contains('active')) {\r\n sash.hoverDelayer.cancel();\r\n sash.el.classList.add('hover');\r\n }\r\n else {\r\n sash.hoverDelayer.trigger(() => sash.el.classList.add('hover'));\r\n }\r\n if (!fromLinkedSash && sash.linkedSash) {\r\n Sash.onMouseEnter(sash.linkedSash, true);\r\n }\r\n }\r\n static onMouseLeave(sash, fromLinkedSash = false) {\r\n sash.hoverDelayer.cancel();\r\n sash.el.classList.remove('hover');\r\n if (!fromLinkedSash && sash.linkedSash) {\r\n Sash.onMouseLeave(sash.linkedSash, true);\r\n }\r\n }\r\n layout() {\r\n if (this.orientation === 0 /* VERTICAL */) {\r\n const verticalProvider = this.layoutProvider;\r\n this.el.style.left = verticalProvider.getVerticalSashLeft(this) - (this.size / 2) + 'px';\r\n if (verticalProvider.getVerticalSashTop) {\r\n this.el.style.top = verticalProvider.getVerticalSashTop(this) + 'px';\r\n }\r\n if (verticalProvider.getVerticalSashHeight) {\r\n this.el.style.height = verticalProvider.getVerticalSashHeight(this) + 'px';\r\n }\r\n }\r\n else {\r\n const horizontalProvider = this.layoutProvider;\r\n this.el.style.top = horizontalProvider.getHorizontalSashTop(this) - (this.size / 2) + 'px';\r\n if (horizontalProvider.getHorizontalSashLeft) {\r\n this.el.style.left = horizontalProvider.getHorizontalSashLeft(this) + 'px';\r\n }\r\n if (horizontalProvider.getHorizontalSashWidth) {\r\n this.el.style.width = horizontalProvider.getHorizontalSashWidth(this) + 'px';\r\n }\r\n }\r\n }\r\n hide() {\r\n this.hidden = true;\r\n this.el.style.display = 'none';\r\n this.el.setAttribute('aria-hidden', 'true');\r\n }\r\n getOrthogonalSash(e) {\r\n if (!e.target || !(e.target instanceof HTMLElement)) {\r\n return undefined;\r\n }\r\n if (e.target.classList.contains('orthogonal-drag-handle')) {\r\n return e.target.classList.contains('start') ? this.orthogonalStartSash : this.orthogonalEndSash;\r\n }\r\n return undefined;\r\n }\r\n dispose() {\r\n super.dispose();\r\n this.el.remove();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js": /*!******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js ***! \******************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"AbstractScrollbar\": () => (/* binding */ AbstractScrollbar)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\");\n/* harmony import */ var _globalMouseMoveMonitor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../globalMouseMoveMonitor.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarVisibilityController_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scrollbarVisibilityController.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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 * The orthogonal distance to the slider at which dragging \"resets\". This implements \"snapping\"\r\n */\r\nconst MOUSE_DRAG_RESET_DISTANCE = 140;\r\nclass AbstractScrollbar extends _widget_js__WEBPACK_IMPORTED_MODULE_5__.Widget {\r\n constructor(opts) {\r\n super();\r\n this._lazyRender = opts.lazyRender;\r\n this._host = opts.host;\r\n this._scrollable = opts.scrollable;\r\n this._scrollByPage = opts.scrollByPage;\r\n this._scrollbarState = opts.scrollbarState;\r\n this._visibilityController = this._register(new _scrollbarVisibilityController_js__WEBPACK_IMPORTED_MODULE_4__.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_js__WEBPACK_IMPORTED_MODULE_2__.GlobalMouseMoveMonitor());\r\n this._shouldRender = true;\r\n this.domNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__.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, (e) => this._domNodeMouseDown(e));\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 _createArrow(opts) {\r\n const arrow = this._register(new _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_3__.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 _createSlider(top, left, width, height) {\r\n this.slider = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__.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, (e) => {\r\n if (e.leftButton) {\r\n e.preventDefault();\r\n this._sliderMouseDown(e, () => { });\r\n }\r\n });\r\n this.onclick(this.slider.domNode, e => {\r\n if (e.leftButton) {\r\n e.stopPropagation();\r\n }\r\n });\r\n }\r\n // ----------------- Update state\r\n _onElementSize(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 _onElementScrollSize(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 _onElementScrollPosition(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 beginReveal() {\r\n this._visibilityController.setShouldBeVisible(true);\r\n }\r\n beginHide() {\r\n this._visibilityController.setShouldBeVisible(false);\r\n }\r\n render() {\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 _domNodeMouseDown(e) {\r\n if (e.target !== this.domNode.domNode) {\r\n return;\r\n }\r\n this._onMouseDown(e);\r\n }\r\n delegateMouseDown(e) {\r\n const domTop = this.domNode.domNode.getClientRects()[0].top;\r\n const sliderStart = domTop + this._scrollbarState.getSliderPosition();\r\n const sliderStop = domTop + this._scrollbarState.getSliderPosition() + this._scrollbarState.getSliderSize();\r\n const 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, () => { });\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 _onMouseDown(e) {\r\n let offsetX;\r\n let 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 const domNodePosition = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getDomNodePagePosition(this.domNode.domNode);\r\n offsetX = e.posx - domNodePosition.left;\r\n offsetY = e.posy - domNodePosition.top;\r\n }\r\n const offset = this._mouseDownRelativePosition(offsetX, offsetY);\r\n this._setDesiredScrollPositionNow(this._scrollByPage\r\n ? this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(offset)\r\n : this._scrollbarState.getDesiredScrollPositionFromOffset(offset));\r\n if (e.leftButton) {\r\n e.preventDefault();\r\n this._sliderMouseDown(e, () => { });\r\n }\r\n }\r\n _sliderMouseDown(e, onDragFinished) {\r\n const initialMousePosition = this._sliderMousePosition(e);\r\n const initialMouseOrthogonalPosition = this._sliderOrthogonalMousePosition(e);\r\n const initialScrollbarState = this._scrollbarState.clone();\r\n this.slider.toggleClassName('active', true);\r\n this._mouseMoveMonitor.startMonitoring(e.target, e.buttons, _globalMouseMoveMonitor_js__WEBPACK_IMPORTED_MODULE_2__.standardMouseMoveMerger, (mouseMoveData) => {\r\n const mouseOrthogonalPosition = this._sliderOrthogonalMousePosition(mouseMoveData);\r\n const mouseOrthogonalDelta = Math.abs(mouseOrthogonalPosition - initialMouseOrthogonalPosition);\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_6__.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 const mousePosition = this._sliderMousePosition(mouseMoveData);\r\n const mouseDelta = mousePosition - initialMousePosition;\r\n this._setDesiredScrollPositionNow(initialScrollbarState.getDesiredScrollPositionFromDelta(mouseDelta));\r\n }, () => {\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 _setDesiredScrollPositionNow(_desiredScrollPosition) {\r\n const desiredScrollPosition = {};\r\n this.writeScrollPosition(desiredScrollPosition, _desiredScrollPosition);\r\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\r\n }\r\n updateScrollbarSize(scrollbarSize) {\r\n this._updateScrollbarSize(scrollbarSize);\r\n this._scrollbarState.setScrollbarSize(scrollbarSize);\r\n this._shouldRender = true;\r\n if (!this._lazyRender) {\r\n this.render();\r\n }\r\n }\r\n isNeeded() {\r\n return this._scrollbarState.isNeeded();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js": /*!********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js ***! \********************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HorizontalScrollbar\": () => (/* binding */ HorizontalScrollbar)\n/* harmony export */ });\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarState.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst scrollbarButtonLeftIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.registerCodicon)('scrollbar-button-left', _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.triangleLeft);\r\nconst scrollbarButtonRightIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.registerCodicon)('scrollbar-button-right', _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.triangleRight);\r\nclass HorizontalScrollbar extends _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__.AbstractScrollbar {\r\n constructor(scrollable, options, host) {\r\n const scrollDimensions = scrollable.getScrollDimensions();\r\n const scrollPosition = scrollable.getCurrentScrollPosition();\r\n super({\r\n lazyRender: options.lazyRender,\r\n host: host,\r\n scrollbarState: new _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__.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 scrollByPage: options.scrollByPage\r\n });\r\n if (options.horizontalHasArrows) {\r\n const arrowDelta = (options.arrowSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\r\n const scrollbarDelta = (options.horizontalScrollbarSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\r\n this._createArrow({\r\n className: 'scra',\r\n icon: scrollbarButtonLeftIcon,\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: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 1, 0)),\r\n });\r\n this._createArrow({\r\n className: 'scra',\r\n icon: scrollbarButtonRightIcon,\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: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.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 }\r\n _updateSlider(sliderSize, sliderPosition) {\r\n this.slider.setWidth(sliderSize);\r\n this.slider.setLeft(sliderPosition);\r\n }\r\n _renderDomNode(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 onDidScroll(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 _mouseDownRelativePosition(offsetX, offsetY) {\r\n return offsetX;\r\n }\r\n _sliderMousePosition(e) {\r\n return e.posx;\r\n }\r\n _sliderOrthogonalMousePosition(e) {\r\n return e.posy;\r\n }\r\n _updateScrollbarSize(size) {\r\n this.slider.setHeight(size);\r\n }\r\n writeScrollPosition(target, scrollPosition) {\r\n target.scrollLeft = scrollPosition;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js": /*!******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js ***! \******************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MouseWheelClassifier\": () => (/* binding */ MouseWheelClassifier),\n/* harmony export */ \"AbstractScrollableElement\": () => (/* binding */ AbstractScrollableElement),\n/* harmony export */ \"ScrollableElement\": () => (/* binding */ ScrollableElement),\n/* harmony export */ \"SmoothScrollableElement\": () => (/* binding */ SmoothScrollableElement),\n/* harmony export */ \"DomScrollableElement\": () => (/* binding */ DomScrollableElement)\n/* harmony export */ });\n/* harmony import */ var _media_scrollbars_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./media/scrollbars.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _horizontalScrollbar_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./horizontalScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js\");\n/* harmony import */ var _verticalScrollbar_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./verticalScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.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\nconst HIDE_TIMEOUT = 500;\r\nconst SCROLL_WHEEL_SENSITIVITY = 50;\r\nconst SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED = true;\r\nclass MouseWheelClassifierItem {\r\n constructor(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}\r\nclass MouseWheelClassifier {\r\n constructor() {\r\n this._capacity = 5;\r\n this._memory = [];\r\n this._front = -1;\r\n this._rear = -1;\r\n }\r\n isPhysicalMouseWheel() {\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 let remainingInfluence = 1;\r\n let score = 0;\r\n let iteration = 1;\r\n let index = this._rear;\r\n do {\r\n const 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 accept(timestamp, deltaX, deltaY) {\r\n const 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 _computeScore(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 let score = 0.5;\r\n const 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 (!this._isAlmostInt(item.deltaX) || !this._isAlmostInt(item.deltaY)) {\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 _isAlmostInt(value) {\r\n const delta = Math.abs(Math.round(value) - value);\r\n return (delta < 0.01);\r\n }\r\n}\r\nMouseWheelClassifier.INSTANCE = new MouseWheelClassifier();\r\nclass AbstractScrollableElement extends _widget_js__WEBPACK_IMPORTED_MODULE_6__.Widget {\r\n constructor(element, options, scrollable) {\r\n super();\r\n this._onScroll = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());\r\n this.onScroll = this._onScroll.event;\r\n this._onWillScroll = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());\r\n element.style.overflow = 'hidden';\r\n this._options = resolveOptions(options);\r\n this._scrollable = scrollable;\r\n this._register(this._scrollable.onScroll((e) => {\r\n this._onWillScroll.fire(e);\r\n this._onDidScroll(e);\r\n this._onScroll.fire(e);\r\n }));\r\n const scrollbarHost = {\r\n onMouseWheel: (mouseWheelEvent) => this._onMouseWheel(mouseWheelEvent),\r\n onDragStart: () => this._onDragStart(),\r\n onDragEnd: () => this._onDragEnd(),\r\n };\r\n this._verticalScrollbar = this._register(new _verticalScrollbar_js__WEBPACK_IMPORTED_MODULE_5__.VerticalScrollbar(this._scrollable, this._options, scrollbarHost));\r\n this._horizontalScrollbar = this._register(new _horizontalScrollbar_js__WEBPACK_IMPORTED_MODULE_4__.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 = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\r\n this._leftShadowDomNode.setClassName('shadow');\r\n this._domNode.appendChild(this._leftShadowDomNode.domNode);\r\n this._topShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\r\n this._topShadowDomNode.setClassName('shadow');\r\n this._domNode.appendChild(this._topShadowDomNode.domNode);\r\n this._topLeftShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.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, (e) => this._onMouseOver(e));\r\n this.onnonbubblingmouseout(this._listenOnDomNode, (e) => this._onMouseOut(e));\r\n this._hideTimeout = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_7__.TimeoutTimer());\r\n this._isDragging = false;\r\n this._mouseIsOver = false;\r\n this._shouldRender = true;\r\n this._revealOnScroll = true;\r\n }\r\n dispose() {\r\n this._mouseWheelToDispose = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this._mouseWheelToDispose);\r\n super.dispose();\r\n }\r\n /**\r\n * Get the generated 'scrollable' dom node\r\n */\r\n getDomNode() {\r\n return this._domNode;\r\n }\r\n getOverviewRulerLayoutInfo() {\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 delegateVerticalScrollbarMouseDown(browserEvent) {\r\n this._verticalScrollbar.delegateMouseDown(browserEvent);\r\n }\r\n getScrollDimensions() {\r\n return this._scrollable.getScrollDimensions();\r\n }\r\n setScrollDimensions(dimensions) {\r\n this._scrollable.setScrollDimensions(dimensions, false);\r\n }\r\n /**\r\n * Update the class name of the scrollable element.\r\n */\r\n updateClassName(newClassName) {\r\n this._options.className = newClassName;\r\n // Defaults are different on Macs\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.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 updateOptions(newOptions) {\r\n if (typeof newOptions.handleMouseWheel !== 'undefined') {\r\n this._options.handleMouseWheel = newOptions.handleMouseWheel;\r\n this._setListeningToMouseWheel(this._options.handleMouseWheel);\r\n }\r\n if (typeof newOptions.mouseWheelScrollSensitivity !== 'undefined') {\r\n this._options.mouseWheelScrollSensitivity = newOptions.mouseWheelScrollSensitivity;\r\n }\r\n if (typeof newOptions.fastScrollSensitivity !== 'undefined') {\r\n this._options.fastScrollSensitivity = newOptions.fastScrollSensitivity;\r\n }\r\n if (typeof newOptions.scrollPredominantAxis !== 'undefined') {\r\n this._options.scrollPredominantAxis = newOptions.scrollPredominantAxis;\r\n }\r\n if (typeof newOptions.horizontalScrollbarSize !== 'undefined') {\r\n this._horizontalScrollbar.updateScrollbarSize(newOptions.horizontalScrollbarSize);\r\n }\r\n if (!this._options.lazyRender) {\r\n this._render();\r\n }\r\n }\r\n // -------------------- mouse wheel scrolling --------------------\r\n _setListeningToMouseWheel(shouldListen) {\r\n const 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 = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this._mouseWheelToDispose);\r\n // Start listening (if necessary)\r\n if (shouldListen) {\r\n const onMouseWheel = (browserEvent) => {\r\n this._onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardWheelEvent(browserEvent));\r\n };\r\n this._mouseWheelToDispose.push(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(this._listenOnDomNode, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_WHEEL, onMouseWheel, { passive: false }));\r\n }\r\n }\r\n _onMouseWheel(e) {\r\n const classifier = MouseWheelClassifier.INSTANCE;\r\n if (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED) {\r\n const osZoomFactor = window.devicePixelRatio / (0,_browser_js__WEBPACK_IMPORTED_MODULE_12__.getZoomFactor)();\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isWindows || _common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isLinux) {\r\n // On Windows and Linux, the incoming delta events are multiplied with the OS zoom factor.\r\n // The OS zoom factor can be reverse engineered by using the device pixel ratio and the configured zoom factor into account.\r\n classifier.accept(Date.now(), e.deltaX / osZoomFactor, e.deltaY / osZoomFactor);\r\n }\r\n else {\r\n classifier.accept(Date.now(), e.deltaX, e.deltaY);\r\n }\r\n }\r\n // console.log(`${Date.now()}, ${e.deltaY}, ${e.deltaX}`);\r\n let didScroll = false;\r\n if (e.deltaY || e.deltaX) {\r\n let deltaY = e.deltaY * this._options.mouseWheelScrollSensitivity;\r\n let deltaX = e.deltaX * this._options.mouseWheelScrollSensitivity;\r\n if (this._options.scrollPredominantAxis) {\r\n if (Math.abs(deltaY) >= Math.abs(deltaX)) {\r\n deltaX = 0;\r\n }\r\n else {\r\n deltaY = 0;\r\n }\r\n }\r\n if (this._options.flipAxes) {\r\n [deltaY, deltaX] = [deltaX, deltaY];\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 const shiftConvert = !_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.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 const futureScrollPosition = this._scrollable.getFutureScrollPosition();\r\n let desiredScrollPosition = {};\r\n if (deltaY) {\r\n const desiredScrollTop = futureScrollPosition.scrollTop - SCROLL_WHEEL_SENSITIVITY * deltaY;\r\n this._verticalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollTop);\r\n }\r\n if (deltaX) {\r\n const 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 const 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 didScroll = true;\r\n }\r\n }\r\n let consumeMouseWheel = didScroll;\r\n if (!consumeMouseWheel && this._options.alwaysConsumeMouseWheel) {\r\n consumeMouseWheel = true;\r\n }\r\n if (!consumeMouseWheel && this._options.consumeMouseWheelIfScrollbarIsNeeded && (this._verticalScrollbar.isNeeded() || this._horizontalScrollbar.isNeeded())) {\r\n consumeMouseWheel = true;\r\n }\r\n if (consumeMouseWheel) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n _onDidScroll(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 renderNow() {\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 _render() {\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 const scrollState = this._scrollable.getCurrentScrollPosition();\r\n const enableTop = scrollState.scrollTop > 0;\r\n const 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 _onDragStart() {\r\n this._isDragging = true;\r\n this._reveal();\r\n }\r\n _onDragEnd() {\r\n this._isDragging = false;\r\n this._hide();\r\n }\r\n _onMouseOut(e) {\r\n this._mouseIsOver = false;\r\n this._hide();\r\n }\r\n _onMouseOver(e) {\r\n this._mouseIsOver = true;\r\n this._reveal();\r\n }\r\n _reveal() {\r\n this._verticalScrollbar.beginReveal();\r\n this._horizontalScrollbar.beginReveal();\r\n this._scheduleHide();\r\n }\r\n _hide() {\r\n if (!this._mouseIsOver && !this._isDragging) {\r\n this._verticalScrollbar.beginHide();\r\n this._horizontalScrollbar.beginHide();\r\n }\r\n }\r\n _scheduleHide() {\r\n if (!this._mouseIsOver && !this._isDragging) {\r\n this._hideTimeout.cancelAndSet(() => this._hide(), HIDE_TIMEOUT);\r\n }\r\n }\r\n}\r\nclass ScrollableElement extends AbstractScrollableElement {\r\n constructor(element, options) {\r\n options = options || {};\r\n options.mouseWheelSmoothScroll = false;\r\n const scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable(0, (callback) => _dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame(callback));\r\n super(element, options, scrollable);\r\n this._register(scrollable);\r\n }\r\n setScrollPosition(update) {\r\n this._scrollable.setScrollPositionNow(update);\r\n }\r\n}\r\nclass SmoothScrollableElement extends AbstractScrollableElement {\r\n constructor(element, options, scrollable) {\r\n super(element, options, scrollable);\r\n }\r\n setScrollPosition(update) {\r\n if (update.reuseAnimation) {\r\n this._scrollable.setScrollPositionSmooth(update, update.reuseAnimation);\r\n }\r\n else {\r\n this._scrollable.setScrollPositionNow(update);\r\n }\r\n }\r\n getScrollPosition() {\r\n return this._scrollable.getCurrentScrollPosition();\r\n }\r\n}\r\nclass DomScrollableElement extends ScrollableElement {\r\n constructor(element, options) {\r\n super(element, options);\r\n this._element = element;\r\n this.onScroll((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 }\r\n scanDomNode() {\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}\r\nfunction resolveOptions(opts) {\r\n const 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 consumeMouseWheelIfScrollbarIsNeeded: (typeof opts.consumeMouseWheelIfScrollbarIsNeeded !== 'undefined' ? opts.consumeMouseWheelIfScrollbarIsNeeded : 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 scrollPredominantAxis: (typeof opts.scrollPredominantAxis !== 'undefined' ? opts.scrollPredominantAxis : true),\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 scrollByPage: (typeof opts.scrollByPage !== 'undefined' ? opts.scrollByPage : false)\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 (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh) {\r\n result.className += ' mac';\r\n }\r\n return result;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ARROW_IMG_SIZE\": () => (/* binding */ ARROW_IMG_SIZE),\n/* harmony export */ \"ScrollbarArrow\": () => (/* binding */ ScrollbarArrow)\n/* harmony export */ });\n/* harmony import */ var _globalMouseMoveMonitor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../globalMouseMoveMonitor.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/globalMouseMoveMonitor.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.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 * The arrow image size.\r\n */\r\nconst ARROW_IMG_SIZE = 11;\r\nclass ScrollbarArrow extends _widget_js__WEBPACK_IMPORTED_MODULE_1__.Widget {\r\n constructor(opts) {\r\n super();\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.classList.add(...opts.icon.classNamesArray);\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_js__WEBPACK_IMPORTED_MODULE_0__.GlobalMouseMoveMonitor());\r\n this.onmousedown(this.bgDomNode, (e) => this._arrowMouseDown(e));\r\n this.onmousedown(this.domNode, (e) => this._arrowMouseDown(e));\r\n this._mousedownRepeatTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.IntervalTimer());\r\n this._mousedownScheduleRepeatTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutTimer());\r\n }\r\n _arrowMouseDown(e) {\r\n const scheduleRepeater = () => {\r\n this._mousedownRepeatTimer.cancelAndSet(() => 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_js__WEBPACK_IMPORTED_MODULE_0__.standardMouseMoveMerger, (mouseMoveData) => {\r\n /* Intentional empty */\r\n }, () => {\r\n this._mousedownRepeatTimer.cancel();\r\n this._mousedownScheduleRepeatTimer.cancel();\r\n });\r\n e.preventDefault();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ScrollbarState\": () => (/* binding */ ScrollbarState)\n/* harmony export */ });\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\nconst MINIMUM_SLIDER_SIZE = 20;\r\nclass ScrollbarState {\r\n constructor(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 clone() {\r\n return new ScrollbarState(this._arrowSize, this._scrollbarSize, this._oppositeScrollbarSize, this._visibleSize, this._scrollSize, this._scrollPosition);\r\n }\r\n setVisibleSize(visibleSize) {\r\n const 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 setScrollSize(scrollSize) {\r\n const 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 setScrollPosition(scrollPosition) {\r\n const 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 setScrollbarSize(scrollbarSize) {\r\n this._scrollbarSize = scrollbarSize;\r\n }\r\n static _computeValues(oppositeScrollbarSize, arrowSize, visibleSize, scrollSize, scrollPosition) {\r\n const computedAvailableSize = Math.max(0, visibleSize - oppositeScrollbarSize);\r\n const computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * arrowSize);\r\n const 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 const 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 const computedSliderRatio = (computedRepresentableSize - computedSliderSize) / (scrollSize - visibleSize);\r\n const 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 _refreshComputedValues() {\r\n const 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 getArrowSize() {\r\n return this._arrowSize;\r\n }\r\n getScrollPosition() {\r\n return this._scrollPosition;\r\n }\r\n getRectangleLargeSize() {\r\n return this._computedAvailableSize;\r\n }\r\n getRectangleSmallSize() {\r\n return this._scrollbarSize;\r\n }\r\n isNeeded() {\r\n return this._computedIsNeeded;\r\n }\r\n getSliderSize() {\r\n return this._computedSliderSize;\r\n }\r\n getSliderPosition() {\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 getDesiredScrollPositionFromOffset(offset) {\r\n if (!this._computedIsNeeded) {\r\n // no need for a slider\r\n return 0;\r\n }\r\n const 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` from if offset is before or after the slider position.\r\n * If offset is before slider, treat as a page up (or left). If after, page down (or right).\r\n * `offset` and `_computedSliderPosition` are based on the same coordinate system.\r\n * `_visibleSize` corresponds to a \"page\" of lines in the returned coordinate system.\r\n */\r\n getDesiredScrollPositionFromOffsetPaged(offset) {\r\n if (!this._computedIsNeeded) {\r\n // no need for a slider\r\n return 0;\r\n }\r\n const correctedOffset = offset - this._arrowSize; // compensate if has arrows\r\n let desiredScrollPosition = this._scrollPosition;\r\n if (correctedOffset < this._computedSliderPosition) {\r\n desiredScrollPosition -= this._visibleSize; // page up/left\r\n }\r\n else {\r\n desiredScrollPosition += this._visibleSize; // page down/right\r\n }\r\n return desiredScrollPosition;\r\n }\r\n /**\r\n * Compute a desired `scrollPosition` such that the slider moves by `delta`.\r\n */\r\n getDesiredScrollPositionFromDelta(delta) {\r\n if (!this._computedIsNeeded) {\r\n // no need for a slider\r\n return 0;\r\n }\r\n const desiredSliderPosition = this._computedSliderPosition + delta;\r\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js": /*!******************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js ***! \******************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ScrollbarVisibilityController\": () => (/* binding */ ScrollbarVisibilityController)\n/* harmony export */ });\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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\nclass ScrollbarVisibilityController extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(visibility, visibleClassName, invisibleClassName) {\r\n super();\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_js__WEBPACK_IMPORTED_MODULE_0__.TimeoutTimer());\r\n }\r\n // ----------------- Hide / Reveal\r\n applyVisibilitySetting(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 setShouldBeVisible(rawShouldBeVisible) {\r\n const 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 setIsNeeded(isNeeded) {\r\n if (this._isNeeded !== isNeeded) {\r\n this._isNeeded = isNeeded;\r\n this.ensureVisibility();\r\n }\r\n }\r\n setDomNode(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 ensureVisibility() {\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 _reveal() {\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(() => {\r\n if (this._domNode) {\r\n this._domNode.setClassName(this._visibleClassName);\r\n }\r\n }, 0);\r\n }\r\n _hide(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}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js": /*!******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js ***! \******************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"VerticalScrollbar\": () => (/* binding */ VerticalScrollbar)\n/* harmony export */ });\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarState.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst scrollbarButtonUpIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.registerCodicon)('scrollbar-button-up', _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.triangleUp);\r\nconst scrollbarButtonDownIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.registerCodicon)('scrollbar-button-down', _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.triangleDown);\r\nclass VerticalScrollbar extends _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__.AbstractScrollbar {\r\n constructor(scrollable, options, host) {\r\n const scrollDimensions = scrollable.getScrollDimensions();\r\n const scrollPosition = scrollable.getCurrentScrollPosition();\r\n super({\r\n lazyRender: options.lazyRender,\r\n host: host,\r\n scrollbarState: new _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__.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 scrollByPage: options.scrollByPage\r\n });\r\n if (options.verticalHasArrows) {\r\n const arrowDelta = (options.arrowSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\r\n const scrollbarDelta = (options.verticalScrollbarSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\r\n this._createArrow({\r\n className: 'scra',\r\n icon: scrollbarButtonUpIcon,\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: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 0, 1)),\r\n });\r\n this._createArrow({\r\n className: 'scra',\r\n icon: scrollbarButtonDownIcon,\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: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.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 }\r\n _updateSlider(sliderSize, sliderPosition) {\r\n this.slider.setHeight(sliderSize);\r\n this.slider.setTop(sliderPosition);\r\n }\r\n _renderDomNode(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 onDidScroll(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 _mouseDownRelativePosition(offsetX, offsetY) {\r\n return offsetY;\r\n }\r\n _sliderMousePosition(e) {\r\n return e.posy;\r\n }\r\n _sliderOrthogonalMousePosition(e) {\r\n return e.posx;\r\n }\r\n _updateScrollbarSize(size) {\r\n this.slider.setWidth(size);\r\n }\r\n writeScrollPosition(target, scrollPosition) {\r\n target.scrollTop = scrollPosition;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Sizing\": () => (/* binding */ Sizing),\n/* harmony export */ \"SplitView\": () => (/* binding */ SplitView)\n/* harmony export */ });\n/* harmony import */ var _splitview_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./splitview.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _sash_sash_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../sash/sash.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.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\nconst defaultStyles = {\r\n separatorBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_7__.Color.transparent\r\n};\r\nclass ViewItem {\r\n constructor(container, view, size, disposable) {\r\n this.container = container;\r\n this.view = view;\r\n this.disposable = disposable;\r\n this._cachedVisibleSize = undefined;\r\n if (typeof size === 'number') {\r\n this._size = size;\r\n this._cachedVisibleSize = undefined;\r\n container.classList.add('visible');\r\n }\r\n else {\r\n this._size = 0;\r\n this._cachedVisibleSize = size.cachedVisibleSize;\r\n }\r\n }\r\n set size(size) {\r\n this._size = size;\r\n }\r\n get size() {\r\n return this._size;\r\n }\r\n get visible() {\r\n return typeof this._cachedVisibleSize === 'undefined';\r\n }\r\n setVisible(visible, size) {\r\n if (visible === this.visible) {\r\n return;\r\n }\r\n if (visible) {\r\n this.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(this._cachedVisibleSize, this.viewMinimumSize, this.viewMaximumSize);\r\n this._cachedVisibleSize = undefined;\r\n }\r\n else {\r\n this._cachedVisibleSize = typeof size === 'number' ? size : this.size;\r\n this.size = 0;\r\n }\r\n this.container.classList.toggle('visible', visible);\r\n if (this.view.setVisible) {\r\n this.view.setVisible(visible);\r\n }\r\n }\r\n get minimumSize() { return this.visible ? this.view.minimumSize : 0; }\r\n get viewMinimumSize() { return this.view.minimumSize; }\r\n get maximumSize() { return this.visible ? this.view.maximumSize : 0; }\r\n get viewMaximumSize() { return this.view.maximumSize; }\r\n get priority() { return this.view.priority; }\r\n get snap() { return !!this.view.snap; }\r\n set enabled(enabled) {\r\n this.container.style.pointerEvents = enabled ? '' : 'none';\r\n }\r\n layout(offset, layoutContext) {\r\n this.layoutContainer(offset);\r\n this.view.layout(this.size, offset, layoutContext);\r\n }\r\n dispose() {\r\n this.disposable.dispose();\r\n return this.view;\r\n }\r\n}\r\nclass VerticalViewItem extends ViewItem {\r\n layoutContainer(offset) {\r\n this.container.style.top = `${offset}px`;\r\n this.container.style.height = `${this.size}px`;\r\n }\r\n}\r\nclass HorizontalViewItem extends ViewItem {\r\n layoutContainer(offset) {\r\n this.container.style.left = `${offset}px`;\r\n this.container.style.width = `${this.size}px`;\r\n }\r\n}\r\nvar State;\r\n(function (State) {\r\n State[State[\"Idle\"] = 0] = \"Idle\";\r\n State[State[\"Busy\"] = 1] = \"Busy\";\r\n})(State || (State = {}));\r\nvar Sizing;\r\n(function (Sizing) {\r\n Sizing.Distribute = { type: 'distribute' };\r\n function Split(index) { return { type: 'split', index }; }\r\n Sizing.Split = Split;\r\n function Invisible(cachedVisibleSize) { return { type: 'invisible', cachedVisibleSize }; }\r\n Sizing.Invisible = Invisible;\r\n})(Sizing || (Sizing = {}));\r\nclass SplitView extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(container, options = {}) {\r\n var _a, _b;\r\n super();\r\n this.size = 0;\r\n this.contentSize = 0;\r\n this.proportions = undefined;\r\n this.viewItems = [];\r\n this.sashItems = [];\r\n this.state = State.Idle;\r\n this._onDidSashChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\r\n this.onDidSashChange = this._onDidSashChange.event;\r\n this._onDidSashReset = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\r\n this._startSnappingEnabled = true;\r\n this._endSnappingEnabled = true;\r\n this.orientation = _common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefined(options.orientation) ? 0 /* VERTICAL */ : options.orientation;\r\n this.inverseAltBehavior = !!options.inverseAltBehavior;\r\n this.proportionalLayout = _common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefined(options.proportionalLayout) ? true : !!options.proportionalLayout;\r\n this.getSashOrthogonalSize = options.getSashOrthogonalSize;\r\n this.el = document.createElement('div');\r\n this.el.classList.add('monaco-split-view2');\r\n this.el.classList.add(this.orientation === 0 /* VERTICAL */ ? 'vertical' : 'horizontal');\r\n container.appendChild(this.el);\r\n this.sashContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.$)('.sash-container'));\r\n this.viewContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.$)('.split-view-container');\r\n this.scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable(125, _dom_js__WEBPACK_IMPORTED_MODULE_9__.scheduleAtNextAnimationFrame);\r\n this.scrollableElement = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_10__.SmoothScrollableElement(this.viewContainer, {\r\n vertical: this.orientation === 0 /* VERTICAL */ ? ((_a = options.scrollbarVisibility) !== null && _a !== void 0 ? _a : 1 /* Auto */) : 2 /* Hidden */,\r\n horizontal: this.orientation === 1 /* HORIZONTAL */ ? ((_b = options.scrollbarVisibility) !== null && _b !== void 0 ? _b : 1 /* Auto */) : 2 /* Hidden */\r\n }, this.scrollable));\r\n this._register(this.scrollableElement.onScroll(e => {\r\n this.viewContainer.scrollTop = e.scrollTop;\r\n this.viewContainer.scrollLeft = e.scrollLeft;\r\n }));\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.append)(this.el, this.scrollableElement.getDomNode());\r\n this.style(options.styles || defaultStyles);\r\n // We have an existing set of view, add them now\r\n if (options.descriptor) {\r\n this.size = options.descriptor.size;\r\n options.descriptor.views.forEach((viewDescriptor, index) => {\r\n const sizing = _common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefined(viewDescriptor.visible) || viewDescriptor.visible ? viewDescriptor.size : { type: 'invisible', cachedVisibleSize: viewDescriptor.size };\r\n const view = viewDescriptor.view;\r\n this.doAddView(view, sizing, index, true);\r\n });\r\n // Initialize content size and proportions for first layout\r\n this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\r\n this.saveProportions();\r\n }\r\n }\r\n get orthogonalStartSash() { return this._orthogonalStartSash; }\r\n set orthogonalStartSash(sash) {\r\n for (const sashItem of this.sashItems) {\r\n sashItem.sash.orthogonalStartSash = sash;\r\n }\r\n this._orthogonalStartSash = sash;\r\n }\r\n get orthogonalEndSash() { return this._orthogonalEndSash; }\r\n set orthogonalEndSash(sash) {\r\n for (const sashItem of this.sashItems) {\r\n sashItem.sash.orthogonalEndSash = sash;\r\n }\r\n this._orthogonalEndSash = sash;\r\n }\r\n get startSnappingEnabled() { return this._startSnappingEnabled; }\r\n set startSnappingEnabled(startSnappingEnabled) {\r\n if (this._startSnappingEnabled === startSnappingEnabled) {\r\n return;\r\n }\r\n this._startSnappingEnabled = startSnappingEnabled;\r\n this.updateSashEnablement();\r\n }\r\n get endSnappingEnabled() { return this._endSnappingEnabled; }\r\n set endSnappingEnabled(endSnappingEnabled) {\r\n if (this._endSnappingEnabled === endSnappingEnabled) {\r\n return;\r\n }\r\n this._endSnappingEnabled = endSnappingEnabled;\r\n this.updateSashEnablement();\r\n }\r\n style(styles) {\r\n if (styles.separatorBorder.isTransparent()) {\r\n this.el.classList.remove('separator-border');\r\n this.el.style.removeProperty('--separator-border');\r\n }\r\n else {\r\n this.el.classList.add('separator-border');\r\n this.el.style.setProperty('--separator-border', styles.separatorBorder.toString());\r\n }\r\n }\r\n addView(view, size, index = this.viewItems.length, skipLayout) {\r\n this.doAddView(view, size, index, skipLayout);\r\n }\r\n layout(size, layoutContext) {\r\n const previousSize = Math.max(this.size, this.contentSize);\r\n this.size = size;\r\n this.layoutContext = layoutContext;\r\n if (!this.proportions) {\r\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(this.viewItems.length);\r\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* Low */);\r\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* High */);\r\n this.resize(this.viewItems.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);\r\n }\r\n else {\r\n for (let i = 0; i < this.viewItems.length; i++) {\r\n const item = this.viewItems[i];\r\n item.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(Math.round(this.proportions[i] * size), item.minimumSize, item.maximumSize);\r\n }\r\n }\r\n this.distributeEmptySpace();\r\n this.layoutViews();\r\n }\r\n saveProportions() {\r\n if (this.proportionalLayout && this.contentSize > 0) {\r\n this.proportions = this.viewItems.map(i => i.size / this.contentSize);\r\n }\r\n }\r\n onSashStart({ sash, start, alt }) {\r\n for (const item of this.viewItems) {\r\n item.enabled = false;\r\n }\r\n const index = this.sashItems.findIndex(item => item.sash === sash);\r\n // This way, we can press Alt while we resize a sash, macOS style!\r\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.combinedDisposable)((0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(document.body, 'keydown')(e => resetSashDragState(this.sashDragState.current, e.altKey)), (0,_event_js__WEBPACK_IMPORTED_MODULE_8__.domEvent)(document.body, 'keyup')(() => resetSashDragState(this.sashDragState.current, false)));\r\n const resetSashDragState = (start, alt) => {\r\n const sizes = this.viewItems.map(i => i.size);\r\n let minDelta = Number.NEGATIVE_INFINITY;\r\n let maxDelta = Number.POSITIVE_INFINITY;\r\n if (this.inverseAltBehavior) {\r\n alt = !alt;\r\n }\r\n if (alt) {\r\n // When we're using the last sash with Alt, we're resizing\r\n // the view to the left/up, instead of right/down as usual\r\n // Thus, we must do the inverse of the usual\r\n const isLastSash = index === this.sashItems.length - 1;\r\n if (isLastSash) {\r\n const viewItem = this.viewItems[index];\r\n minDelta = (viewItem.minimumSize - viewItem.size) / 2;\r\n maxDelta = (viewItem.maximumSize - viewItem.size) / 2;\r\n }\r\n else {\r\n const viewItem = this.viewItems[index + 1];\r\n minDelta = (viewItem.size - viewItem.maximumSize) / 2;\r\n maxDelta = (viewItem.size - viewItem.minimumSize) / 2;\r\n }\r\n }\r\n let snapBefore;\r\n let snapAfter;\r\n if (!alt) {\r\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index, -1);\r\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index + 1, this.viewItems.length);\r\n const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);\r\n const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].viewMaximumSize - sizes[i]), 0);\r\n const maxDeltaDown = downIndexes.length === 0 ? Number.POSITIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].minimumSize), 0);\r\n const minDeltaDown = downIndexes.length === 0 ? Number.NEGATIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].viewMaximumSize), 0);\r\n const minDelta = Math.max(minDeltaUp, minDeltaDown);\r\n const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);\r\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\r\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\r\n if (typeof snapBeforeIndex === 'number') {\r\n const viewItem = this.viewItems[snapBeforeIndex];\r\n const halfSize = Math.floor(viewItem.viewMinimumSize / 2);\r\n snapBefore = {\r\n index: snapBeforeIndex,\r\n limitDelta: viewItem.visible ? minDelta - halfSize : minDelta + halfSize,\r\n size: viewItem.size\r\n };\r\n }\r\n if (typeof snapAfterIndex === 'number') {\r\n const viewItem = this.viewItems[snapAfterIndex];\r\n const halfSize = Math.floor(viewItem.viewMinimumSize / 2);\r\n snapAfter = {\r\n index: snapAfterIndex,\r\n limitDelta: viewItem.visible ? maxDelta + halfSize : maxDelta - halfSize,\r\n size: viewItem.size\r\n };\r\n }\r\n }\r\n this.sashDragState = { start, current: start, index, sizes, minDelta, maxDelta, alt, snapBefore, snapAfter, disposable };\r\n };\r\n resetSashDragState(start, alt);\r\n }\r\n onSashChange({ current }) {\r\n const { index, start, sizes, alt, minDelta, maxDelta, snapBefore, snapAfter } = this.sashDragState;\r\n this.sashDragState.current = current;\r\n const delta = current - start;\r\n const newDelta = this.resize(index, delta, sizes, undefined, undefined, minDelta, maxDelta, snapBefore, snapAfter);\r\n if (alt) {\r\n const isLastSash = index === this.sashItems.length - 1;\r\n const newSizes = this.viewItems.map(i => i.size);\r\n const viewItemIndex = isLastSash ? index : index + 1;\r\n const viewItem = this.viewItems[viewItemIndex];\r\n const newMinDelta = viewItem.size - viewItem.maximumSize;\r\n const newMaxDelta = viewItem.size - viewItem.minimumSize;\r\n const resizeIndex = isLastSash ? index - 1 : index + 1;\r\n this.resize(resizeIndex, -newDelta, newSizes, undefined, undefined, newMinDelta, newMaxDelta);\r\n }\r\n this.distributeEmptySpace();\r\n this.layoutViews();\r\n }\r\n onSashEnd(index) {\r\n this._onDidSashChange.fire(index);\r\n this.sashDragState.disposable.dispose();\r\n this.saveProportions();\r\n for (const item of this.viewItems) {\r\n item.enabled = true;\r\n }\r\n }\r\n onViewChange(item, size) {\r\n const index = this.viewItems.indexOf(item);\r\n if (index < 0 || index >= this.viewItems.length) {\r\n return;\r\n }\r\n size = typeof size === 'number' ? size : item.size;\r\n size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(size, item.minimumSize, item.maximumSize);\r\n if (this.inverseAltBehavior && index > 0) {\r\n // In this case, we want the view to grow or shrink both sides equally\r\n // so we just resize the \"left\" side by half and let `resize` do the clamping magic\r\n this.resize(index - 1, Math.floor((item.size - size) / 2));\r\n this.distributeEmptySpace();\r\n this.layoutViews();\r\n }\r\n else {\r\n item.size = size;\r\n this.relayout([index], undefined);\r\n }\r\n }\r\n resizeView(index, size) {\r\n if (this.state !== State.Idle) {\r\n throw new Error('Cant modify splitview');\r\n }\r\n this.state = State.Busy;\r\n if (index < 0 || index >= this.viewItems.length) {\r\n return;\r\n }\r\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(this.viewItems.length).filter(i => i !== index);\r\n const lowPriorityIndexes = [...indexes.filter(i => this.viewItems[i].priority === 1 /* Low */), index];\r\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* High */);\r\n const item = this.viewItems[index];\r\n size = Math.round(size);\r\n size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(size, item.minimumSize, Math.min(item.maximumSize, this.size));\r\n item.size = size;\r\n this.relayout(lowPriorityIndexes, highPriorityIndexes);\r\n this.state = State.Idle;\r\n }\r\n distributeViewSizes() {\r\n const flexibleViewItems = [];\r\n let flexibleSize = 0;\r\n for (const item of this.viewItems) {\r\n if (item.maximumSize - item.minimumSize > 0) {\r\n flexibleViewItems.push(item);\r\n flexibleSize += item.size;\r\n }\r\n }\r\n const size = Math.floor(flexibleSize / flexibleViewItems.length);\r\n for (const item of flexibleViewItems) {\r\n item.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(size, item.minimumSize, item.maximumSize);\r\n }\r\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(this.viewItems.length);\r\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* Low */);\r\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* High */);\r\n this.relayout(lowPriorityIndexes, highPriorityIndexes);\r\n }\r\n getViewSize(index) {\r\n if (index < 0 || index >= this.viewItems.length) {\r\n return -1;\r\n }\r\n return this.viewItems[index].size;\r\n }\r\n doAddView(view, size, index = this.viewItems.length, skipLayout) {\r\n if (this.state !== State.Idle) {\r\n throw new Error('Cant modify splitview');\r\n }\r\n this.state = State.Busy;\r\n // Add view\r\n const container = (0,_dom_js__WEBPACK_IMPORTED_MODULE_9__.$)('.split-view-view');\r\n if (index === this.viewItems.length) {\r\n this.viewContainer.appendChild(container);\r\n }\r\n else {\r\n this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));\r\n }\r\n const onChangeDisposable = view.onDidChange(size => this.onViewChange(item, size));\r\n const containerDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => this.viewContainer.removeChild(container));\r\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.combinedDisposable)(onChangeDisposable, containerDisposable);\r\n let viewSize;\r\n if (typeof size === 'number') {\r\n viewSize = size;\r\n }\r\n else if (size.type === 'split') {\r\n viewSize = this.getViewSize(size.index) / 2;\r\n }\r\n else if (size.type === 'invisible') {\r\n viewSize = { cachedVisibleSize: size.cachedVisibleSize };\r\n }\r\n else {\r\n viewSize = view.minimumSize;\r\n }\r\n const item = this.orientation === 0 /* VERTICAL */\r\n ? new VerticalViewItem(container, view, viewSize, disposable)\r\n : new HorizontalViewItem(container, view, viewSize, disposable);\r\n this.viewItems.splice(index, 0, item);\r\n // Add sash\r\n if (this.viewItems.length > 1) {\r\n let opts = { orthogonalStartSash: this.orthogonalStartSash, orthogonalEndSash: this.orthogonalEndSash };\r\n const sash = this.orientation === 0 /* VERTICAL */\r\n ? new _sash_sash_js__WEBPACK_IMPORTED_MODULE_6__.Sash(this.sashContainer, { getHorizontalSashTop: s => this.getSashPosition(s), getHorizontalSashWidth: this.getSashOrthogonalSize }, Object.assign(Object.assign({}, opts), { orientation: 1 /* HORIZONTAL */ }))\r\n : new _sash_sash_js__WEBPACK_IMPORTED_MODULE_6__.Sash(this.sashContainer, { getVerticalSashLeft: s => this.getSashPosition(s), getVerticalSashHeight: this.getSashOrthogonalSize }, Object.assign(Object.assign({}, opts), { orientation: 0 /* VERTICAL */ }));\r\n const sashEventMapper = this.orientation === 0 /* VERTICAL */\r\n ? (e) => ({ sash, start: e.startY, current: e.currentY, alt: e.altKey })\r\n : (e) => ({ sash, start: e.startX, current: e.currentX, alt: e.altKey });\r\n const onStart = _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(sash.onDidStart, sashEventMapper);\r\n const onStartDisposable = onStart(this.onSashStart, this);\r\n const onChange = _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(sash.onDidChange, sashEventMapper);\r\n const onChangeDisposable = onChange(this.onSashChange, this);\r\n const onEnd = _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(sash.onDidEnd, () => this.sashItems.findIndex(item => item.sash === sash));\r\n const onEndDisposable = onEnd(this.onSashEnd, this);\r\n const onDidResetDisposable = sash.onDidReset(() => {\r\n const index = this.sashItems.findIndex(item => item.sash === sash);\r\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index, -1);\r\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index + 1, this.viewItems.length);\r\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\r\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\r\n if (typeof snapBeforeIndex === 'number' && !this.viewItems[snapBeforeIndex].visible) {\r\n return;\r\n }\r\n if (typeof snapAfterIndex === 'number' && !this.viewItems[snapAfterIndex].visible) {\r\n return;\r\n }\r\n this._onDidSashReset.fire(index);\r\n });\r\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.combinedDisposable)(onStartDisposable, onChangeDisposable, onEndDisposable, onDidResetDisposable, sash);\r\n const sashItem = { sash, disposable };\r\n this.sashItems.splice(index - 1, 0, sashItem);\r\n }\r\n container.appendChild(view.element);\r\n let highPriorityIndexes;\r\n if (typeof size !== 'number' && size.type === 'split') {\r\n highPriorityIndexes = [size.index];\r\n }\r\n if (!skipLayout) {\r\n this.relayout([index], highPriorityIndexes);\r\n }\r\n this.state = State.Idle;\r\n if (!skipLayout && typeof size !== 'number' && size.type === 'distribute') {\r\n this.distributeViewSizes();\r\n }\r\n }\r\n relayout(lowPriorityIndexes, highPriorityIndexes) {\r\n const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\r\n this.resize(this.viewItems.length - 1, this.size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);\r\n this.distributeEmptySpace();\r\n this.layoutViews();\r\n this.saveProportions();\r\n }\r\n resize(index, delta, sizes = this.viewItems.map(i => i.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) {\r\n if (index < 0 || index >= this.viewItems.length) {\r\n return 0;\r\n }\r\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index, -1);\r\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index + 1, this.viewItems.length);\r\n if (highPriorityIndexes) {\r\n for (const index of highPriorityIndexes) {\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToStart)(upIndexes, index);\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToStart)(downIndexes, index);\r\n }\r\n }\r\n if (lowPriorityIndexes) {\r\n for (const index of lowPriorityIndexes) {\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToEnd)(upIndexes, index);\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToEnd)(downIndexes, index);\r\n }\r\n }\r\n const upItems = upIndexes.map(i => this.viewItems[i]);\r\n const upSizes = upIndexes.map(i => sizes[i]);\r\n const downItems = downIndexes.map(i => this.viewItems[i]);\r\n const downSizes = downIndexes.map(i => sizes[i]);\r\n const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);\r\n const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].maximumSize - sizes[i]), 0);\r\n const maxDeltaDown = downIndexes.length === 0 ? Number.POSITIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].minimumSize), 0);\r\n const minDeltaDown = downIndexes.length === 0 ? Number.NEGATIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].maximumSize), 0);\r\n const minDelta = Math.max(minDeltaUp, minDeltaDown, overloadMinDelta);\r\n const maxDelta = Math.min(maxDeltaDown, maxDeltaUp, overloadMaxDelta);\r\n let snapped = false;\r\n if (snapBefore) {\r\n const snapView = this.viewItems[snapBefore.index];\r\n const visible = delta >= snapBefore.limitDelta;\r\n snapped = visible !== snapView.visible;\r\n snapView.setVisible(visible, snapBefore.size);\r\n }\r\n if (!snapped && snapAfter) {\r\n const snapView = this.viewItems[snapAfter.index];\r\n const visible = delta < snapAfter.limitDelta;\r\n snapped = visible !== snapView.visible;\r\n snapView.setVisible(visible, snapAfter.size);\r\n }\r\n if (snapped) {\r\n return this.resize(index, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);\r\n }\r\n delta = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(delta, minDelta, maxDelta);\r\n for (let i = 0, deltaUp = delta; i < upItems.length; i++) {\r\n const item = upItems[i];\r\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(upSizes[i] + deltaUp, item.minimumSize, item.maximumSize);\r\n const viewDelta = size - upSizes[i];\r\n deltaUp -= viewDelta;\r\n item.size = size;\r\n }\r\n for (let i = 0, deltaDown = delta; i < downItems.length; i++) {\r\n const item = downItems[i];\r\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(downSizes[i] - deltaDown, item.minimumSize, item.maximumSize);\r\n const viewDelta = size - downSizes[i];\r\n deltaDown += viewDelta;\r\n item.size = size;\r\n }\r\n return delta;\r\n }\r\n distributeEmptySpace(lowPriorityIndex) {\r\n const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\r\n let emptyDelta = this.size - contentSize;\r\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(this.viewItems.length - 1, -1);\r\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* Low */);\r\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* High */);\r\n for (const index of highPriorityIndexes) {\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToStart)(indexes, index);\r\n }\r\n for (const index of lowPriorityIndexes) {\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToEnd)(indexes, index);\r\n }\r\n if (typeof lowPriorityIndex === 'number') {\r\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.pushToEnd)(indexes, lowPriorityIndex);\r\n }\r\n for (let i = 0; emptyDelta !== 0 && i < indexes.length; i++) {\r\n const item = this.viewItems[indexes[i]];\r\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_4__.clamp)(item.size + emptyDelta, item.minimumSize, item.maximumSize);\r\n const viewDelta = size - item.size;\r\n emptyDelta -= viewDelta;\r\n item.size = size;\r\n }\r\n }\r\n layoutViews() {\r\n // Save new content size\r\n this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\r\n // Layout views\r\n let offset = 0;\r\n for (const viewItem of this.viewItems) {\r\n viewItem.layout(offset, this.layoutContext);\r\n offset += viewItem.size;\r\n }\r\n // Layout sashes\r\n this.sashItems.forEach(item => item.sash.layout());\r\n this.updateSashEnablement();\r\n this.updateScrollableElement();\r\n }\r\n updateScrollableElement() {\r\n if (this.orientation === 0 /* VERTICAL */) {\r\n this.scrollableElement.setScrollDimensions({\r\n height: this.size,\r\n scrollHeight: this.contentSize\r\n });\r\n }\r\n else {\r\n this.scrollableElement.setScrollDimensions({\r\n width: this.size,\r\n scrollWidth: this.contentSize\r\n });\r\n }\r\n }\r\n updateSashEnablement() {\r\n let previous = false;\r\n const collapsesDown = this.viewItems.map(i => previous = (i.size - i.minimumSize > 0) || previous);\r\n previous = false;\r\n const expandsDown = this.viewItems.map(i => previous = (i.maximumSize - i.size > 0) || previous);\r\n const reverseViews = [...this.viewItems].reverse();\r\n previous = false;\r\n const collapsesUp = reverseViews.map(i => previous = (i.size - i.minimumSize > 0) || previous).reverse();\r\n previous = false;\r\n const expandsUp = reverseViews.map(i => previous = (i.maximumSize - i.size > 0) || previous).reverse();\r\n let position = 0;\r\n for (let index = 0; index < this.sashItems.length; index++) {\r\n const { sash } = this.sashItems[index];\r\n const viewItem = this.viewItems[index];\r\n position += viewItem.size;\r\n const min = !(collapsesDown[index] && expandsUp[index + 1]);\r\n const max = !(expandsDown[index] && collapsesUp[index + 1]);\r\n if (min && max) {\r\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index, -1);\r\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.range)(index + 1, this.viewItems.length);\r\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\r\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\r\n const snappedBefore = typeof snapBeforeIndex === 'number' && !this.viewItems[snapBeforeIndex].visible;\r\n const snappedAfter = typeof snapAfterIndex === 'number' && !this.viewItems[snapAfterIndex].visible;\r\n if (snappedBefore && collapsesUp[index] && (position > 0 || this.startSnappingEnabled)) {\r\n sash.state = 1 /* Minimum */;\r\n }\r\n else if (snappedAfter && collapsesDown[index] && (position < this.contentSize || this.endSnappingEnabled)) {\r\n sash.state = 2 /* Maximum */;\r\n }\r\n else {\r\n sash.state = 0 /* Disabled */;\r\n }\r\n }\r\n else if (min && !max) {\r\n sash.state = 1 /* Minimum */;\r\n }\r\n else if (!min && max) {\r\n sash.state = 2 /* Maximum */;\r\n }\r\n else {\r\n sash.state = 3 /* Enabled */;\r\n }\r\n }\r\n }\r\n getSashPosition(sash) {\r\n let position = 0;\r\n for (let i = 0; i < this.sashItems.length; i++) {\r\n position += this.viewItems[i].size;\r\n if (this.sashItems[i].sash === sash) {\r\n return position;\r\n }\r\n }\r\n return 0;\r\n }\r\n findFirstSnapIndex(indexes) {\r\n // visible views first\r\n for (const index of indexes) {\r\n const viewItem = this.viewItems[index];\r\n if (!viewItem.visible) {\r\n continue;\r\n }\r\n if (viewItem.snap) {\r\n return index;\r\n }\r\n }\r\n // then, hidden views\r\n for (const index of indexes) {\r\n const viewItem = this.viewItems[index];\r\n if (viewItem.visible && viewItem.maximumSize - viewItem.minimumSize > 0) {\r\n return undefined;\r\n }\r\n if (!viewItem.visible && viewItem.snap) {\r\n return index;\r\n }\r\n }\r\n return undefined;\r\n }\r\n dispose() {\r\n super.dispose();\r\n this.viewItems.forEach(i => i.dispose());\r\n this.viewItems = [];\r\n this.sashItems.forEach(i => i.disposable.dispose());\r\n this.sashItems = [];\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Table\": () => (/* binding */ Table)\n/* harmony export */ });\n/* harmony import */ var _table_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./table.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _splitview_splitview_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../splitview/splitview.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nclass TableListRenderer {\r\n constructor(columns, renderers, getColumnSize) {\r\n this.columns = columns;\r\n this.getColumnSize = getColumnSize;\r\n this.templateId = TableListRenderer.TemplateId;\r\n this.renderedTemplates = new Set();\r\n const rendererMap = new Map(renderers.map(r => [r.templateId, r]));\r\n this.renderers = [];\r\n for (const column of columns) {\r\n const renderer = rendererMap.get(column.templateId);\r\n if (!renderer) {\r\n throw new Error(`Table cell renderer for template id ${column.templateId} not found.`);\r\n }\r\n this.renderers.push(renderer);\r\n }\r\n }\r\n renderTemplate(container) {\r\n const rowContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('.monaco-table-tr'));\r\n const cellContainers = [];\r\n const cellTemplateData = [];\r\n for (let i = 0; i < this.columns.length; i++) {\r\n const renderer = this.renderers[i];\r\n const cellContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(rowContainer, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('.monaco-table-td', { 'data-col-index': i }));\r\n cellContainer.style.width = `${this.getColumnSize(i)}px`;\r\n cellContainers.push(cellContainer);\r\n cellTemplateData.push(renderer.renderTemplate(cellContainer));\r\n }\r\n const result = { container, cellContainers, cellTemplateData };\r\n this.renderedTemplates.add(result);\r\n return result;\r\n }\r\n renderElement(element, index, templateData, height) {\r\n for (let i = 0; i < this.columns.length; i++) {\r\n const column = this.columns[i];\r\n const cell = column.project(element);\r\n const renderer = this.renderers[i];\r\n renderer.renderElement(cell, index, templateData.cellTemplateData[i], height);\r\n }\r\n }\r\n disposeElement(element, index, templateData, height) {\r\n for (let i = 0; i < this.columns.length; i++) {\r\n const renderer = this.renderers[i];\r\n if (renderer.disposeElement) {\r\n const column = this.columns[i];\r\n const cell = column.project(element);\r\n renderer.disposeElement(cell, index, templateData.cellTemplateData[i], height);\r\n }\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n for (let i = 0; i < this.columns.length; i++) {\r\n const renderer = this.renderers[i];\r\n renderer.disposeTemplate(templateData.cellTemplateData[i]);\r\n }\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode)(templateData.container);\r\n this.renderedTemplates.delete(templateData);\r\n }\r\n layoutColumn(index, size) {\r\n for (const { cellContainers } of this.renderedTemplates) {\r\n cellContainers[index].style.width = `${size}px`;\r\n }\r\n }\r\n}\r\nTableListRenderer.TemplateId = 'row';\r\nfunction asListVirtualDelegate(delegate) {\r\n return {\r\n getHeight(row) { return delegate.getHeight(row); },\r\n getTemplateId() { return TableListRenderer.TemplateId; },\r\n };\r\n}\r\nclass ColumnHeader {\r\n constructor(column, index) {\r\n this.column = column;\r\n this.index = index;\r\n this._onDidLayout = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this.onDidLayout = this._onDidLayout.event;\r\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('.monaco-table-th', { 'data-col-index': index, title: column.tooltip }, column.label);\r\n }\r\n get minimumSize() { var _a; return (_a = this.column.minimumWidth) !== null && _a !== void 0 ? _a : 120; }\r\n get maximumSize() { var _a; return (_a = this.column.maximumWidth) !== null && _a !== void 0 ? _a : Number.POSITIVE_INFINITY; }\r\n get onDidChange() { var _a; return (_a = this.column.onDidChangeWidthConstraints) !== null && _a !== void 0 ? _a : _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.None; }\r\n layout(size) {\r\n this._onDidLayout.fire([this.index, size]);\r\n }\r\n}\r\nclass Table {\r\n constructor(user, container, virtualDelegate, columns, renderers, _options) {\r\n this.virtualDelegate = virtualDelegate;\r\n this.domId = `table_id_${++Table.InstanceCount}`;\r\n this.cachedHeight = 0;\r\n this.domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)(`.monaco-table.${this.domId}`));\r\n const headers = columns.map((c, i) => new ColumnHeader(c, i));\r\n const descriptor = {\r\n size: headers.reduce((a, b) => a + b.column.weight, 0),\r\n views: headers.map(view => ({ size: view.column.weight, view }))\r\n };\r\n this.splitview = new _splitview_splitview_js__WEBPACK_IMPORTED_MODULE_3__.SplitView(this.domNode, {\r\n orientation: 1 /* HORIZONTAL */,\r\n scrollbarVisibility: 2 /* Hidden */,\r\n getSashOrthogonalSize: () => this.cachedHeight,\r\n descriptor\r\n });\r\n this.splitview.el.style.height = `${virtualDelegate.headerRowHeight}px`;\r\n this.splitview.el.style.lineHeight = `${virtualDelegate.headerRowHeight}px`;\r\n const renderer = new TableListRenderer(columns, renderers, i => this.splitview.getViewSize(i));\r\n this.list = new _list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__.List(user, this.domNode, asListVirtualDelegate(virtualDelegate), [renderer], _options);\r\n this.columnLayoutDisposable = _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.any(...headers.map(h => h.onDidLayout))(([index, size]) => renderer.layoutColumn(index, size));\r\n this.styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.createStyleSheet)(this.domNode);\r\n this.style({});\r\n }\r\n get onDidChangeFocus() { return this.list.onDidChangeFocus; }\r\n get onDidChangeSelection() { return this.list.onDidChangeSelection; }\r\n get onMouseDblClick() { return this.list.onMouseDblClick; }\r\n get onPointer() { return this.list.onPointer; }\r\n get onDidFocus() { return this.list.onDidFocus; }\r\n get onDidDispose() { return this.list.onDidDispose; }\r\n updateOptions(options) {\r\n this.list.updateOptions(options);\r\n }\r\n splice(start, deleteCount, elements = []) {\r\n this.list.splice(start, deleteCount, elements);\r\n }\r\n getHTMLElement() {\r\n return this.domNode;\r\n }\r\n style(styles) {\r\n const content = [];\r\n content.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight + 1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`);\r\n this.styleElement.textContent = content.join('\\n');\r\n this.list.style(styles);\r\n }\r\n getSelectedElements() {\r\n return this.list.getSelectedElements();\r\n }\r\n setSelection(indexes, browserEvent) {\r\n this.list.setSelection(indexes, browserEvent);\r\n }\r\n getSelection() {\r\n return this.list.getSelection();\r\n }\r\n getFocus() {\r\n return this.list.getFocus();\r\n }\r\n dispose() {\r\n this.splitview.dispose();\r\n this.list.dispose();\r\n this.columnLayoutDisposable.dispose();\r\n }\r\n}\r\nTable.InstanceCount = 0;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ComposedTreeDelegate\": () => (/* binding */ ComposedTreeDelegate),\n/* harmony export */ \"RenderIndentGuides\": () => (/* binding */ RenderIndentGuides),\n/* harmony export */ \"AbstractTree\": () => (/* binding */ AbstractTree)\n/* harmony export */ });\n/* harmony import */ var _media_tree_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./media/tree.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _dnd_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../dnd.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dnd.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _list_listView_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../list/listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _common_filters_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_collections_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../common/collections.js */ \"./node_modules/monaco-editor/esm/vs/base/common/collections.js\");\n/* harmony import */ var _treeIcons_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./treeIcons.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/treeIcons.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\nclass TreeElementsDragAndDropData extends _list_listView_js__WEBPACK_IMPORTED_MODULE_9__.ElementsDragAndDropData {\r\n constructor(data) {\r\n super(data.elements.map(node => node.element));\r\n this.data = data;\r\n }\r\n}\r\nfunction asTreeDragAndDropData(data) {\r\n if (data instanceof _list_listView_js__WEBPACK_IMPORTED_MODULE_9__.ElementsDragAndDropData) {\r\n return new TreeElementsDragAndDropData(data);\r\n }\r\n return data;\r\n}\r\nclass TreeNodeListDragAndDrop {\r\n constructor(modelProvider, dnd) {\r\n this.modelProvider = modelProvider;\r\n this.dnd = dnd;\r\n this.autoExpandDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n }\r\n getDragURI(node) {\r\n return this.dnd.getDragURI(node.element);\r\n }\r\n getDragLabel(nodes, originalEvent) {\r\n if (this.dnd.getDragLabel) {\r\n return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);\r\n }\r\n return undefined;\r\n }\r\n onDragStart(data, originalEvent) {\r\n if (this.dnd.onDragStart) {\r\n this.dnd.onDragStart(asTreeDragAndDropData(data), originalEvent);\r\n }\r\n }\r\n onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {\r\n const result = this.dnd.onDragOver(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\r\n const didChangeAutoExpandNode = this.autoExpandNode !== targetNode;\r\n if (didChangeAutoExpandNode) {\r\n this.autoExpandDisposable.dispose();\r\n this.autoExpandNode = targetNode;\r\n }\r\n if (typeof targetNode === 'undefined') {\r\n return result;\r\n }\r\n if (didChangeAutoExpandNode && typeof result !== 'boolean' && result.autoExpand) {\r\n this.autoExpandDisposable = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_14__.disposableTimeout)(() => {\r\n const model = this.modelProvider();\r\n const ref = model.getNodeLocation(targetNode);\r\n if (model.isCollapsed(ref)) {\r\n model.setCollapsed(ref, false);\r\n }\r\n this.autoExpandNode = undefined;\r\n }, 500);\r\n }\r\n if (typeof result === 'boolean' || !result.accept || typeof result.bubble === 'undefined' || result.feedback) {\r\n if (!raw) {\r\n const accept = typeof result === 'boolean' ? result : result.accept;\r\n const effect = typeof result === 'boolean' ? undefined : result.effect;\r\n return { accept, effect, feedback: [targetIndex] };\r\n }\r\n return result;\r\n }\r\n if (result.bubble === 1 /* Up */) {\r\n const model = this.modelProvider();\r\n const ref = model.getNodeLocation(targetNode);\r\n const parentRef = model.getParentNodeLocation(ref);\r\n const parentNode = model.getNode(parentRef);\r\n const parentIndex = parentRef && model.getListIndex(parentRef);\r\n return this.onDragOver(data, parentNode, parentIndex, originalEvent, false);\r\n }\r\n const model = this.modelProvider();\r\n const ref = model.getNodeLocation(targetNode);\r\n const start = model.getListIndex(ref);\r\n const length = model.getListRenderCount(ref);\r\n return Object.assign(Object.assign({}, result), { feedback: (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_8__.range)(start, start + length) });\r\n }\r\n drop(data, targetNode, targetIndex, originalEvent) {\r\n this.autoExpandDisposable.dispose();\r\n this.autoExpandNode = undefined;\r\n this.dnd.drop(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\r\n }\r\n onDragEnd(originalEvent) {\r\n if (this.dnd.onDragEnd) {\r\n this.dnd.onDragEnd(originalEvent);\r\n }\r\n }\r\n}\r\nfunction asListOptions(modelProvider, options) {\r\n return options && Object.assign(Object.assign({}, options), { identityProvider: options.identityProvider && {\r\n getId(el) {\r\n return options.identityProvider.getId(el.element);\r\n }\r\n }, dnd: options.dnd && new TreeNodeListDragAndDrop(modelProvider, options.dnd), multipleSelectionController: options.multipleSelectionController && {\r\n isSelectionSingleChangeEvent(e) {\r\n return options.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\r\n },\r\n isSelectionRangeChangeEvent(e) {\r\n return options.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\r\n }\r\n }, accessibilityProvider: options.accessibilityProvider && Object.assign(Object.assign({}, options.accessibilityProvider), { getSetSize(node) {\r\n const model = modelProvider();\r\n const ref = model.getNodeLocation(node);\r\n const parentRef = model.getParentNodeLocation(ref);\r\n const parentNode = model.getNode(parentRef);\r\n return parentNode.visibleChildrenCount;\r\n },\r\n getPosInSet(node) {\r\n return node.visibleChildIndex + 1;\r\n }, isChecked: options.accessibilityProvider && options.accessibilityProvider.isChecked ? (node) => {\r\n return options.accessibilityProvider.isChecked(node.element);\r\n } : undefined, getRole: options.accessibilityProvider && options.accessibilityProvider.getRole ? (node) => {\r\n return options.accessibilityProvider.getRole(node.element);\r\n } : () => 'treeitem', getAriaLabel(e) {\r\n return options.accessibilityProvider.getAriaLabel(e.element);\r\n },\r\n getWidgetAriaLabel() {\r\n return options.accessibilityProvider.getWidgetAriaLabel();\r\n }, getWidgetRole: options.accessibilityProvider && options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree', getAriaLevel: options.accessibilityProvider && options.accessibilityProvider.getAriaLevel ? (node) => options.accessibilityProvider.getAriaLevel(node.element) : (node) => {\r\n return node.depth;\r\n }, getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {\r\n return options.accessibilityProvider.getActiveDescendantId(node.element);\r\n }) }), keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && Object.assign(Object.assign({}, options.keyboardNavigationLabelProvider), { getKeyboardNavigationLabel(node) {\r\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(node.element);\r\n } }), enableKeyboardNavigation: options.simpleKeyboardNavigation });\r\n}\r\nclass ComposedTreeDelegate {\r\n constructor(delegate) {\r\n this.delegate = delegate;\r\n }\r\n getHeight(element) {\r\n return this.delegate.getHeight(element.element);\r\n }\r\n getTemplateId(element) {\r\n return this.delegate.getTemplateId(element.element);\r\n }\r\n hasDynamicHeight(element) {\r\n return !!this.delegate.hasDynamicHeight && this.delegate.hasDynamicHeight(element.element);\r\n }\r\n setDynamicHeight(element, height) {\r\n if (this.delegate.setDynamicHeight) {\r\n this.delegate.setDynamicHeight(element.element, height);\r\n }\r\n }\r\n}\r\nvar RenderIndentGuides;\r\n(function (RenderIndentGuides) {\r\n RenderIndentGuides[\"None\"] = \"none\";\r\n RenderIndentGuides[\"OnHover\"] = \"onHover\";\r\n RenderIndentGuides[\"Always\"] = \"always\";\r\n})(RenderIndentGuides || (RenderIndentGuides = {}));\r\nclass EventCollection {\r\n constructor(onDidChange, _elements = []) {\r\n this._elements = _elements;\r\n this.onDidChange = _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.forEach(onDidChange, elements => this._elements = elements);\r\n }\r\n get elements() {\r\n return this._elements;\r\n }\r\n}\r\nclass TreeRenderer {\r\n constructor(renderer, modelProvider, onDidChangeCollapseState, activeNodes, options = {}) {\r\n this.renderer = renderer;\r\n this.modelProvider = modelProvider;\r\n this.activeNodes = activeNodes;\r\n this.renderedElements = new Map();\r\n this.renderedNodes = new Map();\r\n this.indent = TreeRenderer.DefaultIndent;\r\n this.hideTwistiesOfChildlessElements = false;\r\n this.shouldRenderIndentGuides = false;\r\n this.renderedIndentGuides = new _common_collections_js__WEBPACK_IMPORTED_MODULE_17__.SetMap();\r\n this.activeIndentNodes = new Set();\r\n this.indentGuidesDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this.templateId = renderer.templateId;\r\n this.updateOptions(options);\r\n _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(onDidChangeCollapseState, e => e.node)(this.onDidChangeNodeTwistieState, this, this.disposables);\r\n if (renderer.onDidChangeTwistieState) {\r\n renderer.onDidChangeTwistieState(this.onDidChangeTwistieState, this, this.disposables);\r\n }\r\n }\r\n updateOptions(options = {}) {\r\n if (typeof options.indent !== 'undefined') {\r\n this.indent = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_16__.clamp)(options.indent, 0, 40);\r\n }\r\n if (typeof options.renderIndentGuides !== 'undefined') {\r\n const shouldRenderIndentGuides = options.renderIndentGuides !== RenderIndentGuides.None;\r\n if (shouldRenderIndentGuides !== this.shouldRenderIndentGuides) {\r\n this.shouldRenderIndentGuides = shouldRenderIndentGuides;\r\n this.indentGuidesDisposable.dispose();\r\n if (shouldRenderIndentGuides) {\r\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this.activeNodes.onDidChange(this._onDidChangeActiveNodes, this, disposables);\r\n this.indentGuidesDisposable = disposables;\r\n this._onDidChangeActiveNodes(this.activeNodes.elements);\r\n }\r\n }\r\n }\r\n if (typeof options.hideTwistiesOfChildlessElements !== 'undefined') {\r\n this.hideTwistiesOfChildlessElements = options.hideTwistiesOfChildlessElements;\r\n }\r\n }\r\n renderTemplate(container) {\r\n const el = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.monaco-tl-row'));\r\n const indent = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.monaco-tl-indent'));\r\n const twistie = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.monaco-tl-twistie'));\r\n const contents = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.monaco-tl-contents'));\r\n const templateData = this.renderer.renderTemplate(contents);\r\n return { container, indent, twistie, indentGuidesDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None, templateData };\r\n }\r\n renderElement(node, index, templateData, height) {\r\n if (typeof height === 'number') {\r\n this.renderedNodes.set(node, { templateData, height });\r\n this.renderedElements.set(node.element, node);\r\n }\r\n const indent = TreeRenderer.DefaultIndent + (node.depth - 1) * this.indent;\r\n templateData.twistie.style.paddingLeft = `${indent}px`;\r\n templateData.indent.style.width = `${indent + this.indent - 16}px`;\r\n this.renderTwistie(node, templateData);\r\n if (typeof height === 'number') {\r\n this.renderIndentGuides(node, templateData);\r\n }\r\n this.renderer.renderElement(node, index, templateData.templateData, height);\r\n }\r\n disposeElement(node, index, templateData, height) {\r\n templateData.indentGuidesDisposable.dispose();\r\n if (this.renderer.disposeElement) {\r\n this.renderer.disposeElement(node, index, templateData.templateData, height);\r\n }\r\n if (typeof height === 'number') {\r\n this.renderedNodes.delete(node);\r\n this.renderedElements.delete(node.element);\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n this.renderer.disposeTemplate(templateData.templateData);\r\n }\r\n onDidChangeTwistieState(element) {\r\n const node = this.renderedElements.get(element);\r\n if (!node) {\r\n return;\r\n }\r\n this.onDidChangeNodeTwistieState(node);\r\n }\r\n onDidChangeNodeTwistieState(node) {\r\n const data = this.renderedNodes.get(node);\r\n if (!data) {\r\n return;\r\n }\r\n this.renderTwistie(node, data.templateData);\r\n this._onDidChangeActiveNodes(this.activeNodes.elements);\r\n this.renderIndentGuides(node, data.templateData);\r\n }\r\n renderTwistie(node, templateData) {\r\n templateData.twistie.classList.remove(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeItemExpandedIcon.classNamesArray);\r\n let twistieRendered = false;\r\n if (this.renderer.renderTwistie) {\r\n twistieRendered = this.renderer.renderTwistie(node.element, templateData.twistie);\r\n }\r\n if (node.collapsible && (!this.hideTwistiesOfChildlessElements || node.visibleChildrenCount > 0)) {\r\n if (!twistieRendered) {\r\n templateData.twistie.classList.add(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeItemExpandedIcon.classNamesArray);\r\n }\r\n templateData.twistie.classList.add('collapsible');\r\n templateData.twistie.classList.toggle('collapsed', node.collapsed);\r\n }\r\n else {\r\n templateData.twistie.classList.remove('collapsible', 'collapsed');\r\n }\r\n if (node.collapsible) {\r\n templateData.container.setAttribute('aria-expanded', String(!node.collapsed));\r\n }\r\n else {\r\n templateData.container.removeAttribute('aria-expanded');\r\n }\r\n }\r\n renderIndentGuides(target, templateData) {\r\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.clearNode)(templateData.indent);\r\n templateData.indentGuidesDisposable.dispose();\r\n if (!this.shouldRenderIndentGuides) {\r\n return;\r\n }\r\n const disposableStore = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n const model = this.modelProvider();\r\n let node = target;\r\n while (true) {\r\n const ref = model.getNodeLocation(node);\r\n const parentRef = model.getParentNodeLocation(ref);\r\n if (!parentRef) {\r\n break;\r\n }\r\n const parent = model.getNode(parentRef);\r\n const guide = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.indent-guide', { style: `width: ${this.indent}px` });\r\n if (this.activeIndentNodes.has(parent)) {\r\n guide.classList.add('active');\r\n }\r\n if (templateData.indent.childElementCount === 0) {\r\n templateData.indent.appendChild(guide);\r\n }\r\n else {\r\n templateData.indent.insertBefore(guide, templateData.indent.firstElementChild);\r\n }\r\n this.renderedIndentGuides.add(parent, guide);\r\n disposableStore.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => this.renderedIndentGuides.delete(parent, guide)));\r\n node = parent;\r\n }\r\n templateData.indentGuidesDisposable = disposableStore;\r\n }\r\n _onDidChangeActiveNodes(nodes) {\r\n if (!this.shouldRenderIndentGuides) {\r\n return;\r\n }\r\n const set = new Set();\r\n const model = this.modelProvider();\r\n nodes.forEach(node => {\r\n const ref = model.getNodeLocation(node);\r\n try {\r\n const parentRef = model.getParentNodeLocation(ref);\r\n if (node.collapsible && node.children.length > 0 && !node.collapsed) {\r\n set.add(node);\r\n }\r\n else if (parentRef) {\r\n set.add(model.getNode(parentRef));\r\n }\r\n }\r\n catch (_a) {\r\n // noop\r\n }\r\n });\r\n this.activeIndentNodes.forEach(node => {\r\n if (!set.has(node)) {\r\n this.renderedIndentGuides.forEach(node, line => line.classList.remove('active'));\r\n }\r\n });\r\n set.forEach(node => {\r\n if (!this.activeIndentNodes.has(node)) {\r\n this.renderedIndentGuides.forEach(node, line => line.classList.add('active'));\r\n }\r\n });\r\n this.activeIndentNodes = set;\r\n }\r\n dispose() {\r\n this.renderedNodes.clear();\r\n this.renderedElements.clear();\r\n this.indentGuidesDisposable.dispose();\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.disposables);\r\n }\r\n}\r\nTreeRenderer.DefaultIndent = 8;\r\nclass TypeFilter {\r\n constructor(tree, keyboardNavigationLabelProvider, _filter) {\r\n this.tree = tree;\r\n this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;\r\n this._filter = _filter;\r\n this._totalCount = 0;\r\n this._matchCount = 0;\r\n this._pattern = '';\r\n this._lowercasePattern = '';\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n tree.onWillRefilter(this.reset, this, this.disposables);\r\n }\r\n get totalCount() { return this._totalCount; }\r\n get matchCount() { return this._matchCount; }\r\n set pattern(pattern) {\r\n this._pattern = pattern;\r\n this._lowercasePattern = pattern.toLowerCase();\r\n }\r\n filter(element, parentVisibility) {\r\n if (this._filter) {\r\n const result = this._filter.filter(element, parentVisibility);\r\n if (this.tree.options.simpleKeyboardNavigation) {\r\n return result;\r\n }\r\n let visibility;\r\n if (typeof result === 'boolean') {\r\n visibility = result ? 1 /* Visible */ : 0 /* Hidden */;\r\n }\r\n else if ((0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_12__.isFilterResult)(result)) {\r\n visibility = (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_12__.getVisibleState)(result.visibility);\r\n }\r\n else {\r\n visibility = result;\r\n }\r\n if (visibility === 0 /* Hidden */) {\r\n return false;\r\n }\r\n }\r\n this._totalCount++;\r\n if (this.tree.options.simpleKeyboardNavigation || !this._pattern) {\r\n this._matchCount++;\r\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_11__.FuzzyScore.Default, visibility: true };\r\n }\r\n const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(element);\r\n const labels = Array.isArray(label) ? label : [label];\r\n for (const l of labels) {\r\n const labelStr = l && l.toString();\r\n if (typeof labelStr === 'undefined') {\r\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_11__.FuzzyScore.Default, visibility: true };\r\n }\r\n const score = (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.fuzzyScore)(this._pattern, this._lowercasePattern, 0, labelStr, labelStr.toLowerCase(), 0, true);\r\n if (score) {\r\n this._matchCount++;\r\n return labels.length === 1 ?\r\n { data: score, visibility: true } :\r\n { data: { label: labelStr, score: score }, visibility: true };\r\n }\r\n }\r\n if (this.tree.options.filterOnType) {\r\n return 2 /* Recurse */;\r\n }\r\n else {\r\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_11__.FuzzyScore.Default, visibility: true };\r\n }\r\n }\r\n reset() {\r\n this._totalCount = 0;\r\n this._matchCount = 0;\r\n }\r\n dispose() {\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.disposables);\r\n }\r\n}\r\nclass TypeFilterController {\r\n constructor(tree, model, view, filter, keyboardNavigationDelegate) {\r\n this.tree = tree;\r\n this.view = view;\r\n this.filter = filter;\r\n this.keyboardNavigationDelegate = keyboardNavigationDelegate;\r\n this._enabled = false;\r\n this._pattern = '';\r\n this._empty = false;\r\n this._onDidChangeEmptyState = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this.positionClassName = 'ne';\r\n this.automaticKeyboardNavigation = true;\r\n this.triggered = false;\r\n this._onDidChangePattern = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this.enabledDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this.domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)(`.monaco-list-type-filter.${this.positionClassName}`);\r\n this.domNode.draggable = true;\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_10__.domEvent)(this.domNode, 'dragstart')(this.onDragStart, this, this.disposables);\r\n this.messageDomNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(view.getHTMLElement(), (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)(`.monaco-list-type-filter-message`));\r\n this.labelDomNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(this.domNode, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('span.label'));\r\n const controls = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(this.domNode, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('.controls'));\r\n this._filterOnType = !!tree.options.filterOnType;\r\n this.filterOnTypeDomNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(controls, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('input.filter'));\r\n this.filterOnTypeDomNode.type = 'checkbox';\r\n this.filterOnTypeDomNode.checked = this._filterOnType;\r\n this.filterOnTypeDomNode.tabIndex = -1;\r\n this.updateFilterOnTypeTitleAndIcon();\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_10__.domEvent)(this.filterOnTypeDomNode, 'input')(this.onDidChangeFilterOnType, this, this.disposables);\r\n this.clearDomNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.append)(controls, (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.$)('button.clear' + _treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeFilterClearIcon.cssSelector));\r\n this.clearDomNode.tabIndex = -1;\r\n this.clearDomNode.title = (0,_nls_js__WEBPACK_IMPORTED_MODULE_13__.localize)('clear', \"Clear\");\r\n this.keyboardNavigationEventFilter = tree.options.keyboardNavigationEventFilter;\r\n model.onDidSplice(this.onDidSpliceModel, this, this.disposables);\r\n this.updateOptions(tree.options);\r\n }\r\n get enabled() { return this._enabled; }\r\n get pattern() { return this._pattern; }\r\n get filterOnType() { return this._filterOnType; }\r\n updateOptions(options) {\r\n if (options.simpleKeyboardNavigation) {\r\n this.disable();\r\n }\r\n else {\r\n this.enable();\r\n }\r\n if (typeof options.filterOnType !== 'undefined') {\r\n this._filterOnType = !!options.filterOnType;\r\n this.filterOnTypeDomNode.checked = this._filterOnType;\r\n }\r\n if (typeof options.automaticKeyboardNavigation !== 'undefined') {\r\n this.automaticKeyboardNavigation = options.automaticKeyboardNavigation;\r\n }\r\n this.tree.refilter();\r\n this.render();\r\n if (!this.automaticKeyboardNavigation) {\r\n this.onEventOrInput('');\r\n }\r\n }\r\n enable() {\r\n if (this._enabled) {\r\n return;\r\n }\r\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.chain((0,_event_js__WEBPACK_IMPORTED_MODULE_10__.domEvent)(this.view.getHTMLElement(), 'keydown'))\r\n .filter(e => !(0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.isInputElement)(e.target) || e.target === this.filterOnTypeDomNode)\r\n .filter(e => e.key !== 'Dead' && !/^Media/.test(e.key))\r\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e))\r\n .filter(this.keyboardNavigationEventFilter || (() => true))\r\n .filter(() => this.automaticKeyboardNavigation || this.triggered)\r\n .filter(e => (this.keyboardNavigationDelegate.mightProducePrintableCharacter(e) && !(e.keyCode === 18 /* DownArrow */ || e.keyCode === 16 /* UpArrow */ || e.keyCode === 15 /* LeftArrow */ || e.keyCode === 17 /* RightArrow */)) || ((this.pattern.length > 0 || this.triggered) && ((e.keyCode === 9 /* Escape */ || e.keyCode === 1 /* Backspace */) && !e.altKey && !e.ctrlKey && !e.metaKey) || (e.keyCode === 1 /* Backspace */ && (_common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isMacintosh ? (e.altKey && !e.metaKey) : e.ctrlKey) && !e.shiftKey)))\r\n .forEach(e => { e.stopPropagation(); e.preventDefault(); })\r\n .event;\r\n const onClear = (0,_event_js__WEBPACK_IMPORTED_MODULE_10__.domEvent)(this.clearDomNode, 'click');\r\n _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.chain(_common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.any(onKeyDown, onClear))\r\n .event(this.onEventOrInput, this, this.enabledDisposables);\r\n this.filter.pattern = '';\r\n this.tree.refilter();\r\n this.render();\r\n this._enabled = true;\r\n this.triggered = false;\r\n }\r\n disable() {\r\n if (!this._enabled) {\r\n return;\r\n }\r\n this.domNode.remove();\r\n this.enabledDisposables.clear();\r\n this.tree.refilter();\r\n this.render();\r\n this._enabled = false;\r\n this.triggered = false;\r\n }\r\n onEventOrInput(e) {\r\n if (typeof e === 'string') {\r\n this.onInput(e);\r\n }\r\n else if (e instanceof MouseEvent || e.keyCode === 9 /* Escape */ || (e.keyCode === 1 /* Backspace */ && (_common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isMacintosh ? e.altKey : e.ctrlKey))) {\r\n this.onInput('');\r\n }\r\n else if (e.keyCode === 1 /* Backspace */) {\r\n this.onInput(this.pattern.length === 0 ? '' : this.pattern.substr(0, this.pattern.length - 1));\r\n }\r\n else {\r\n this.onInput(this.pattern + e.browserEvent.key);\r\n }\r\n }\r\n onInput(pattern) {\r\n const container = this.view.getHTMLElement();\r\n if (pattern && !this.domNode.parentElement) {\r\n container.append(this.domNode);\r\n }\r\n else if (!pattern && this.domNode.parentElement) {\r\n this.domNode.remove();\r\n this.tree.domFocus();\r\n }\r\n this._pattern = pattern;\r\n this._onDidChangePattern.fire(pattern);\r\n this.filter.pattern = pattern;\r\n this.tree.refilter();\r\n if (pattern) {\r\n this.tree.focusNext(0, true, undefined, node => !_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.FuzzyScore.isDefault(node.filterData));\r\n }\r\n const focus = this.tree.getFocus();\r\n if (focus.length > 0) {\r\n const element = focus[0];\r\n if (this.tree.getRelativeTop(element) === null) {\r\n this.tree.reveal(element, 0.5);\r\n }\r\n }\r\n this.render();\r\n if (!pattern) {\r\n this.triggered = false;\r\n }\r\n }\r\n onDragStart() {\r\n const container = this.view.getHTMLElement();\r\n const { left } = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.getDomNodePagePosition)(container);\r\n const containerWidth = container.clientWidth;\r\n const midContainerWidth = containerWidth / 2;\r\n const width = this.domNode.clientWidth;\r\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n let positionClassName = this.positionClassName;\r\n const updatePosition = () => {\r\n switch (positionClassName) {\r\n case 'nw':\r\n this.domNode.style.top = `4px`;\r\n this.domNode.style.left = `4px`;\r\n break;\r\n case 'ne':\r\n this.domNode.style.top = `4px`;\r\n this.domNode.style.left = `${containerWidth - width - 6}px`;\r\n break;\r\n }\r\n };\r\n const onDragOver = (event) => {\r\n event.preventDefault(); // needed so that the drop event fires (https://stackoverflow.com/questions/21339924/drop-event-not-firing-in-chrome)\r\n const x = event.clientX - left;\r\n if (event.dataTransfer) {\r\n event.dataTransfer.dropEffect = 'none';\r\n }\r\n if (x < midContainerWidth) {\r\n positionClassName = 'nw';\r\n }\r\n else {\r\n positionClassName = 'ne';\r\n }\r\n updatePosition();\r\n };\r\n const onDragEnd = () => {\r\n this.positionClassName = positionClassName;\r\n this.domNode.className = `monaco-list-type-filter ${this.positionClassName}`;\r\n this.domNode.style.top = '';\r\n this.domNode.style.left = '';\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(disposables);\r\n };\r\n updatePosition();\r\n this.domNode.classList.remove(positionClassName);\r\n this.domNode.classList.add('dragging');\r\n disposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => this.domNode.classList.remove('dragging')));\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_10__.domEvent)(document, 'dragover')(onDragOver, null, disposables);\r\n (0,_event_js__WEBPACK_IMPORTED_MODULE_10__.domEvent)(this.domNode, 'dragend')(onDragEnd, null, disposables);\r\n _dnd_js__WEBPACK_IMPORTED_MODULE_7__.StaticDND.CurrentDragAndDropData = new _dnd_js__WEBPACK_IMPORTED_MODULE_7__.DragAndDropData('vscode-ui');\r\n disposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => _dnd_js__WEBPACK_IMPORTED_MODULE_7__.StaticDND.CurrentDragAndDropData = undefined));\r\n }\r\n onDidSpliceModel() {\r\n if (!this._enabled || this.pattern.length === 0) {\r\n return;\r\n }\r\n this.tree.refilter();\r\n this.render();\r\n }\r\n onDidChangeFilterOnType() {\r\n this.tree.updateOptions({ filterOnType: this.filterOnTypeDomNode.checked });\r\n this.tree.refilter();\r\n this.tree.domFocus();\r\n this.render();\r\n this.updateFilterOnTypeTitleAndIcon();\r\n }\r\n updateFilterOnTypeTitleAndIcon() {\r\n if (this.filterOnType) {\r\n this.filterOnTypeDomNode.classList.remove(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeFilterOnTypeOffIcon.classNamesArray);\r\n this.filterOnTypeDomNode.classList.add(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeFilterOnTypeOnIcon.classNamesArray);\r\n this.filterOnTypeDomNode.title = (0,_nls_js__WEBPACK_IMPORTED_MODULE_13__.localize)('disable filter on type', \"Disable Filter on Type\");\r\n }\r\n else {\r\n this.filterOnTypeDomNode.classList.remove(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeFilterOnTypeOnIcon.classNamesArray);\r\n this.filterOnTypeDomNode.classList.add(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_18__.treeFilterOnTypeOffIcon.classNamesArray);\r\n this.filterOnTypeDomNode.title = (0,_nls_js__WEBPACK_IMPORTED_MODULE_13__.localize)('enable filter on type', \"Enable Filter on Type\");\r\n }\r\n }\r\n render() {\r\n const noMatches = this.filter.totalCount > 0 && this.filter.matchCount === 0;\r\n if (this.pattern && this.tree.options.filterOnType && noMatches) {\r\n this.messageDomNode.textContent = (0,_nls_js__WEBPACK_IMPORTED_MODULE_13__.localize)('empty', \"No elements found\");\r\n this._empty = true;\r\n }\r\n else {\r\n this.messageDomNode.innerText = '';\r\n this._empty = false;\r\n }\r\n this.domNode.classList.toggle('no-matches', noMatches);\r\n this.domNode.title = (0,_nls_js__WEBPACK_IMPORTED_MODULE_13__.localize)('found', \"Matched {0} out of {1} elements\", this.filter.matchCount, this.filter.totalCount);\r\n this.labelDomNode.textContent = this.pattern.length > 16 ? '…' + this.pattern.substr(this.pattern.length - 16) : this.pattern;\r\n this._onDidChangeEmptyState.fire(this._empty);\r\n }\r\n shouldAllowFocus(node) {\r\n if (!this.enabled || !this.pattern || this.filterOnType) {\r\n return true;\r\n }\r\n if (this.filter.totalCount > 0 && this.filter.matchCount <= 1) {\r\n return true;\r\n }\r\n return !_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.FuzzyScore.isDefault(node.filterData);\r\n }\r\n dispose() {\r\n if (this._enabled) {\r\n this.domNode.remove();\r\n this.enabledDisposables.dispose();\r\n this._enabled = false;\r\n this.triggered = false;\r\n }\r\n this._onDidChangePattern.dispose();\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.disposables);\r\n }\r\n}\r\nfunction asTreeMouseEvent(event) {\r\n let target = _tree_js__WEBPACK_IMPORTED_MODULE_6__.TreeMouseEventTarget.Unknown;\r\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.hasParentWithClass)(event.browserEvent.target, 'monaco-tl-twistie', 'monaco-tl-row')) {\r\n target = _tree_js__WEBPACK_IMPORTED_MODULE_6__.TreeMouseEventTarget.Twistie;\r\n }\r\n else if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.hasParentWithClass)(event.browserEvent.target, 'monaco-tl-contents', 'monaco-tl-row')) {\r\n target = _tree_js__WEBPACK_IMPORTED_MODULE_6__.TreeMouseEventTarget.Element;\r\n }\r\n return {\r\n browserEvent: event.browserEvent,\r\n element: event.element ? event.element.element : null,\r\n target\r\n };\r\n}\r\nfunction dfs(node, fn) {\r\n fn(node);\r\n node.children.forEach(child => dfs(child, fn));\r\n}\r\n/**\r\n * The trait concept needs to exist at the tree level, because collapsed\r\n * tree nodes will not be known by the list.\r\n */\r\nclass Trait {\r\n constructor(identityProvider) {\r\n this.identityProvider = identityProvider;\r\n this.nodes = [];\r\n this._onDidChange = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this.onDidChange = this._onDidChange.event;\r\n }\r\n get nodeSet() {\r\n if (!this._nodeSet) {\r\n this._nodeSet = this.createNodeSet();\r\n }\r\n return this._nodeSet;\r\n }\r\n set(nodes, browserEvent) {\r\n var _a;\r\n if (!((_a = browserEvent) === null || _a === void 0 ? void 0 : _a.__forceEvent) && (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_8__.equals)(this.nodes, nodes)) {\r\n return;\r\n }\r\n this._set(nodes, false, browserEvent);\r\n }\r\n _set(nodes, silent, browserEvent) {\r\n this.nodes = [...nodes];\r\n this.elements = undefined;\r\n this._nodeSet = undefined;\r\n if (!silent) {\r\n const that = this;\r\n this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });\r\n }\r\n }\r\n get() {\r\n if (!this.elements) {\r\n this.elements = this.nodes.map(node => node.element);\r\n }\r\n return [...this.elements];\r\n }\r\n getNodes() {\r\n return this.nodes;\r\n }\r\n has(node) {\r\n return this.nodeSet.has(node);\r\n }\r\n onDidModelSplice({ insertedNodes, deletedNodes }) {\r\n if (!this.identityProvider) {\r\n const set = this.createNodeSet();\r\n const visit = (node) => set.delete(node);\r\n deletedNodes.forEach(node => dfs(node, visit));\r\n this.set([...set.values()]);\r\n return;\r\n }\r\n const deletedNodesIdSet = new Set();\r\n const deletedNodesVisitor = (node) => deletedNodesIdSet.add(this.identityProvider.getId(node.element).toString());\r\n deletedNodes.forEach(node => dfs(node, deletedNodesVisitor));\r\n const insertedNodesMap = new Map();\r\n const insertedNodesVisitor = (node) => insertedNodesMap.set(this.identityProvider.getId(node.element).toString(), node);\r\n insertedNodes.forEach(node => dfs(node, insertedNodesVisitor));\r\n const nodes = [];\r\n for (const node of this.nodes) {\r\n const id = this.identityProvider.getId(node.element).toString();\r\n const wasDeleted = deletedNodesIdSet.has(id);\r\n if (!wasDeleted) {\r\n nodes.push(node);\r\n }\r\n else {\r\n const insertedNode = insertedNodesMap.get(id);\r\n if (insertedNode) {\r\n nodes.push(insertedNode);\r\n }\r\n }\r\n }\r\n this._set(nodes, true);\r\n }\r\n createNodeSet() {\r\n const set = new Set();\r\n for (const node of this.nodes) {\r\n set.add(node);\r\n }\r\n return set;\r\n }\r\n}\r\nclass TreeNodeListMouseController extends _list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.MouseController {\r\n constructor(list, tree) {\r\n super(list);\r\n this.tree = tree;\r\n }\r\n onViewPointer(e) {\r\n if ((0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.isInputElement)(e.browserEvent.target) || (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.isMonacoEditor)(e.browserEvent.target)) {\r\n return;\r\n }\r\n const node = e.element;\r\n if (!node) {\r\n return super.onViewPointer(e);\r\n }\r\n if (this.isSelectionRangeChangeEvent(e) || this.isSelectionSingleChangeEvent(e)) {\r\n return super.onViewPointer(e);\r\n }\r\n const target = e.browserEvent.target;\r\n const onTwistie = target.classList.contains('monaco-tl-twistie')\r\n || (target.classList.contains('monaco-icon-label') && target.classList.contains('folder-icon') && e.browserEvent.offsetX < 16);\r\n let expandOnlyOnTwistieClick = false;\r\n if (typeof this.tree.expandOnlyOnTwistieClick === 'function') {\r\n expandOnlyOnTwistieClick = this.tree.expandOnlyOnTwistieClick(node.element);\r\n }\r\n else {\r\n expandOnlyOnTwistieClick = !!this.tree.expandOnlyOnTwistieClick;\r\n }\r\n if (expandOnlyOnTwistieClick && !onTwistie && e.browserEvent.detail !== 2) {\r\n return super.onViewPointer(e);\r\n }\r\n if (!this.tree.expandOnDoubleClick && e.browserEvent.detail === 2) {\r\n return super.onViewPointer(e);\r\n }\r\n if (node.collapsible) {\r\n const model = this.tree.model; // internal\r\n const location = model.getNodeLocation(node);\r\n const recursive = e.browserEvent.altKey;\r\n this.tree.setFocus([location]);\r\n model.setCollapsed(location, undefined, recursive);\r\n if (expandOnlyOnTwistieClick && onTwistie) {\r\n return;\r\n }\r\n }\r\n super.onViewPointer(e);\r\n }\r\n onDoubleClick(e) {\r\n const onTwistie = e.browserEvent.target.classList.contains('monaco-tl-twistie');\r\n if (onTwistie || !this.tree.expandOnDoubleClick) {\r\n return;\r\n }\r\n super.onDoubleClick(e);\r\n }\r\n}\r\n/**\r\n * We use this List subclass to restore selection and focus as nodes\r\n * get rendered in the list, possibly due to a node expand() call.\r\n */\r\nclass TreeNodeList extends _list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.List {\r\n constructor(user, container, virtualDelegate, renderers, focusTrait, selectionTrait, options) {\r\n super(user, container, virtualDelegate, renderers, options);\r\n this.focusTrait = focusTrait;\r\n this.selectionTrait = selectionTrait;\r\n }\r\n createMouseController(options) {\r\n return new TreeNodeListMouseController(this, options.tree);\r\n }\r\n splice(start, deleteCount, elements = []) {\r\n super.splice(start, deleteCount, elements);\r\n if (elements.length === 0) {\r\n return;\r\n }\r\n const additionalFocus = [];\r\n const additionalSelection = [];\r\n elements.forEach((node, index) => {\r\n if (this.focusTrait.has(node)) {\r\n additionalFocus.push(start + index);\r\n }\r\n if (this.selectionTrait.has(node)) {\r\n additionalSelection.push(start + index);\r\n }\r\n });\r\n if (additionalFocus.length > 0) {\r\n super.setFocus((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_8__.distinctES6)([...super.getFocus(), ...additionalFocus]));\r\n }\r\n if (additionalSelection.length > 0) {\r\n super.setSelection((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_8__.distinctES6)([...super.getSelection(), ...additionalSelection]));\r\n }\r\n }\r\n setFocus(indexes, browserEvent, fromAPI = false) {\r\n super.setFocus(indexes, browserEvent);\r\n if (!fromAPI) {\r\n this.focusTrait.set(indexes.map(i => this.element(i)), browserEvent);\r\n }\r\n }\r\n setSelection(indexes, browserEvent, fromAPI = false) {\r\n super.setSelection(indexes, browserEvent);\r\n if (!fromAPI) {\r\n this.selectionTrait.set(indexes.map(i => this.element(i)), browserEvent);\r\n }\r\n }\r\n}\r\nclass AbstractTree {\r\n constructor(user, container, delegate, renderers, _options = {}) {\r\n this._options = _options;\r\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.EventBufferer();\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\r\n this._onWillRefilter = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this.onWillRefilter = this._onWillRefilter.event;\r\n this._onDidUpdateOptions = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n const treeDelegate = new ComposedTreeDelegate(delegate);\r\n const onDidChangeCollapseStateRelay = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Relay();\r\n const onDidChangeActiveNodes = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Relay();\r\n const activeNodes = new EventCollection(onDidChangeActiveNodes.event);\r\n this.renderers = renderers.map(r => new TreeRenderer(r, () => this.model, onDidChangeCollapseStateRelay.event, activeNodes, _options));\r\n for (let r of this.renderers) {\r\n this.disposables.add(r);\r\n }\r\n let filter;\r\n if (_options.keyboardNavigationLabelProvider) {\r\n filter = new TypeFilter(this, _options.keyboardNavigationLabelProvider, _options.filter);\r\n _options = Object.assign(Object.assign({}, _options), { filter: filter }); // TODO need typescript help here\r\n this.disposables.add(filter);\r\n }\r\n this.focus = new Trait(_options.identityProvider);\r\n this.selection = new Trait(_options.identityProvider);\r\n this.view = new TreeNodeList(user, container, treeDelegate, this.renderers, this.focus, this.selection, Object.assign(Object.assign({}, asListOptions(() => this.model, _options)), { tree: this }));\r\n this.model = this.createModel(user, this.view, _options);\r\n onDidChangeCollapseStateRelay.input = this.model.onDidChangeCollapseState;\r\n const onDidModelSplice = _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.forEach(this.model.onDidSplice, e => {\r\n this.eventBufferer.bufferEvents(() => {\r\n this.focus.onDidModelSplice(e);\r\n this.selection.onDidModelSplice(e);\r\n });\r\n });\r\n // Make sure the `forEach` always runs\r\n onDidModelSplice(() => null, null, this.disposables);\r\n // Active nodes can change when the model changes or when focus or selection change.\r\n // We debounce it with 0 delay since these events may fire in the same stack and we only\r\n // want to run this once. It also doesn't matter if it runs on the next tick since it's only\r\n // a nice to have UI feature.\r\n onDidChangeActiveNodes.input = _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.chain(_common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.any(onDidModelSplice, this.focus.onDidChange, this.selection.onDidChange))\r\n .debounce(() => null, 0)\r\n .map(() => {\r\n const set = new Set();\r\n for (const node of this.focus.getNodes()) {\r\n set.add(node);\r\n }\r\n for (const node of this.selection.getNodes()) {\r\n set.add(node);\r\n }\r\n return [...set.values()];\r\n }).event;\r\n if (_options.keyboardSupport !== false) {\r\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.chain(this.view.onKeyDown)\r\n .filter(e => !(0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.isInputElement)(e.target))\r\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardKeyboardEvent(e));\r\n onKeyDown.filter(e => e.keyCode === 15 /* LeftArrow */).on(this.onLeftArrow, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 17 /* RightArrow */).on(this.onRightArrow, this, this.disposables);\r\n onKeyDown.filter(e => e.keyCode === 10 /* Space */).on(this.onSpace, this, this.disposables);\r\n }\r\n if (_options.keyboardNavigationLabelProvider) {\r\n const delegate = _options.keyboardNavigationDelegate || _list_listWidget_js__WEBPACK_IMPORTED_MODULE_2__.DefaultKeyboardNavigationDelegate;\r\n this.typeFilterController = new TypeFilterController(this, this.model, this.view, filter, delegate);\r\n this.focusNavigationFilter = node => this.typeFilterController.shouldAllowFocus(node);\r\n this.disposables.add(this.typeFilterController);\r\n }\r\n this.styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_3__.createStyleSheet)(this.view.getHTMLElement());\r\n this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);\r\n }\r\n get onDidChangeFocus() { return this.eventBufferer.wrapEvent(this.focus.onDidChange); }\r\n get onDidChangeSelection() { return this.eventBufferer.wrapEvent(this.selection.onDidChange); }\r\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.view.onMouseDblClick, asTreeMouseEvent); }\r\n get onPointer() { return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.view.onPointer, asTreeMouseEvent); }\r\n get onDidFocus() { return this.view.onDidFocus; }\r\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\r\n get expandOnDoubleClick() { return typeof this._options.expandOnDoubleClick === 'undefined' ? true : this._options.expandOnDoubleClick; }\r\n get expandOnlyOnTwistieClick() { return typeof this._options.expandOnlyOnTwistieClick === 'undefined' ? true : this._options.expandOnlyOnTwistieClick; }\r\n get onDidDispose() { return this.view.onDidDispose; }\r\n updateOptions(optionsUpdate = {}) {\r\n this._options = Object.assign(Object.assign({}, this._options), optionsUpdate);\r\n for (const renderer of this.renderers) {\r\n renderer.updateOptions(optionsUpdate);\r\n }\r\n this.view.updateOptions({\r\n enableKeyboardNavigation: this._options.simpleKeyboardNavigation,\r\n automaticKeyboardNavigation: this._options.automaticKeyboardNavigation,\r\n smoothScrolling: this._options.smoothScrolling,\r\n horizontalScrolling: this._options.horizontalScrolling\r\n });\r\n if (this.typeFilterController) {\r\n this.typeFilterController.updateOptions(this._options);\r\n }\r\n this._onDidUpdateOptions.fire(this._options);\r\n this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);\r\n }\r\n get options() {\r\n return this._options;\r\n }\r\n // Widget\r\n getHTMLElement() {\r\n return this.view.getHTMLElement();\r\n }\r\n get scrollTop() {\r\n return this.view.scrollTop;\r\n }\r\n set scrollTop(scrollTop) {\r\n this.view.scrollTop = scrollTop;\r\n }\r\n domFocus() {\r\n this.view.domFocus();\r\n }\r\n layout(height, width) {\r\n this.view.layout(height, width);\r\n }\r\n style(styles) {\r\n const suffix = `.${this.view.domId}`;\r\n const content = [];\r\n if (styles.treeIndentGuidesStroke) {\r\n content.push(`.monaco-list${suffix}:hover .monaco-tl-indent > .indent-guide, .monaco-list${suffix}.always .monaco-tl-indent > .indent-guide { border-color: ${styles.treeIndentGuidesStroke.transparent(0.4)}; }`);\r\n content.push(`.monaco-list${suffix} .monaco-tl-indent > .indent-guide.active { border-color: ${styles.treeIndentGuidesStroke}; }`);\r\n }\r\n this.styleElement.textContent = content.join('\\n');\r\n this.view.style(styles);\r\n }\r\n collapse(location, recursive = false) {\r\n return this.model.setCollapsed(location, true, recursive);\r\n }\r\n expand(location, recursive = false) {\r\n return this.model.setCollapsed(location, false, recursive);\r\n }\r\n isCollapsible(location) {\r\n return this.model.isCollapsible(location);\r\n }\r\n setCollapsible(location, collapsible) {\r\n return this.model.setCollapsible(location, collapsible);\r\n }\r\n isCollapsed(location) {\r\n return this.model.isCollapsed(location);\r\n }\r\n refilter() {\r\n this._onWillRefilter.fire(undefined);\r\n this.model.refilter();\r\n }\r\n setSelection(elements, browserEvent) {\r\n const nodes = elements.map(e => this.model.getNode(e));\r\n this.selection.set(nodes, browserEvent);\r\n const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);\r\n this.view.setSelection(indexes, browserEvent, true);\r\n }\r\n getSelection() {\r\n return this.selection.get();\r\n }\r\n setFocus(elements, browserEvent) {\r\n const nodes = elements.map(e => this.model.getNode(e));\r\n this.focus.set(nodes, browserEvent);\r\n const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);\r\n this.view.setFocus(indexes, browserEvent, true);\r\n }\r\n focusNext(n = 1, loop = false, browserEvent, filter = this.focusNavigationFilter) {\r\n this.view.focusNext(n, loop, browserEvent, filter);\r\n }\r\n getFocus() {\r\n return this.focus.get();\r\n }\r\n reveal(location, relativeTop) {\r\n this.model.expandTo(location);\r\n const index = this.model.getListIndex(location);\r\n if (index === -1) {\r\n return;\r\n }\r\n this.view.reveal(index, relativeTop);\r\n }\r\n /**\r\n * Returns the relative position of an element rendered in the list.\r\n * Returns `null` if the element isn't *entirely* in the visible viewport.\r\n */\r\n getRelativeTop(location) {\r\n const index = this.model.getListIndex(location);\r\n if (index === -1) {\r\n return null;\r\n }\r\n return this.view.getRelativeTop(index);\r\n }\r\n // List\r\n onLeftArrow(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const nodes = this.view.getFocusedElements();\r\n if (nodes.length === 0) {\r\n return;\r\n }\r\n const node = nodes[0];\r\n const location = this.model.getNodeLocation(node);\r\n const didChange = this.model.setCollapsed(location, true);\r\n if (!didChange) {\r\n const parentLocation = this.model.getParentNodeLocation(location);\r\n if (!parentLocation) {\r\n return;\r\n }\r\n const parentListIndex = this.model.getListIndex(parentLocation);\r\n this.view.reveal(parentListIndex);\r\n this.view.setFocus([parentListIndex]);\r\n }\r\n }\r\n onRightArrow(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const nodes = this.view.getFocusedElements();\r\n if (nodes.length === 0) {\r\n return;\r\n }\r\n const node = nodes[0];\r\n const location = this.model.getNodeLocation(node);\r\n const didChange = this.model.setCollapsed(location, false);\r\n if (!didChange) {\r\n if (!node.children.some(child => child.visible)) {\r\n return;\r\n }\r\n const [focusedIndex] = this.view.getFocus();\r\n const firstChildIndex = focusedIndex + 1;\r\n this.view.reveal(firstChildIndex);\r\n this.view.setFocus([firstChildIndex]);\r\n }\r\n }\r\n onSpace(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const nodes = this.view.getFocusedElements();\r\n if (nodes.length === 0) {\r\n return;\r\n }\r\n const node = nodes[0];\r\n const location = this.model.getNodeLocation(node);\r\n const recursive = e.browserEvent.altKey;\r\n this.model.setCollapsed(location, undefined, recursive);\r\n }\r\n dispose() {\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.dispose)(this.disposables);\r\n this.view.dispose();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"AsyncDataTree\": () => (/* binding */ AsyncDataTree),\n/* harmony export */ \"CompressibleAsyncDataTree\": () => (/* binding */ CompressibleAsyncDataTree)\n/* harmony export */ });\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _objectTree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./objectTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _list_listView_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../list/listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _treeIcons_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./treeIcons.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/treeIcons.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 __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\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction createAsyncDataTreeNode(props) {\r\n return Object.assign(Object.assign({}, props), { children: [], refreshPromise: undefined, stale: true, slow: false, collapsedByDefault: undefined });\r\n}\r\nfunction isAncestor(ancestor, descendant) {\r\n if (!descendant.parent) {\r\n return false;\r\n }\r\n else if (descendant.parent === ancestor) {\r\n return true;\r\n }\r\n else {\r\n return isAncestor(ancestor, descendant.parent);\r\n }\r\n}\r\nfunction intersects(node, other) {\r\n return node === other || isAncestor(node, other) || isAncestor(other, node);\r\n}\r\nclass AsyncDataTreeNodeWrapper {\r\n constructor(node) {\r\n this.node = node;\r\n }\r\n get element() { return this.node.element.element; }\r\n get children() { return this.node.children.map(node => new AsyncDataTreeNodeWrapper(node)); }\r\n get depth() { return this.node.depth; }\r\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\r\n get visibleChildIndex() { return this.node.visibleChildIndex; }\r\n get collapsible() { return this.node.collapsible; }\r\n get collapsed() { return this.node.collapsed; }\r\n get visible() { return this.node.visible; }\r\n get filterData() { return this.node.filterData; }\r\n}\r\nclass AsyncDataTreeRenderer {\r\n constructor(renderer, nodeMapper, onDidChangeTwistieState) {\r\n this.renderer = renderer;\r\n this.nodeMapper = nodeMapper;\r\n this.onDidChangeTwistieState = onDidChangeTwistieState;\r\n this.renderedNodes = new Map();\r\n this.templateId = renderer.templateId;\r\n }\r\n renderTemplate(container) {\r\n const templateData = this.renderer.renderTemplate(container);\r\n return { templateData };\r\n }\r\n renderElement(node, index, templateData, height) {\r\n this.renderer.renderElement(this.nodeMapper.map(node), index, templateData.templateData, height);\r\n }\r\n renderTwistie(element, twistieElement) {\r\n if (element.slow) {\r\n twistieElement.classList.add(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_10__.treeItemLoadingIcon.classNamesArray);\r\n return true;\r\n }\r\n else {\r\n twistieElement.classList.remove(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_10__.treeItemLoadingIcon.classNamesArray);\r\n return false;\r\n }\r\n }\r\n disposeElement(node, index, templateData, height) {\r\n if (this.renderer.disposeElement) {\r\n this.renderer.disposeElement(this.nodeMapper.map(node), index, templateData.templateData, height);\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n this.renderer.disposeTemplate(templateData.templateData);\r\n }\r\n dispose() {\r\n this.renderedNodes.clear();\r\n }\r\n}\r\nfunction asTreeEvent(e) {\r\n return {\r\n browserEvent: e.browserEvent,\r\n elements: e.elements.map(e => e.element)\r\n };\r\n}\r\nfunction asTreeMouseEvent(e) {\r\n return {\r\n browserEvent: e.browserEvent,\r\n element: e.element && e.element.element,\r\n target: e.target\r\n };\r\n}\r\nclass AsyncDataTreeElementsDragAndDropData extends _list_listView_js__WEBPACK_IMPORTED_MODULE_7__.ElementsDragAndDropData {\r\n constructor(data) {\r\n super(data.elements.map(node => node.element));\r\n this.data = data;\r\n }\r\n}\r\nfunction asAsyncDataTreeDragAndDropData(data) {\r\n if (data instanceof _list_listView_js__WEBPACK_IMPORTED_MODULE_7__.ElementsDragAndDropData) {\r\n return new AsyncDataTreeElementsDragAndDropData(data);\r\n }\r\n return data;\r\n}\r\nclass AsyncDataTreeNodeListDragAndDrop {\r\n constructor(dnd) {\r\n this.dnd = dnd;\r\n }\r\n getDragURI(node) {\r\n return this.dnd.getDragURI(node.element);\r\n }\r\n getDragLabel(nodes, originalEvent) {\r\n if (this.dnd.getDragLabel) {\r\n return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);\r\n }\r\n return undefined;\r\n }\r\n onDragStart(data, originalEvent) {\r\n if (this.dnd.onDragStart) {\r\n this.dnd.onDragStart(asAsyncDataTreeDragAndDropData(data), originalEvent);\r\n }\r\n }\r\n onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {\r\n return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\r\n }\r\n drop(data, targetNode, targetIndex, originalEvent) {\r\n this.dnd.drop(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\r\n }\r\n onDragEnd(originalEvent) {\r\n if (this.dnd.onDragEnd) {\r\n this.dnd.onDragEnd(originalEvent);\r\n }\r\n }\r\n}\r\nfunction asObjectTreeOptions(options) {\r\n return options && Object.assign(Object.assign({}, options), { collapseByDefault: true, identityProvider: options.identityProvider && {\r\n getId(el) {\r\n return options.identityProvider.getId(el.element);\r\n }\r\n }, dnd: options.dnd && new AsyncDataTreeNodeListDragAndDrop(options.dnd), multipleSelectionController: options.multipleSelectionController && {\r\n isSelectionSingleChangeEvent(e) {\r\n return options.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\r\n },\r\n isSelectionRangeChangeEvent(e) {\r\n return options.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\r\n }\r\n }, accessibilityProvider: options.accessibilityProvider && Object.assign(Object.assign({}, options.accessibilityProvider), { getPosInSet: undefined, getSetSize: undefined, getRole: options.accessibilityProvider.getRole ? (el) => {\r\n return options.accessibilityProvider.getRole(el.element);\r\n } : () => 'treeitem', isChecked: options.accessibilityProvider.isChecked ? (e) => {\r\n var _a;\r\n return !!((_a = options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.isChecked(e.element));\r\n } : undefined, getAriaLabel(e) {\r\n return options.accessibilityProvider.getAriaLabel(e.element);\r\n },\r\n getWidgetAriaLabel() {\r\n return options.accessibilityProvider.getWidgetAriaLabel();\r\n }, getWidgetRole: options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree', getAriaLevel: options.accessibilityProvider.getAriaLevel && (node => {\r\n return options.accessibilityProvider.getAriaLevel(node.element);\r\n }), getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {\r\n return options.accessibilityProvider.getActiveDescendantId(node.element);\r\n }) }), filter: options.filter && {\r\n filter(e, parentVisibility) {\r\n return options.filter.filter(e.element, parentVisibility);\r\n }\r\n }, keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && Object.assign(Object.assign({}, options.keyboardNavigationLabelProvider), { getKeyboardNavigationLabel(e) {\r\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element);\r\n } }), sorter: undefined, expandOnlyOnTwistieClick: typeof options.expandOnlyOnTwistieClick === 'undefined' ? undefined : (typeof options.expandOnlyOnTwistieClick !== 'function' ? options.expandOnlyOnTwistieClick : (e => options.expandOnlyOnTwistieClick(e.element))), additionalScrollHeight: options.additionalScrollHeight });\r\n}\r\nfunction dfs(node, fn) {\r\n fn(node);\r\n node.children.forEach(child => dfs(child, fn));\r\n}\r\nclass AsyncDataTree {\r\n constructor(user, container, delegate, renderers, dataSource, options = {}) {\r\n this.user = user;\r\n this.dataSource = dataSource;\r\n this.nodes = new Map();\r\n this.subTreeRefreshPromises = new Map();\r\n this.refreshPromises = new Map();\r\n this._onDidRender = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this._onDidChangeNodeSlowState = new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter();\r\n this.nodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_2__.WeakMapper(node => new AsyncDataTreeNodeWrapper(node));\r\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.DisposableStore();\r\n this.identityProvider = options.identityProvider;\r\n this.autoExpandSingleChildren = typeof options.autoExpandSingleChildren === 'undefined' ? false : options.autoExpandSingleChildren;\r\n this.sorter = options.sorter;\r\n this.collapseByDefault = options.collapseByDefault;\r\n this.tree = this.createTree(user, container, delegate, renderers, options);\r\n this.root = createAsyncDataTreeNode({\r\n element: undefined,\r\n parent: null,\r\n hasChildren: true\r\n });\r\n if (this.identityProvider) {\r\n this.root = Object.assign(Object.assign({}, this.root), { id: null });\r\n }\r\n this.nodes.set(null, this.root);\r\n this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState, this, this.disposables);\r\n }\r\n get onDidChangeFocus() { return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.tree.onDidChangeFocus, asTreeEvent); }\r\n get onDidChangeSelection() { return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.tree.onDidChangeSelection, asTreeEvent); }\r\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.tree.onMouseDblClick, asTreeMouseEvent); }\r\n get onPointer() { return _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.map(this.tree.onPointer, asTreeMouseEvent); }\r\n get onDidFocus() { return this.tree.onDidFocus; }\r\n get onDidDispose() { return this.tree.onDidDispose; }\r\n createTree(user, container, delegate, renderers, options) {\r\n const objectTreeDelegate = new _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.ComposedTreeDelegate(delegate);\r\n const objectTreeRenderers = renderers.map(r => new AsyncDataTreeRenderer(r, this.nodeMapper, this._onDidChangeNodeSlowState.event));\r\n const objectTreeOptions = asObjectTreeOptions(options) || {};\r\n return new _objectTree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTree(user, container, objectTreeDelegate, objectTreeRenderers, objectTreeOptions);\r\n }\r\n updateOptions(options = {}) {\r\n this.tree.updateOptions(options);\r\n }\r\n // Widget\r\n getHTMLElement() {\r\n return this.tree.getHTMLElement();\r\n }\r\n get scrollTop() {\r\n return this.tree.scrollTop;\r\n }\r\n set scrollTop(scrollTop) {\r\n this.tree.scrollTop = scrollTop;\r\n }\r\n domFocus() {\r\n this.tree.domFocus();\r\n }\r\n layout(height, width) {\r\n this.tree.layout(height, width);\r\n }\r\n style(styles) {\r\n this.tree.style(styles);\r\n }\r\n // Model\r\n getInput() {\r\n return this.root.element;\r\n }\r\n setInput(input, viewState) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n this.refreshPromises.forEach(promise => promise.cancel());\r\n this.refreshPromises.clear();\r\n this.root.element = input;\r\n const viewStateContext = viewState && { viewState, focus: [], selection: [] };\r\n yield this._updateChildren(input, true, false, viewStateContext);\r\n if (viewStateContext) {\r\n this.tree.setFocus(viewStateContext.focus);\r\n this.tree.setSelection(viewStateContext.selection);\r\n }\r\n if (viewState && typeof viewState.scrollTop === 'number') {\r\n this.scrollTop = viewState.scrollTop;\r\n }\r\n });\r\n }\r\n _updateChildren(element = this.root.element, recursive = true, rerender = false, viewStateContext, options) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (typeof this.root.element === 'undefined') {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, 'Tree input not set');\r\n }\r\n if (this.root.refreshPromise) {\r\n yield this.root.refreshPromise;\r\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.toPromise(this._onDidRender.event);\r\n }\r\n const node = this.getDataNode(element);\r\n yield this.refreshAndRenderNode(node, recursive, viewStateContext, options);\r\n if (rerender) {\r\n try {\r\n this.tree.rerender(node);\r\n }\r\n catch (_a) {\r\n // missing nodes are fine, this could've resulted from\r\n // parallel refresh calls, removing `node` altogether\r\n }\r\n }\r\n });\r\n }\r\n // View\r\n rerender(element) {\r\n if (element === undefined || element === this.root.element) {\r\n this.tree.rerender();\r\n return;\r\n }\r\n const node = this.getDataNode(element);\r\n this.tree.rerender(node);\r\n }\r\n collapse(element, recursive = false) {\r\n const node = this.getDataNode(element);\r\n return this.tree.collapse(node === this.root ? null : node, recursive);\r\n }\r\n expand(element, recursive = false) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (typeof this.root.element === 'undefined') {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, 'Tree input not set');\r\n }\r\n if (this.root.refreshPromise) {\r\n yield this.root.refreshPromise;\r\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.toPromise(this._onDidRender.event);\r\n }\r\n const node = this.getDataNode(element);\r\n if (this.tree.hasElement(node) && !this.tree.isCollapsible(node)) {\r\n return false;\r\n }\r\n if (node.refreshPromise) {\r\n yield this.root.refreshPromise;\r\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.toPromise(this._onDidRender.event);\r\n }\r\n if (node !== this.root && !node.refreshPromise && !this.tree.isCollapsed(node)) {\r\n return false;\r\n }\r\n const result = this.tree.expand(node === this.root ? null : node, recursive);\r\n if (node.refreshPromise) {\r\n yield this.root.refreshPromise;\r\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Event.toPromise(this._onDidRender.event);\r\n }\r\n return result;\r\n });\r\n }\r\n setSelection(elements, browserEvent) {\r\n const nodes = elements.map(e => this.getDataNode(e));\r\n this.tree.setSelection(nodes, browserEvent);\r\n }\r\n getSelection() {\r\n const nodes = this.tree.getSelection();\r\n return nodes.map(n => n.element);\r\n }\r\n setFocus(elements, browserEvent) {\r\n const nodes = elements.map(e => this.getDataNode(e));\r\n this.tree.setFocus(nodes, browserEvent);\r\n }\r\n getFocus() {\r\n const nodes = this.tree.getFocus();\r\n return nodes.map(n => n.element);\r\n }\r\n reveal(element, relativeTop) {\r\n this.tree.reveal(this.getDataNode(element), relativeTop);\r\n }\r\n // Implementation\r\n getDataNode(element) {\r\n const node = this.nodes.get((element === this.root.element ? null : element));\r\n if (!node) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, `Data tree node not found: ${element}`);\r\n }\r\n return node;\r\n }\r\n refreshAndRenderNode(node, recursive, viewStateContext, options) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n yield this.refreshNode(node, recursive, viewStateContext);\r\n this.render(node, viewStateContext, options);\r\n });\r\n }\r\n refreshNode(node, recursive, viewStateContext) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let result;\r\n this.subTreeRefreshPromises.forEach((refreshPromise, refreshNode) => {\r\n if (!result && intersects(refreshNode, node)) {\r\n result = refreshPromise.then(() => this.refreshNode(node, recursive, viewStateContext));\r\n }\r\n });\r\n if (result) {\r\n return result;\r\n }\r\n return this.doRefreshSubTree(node, recursive, viewStateContext);\r\n });\r\n }\r\n doRefreshSubTree(node, recursive, viewStateContext) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let done;\r\n node.refreshPromise = new Promise(c => done = c);\r\n this.subTreeRefreshPromises.set(node, node.refreshPromise);\r\n node.refreshPromise.finally(() => {\r\n node.refreshPromise = undefined;\r\n this.subTreeRefreshPromises.delete(node);\r\n });\r\n try {\r\n const childrenToRefresh = yield this.doRefreshNode(node, recursive, viewStateContext);\r\n node.stale = false;\r\n yield _common_async_js__WEBPACK_IMPORTED_MODULE_5__.Promises.settled(childrenToRefresh.map(child => this.doRefreshSubTree(child, recursive, viewStateContext)));\r\n }\r\n finally {\r\n done();\r\n }\r\n });\r\n }\r\n doRefreshNode(node, recursive, viewStateContext) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n node.hasChildren = !!this.dataSource.hasChildren(node.element);\r\n let childrenPromise;\r\n if (!node.hasChildren) {\r\n childrenPromise = Promise.resolve(_common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty());\r\n }\r\n else {\r\n const slowTimeout = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_5__.timeout)(800);\r\n slowTimeout.then(() => {\r\n node.slow = true;\r\n this._onDidChangeNodeSlowState.fire(node);\r\n }, _ => null);\r\n childrenPromise = this.doGetChildren(node)\r\n .finally(() => slowTimeout.cancel());\r\n }\r\n try {\r\n const children = yield childrenPromise;\r\n return this.setChildren(node, children, recursive, viewStateContext);\r\n }\r\n catch (err) {\r\n if (node !== this.root && this.tree.hasElement(node)) {\r\n this.tree.collapse(node);\r\n }\r\n if ((0,_common_errors_js__WEBPACK_IMPORTED_MODULE_8__.isPromiseCanceledError)(err)) {\r\n return [];\r\n }\r\n throw err;\r\n }\r\n finally {\r\n if (node.slow) {\r\n node.slow = false;\r\n this._onDidChangeNodeSlowState.fire(node);\r\n }\r\n }\r\n });\r\n }\r\n doGetChildren(node) {\r\n let result = this.refreshPromises.get(node);\r\n if (result) {\r\n return result;\r\n }\r\n result = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_5__.createCancelablePromise)(() => __awaiter(this, void 0, void 0, function* () {\r\n const children = yield this.dataSource.getChildren(node.element);\r\n return this.processChildren(children);\r\n }));\r\n this.refreshPromises.set(node, result);\r\n return result.finally(() => { this.refreshPromises.delete(node); });\r\n }\r\n _onDidChangeCollapseState({ node, deep }) {\r\n if (node.element === null) {\r\n return;\r\n }\r\n if (!node.collapsed && node.element.stale) {\r\n if (deep) {\r\n this.collapse(node.element.element);\r\n }\r\n else {\r\n this.refreshAndRenderNode(node.element, false)\r\n .catch(_common_errors_js__WEBPACK_IMPORTED_MODULE_8__.onUnexpectedError);\r\n }\r\n }\r\n }\r\n setChildren(node, childrenElementsIterable, recursive, viewStateContext) {\r\n const childrenElements = [...childrenElementsIterable];\r\n // perf: if the node was and still is a leaf, avoid all this hassle\r\n if (node.children.length === 0 && childrenElements.length === 0) {\r\n return [];\r\n }\r\n const nodesToForget = new Map();\r\n const childrenTreeNodesById = new Map();\r\n for (const child of node.children) {\r\n nodesToForget.set(child.element, child);\r\n if (this.identityProvider) {\r\n const collapsed = this.tree.isCollapsed(child);\r\n childrenTreeNodesById.set(child.id, { node: child, collapsed });\r\n }\r\n }\r\n const childrenToRefresh = [];\r\n const children = childrenElements.map(element => {\r\n const hasChildren = !!this.dataSource.hasChildren(element);\r\n if (!this.identityProvider) {\r\n const asyncDataTreeNode = createAsyncDataTreeNode({ element, parent: node, hasChildren });\r\n if (hasChildren && this.collapseByDefault && !this.collapseByDefault(element)) {\r\n asyncDataTreeNode.collapsedByDefault = false;\r\n childrenToRefresh.push(asyncDataTreeNode);\r\n }\r\n return asyncDataTreeNode;\r\n }\r\n const id = this.identityProvider.getId(element).toString();\r\n const result = childrenTreeNodesById.get(id);\r\n if (result) {\r\n const asyncDataTreeNode = result.node;\r\n nodesToForget.delete(asyncDataTreeNode.element);\r\n this.nodes.delete(asyncDataTreeNode.element);\r\n this.nodes.set(element, asyncDataTreeNode);\r\n asyncDataTreeNode.element = element;\r\n asyncDataTreeNode.hasChildren = hasChildren;\r\n if (recursive) {\r\n if (result.collapsed) {\r\n asyncDataTreeNode.children.forEach(node => dfs(node, node => this.nodes.delete(node.element)));\r\n asyncDataTreeNode.children.splice(0, asyncDataTreeNode.children.length);\r\n asyncDataTreeNode.stale = true;\r\n }\r\n else {\r\n childrenToRefresh.push(asyncDataTreeNode);\r\n }\r\n }\r\n else if (hasChildren && this.collapseByDefault && !this.collapseByDefault(element)) {\r\n asyncDataTreeNode.collapsedByDefault = false;\r\n childrenToRefresh.push(asyncDataTreeNode);\r\n }\r\n return asyncDataTreeNode;\r\n }\r\n const childAsyncDataTreeNode = createAsyncDataTreeNode({ element, parent: node, id, hasChildren });\r\n if (viewStateContext && viewStateContext.viewState.focus && viewStateContext.viewState.focus.indexOf(id) > -1) {\r\n viewStateContext.focus.push(childAsyncDataTreeNode);\r\n }\r\n if (viewStateContext && viewStateContext.viewState.selection && viewStateContext.viewState.selection.indexOf(id) > -1) {\r\n viewStateContext.selection.push(childAsyncDataTreeNode);\r\n }\r\n if (viewStateContext && viewStateContext.viewState.expanded && viewStateContext.viewState.expanded.indexOf(id) > -1) {\r\n childrenToRefresh.push(childAsyncDataTreeNode);\r\n }\r\n else if (hasChildren && this.collapseByDefault && !this.collapseByDefault(element)) {\r\n childAsyncDataTreeNode.collapsedByDefault = false;\r\n childrenToRefresh.push(childAsyncDataTreeNode);\r\n }\r\n return childAsyncDataTreeNode;\r\n });\r\n for (const node of nodesToForget.values()) {\r\n dfs(node, node => this.nodes.delete(node.element));\r\n }\r\n for (const child of children) {\r\n this.nodes.set(child.element, child);\r\n }\r\n node.children.splice(0, node.children.length, ...children);\r\n // TODO@joao this doesn't take filter into account\r\n if (node !== this.root && this.autoExpandSingleChildren && children.length === 1 && childrenToRefresh.length === 0) {\r\n children[0].collapsedByDefault = false;\r\n childrenToRefresh.push(children[0]);\r\n }\r\n return childrenToRefresh;\r\n }\r\n render(node, viewStateContext, options) {\r\n const children = node.children.map(node => this.asTreeElement(node, viewStateContext));\r\n const objectTreeOptions = options && Object.assign(Object.assign({}, options), { diffIdentityProvider: options.diffIdentityProvider && {\r\n getId(node) {\r\n return options.diffIdentityProvider.getId(node.element);\r\n }\r\n } });\r\n this.tree.setChildren(node === this.root ? null : node, children, objectTreeOptions);\r\n if (node !== this.root) {\r\n this.tree.setCollapsible(node, node.hasChildren);\r\n }\r\n this._onDidRender.fire();\r\n }\r\n asTreeElement(node, viewStateContext) {\r\n if (node.stale) {\r\n return {\r\n element: node,\r\n collapsible: node.hasChildren,\r\n collapsed: true\r\n };\r\n }\r\n let collapsed;\r\n if (viewStateContext && viewStateContext.viewState.expanded && node.id && viewStateContext.viewState.expanded.indexOf(node.id) > -1) {\r\n collapsed = false;\r\n }\r\n else {\r\n collapsed = node.collapsedByDefault;\r\n }\r\n node.collapsedByDefault = undefined;\r\n return {\r\n element: node,\r\n children: node.hasChildren ? _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.map(node.children, child => this.asTreeElement(child, viewStateContext)) : [],\r\n collapsible: node.hasChildren,\r\n collapsed\r\n };\r\n }\r\n processChildren(children) {\r\n if (this.sorter) {\r\n children = [...children].sort(this.sorter.compare.bind(this.sorter));\r\n }\r\n return children;\r\n }\r\n dispose() {\r\n this.disposables.dispose();\r\n }\r\n}\r\nclass CompressibleAsyncDataTreeNodeWrapper {\r\n constructor(node) {\r\n this.node = node;\r\n }\r\n get element() {\r\n return {\r\n elements: this.node.element.elements.map(e => e.element),\r\n incompressible: this.node.element.incompressible\r\n };\r\n }\r\n get children() { return this.node.children.map(node => new CompressibleAsyncDataTreeNodeWrapper(node)); }\r\n get depth() { return this.node.depth; }\r\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\r\n get visibleChildIndex() { return this.node.visibleChildIndex; }\r\n get collapsible() { return this.node.collapsible; }\r\n get collapsed() { return this.node.collapsed; }\r\n get visible() { return this.node.visible; }\r\n get filterData() { return this.node.filterData; }\r\n}\r\nclass CompressibleAsyncDataTreeRenderer {\r\n constructor(renderer, nodeMapper, compressibleNodeMapperProvider, onDidChangeTwistieState) {\r\n this.renderer = renderer;\r\n this.nodeMapper = nodeMapper;\r\n this.compressibleNodeMapperProvider = compressibleNodeMapperProvider;\r\n this.onDidChangeTwistieState = onDidChangeTwistieState;\r\n this.renderedNodes = new Map();\r\n this.disposables = [];\r\n this.templateId = renderer.templateId;\r\n }\r\n renderTemplate(container) {\r\n const templateData = this.renderer.renderTemplate(container);\r\n return { templateData };\r\n }\r\n renderElement(node, index, templateData, height) {\r\n this.renderer.renderElement(this.nodeMapper.map(node), index, templateData.templateData, height);\r\n }\r\n renderCompressedElements(node, index, templateData, height) {\r\n this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(node), index, templateData.templateData, height);\r\n }\r\n renderTwistie(element, twistieElement) {\r\n if (element.slow) {\r\n twistieElement.classList.add(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_10__.treeItemLoadingIcon.classNamesArray);\r\n return true;\r\n }\r\n else {\r\n twistieElement.classList.remove(..._treeIcons_js__WEBPACK_IMPORTED_MODULE_10__.treeItemLoadingIcon.classNamesArray);\r\n return false;\r\n }\r\n }\r\n disposeElement(node, index, templateData, height) {\r\n if (this.renderer.disposeElement) {\r\n this.renderer.disposeElement(this.nodeMapper.map(node), index, templateData.templateData, height);\r\n }\r\n }\r\n disposeCompressedElements(node, index, templateData, height) {\r\n if (this.renderer.disposeCompressedElements) {\r\n this.renderer.disposeCompressedElements(this.compressibleNodeMapperProvider().map(node), index, templateData.templateData, height);\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n this.renderer.disposeTemplate(templateData.templateData);\r\n }\r\n dispose() {\r\n this.renderedNodes.clear();\r\n this.disposables = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.dispose)(this.disposables);\r\n }\r\n}\r\nfunction asCompressibleObjectTreeOptions(options) {\r\n const objectTreeOptions = options && asObjectTreeOptions(options);\r\n return objectTreeOptions && Object.assign(Object.assign({}, objectTreeOptions), { keyboardNavigationLabelProvider: objectTreeOptions.keyboardNavigationLabelProvider && Object.assign(Object.assign({}, objectTreeOptions.keyboardNavigationLabelProvider), { getCompressedNodeKeyboardNavigationLabel(els) {\r\n return options.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(els.map(e => e.element));\r\n } }) });\r\n}\r\nclass CompressibleAsyncDataTree extends AsyncDataTree {\r\n constructor(user, container, virtualDelegate, compressionDelegate, renderers, dataSource, options = {}) {\r\n super(user, container, virtualDelegate, renderers, dataSource, options);\r\n this.compressionDelegate = compressionDelegate;\r\n this.compressibleNodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_2__.WeakMapper(node => new CompressibleAsyncDataTreeNodeWrapper(node));\r\n this.filter = options.filter;\r\n }\r\n createTree(user, container, delegate, renderers, options) {\r\n const objectTreeDelegate = new _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.ComposedTreeDelegate(delegate);\r\n const objectTreeRenderers = renderers.map(r => new CompressibleAsyncDataTreeRenderer(r, this.nodeMapper, () => this.compressibleNodeMapper, this._onDidChangeNodeSlowState.event));\r\n const objectTreeOptions = asCompressibleObjectTreeOptions(options) || {};\r\n return new _objectTree_js__WEBPACK_IMPORTED_MODULE_1__.CompressibleObjectTree(user, container, objectTreeDelegate, objectTreeRenderers, objectTreeOptions);\r\n }\r\n asTreeElement(node, viewStateContext) {\r\n return Object.assign({ incompressible: this.compressionDelegate.isIncompressible(node.element) }, super.asTreeElement(node, viewStateContext));\r\n }\r\n updateOptions(options = {}) {\r\n this.tree.updateOptions(options);\r\n }\r\n render(node, viewStateContext) {\r\n if (!this.identityProvider) {\r\n return super.render(node, viewStateContext);\r\n }\r\n // Preserve traits across compressions. Hacky but does the trick.\r\n // This is hard to fix properly since it requires rewriting the traits\r\n // across trees and lists. Let's just keep it this way for now.\r\n const getId = (element) => this.identityProvider.getId(element).toString();\r\n const getUncompressedIds = (nodes) => {\r\n const result = new Set();\r\n for (const node of nodes) {\r\n const compressedNode = this.tree.getCompressedTreeNode(node === this.root ? null : node);\r\n if (!compressedNode.element) {\r\n continue;\r\n }\r\n for (const node of compressedNode.element.elements) {\r\n result.add(getId(node.element));\r\n }\r\n }\r\n return result;\r\n };\r\n const oldSelection = getUncompressedIds(this.tree.getSelection());\r\n const oldFocus = getUncompressedIds(this.tree.getFocus());\r\n super.render(node, viewStateContext);\r\n const selection = this.getSelection();\r\n let didChangeSelection = false;\r\n const focus = this.getFocus();\r\n let didChangeFocus = false;\r\n const visit = (node) => {\r\n const compressedNode = node.element;\r\n if (compressedNode) {\r\n for (let i = 0; i < compressedNode.elements.length; i++) {\r\n const id = getId(compressedNode.elements[i].element);\r\n const element = compressedNode.elements[compressedNode.elements.length - 1].element;\r\n // github.com/microsoft/vscode/issues/85938\r\n if (oldSelection.has(id) && selection.indexOf(element) === -1) {\r\n selection.push(element);\r\n didChangeSelection = true;\r\n }\r\n if (oldFocus.has(id) && focus.indexOf(element) === -1) {\r\n focus.push(element);\r\n didChangeFocus = true;\r\n }\r\n }\r\n }\r\n node.children.forEach(visit);\r\n };\r\n visit(this.tree.getCompressedTreeNode(node === this.root ? null : node));\r\n if (didChangeSelection) {\r\n this.setSelection(selection);\r\n }\r\n if (didChangeFocus) {\r\n this.setFocus(focus);\r\n }\r\n }\r\n // For compressed async data trees, `TreeVisibility.Recurse` doesn't currently work\r\n // and we have to filter everything beforehand\r\n // Related to #85193 and #85835\r\n processChildren(children) {\r\n if (this.filter) {\r\n children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.filter(children, e => {\r\n const result = this.filter.filter(e, 1 /* Visible */);\r\n const visibility = getVisibility(result);\r\n if (visibility === 2 /* Recurse */) {\r\n throw new Error('Recursive tree visibility not supported in async data compressed trees');\r\n }\r\n return visibility === 1 /* Visible */;\r\n });\r\n }\r\n return super.processChildren(children);\r\n }\r\n}\r\nfunction getVisibility(filterResult) {\r\n if (typeof filterResult === 'boolean') {\r\n return filterResult ? 1 /* Visible */ : 0 /* Hidden */;\r\n }\r\n else if ((0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.isFilterResult)(filterResult)) {\r\n return (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.getVisibleState)(filterResult.visibility);\r\n }\r\n else {\r\n return (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.getVisibleState)(filterResult);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js": /*!*********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"compress\": () => (/* binding */ compress),\n/* harmony export */ \"decompress\": () => (/* binding */ decompress),\n/* harmony export */ \"CompressedObjectTreeModel\": () => (/* binding */ CompressedObjectTreeModel),\n/* harmony export */ \"DefaultElementMapper\": () => (/* binding */ DefaultElementMapper),\n/* harmony export */ \"CompressibleObjectTreeModel\": () => (/* binding */ CompressibleObjectTreeModel)\n/* harmony export */ });\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.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\nfunction noCompress(element) {\r\n const elements = [element.element];\r\n const incompressible = element.incompressible || false;\r\n return {\r\n element: { elements, incompressible },\r\n children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.from(element.children), noCompress),\r\n collapsible: element.collapsible,\r\n collapsed: element.collapsed\r\n };\r\n}\r\n// Exported only for test reasons, do not use directly\r\nfunction compress(element) {\r\n const elements = [element.element];\r\n const incompressible = element.incompressible || false;\r\n let childrenIterator;\r\n let children;\r\n while (true) {\r\n [children, childrenIterator] = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.consume(_common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.from(element.children), 2);\r\n if (children.length !== 1) {\r\n break;\r\n }\r\n if (children[0].incompressible) {\r\n break;\r\n }\r\n element = children[0];\r\n elements.push(element.element);\r\n }\r\n return {\r\n element: { elements, incompressible },\r\n children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.concat(children, childrenIterator), compress),\r\n collapsible: element.collapsible,\r\n collapsed: element.collapsed\r\n };\r\n}\r\nfunction _decompress(element, index = 0) {\r\n let children;\r\n if (index < element.element.elements.length - 1) {\r\n children = [_decompress(element, index + 1)];\r\n }\r\n else {\r\n children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.from(element.children), el => _decompress(el, 0));\r\n }\r\n if (index === 0 && element.element.incompressible) {\r\n return {\r\n element: element.element.elements[index],\r\n children,\r\n incompressible: true,\r\n collapsible: element.collapsible,\r\n collapsed: element.collapsed\r\n };\r\n }\r\n return {\r\n element: element.element.elements[index],\r\n children,\r\n collapsible: element.collapsible,\r\n collapsed: element.collapsed\r\n };\r\n}\r\n// Exported only for test reasons, do not use directly\r\nfunction decompress(element) {\r\n return _decompress(element, 0);\r\n}\r\nfunction splice(treeElement, element, children) {\r\n if (treeElement.element === element) {\r\n return Object.assign(Object.assign({}, treeElement), { children });\r\n }\r\n return Object.assign(Object.assign({}, treeElement), { children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.from(treeElement.children), e => splice(e, element, children)) });\r\n}\r\nconst wrapIdentityProvider = (base) => ({\r\n getId(node) {\r\n return node.elements.map(e => base.getId(e).toString()).join('\\0');\r\n }\r\n});\r\n// Exported only for test reasons, do not use directly\r\nclass CompressedObjectTreeModel {\r\n constructor(user, list, options = {}) {\r\n this.user = user;\r\n this.rootRef = null;\r\n this.nodes = new Map();\r\n this.model = new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_3__.ObjectTreeModel(user, list, options);\r\n this.enabled = typeof options.compressionEnabled === 'undefined' ? true : options.compressionEnabled;\r\n this.identityProvider = options.identityProvider;\r\n }\r\n get onDidSplice() { return this.model.onDidSplice; }\r\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\r\n get onDidChangeRenderNodeCount() { return this.model.onDidChangeRenderNodeCount; }\r\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty(), options) {\r\n // Diffs must be deem, since the compression can affect nested elements.\r\n // @see https://github.com/microsoft/vscode/pull/114237#issuecomment-759425034\r\n const diffIdentityProvider = options.diffIdentityProvider && wrapIdentityProvider(options.diffIdentityProvider);\r\n if (element === null) {\r\n const compressedChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(children, this.enabled ? compress : noCompress);\r\n this._setChildren(null, compressedChildren, { diffIdentityProvider, diffDepth: Infinity });\r\n return;\r\n }\r\n const compressedNode = this.nodes.get(element);\r\n if (!compressedNode) {\r\n throw new Error('Unknown compressed tree node');\r\n }\r\n const node = this.model.getNode(compressedNode);\r\n const compressedParentNode = this.model.getParentNodeLocation(compressedNode);\r\n const parent = this.model.getNode(compressedParentNode);\r\n const decompressedElement = decompress(node);\r\n const splicedElement = splice(decompressedElement, element, children);\r\n const recompressedElement = (this.enabled ? compress : noCompress)(splicedElement);\r\n const parentChildren = parent.children\r\n .map(child => child === node ? recompressedElement : child);\r\n this._setChildren(parent.element, parentChildren, {\r\n diffIdentityProvider,\r\n diffDepth: node.depth - parent.depth,\r\n });\r\n }\r\n setCompressionEnabled(enabled) {\r\n if (enabled === this.enabled) {\r\n return;\r\n }\r\n this.enabled = enabled;\r\n const root = this.model.getNode();\r\n const rootChildren = root.children;\r\n const decompressedRootChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(rootChildren, decompress);\r\n const recompressedRootChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(decompressedRootChildren, enabled ? compress : noCompress);\r\n // it should be safe to always use deep diff mode here if an identity\r\n // provider is available, since we know the raw nodes are unchanged.\r\n this._setChildren(null, recompressedRootChildren, {\r\n diffIdentityProvider: this.identityProvider,\r\n diffDepth: Infinity,\r\n });\r\n }\r\n _setChildren(node, children, options) {\r\n const insertedElements = new Set();\r\n const onDidCreateNode = (node) => {\r\n for (const element of node.element.elements) {\r\n insertedElements.add(element);\r\n this.nodes.set(element, node.element);\r\n }\r\n };\r\n const onDidDeleteNode = (node) => {\r\n for (const element of node.element.elements) {\r\n if (!insertedElements.has(element)) {\r\n this.nodes.delete(element);\r\n }\r\n }\r\n };\r\n this.model.setChildren(node, children, Object.assign(Object.assign({}, options), { onDidCreateNode, onDidDeleteNode }));\r\n }\r\n has(element) {\r\n return this.nodes.has(element);\r\n }\r\n getListIndex(location) {\r\n const node = this.getCompressedNode(location);\r\n return this.model.getListIndex(node);\r\n }\r\n getListRenderCount(location) {\r\n const node = this.getCompressedNode(location);\r\n return this.model.getListRenderCount(node);\r\n }\r\n getNode(location) {\r\n if (typeof location === 'undefined') {\r\n return this.model.getNode();\r\n }\r\n const node = this.getCompressedNode(location);\r\n return this.model.getNode(node);\r\n }\r\n // TODO: review this\r\n getNodeLocation(node) {\r\n const compressedNode = this.model.getNodeLocation(node);\r\n if (compressedNode === null) {\r\n return null;\r\n }\r\n return compressedNode.elements[compressedNode.elements.length - 1];\r\n }\r\n // TODO: review this\r\n getParentNodeLocation(location) {\r\n const compressedNode = this.getCompressedNode(location);\r\n const parentNode = this.model.getParentNodeLocation(compressedNode);\r\n if (parentNode === null) {\r\n return null;\r\n }\r\n return parentNode.elements[parentNode.elements.length - 1];\r\n }\r\n isCollapsible(location) {\r\n const compressedNode = this.getCompressedNode(location);\r\n return this.model.isCollapsible(compressedNode);\r\n }\r\n setCollapsible(location, collapsible) {\r\n const compressedNode = this.getCompressedNode(location);\r\n return this.model.setCollapsible(compressedNode, collapsible);\r\n }\r\n isCollapsed(location) {\r\n const compressedNode = this.getCompressedNode(location);\r\n return this.model.isCollapsed(compressedNode);\r\n }\r\n setCollapsed(location, collapsed, recursive) {\r\n const compressedNode = this.getCompressedNode(location);\r\n return this.model.setCollapsed(compressedNode, collapsed, recursive);\r\n }\r\n expandTo(location) {\r\n const compressedNode = this.getCompressedNode(location);\r\n this.model.expandTo(compressedNode);\r\n }\r\n rerender(location) {\r\n const compressedNode = this.getCompressedNode(location);\r\n this.model.rerender(compressedNode);\r\n }\r\n refilter() {\r\n this.model.refilter();\r\n }\r\n getCompressedNode(element) {\r\n if (element === null) {\r\n return null;\r\n }\r\n const node = this.nodes.get(element);\r\n if (!node) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, `Tree element not found: ${element}`);\r\n }\r\n return node;\r\n }\r\n}\r\nconst DefaultElementMapper = elements => elements[elements.length - 1];\r\nclass CompressedTreeNodeWrapper {\r\n constructor(unwrapper, node) {\r\n this.unwrapper = unwrapper;\r\n this.node = node;\r\n }\r\n get element() { return this.node.element === null ? null : this.unwrapper(this.node.element); }\r\n get children() { return this.node.children.map(node => new CompressedTreeNodeWrapper(this.unwrapper, node)); }\r\n get depth() { return this.node.depth; }\r\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\r\n get visibleChildIndex() { return this.node.visibleChildIndex; }\r\n get collapsible() { return this.node.collapsible; }\r\n get collapsed() { return this.node.collapsed; }\r\n get visible() { return this.node.visible; }\r\n get filterData() { return this.node.filterData; }\r\n}\r\nfunction mapList(nodeMapper, list) {\r\n return {\r\n splice(start, deleteCount, toInsert) {\r\n list.splice(start, deleteCount, toInsert.map(node => nodeMapper.map(node)));\r\n },\r\n updateElementHeight(index, height) {\r\n list.updateElementHeight(index, height);\r\n }\r\n };\r\n}\r\nfunction mapOptions(compressedNodeUnwrapper, options) {\r\n return Object.assign(Object.assign({}, options), { identityProvider: options.identityProvider && {\r\n getId(node) {\r\n return options.identityProvider.getId(compressedNodeUnwrapper(node));\r\n }\r\n }, sorter: options.sorter && {\r\n compare(node, otherNode) {\r\n return options.sorter.compare(node.elements[0], otherNode.elements[0]);\r\n }\r\n }, filter: options.filter && {\r\n filter(node, parentVisibility) {\r\n return options.filter.filter(compressedNodeUnwrapper(node), parentVisibility);\r\n }\r\n } });\r\n}\r\nclass CompressibleObjectTreeModel {\r\n constructor(user, list, options = {}) {\r\n this.rootRef = null;\r\n this.elementMapper = options.elementMapper || DefaultElementMapper;\r\n const compressedNodeUnwrapper = node => this.elementMapper(node.elements);\r\n this.nodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_2__.WeakMapper(node => new CompressedTreeNodeWrapper(compressedNodeUnwrapper, node));\r\n this.model = new CompressedObjectTreeModel(user, mapList(this.nodeMapper, list), mapOptions(compressedNodeUnwrapper, options));\r\n }\r\n get onDidSplice() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Event.map(this.model.onDidSplice, ({ insertedNodes, deletedNodes }) => ({\r\n insertedNodes: insertedNodes.map(node => this.nodeMapper.map(node)),\r\n deletedNodes: deletedNodes.map(node => this.nodeMapper.map(node)),\r\n }));\r\n }\r\n get onDidChangeCollapseState() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Event.map(this.model.onDidChangeCollapseState, ({ node, deep }) => ({\r\n node: this.nodeMapper.map(node),\r\n deep\r\n }));\r\n }\r\n get onDidChangeRenderNodeCount() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Event.map(this.model.onDidChangeRenderNodeCount, node => this.nodeMapper.map(node));\r\n }\r\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty(), options = {}) {\r\n this.model.setChildren(element, children, options);\r\n }\r\n setCompressionEnabled(enabled) {\r\n this.model.setCompressionEnabled(enabled);\r\n }\r\n has(location) {\r\n return this.model.has(location);\r\n }\r\n getListIndex(location) {\r\n return this.model.getListIndex(location);\r\n }\r\n getListRenderCount(location) {\r\n return this.model.getListRenderCount(location);\r\n }\r\n getNode(location) {\r\n return this.nodeMapper.map(this.model.getNode(location));\r\n }\r\n getNodeLocation(node) {\r\n return node.element;\r\n }\r\n getParentNodeLocation(location) {\r\n return this.model.getParentNodeLocation(location);\r\n }\r\n isCollapsible(location) {\r\n return this.model.isCollapsible(location);\r\n }\r\n setCollapsible(location, collapsed) {\r\n return this.model.setCollapsible(location, collapsed);\r\n }\r\n isCollapsed(location) {\r\n return this.model.isCollapsed(location);\r\n }\r\n setCollapsed(location, collapsed, recursive) {\r\n return this.model.setCollapsed(location, collapsed, recursive);\r\n }\r\n expandTo(location) {\r\n return this.model.expandTo(location);\r\n }\r\n rerender(location) {\r\n return this.model.rerender(location);\r\n }\r\n refilter() {\r\n return this.model.refilter();\r\n }\r\n getCompressedTreeNode(location = null) {\r\n return this.model.getNode(location);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js": /*!****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DataTree\": () => (/* binding */ DataTree)\n/* harmony export */ });\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.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\nclass DataTree extends _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.AbstractTree {\r\n constructor(user, container, delegate, renderers, dataSource, options = {}) {\r\n super(user, container, delegate, renderers, options);\r\n this.user = user;\r\n this.dataSource = dataSource;\r\n this.identityProvider = options.identityProvider;\r\n }\r\n createModel(user, view, options) {\r\n return new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeModel(user, view, options);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isFilterResult\": () => (/* binding */ isFilterResult),\n/* harmony export */ \"getVisibleState\": () => (/* binding */ getVisibleState),\n/* harmony export */ \"IndexTreeModel\": () => (/* binding */ IndexTreeModel)\n/* harmony export */ });\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_diff_diff_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/diff/diff.js */ \"./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.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\nfunction isFilterResult(obj) {\r\n return typeof obj === 'object' && 'visibility' in obj && 'data' in obj;\r\n}\r\nfunction getVisibleState(visibility) {\r\n switch (visibility) {\r\n case true: return 1 /* Visible */;\r\n case false: return 0 /* Hidden */;\r\n default: return visibility;\r\n }\r\n}\r\nfunction isCollapsibleStateUpdate(update) {\r\n return typeof update.collapsible === 'boolean';\r\n}\r\nclass IndexTreeModel {\r\n constructor(user, list, rootElement, options = {}) {\r\n this.user = user;\r\n this.list = list;\r\n this.rootRef = [];\r\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.EventBufferer();\r\n this._onDidChangeCollapseState = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter();\r\n this.onDidChangeCollapseState = this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event);\r\n this._onDidChangeRenderNodeCount = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter();\r\n this.onDidChangeRenderNodeCount = this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event);\r\n this._onDidSplice = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter();\r\n this.onDidSplice = this._onDidSplice.event;\r\n this.collapseByDefault = typeof options.collapseByDefault === 'undefined' ? false : options.collapseByDefault;\r\n this.filter = options.filter;\r\n this.autoExpandSingleChildren = typeof options.autoExpandSingleChildren === 'undefined' ? false : options.autoExpandSingleChildren;\r\n this.root = {\r\n parent: undefined,\r\n element: rootElement,\r\n children: [],\r\n depth: 0,\r\n visibleChildrenCount: 0,\r\n visibleChildIndex: -1,\r\n collapsible: false,\r\n collapsed: false,\r\n renderNodeCount: 0,\r\n visibility: 1 /* Visible */,\r\n visible: true,\r\n filterData: undefined\r\n };\r\n }\r\n splice(location, deleteCount, toInsert = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options = {}) {\r\n if (location.length === 0) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\r\n }\r\n if (options.diffIdentityProvider) {\r\n this.spliceSmart(options.diffIdentityProvider, location, deleteCount, toInsert, options);\r\n }\r\n else {\r\n this.spliceSimple(location, deleteCount, toInsert, options);\r\n }\r\n }\r\n spliceSmart(identity, location, deleteCount, toInsertIterable, options, recurseLevels) {\r\n var _a;\r\n if (toInsertIterable === void 0) { toInsertIterable = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(); }\r\n if (recurseLevels === void 0) { recurseLevels = (_a = options.diffDepth) !== null && _a !== void 0 ? _a : 0; }\r\n const { parentNode } = this.getParentNodeWithListIndex(location);\r\n const toInsert = [...toInsertIterable];\r\n const index = location[location.length - 1];\r\n const diff = new _common_diff_diff_js__WEBPACK_IMPORTED_MODULE_2__.LcsDiff({ getElements: () => parentNode.children.map(e => identity.getId(e.element).toString()) }, {\r\n getElements: () => [\r\n ...parentNode.children.slice(0, index),\r\n ...toInsert,\r\n ...parentNode.children.slice(index + deleteCount),\r\n ].map(e => identity.getId(e.element).toString())\r\n }).ComputeDiff(false);\r\n // if we were given a 'best effort' diff, use default behavior\r\n if (diff.quitEarly) {\r\n return this.spliceSimple(location, deleteCount, toInsert, options);\r\n }\r\n const locationPrefix = location.slice(0, -1);\r\n const recurseSplice = (fromOriginal, fromModified, count) => {\r\n if (recurseLevels > 0) {\r\n for (let i = 0; i < count; i++) {\r\n fromOriginal--;\r\n fromModified--;\r\n this.spliceSmart(identity, [...locationPrefix, fromOriginal, 0], Number.MAX_SAFE_INTEGER, toInsert[fromModified].children, options, recurseLevels - 1);\r\n }\r\n }\r\n };\r\n let lastStartO = Math.min(parentNode.children.length, index + deleteCount);\r\n let lastStartM = toInsert.length;\r\n for (const change of diff.changes.sort((a, b) => b.originalStart - a.originalStart)) {\r\n recurseSplice(lastStartO, lastStartM, lastStartO - (change.originalStart + change.originalLength));\r\n lastStartO = change.originalStart;\r\n lastStartM = change.modifiedStart - index;\r\n this.spliceSimple([...locationPrefix, lastStartO], change.originalLength, _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.slice(toInsert, lastStartM, lastStartM + change.modifiedLength), options);\r\n }\r\n // at this point, startO === startM === count since any remaining prefix should match\r\n recurseSplice(lastStartO, lastStartM, lastStartO);\r\n }\r\n spliceSimple(location, deleteCount, toInsert = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), { onDidCreateNode, onDidDeleteNode }) {\r\n const { parentNode, listIndex, revealed, visible } = this.getParentNodeWithListIndex(location);\r\n const treeListElementsToInsert = [];\r\n const nodesToInsertIterator = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(toInsert, el => this.createTreeNode(el, parentNode, parentNode.visible ? 1 /* Visible */ : 0 /* Hidden */, revealed, treeListElementsToInsert, onDidCreateNode));\r\n const lastIndex = location[location.length - 1];\r\n const lastHadChildren = parentNode.children.length > 0;\r\n // figure out what's the visible child start index right before the\r\n // splice point\r\n let visibleChildStartIndex = 0;\r\n for (let i = lastIndex; i >= 0 && i < parentNode.children.length; i--) {\r\n const child = parentNode.children[i];\r\n if (child.visible) {\r\n visibleChildStartIndex = child.visibleChildIndex;\r\n break;\r\n }\r\n }\r\n const nodesToInsert = [];\r\n let insertedVisibleChildrenCount = 0;\r\n let renderNodeCount = 0;\r\n for (const child of nodesToInsertIterator) {\r\n nodesToInsert.push(child);\r\n renderNodeCount += child.renderNodeCount;\r\n if (child.visible) {\r\n child.visibleChildIndex = visibleChildStartIndex + insertedVisibleChildrenCount++;\r\n }\r\n }\r\n const deletedNodes = parentNode.children.splice(lastIndex, deleteCount, ...nodesToInsert);\r\n // figure out what is the count of deleted visible children\r\n let deletedVisibleChildrenCount = 0;\r\n for (const child of deletedNodes) {\r\n if (child.visible) {\r\n deletedVisibleChildrenCount++;\r\n }\r\n }\r\n // and adjust for all visible children after the splice point\r\n if (deletedVisibleChildrenCount !== 0) {\r\n for (let i = lastIndex + nodesToInsert.length; i < parentNode.children.length; i++) {\r\n const child = parentNode.children[i];\r\n if (child.visible) {\r\n child.visibleChildIndex -= deletedVisibleChildrenCount;\r\n }\r\n }\r\n }\r\n // update parent's visible children count\r\n parentNode.visibleChildrenCount += insertedVisibleChildrenCount - deletedVisibleChildrenCount;\r\n if (revealed && visible) {\r\n const visibleDeleteCount = deletedNodes.reduce((r, node) => r + (node.visible ? node.renderNodeCount : 0), 0);\r\n this._updateAncestorsRenderNodeCount(parentNode, renderNodeCount - visibleDeleteCount);\r\n this.list.splice(listIndex, visibleDeleteCount, treeListElementsToInsert);\r\n }\r\n if (deletedNodes.length > 0 && onDidDeleteNode) {\r\n const visit = (node) => {\r\n onDidDeleteNode(node);\r\n node.children.forEach(visit);\r\n };\r\n deletedNodes.forEach(visit);\r\n }\r\n const currentlyHasChildren = parentNode.children.length > 0;\r\n if (lastHadChildren !== currentlyHasChildren) {\r\n this.setCollapsible(location.slice(0, -1), currentlyHasChildren);\r\n }\r\n this._onDidSplice.fire({ insertedNodes: nodesToInsert, deletedNodes });\r\n let node = parentNode;\r\n while (node) {\r\n if (node.visibility === 2 /* Recurse */) {\r\n this.refilter();\r\n break;\r\n }\r\n node = node.parent;\r\n }\r\n }\r\n rerender(location) {\r\n if (location.length === 0) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\r\n }\r\n const { node, listIndex, revealed } = this.getTreeNodeWithListIndex(location);\r\n if (node.visible && revealed) {\r\n this.list.splice(listIndex, 1, [node]);\r\n }\r\n }\r\n has(location) {\r\n return this.hasTreeNode(location);\r\n }\r\n getListIndex(location) {\r\n const { listIndex, visible, revealed } = this.getTreeNodeWithListIndex(location);\r\n return visible && revealed ? listIndex : -1;\r\n }\r\n getListRenderCount(location) {\r\n return this.getTreeNode(location).renderNodeCount;\r\n }\r\n isCollapsible(location) {\r\n return this.getTreeNode(location).collapsible;\r\n }\r\n setCollapsible(location, collapsible) {\r\n const node = this.getTreeNode(location);\r\n if (typeof collapsible === 'undefined') {\r\n collapsible = !node.collapsible;\r\n }\r\n const update = { collapsible };\r\n return this.eventBufferer.bufferEvents(() => this._setCollapseState(location, update));\r\n }\r\n isCollapsed(location) {\r\n return this.getTreeNode(location).collapsed;\r\n }\r\n setCollapsed(location, collapsed, recursive) {\r\n const node = this.getTreeNode(location);\r\n if (typeof collapsed === 'undefined') {\r\n collapsed = !node.collapsed;\r\n }\r\n const update = { collapsed, recursive: recursive || false };\r\n return this.eventBufferer.bufferEvents(() => this._setCollapseState(location, update));\r\n }\r\n _setCollapseState(location, update) {\r\n const { node, listIndex, revealed } = this.getTreeNodeWithListIndex(location);\r\n const result = this._setListNodeCollapseState(node, listIndex, revealed, update);\r\n if (node !== this.root && this.autoExpandSingleChildren && result && !isCollapsibleStateUpdate(update) && node.collapsible && !node.collapsed && !update.recursive) {\r\n let onlyVisibleChildIndex = -1;\r\n for (let i = 0; i < node.children.length; i++) {\r\n const child = node.children[i];\r\n if (child.visible) {\r\n if (onlyVisibleChildIndex > -1) {\r\n onlyVisibleChildIndex = -1;\r\n break;\r\n }\r\n else {\r\n onlyVisibleChildIndex = i;\r\n }\r\n }\r\n }\r\n if (onlyVisibleChildIndex > -1) {\r\n this._setCollapseState([...location, onlyVisibleChildIndex], update);\r\n }\r\n }\r\n return result;\r\n }\r\n _setListNodeCollapseState(node, listIndex, revealed, update) {\r\n const result = this._setNodeCollapseState(node, update, false);\r\n if (!revealed || !node.visible || !result) {\r\n return result;\r\n }\r\n const previousRenderNodeCount = node.renderNodeCount;\r\n const toInsert = this.updateNodeAfterCollapseChange(node);\r\n const deleteCount = previousRenderNodeCount - (listIndex === -1 ? 0 : 1);\r\n this.list.splice(listIndex + 1, deleteCount, toInsert.slice(1));\r\n return result;\r\n }\r\n _setNodeCollapseState(node, update, deep) {\r\n let result;\r\n if (node === this.root) {\r\n result = false;\r\n }\r\n else {\r\n if (isCollapsibleStateUpdate(update)) {\r\n result = node.collapsible !== update.collapsible;\r\n node.collapsible = update.collapsible;\r\n }\r\n else if (!node.collapsible) {\r\n result = false;\r\n }\r\n else {\r\n result = node.collapsed !== update.collapsed;\r\n node.collapsed = update.collapsed;\r\n }\r\n if (result) {\r\n this._onDidChangeCollapseState.fire({ node, deep });\r\n }\r\n }\r\n if (!isCollapsibleStateUpdate(update) && update.recursive) {\r\n for (const child of node.children) {\r\n result = this._setNodeCollapseState(child, update, true) || result;\r\n }\r\n }\r\n return result;\r\n }\r\n expandTo(location) {\r\n this.eventBufferer.bufferEvents(() => {\r\n let node = this.getTreeNode(location);\r\n while (node.parent) {\r\n node = node.parent;\r\n location = location.slice(0, location.length - 1);\r\n if (node.collapsed) {\r\n this._setCollapseState(location, { collapsed: false, recursive: false });\r\n }\r\n }\r\n });\r\n }\r\n refilter() {\r\n const previousRenderNodeCount = this.root.renderNodeCount;\r\n const toInsert = this.updateNodeAfterFilterChange(this.root);\r\n this.list.splice(0, previousRenderNodeCount, toInsert);\r\n }\r\n createTreeNode(treeElement, parent, parentVisibility, revealed, treeListElements, onDidCreateNode) {\r\n const node = {\r\n parent,\r\n element: treeElement.element,\r\n children: [],\r\n depth: parent.depth + 1,\r\n visibleChildrenCount: 0,\r\n visibleChildIndex: -1,\r\n collapsible: typeof treeElement.collapsible === 'boolean' ? treeElement.collapsible : (typeof treeElement.collapsed !== 'undefined'),\r\n collapsed: typeof treeElement.collapsed === 'undefined' ? this.collapseByDefault : treeElement.collapsed,\r\n renderNodeCount: 1,\r\n visibility: 1 /* Visible */,\r\n visible: true,\r\n filterData: undefined\r\n };\r\n const visibility = this._filterNode(node, parentVisibility);\r\n node.visibility = visibility;\r\n if (revealed) {\r\n treeListElements.push(node);\r\n }\r\n const childElements = treeElement.children || _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty();\r\n const childRevealed = revealed && visibility !== 0 /* Hidden */ && !node.collapsed;\r\n const childNodes = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(childElements, el => this.createTreeNode(el, node, visibility, childRevealed, treeListElements, onDidCreateNode));\r\n let visibleChildrenCount = 0;\r\n let renderNodeCount = 1;\r\n for (const child of childNodes) {\r\n node.children.push(child);\r\n renderNodeCount += child.renderNodeCount;\r\n if (child.visible) {\r\n child.visibleChildIndex = visibleChildrenCount++;\r\n }\r\n }\r\n node.collapsible = node.collapsible || node.children.length > 0;\r\n node.visibleChildrenCount = visibleChildrenCount;\r\n node.visible = visibility === 2 /* Recurse */ ? visibleChildrenCount > 0 : (visibility === 1 /* Visible */);\r\n if (!node.visible) {\r\n node.renderNodeCount = 0;\r\n if (revealed) {\r\n treeListElements.pop();\r\n }\r\n }\r\n else if (!node.collapsed) {\r\n node.renderNodeCount = renderNodeCount;\r\n }\r\n if (onDidCreateNode) {\r\n onDidCreateNode(node);\r\n }\r\n return node;\r\n }\r\n updateNodeAfterCollapseChange(node) {\r\n const previousRenderNodeCount = node.renderNodeCount;\r\n const result = [];\r\n this._updateNodeAfterCollapseChange(node, result);\r\n this._updateAncestorsRenderNodeCount(node.parent, result.length - previousRenderNodeCount);\r\n return result;\r\n }\r\n _updateNodeAfterCollapseChange(node, result) {\r\n if (node.visible === false) {\r\n return 0;\r\n }\r\n result.push(node);\r\n node.renderNodeCount = 1;\r\n if (!node.collapsed) {\r\n for (const child of node.children) {\r\n node.renderNodeCount += this._updateNodeAfterCollapseChange(child, result);\r\n }\r\n }\r\n this._onDidChangeRenderNodeCount.fire(node);\r\n return node.renderNodeCount;\r\n }\r\n updateNodeAfterFilterChange(node) {\r\n const previousRenderNodeCount = node.renderNodeCount;\r\n const result = [];\r\n this._updateNodeAfterFilterChange(node, node.visible ? 1 /* Visible */ : 0 /* Hidden */, result);\r\n this._updateAncestorsRenderNodeCount(node.parent, result.length - previousRenderNodeCount);\r\n return result;\r\n }\r\n _updateNodeAfterFilterChange(node, parentVisibility, result, revealed = true) {\r\n let visibility;\r\n if (node !== this.root) {\r\n visibility = this._filterNode(node, parentVisibility);\r\n if (visibility === 0 /* Hidden */) {\r\n node.visible = false;\r\n node.renderNodeCount = 0;\r\n return false;\r\n }\r\n if (revealed) {\r\n result.push(node);\r\n }\r\n }\r\n const resultStartLength = result.length;\r\n node.renderNodeCount = node === this.root ? 0 : 1;\r\n let hasVisibleDescendants = false;\r\n if (!node.collapsed || visibility !== 0 /* Hidden */) {\r\n let visibleChildIndex = 0;\r\n for (const child of node.children) {\r\n hasVisibleDescendants = this._updateNodeAfterFilterChange(child, visibility, result, revealed && !node.collapsed) || hasVisibleDescendants;\r\n if (child.visible) {\r\n child.visibleChildIndex = visibleChildIndex++;\r\n }\r\n }\r\n node.visibleChildrenCount = visibleChildIndex;\r\n }\r\n else {\r\n node.visibleChildrenCount = 0;\r\n }\r\n if (node !== this.root) {\r\n node.visible = visibility === 2 /* Recurse */ ? hasVisibleDescendants : (visibility === 1 /* Visible */);\r\n }\r\n if (!node.visible) {\r\n node.renderNodeCount = 0;\r\n if (revealed) {\r\n result.pop();\r\n }\r\n }\r\n else if (!node.collapsed) {\r\n node.renderNodeCount += result.length - resultStartLength;\r\n }\r\n this._onDidChangeRenderNodeCount.fire(node);\r\n return node.visible;\r\n }\r\n _updateAncestorsRenderNodeCount(node, diff) {\r\n if (diff === 0) {\r\n return;\r\n }\r\n while (node) {\r\n node.renderNodeCount += diff;\r\n this._onDidChangeRenderNodeCount.fire(node);\r\n node = node.parent;\r\n }\r\n }\r\n _filterNode(node, parentVisibility) {\r\n const result = this.filter ? this.filter.filter(node.element, parentVisibility) : 1 /* Visible */;\r\n if (typeof result === 'boolean') {\r\n node.filterData = undefined;\r\n return result ? 1 /* Visible */ : 0 /* Hidden */;\r\n }\r\n else if (isFilterResult(result)) {\r\n node.filterData = result.data;\r\n return getVisibleState(result.visibility);\r\n }\r\n else {\r\n node.filterData = undefined;\r\n return getVisibleState(result);\r\n }\r\n }\r\n // cheap\r\n hasTreeNode(location, node = this.root) {\r\n if (!location || location.length === 0) {\r\n return true;\r\n }\r\n const [index, ...rest] = location;\r\n if (index < 0 || index > node.children.length) {\r\n return false;\r\n }\r\n return this.hasTreeNode(rest, node.children[index]);\r\n }\r\n // cheap\r\n getTreeNode(location, node = this.root) {\r\n if (!location || location.length === 0) {\r\n return node;\r\n }\r\n const [index, ...rest] = location;\r\n if (index < 0 || index > node.children.length) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\r\n }\r\n return this.getTreeNode(rest, node.children[index]);\r\n }\r\n // expensive\r\n getTreeNodeWithListIndex(location) {\r\n if (location.length === 0) {\r\n return { node: this.root, listIndex: -1, revealed: true, visible: false };\r\n }\r\n const { parentNode, listIndex, revealed, visible } = this.getParentNodeWithListIndex(location);\r\n const index = location[location.length - 1];\r\n if (index < 0 || index > parentNode.children.length) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\r\n }\r\n const node = parentNode.children[index];\r\n return { node, listIndex, revealed, visible: visible && node.visible };\r\n }\r\n getParentNodeWithListIndex(location, node = this.root, listIndex = 0, revealed = true, visible = true) {\r\n const [index, ...rest] = location;\r\n if (index < 0 || index > node.children.length) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\r\n }\r\n // TODO@joao perf!\r\n for (let i = 0; i < index; i++) {\r\n listIndex += node.children[i].renderNodeCount;\r\n }\r\n revealed = revealed && !node.collapsed;\r\n visible = visible && node.visible;\r\n if (rest.length === 0) {\r\n return { parentNode: node, listIndex, revealed, visible };\r\n }\r\n return this.getParentNodeWithListIndex(rest, node.children[index], listIndex + 1, revealed, visible);\r\n }\r\n getNode(location = []) {\r\n return this.getTreeNode(location);\r\n }\r\n // TODO@joao perf!\r\n getNodeLocation(node) {\r\n const location = [];\r\n let indexTreeNode = node; // typing woes\r\n while (indexTreeNode.parent) {\r\n location.push(indexTreeNode.parent.children.indexOf(indexTreeNode));\r\n indexTreeNode = indexTreeNode.parent;\r\n }\r\n return location.reverse();\r\n }\r\n getParentNodeLocation(location) {\r\n if (location.length === 0) {\r\n return undefined;\r\n }\r\n else if (location.length === 1) {\r\n return [];\r\n }\r\n else {\r\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail2)(location)[0];\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js": /*!******************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ObjectTree\": () => (/* binding */ ObjectTree),\n/* harmony export */ \"CompressibleObjectTree\": () => (/* binding */ CompressibleObjectTree)\n/* harmony export */ });\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js\");\n/* harmony import */ var _compressedObjectTreeModel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./compressedObjectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.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\n\r\n\r\n\r\n\r\n\r\nclass ObjectTree extends _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__.AbstractTree {\r\n constructor(user, container, delegate, renderers, options = {}) {\r\n super(user, container, delegate, renderers, options);\r\n }\r\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\r\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty(), options) {\r\n this.model.setChildren(element, children, options);\r\n }\r\n rerender(element) {\r\n if (element === undefined) {\r\n this.view.rerender();\r\n return;\r\n }\r\n this.model.rerender(element);\r\n }\r\n hasElement(element) {\r\n return this.model.has(element);\r\n }\r\n createModel(user, view, options) {\r\n return new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.ObjectTreeModel(user, view, options);\r\n }\r\n}\r\nclass CompressibleRenderer {\r\n constructor(_compressedTreeNodeProvider, renderer) {\r\n this._compressedTreeNodeProvider = _compressedTreeNodeProvider;\r\n this.renderer = renderer;\r\n this.templateId = renderer.templateId;\r\n if (renderer.onDidChangeTwistieState) {\r\n this.onDidChangeTwistieState = renderer.onDidChangeTwistieState;\r\n }\r\n }\r\n get compressedTreeNodeProvider() {\r\n return this._compressedTreeNodeProvider();\r\n }\r\n renderTemplate(container) {\r\n const data = this.renderer.renderTemplate(container);\r\n return { compressedTreeNode: undefined, data };\r\n }\r\n renderElement(node, index, templateData, height) {\r\n const compressedTreeNode = this.compressedTreeNodeProvider.getCompressedTreeNode(node.element);\r\n if (compressedTreeNode.element.elements.length === 1) {\r\n templateData.compressedTreeNode = undefined;\r\n this.renderer.renderElement(node, index, templateData.data, height);\r\n }\r\n else {\r\n templateData.compressedTreeNode = compressedTreeNode;\r\n this.renderer.renderCompressedElements(compressedTreeNode, index, templateData.data, height);\r\n }\r\n }\r\n disposeElement(node, index, templateData, height) {\r\n if (templateData.compressedTreeNode) {\r\n if (this.renderer.disposeCompressedElements) {\r\n this.renderer.disposeCompressedElements(templateData.compressedTreeNode, index, templateData.data, height);\r\n }\r\n }\r\n else {\r\n if (this.renderer.disposeElement) {\r\n this.renderer.disposeElement(node, index, templateData.data, height);\r\n }\r\n }\r\n }\r\n disposeTemplate(templateData) {\r\n this.renderer.disposeTemplate(templateData.data);\r\n }\r\n renderTwistie(element, twistieElement) {\r\n if (this.renderer.renderTwistie) {\r\n return this.renderer.renderTwistie(element, twistieElement);\r\n }\r\n return false;\r\n }\r\n}\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\r\n], CompressibleRenderer.prototype, \"compressedTreeNodeProvider\", null);\r\nfunction asObjectTreeOptions(compressedTreeNodeProvider, options) {\r\n return options && Object.assign(Object.assign({}, options), { keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && {\r\n getKeyboardNavigationLabel(e) {\r\n let compressedTreeNode;\r\n try {\r\n compressedTreeNode = compressedTreeNodeProvider().getCompressedTreeNode(e);\r\n }\r\n catch (_a) {\r\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e);\r\n }\r\n if (compressedTreeNode.element.elements.length === 1) {\r\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e);\r\n }\r\n else {\r\n return options.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(compressedTreeNode.element.elements);\r\n }\r\n }\r\n } });\r\n}\r\nclass CompressibleObjectTree extends ObjectTree {\r\n constructor(user, container, delegate, renderers, options = {}) {\r\n const compressedTreeNodeProvider = () => this;\r\n const compressibleRenderers = renderers.map(r => new CompressibleRenderer(compressedTreeNodeProvider, r));\r\n super(user, container, delegate, compressibleRenderers, asObjectTreeOptions(compressedTreeNodeProvider, options));\r\n }\r\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty(), options) {\r\n this.model.setChildren(element, children, options);\r\n }\r\n createModel(user, view, options) {\r\n return new _compressedObjectTreeModel_js__WEBPACK_IMPORTED_MODULE_3__.CompressibleObjectTreeModel(user, view, options);\r\n }\r\n updateOptions(optionsUpdate = {}) {\r\n super.updateOptions(optionsUpdate);\r\n if (typeof optionsUpdate.compressionEnabled !== 'undefined') {\r\n this.model.setCompressionEnabled(optionsUpdate.compressionEnabled);\r\n }\r\n }\r\n getCompressedTreeNode(element = null) {\r\n return this.model.getCompressedTreeNode(element);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ObjectTreeModel\": () => (/* binding */ ObjectTreeModel)\n/* harmony export */ });\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.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\nclass ObjectTreeModel {\r\n constructor(user, list, options = {}) {\r\n this.user = user;\r\n this.rootRef = null;\r\n this.nodes = new Map();\r\n this.nodesByIdentity = new Map();\r\n this.model = new _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_1__.IndexTreeModel(user, list, null, options);\r\n this.onDidSplice = this.model.onDidSplice;\r\n this.onDidChangeCollapseState = this.model.onDidChangeCollapseState;\r\n this.onDidChangeRenderNodeCount = this.model.onDidChangeRenderNodeCount;\r\n if (options.sorter) {\r\n this.sorter = {\r\n compare(a, b) {\r\n return options.sorter.compare(a.element, b.element);\r\n }\r\n };\r\n }\r\n this.identityProvider = options.identityProvider;\r\n }\r\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty(), options = {}) {\r\n const location = this.getElementLocation(element);\r\n this._setChildren(location, this.preserveCollapseState(children), options);\r\n }\r\n _setChildren(location, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty(), options) {\r\n const insertedElements = new Set();\r\n const insertedElementIds = new Set();\r\n const onDidCreateNode = (node) => {\r\n var _a;\r\n if (node.element === null) {\r\n return;\r\n }\r\n const tnode = node;\r\n insertedElements.add(tnode.element);\r\n this.nodes.set(tnode.element, tnode);\r\n if (this.identityProvider) {\r\n const id = this.identityProvider.getId(tnode.element).toString();\r\n insertedElementIds.add(id);\r\n this.nodesByIdentity.set(id, tnode);\r\n }\r\n (_a = options.onDidCreateNode) === null || _a === void 0 ? void 0 : _a.call(options, tnode);\r\n };\r\n const onDidDeleteNode = (node) => {\r\n var _a;\r\n if (node.element === null) {\r\n return;\r\n }\r\n const tnode = node;\r\n if (!insertedElements.has(tnode.element)) {\r\n this.nodes.delete(tnode.element);\r\n }\r\n if (this.identityProvider) {\r\n const id = this.identityProvider.getId(tnode.element).toString();\r\n if (!insertedElementIds.has(id)) {\r\n this.nodesByIdentity.delete(id);\r\n }\r\n }\r\n (_a = options.onDidDeleteNode) === null || _a === void 0 ? void 0 : _a.call(options, tnode);\r\n };\r\n this.model.splice([...location, 0], Number.MAX_VALUE, children, Object.assign(Object.assign({}, options), { onDidCreateNode, onDidDeleteNode }));\r\n }\r\n preserveCollapseState(elements = _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.empty()) {\r\n if (this.sorter) {\r\n elements = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_3__.mergeSort)([...elements], this.sorter.compare.bind(this.sorter));\r\n }\r\n return _common_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.map(elements, treeElement => {\r\n let node = this.nodes.get(treeElement.element);\r\n if (!node && this.identityProvider) {\r\n const id = this.identityProvider.getId(treeElement.element).toString();\r\n node = this.nodesByIdentity.get(id);\r\n }\r\n if (!node) {\r\n return Object.assign(Object.assign({}, treeElement), { children: this.preserveCollapseState(treeElement.children) });\r\n }\r\n const collapsible = typeof treeElement.collapsible === 'boolean' ? treeElement.collapsible : node.collapsible;\r\n const collapsed = typeof treeElement.collapsed !== 'undefined' ? treeElement.collapsed : node.collapsed;\r\n return Object.assign(Object.assign({}, treeElement), { collapsible,\r\n collapsed, children: this.preserveCollapseState(treeElement.children) });\r\n });\r\n }\r\n rerender(element) {\r\n const location = this.getElementLocation(element);\r\n this.model.rerender(location);\r\n }\r\n has(element) {\r\n return this.nodes.has(element);\r\n }\r\n getListIndex(element) {\r\n const location = this.getElementLocation(element);\r\n return this.model.getListIndex(location);\r\n }\r\n getListRenderCount(element) {\r\n const location = this.getElementLocation(element);\r\n return this.model.getListRenderCount(location);\r\n }\r\n isCollapsible(element) {\r\n const location = this.getElementLocation(element);\r\n return this.model.isCollapsible(location);\r\n }\r\n setCollapsible(element, collapsible) {\r\n const location = this.getElementLocation(element);\r\n return this.model.setCollapsible(location, collapsible);\r\n }\r\n isCollapsed(element) {\r\n const location = this.getElementLocation(element);\r\n return this.model.isCollapsed(location);\r\n }\r\n setCollapsed(element, collapsed, recursive) {\r\n const location = this.getElementLocation(element);\r\n return this.model.setCollapsed(location, collapsed, recursive);\r\n }\r\n expandTo(element) {\r\n const location = this.getElementLocation(element);\r\n this.model.expandTo(location);\r\n }\r\n refilter() {\r\n this.model.refilter();\r\n }\r\n getNode(element = null) {\r\n if (element === null) {\r\n return this.model.getNode(this.model.rootRef);\r\n }\r\n const node = this.nodes.get(element);\r\n if (!node) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, `Tree element not found: ${element}`);\r\n }\r\n return node;\r\n }\r\n getNodeLocation(node) {\r\n return node.element;\r\n }\r\n getParentNodeLocation(element) {\r\n if (element === null) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, `Invalid getParentNodeLocation call`);\r\n }\r\n const node = this.nodes.get(element);\r\n if (!node) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, `Tree element not found: ${element}`);\r\n }\r\n const location = this.model.getNodeLocation(node);\r\n const parentLocation = this.model.getParentNodeLocation(location);\r\n const parent = this.model.getNode(parentLocation);\r\n return parent.element;\r\n }\r\n getElementLocation(element) {\r\n if (element === null) {\r\n return [];\r\n }\r\n const node = this.nodes.get(element);\r\n if (!node) {\r\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_2__.TreeError(this.user, `Tree element not found: ${element}`);\r\n }\r\n return this.model.getNodeLocation(node);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"TreeMouseEventTarget\": () => (/* binding */ TreeMouseEventTarget),\n/* harmony export */ \"TreeError\": () => (/* binding */ TreeError),\n/* harmony export */ \"WeakMapper\": () => (/* binding */ WeakMapper)\n/* harmony export */ });\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 TreeMouseEventTarget;\r\n(function (TreeMouseEventTarget) {\r\n TreeMouseEventTarget[TreeMouseEventTarget[\"Unknown\"] = 0] = \"Unknown\";\r\n TreeMouseEventTarget[TreeMouseEventTarget[\"Twistie\"] = 1] = \"Twistie\";\r\n TreeMouseEventTarget[TreeMouseEventTarget[\"Element\"] = 2] = \"Element\";\r\n})(TreeMouseEventTarget || (TreeMouseEventTarget = {}));\r\nclass TreeError extends Error {\r\n constructor(user, message) {\r\n super(`TreeError [${user}] ${message}`);\r\n }\r\n}\r\nclass WeakMapper {\r\n constructor(fn) {\r\n this.fn = fn;\r\n this._map = new WeakMap();\r\n }\r\n map(key) {\r\n let result = this._map.get(key);\r\n if (!result) {\r\n result = this.fn(key);\r\n this._map.set(key, result);\r\n }\r\n return result;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/treeIcons.js": /*!*****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/treeIcons.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"treeItemExpandedIcon\": () => (/* binding */ treeItemExpandedIcon),\n/* harmony export */ \"treeFilterOnTypeOnIcon\": () => (/* binding */ treeFilterOnTypeOnIcon),\n/* harmony export */ \"treeFilterOnTypeOffIcon\": () => (/* binding */ treeFilterOnTypeOffIcon),\n/* harmony export */ \"treeFilterClearIcon\": () => (/* binding */ treeFilterClearIcon),\n/* harmony export */ \"treeItemLoadingIcon\": () => (/* binding */ treeItemLoadingIcon)\n/* harmony export */ });\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nconst treeItemExpandedIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.registerCodicon)('tree-item-expanded', _common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.chevronDown); // collapsed is done with rotation\r\nconst treeFilterOnTypeOnIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.registerCodicon)('tree-filter-on-type-on', _common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.listFilter);\r\nconst treeFilterOnTypeOffIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.registerCodicon)('tree-filter-on-type-off', _common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.listSelection);\r\nconst treeFilterClearIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.registerCodicon)('tree-filter-clear', _common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.close);\r\nconst treeItemLoadingIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.registerCodicon)('tree-item-loading', _common_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.loading);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/treeIcons.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js": /*!*********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Widget\": () => (/* binding */ Widget)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.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\nclass Widget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\r\n onclick(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\r\n }\r\n onmousedown(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\r\n }\r\n onmouseover(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OVER, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\r\n }\r\n onnonbubblingmouseout(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableNonBubblingMouseOutListener(domNode, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\r\n }\r\n onkeydown(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, (e) => listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e))));\r\n }\r\n onkeyup(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_UP, (e) => listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e))));\r\n }\r\n oninput(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.INPUT, listener));\r\n }\r\n onblur(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.BLUR, listener));\r\n }\r\n onfocus(domNode, listener) {\r\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.FOCUS, listener));\r\n }\r\n ignoreGesture(domNode) {\r\n _touch_js__WEBPACK_IMPORTED_MODULE_4__.Gesture.ignoreTarget(domNode);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/actions.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/actions.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Action\": () => (/* binding */ Action),\n/* harmony export */ \"ActionRunner\": () => (/* binding */ ActionRunner),\n/* harmony export */ \"Separator\": () => (/* binding */ Separator),\n/* harmony export */ \"SubmenuAction\": () => (/* binding */ SubmenuAction),\n/* harmony export */ \"EmptySubmenuAction\": () => (/* binding */ EmptySubmenuAction)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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 __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\n\r\n\r\n\r\nclass Action extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(id, label = '', cssClass = '', enabled = true, actionCallback) {\r\n super();\r\n this._onDidChange = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\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 }\r\n get id() {\r\n return this._id;\r\n }\r\n get label() {\r\n return this._label;\r\n }\r\n set label(value) {\r\n this._setLabel(value);\r\n }\r\n _setLabel(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 get tooltip() {\r\n return this._tooltip || '';\r\n }\r\n set tooltip(value) {\r\n this._setTooltip(value);\r\n }\r\n _setTooltip(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 get class() {\r\n return this._cssClass;\r\n }\r\n set class(value) {\r\n this._setClass(value);\r\n }\r\n _setClass(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 get enabled() {\r\n return this._enabled;\r\n }\r\n set enabled(value) {\r\n this._setEnabled(value);\r\n }\r\n _setEnabled(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 get checked() {\r\n return this._checked;\r\n }\r\n set checked(value) {\r\n this._setChecked(value);\r\n }\r\n _setChecked(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 run(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}\r\nclass ActionRunner extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor() {\r\n super(...arguments);\r\n this._onBeforeRun = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\r\n this.onBeforeRun = this._onBeforeRun.event;\r\n this._onDidRun = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\r\n this.onDidRun = this._onDidRun.event;\r\n }\r\n run(action, context) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (!action.enabled) {\r\n return Promise.resolve(null);\r\n }\r\n this._onBeforeRun.fire({ action: action });\r\n try {\r\n const result = yield this.runAction(action, context);\r\n this._onDidRun.fire({ action: action, result: result });\r\n }\r\n catch (error) {\r\n this._onDidRun.fire({ action: action, error: error });\r\n }\r\n });\r\n }\r\n runAction(action, context) {\r\n const res = context ? action.run(context) : action.run();\r\n return Promise.resolve(res);\r\n }\r\n}\r\nclass Separator extends Action {\r\n constructor(label) {\r\n super(Separator.ID, label, label ? 'separator text' : 'separator');\r\n this.checked = false;\r\n this.enabled = false;\r\n }\r\n}\r\nSeparator.ID = 'vs.actions.separator';\r\nclass SubmenuAction {\r\n constructor(id, label, actions, cssClass) {\r\n this.tooltip = '';\r\n this.enabled = true;\r\n this.checked = false;\r\n this.id = id;\r\n this.label = label;\r\n this.class = cssClass;\r\n this._actions = actions;\r\n }\r\n dispose() {\r\n // there is NOTHING to dispose and the SubmenuAction should\r\n // never have anything to dispose as it is a convenience type\r\n // to bridge into the rendering world.\r\n }\r\n get actions() {\r\n return this._actions;\r\n }\r\n run() {\r\n return __awaiter(this, void 0, void 0, function* () { });\r\n }\r\n}\r\nclass EmptySubmenuAction extends Action {\r\n constructor() {\r\n super(EmptySubmenuAction.ID, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('submenu.empty', '(empty)'), undefined, false);\r\n }\r\n}\r\nEmptySubmenuAction.ID = 'vs.actions.empty';\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/actions.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/arrays.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/arrays.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"tail\": () => (/* binding */ tail),\n/* harmony export */ \"tail2\": () => (/* binding */ tail2),\n/* harmony export */ \"equals\": () => (/* binding */ equals),\n/* harmony export */ \"binarySearch\": () => (/* binding */ binarySearch),\n/* harmony export */ \"findFirstInSorted\": () => (/* binding */ findFirstInSorted),\n/* harmony export */ \"quickSelect\": () => (/* binding */ quickSelect),\n/* harmony export */ \"mergeSort\": () => (/* binding */ mergeSort),\n/* harmony export */ \"groupBy\": () => (/* binding */ groupBy),\n/* harmony export */ \"coalesce\": () => (/* binding */ coalesce),\n/* harmony export */ \"isFalsyOrEmpty\": () => (/* binding */ isFalsyOrEmpty),\n/* harmony export */ \"isNonEmptyArray\": () => (/* binding */ isNonEmptyArray),\n/* harmony export */ \"distinct\": () => (/* binding */ distinct),\n/* harmony export */ \"distinctES6\": () => (/* binding */ distinctES6),\n/* harmony export */ \"firstOrDefault\": () => (/* binding */ firstOrDefault),\n/* harmony export */ \"flatten\": () => (/* binding */ flatten),\n/* harmony export */ \"range\": () => (/* binding */ range),\n/* harmony export */ \"arrayInsert\": () => (/* binding */ arrayInsert),\n/* harmony export */ \"pushToStart\": () => (/* binding */ pushToStart),\n/* harmony export */ \"pushToEnd\": () => (/* binding */ pushToEnd),\n/* harmony export */ \"asArray\": () => (/* binding */ asArray)\n/* harmony export */ });\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 = 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 = (a, b) => 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 (let 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 let low = 0, high = array.length - 1;\r\n while (low <= high) {\r\n const mid = ((low + high) / 2) | 0;\r\n const 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 let 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 const 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\nfunction quickSelect(nth, data, compare) {\r\n nth = nth | 0;\r\n if (nth >= data.length) {\r\n throw new TypeError('invalid index');\r\n }\r\n let pivotValue = data[Math.floor(data.length * Math.random())];\r\n let lower = [];\r\n let higher = [];\r\n let pivots = [];\r\n for (let value of data) {\r\n const val = compare(value, pivotValue);\r\n if (val < 0) {\r\n lower.push(value);\r\n }\r\n else if (val > 0) {\r\n higher.push(value);\r\n }\r\n else {\r\n pivots.push(value);\r\n }\r\n }\r\n if (nth < lower.length) {\r\n return quickSelect(nth, lower, compare);\r\n }\r\n else if (nth < lower.length + pivots.length) {\r\n return pivots[0];\r\n }\r\n else {\r\n return quickSelect(nth - (lower.length + pivots.length), higher, compare);\r\n }\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 let leftIdx = lo, rightIdx = mid + 1;\r\n for (let i = lo; i <= hi; i++) {\r\n aux[i] = a[i];\r\n }\r\n for (let 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 const 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 const result = [];\r\n let currentGroup = undefined;\r\n for (const element of mergeSort(data.slice(0), compare)) {\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(e => !!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((element, position) => {\r\n return array.indexOf(element) === position;\r\n });\r\n }\r\n const seen = Object.create(null);\r\n return array.filter((elem) => {\r\n const 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 const seen = new Set();\r\n return array.filter(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 firstOrDefault(array, notFoundValue) {\r\n return array.length > 0 ? array[0] : notFoundValue;\r\n}\r\nfunction flatten(arr) {\r\n return [].concat(...arr);\r\n}\r\nfunction range(arg, to) {\r\n let 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 const result = [];\r\n if (from <= to) {\r\n for (let i = from; i < to; i++) {\r\n result.push(i);\r\n }\r\n }\r\n else {\r\n for (let 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 const before = target.slice(0, insertIndex);\r\n const 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 const 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 const 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 asArray(x) {\r\n return Array.isArray(x) ? x : [x];\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/arrays.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/assert.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/assert.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ok\": () => (/* binding */ ok)\n/* harmony export */ });\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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/assert.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/async.js": /*!****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/async.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isThenable\": () => (/* binding */ isThenable),\n/* harmony export */ \"createCancelablePromise\": () => (/* binding */ createCancelablePromise),\n/* harmony export */ \"raceCancellation\": () => (/* binding */ raceCancellation),\n/* harmony export */ \"Throttler\": () => (/* binding */ Throttler),\n/* harmony export */ \"Delayer\": () => (/* binding */ Delayer),\n/* harmony export */ \"ThrottledDelayer\": () => (/* binding */ ThrottledDelayer),\n/* harmony export */ \"timeout\": () => (/* binding */ timeout),\n/* harmony export */ \"disposableTimeout\": () => (/* binding */ disposableTimeout),\n/* harmony export */ \"first\": () => (/* binding */ first),\n/* harmony export */ \"TimeoutTimer\": () => (/* binding */ TimeoutTimer),\n/* harmony export */ \"IntervalTimer\": () => (/* binding */ IntervalTimer),\n/* harmony export */ \"RunOnceScheduler\": () => (/* binding */ RunOnceScheduler),\n/* harmony export */ \"runWhenIdle\": () => (/* binding */ runWhenIdle),\n/* harmony export */ \"IdleValue\": () => (/* binding */ IdleValue),\n/* harmony export */ \"Promises\": () => (/* binding */ Promises)\n/* harmony export */ });\n/* harmony import */ var _cancellation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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 __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\n\r\n\r\n\r\nfunction isThenable(obj) {\r\n return !!obj && typeof obj.then === 'function';\r\n}\r\nfunction createCancelablePromise(callback) {\r\n const source = new _cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationTokenSource();\r\n const thenable = callback(source.token);\r\n const promise = new Promise((resolve, reject) => {\r\n source.token.onCancellationRequested(() => {\r\n reject((0,_errors_js__WEBPACK_IMPORTED_MODULE_1__.canceled)());\r\n });\r\n Promise.resolve(thenable).then(value => {\r\n source.dispose();\r\n resolve(value);\r\n }, err => {\r\n source.dispose();\r\n reject(err);\r\n });\r\n });\r\n return new class {\r\n cancel() {\r\n source.cancel();\r\n }\r\n then(resolve, reject) {\r\n return promise.then(resolve, reject);\r\n }\r\n catch(reject) {\r\n return this.then(undefined, reject);\r\n }\r\n finally(onfinally) {\r\n return promise.finally(onfinally);\r\n }\r\n };\r\n}\r\nfunction raceCancellation(promise, token, defaultValue) {\r\n return Promise.race([promise, new Promise(resolve => token.onCancellationRequested(() => resolve(defaultValue)))]);\r\n}\r\n/**\r\n * A helper to prevent accumulation of sequential async tasks.\r\n *\r\n * Imagine a mail man with the sole task of delivering letters. As soon as\r\n * a letter submitted for delivery, he drives to the destination, delivers it\r\n * and returns to his base. Imagine that during the trip, N more letters were submitted.\r\n * When the mail man returns, he picks those N letters and delivers them all in a\r\n * single trip. Even though N+1 submissions occurred, only 2 deliveries were made.\r\n *\r\n * The throttler implements this via the queue() method, by providing it a task\r\n * factory. Following the example:\r\n *\r\n * \t\tconst throttler = new Throttler();\r\n * \t\tconst letters = [];\r\n *\r\n * \t\tfunction deliver() {\r\n * \t\t\tconst lettersToDeliver = letters;\r\n * \t\t\tletters = [];\r\n * \t\t\treturn makeTheTrip(lettersToDeliver);\r\n * \t\t}\r\n *\r\n * \t\tfunction onLetterReceived(l) {\r\n * \t\t\tletters.push(l);\r\n * \t\t\tthrottler.queue(deliver);\r\n * \t\t}\r\n */\r\nclass Throttler {\r\n constructor() {\r\n this.activePromise = null;\r\n this.queuedPromise = null;\r\n this.queuedPromiseFactory = null;\r\n }\r\n queue(promiseFactory) {\r\n if (this.activePromise) {\r\n this.queuedPromiseFactory = promiseFactory;\r\n if (!this.queuedPromise) {\r\n const onComplete = () => {\r\n this.queuedPromise = null;\r\n const result = this.queue(this.queuedPromiseFactory);\r\n this.queuedPromiseFactory = null;\r\n return result;\r\n };\r\n this.queuedPromise = new Promise(resolve => {\r\n this.activePromise.then(onComplete, onComplete).then(resolve);\r\n });\r\n }\r\n return new Promise((resolve, reject) => {\r\n this.queuedPromise.then(resolve, reject);\r\n });\r\n }\r\n this.activePromise = promiseFactory();\r\n return new Promise((resolve, reject) => {\r\n this.activePromise.then((result) => {\r\n this.activePromise = null;\r\n resolve(result);\r\n }, (err) => {\r\n this.activePromise = null;\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n/**\r\n * A helper to delay (debounce) execution of a task that is being requested often.\r\n *\r\n * Following the throttler, now imagine the mail man wants to optimize the number of\r\n * trips proactively. The trip itself can be long, so he decides not to make the trip\r\n * as soon as a letter is submitted. Instead he waits a while, in case more\r\n * letters are submitted. After said waiting period, if no letters were submitted, he\r\n * decides to make the trip. Imagine that N more letters were submitted after the first\r\n * one, all within a short period of time between each other. Even though N+1\r\n * submissions occurred, only 1 delivery was made.\r\n *\r\n * The delayer offers this behavior via the trigger() method, into which both the task\r\n * to be executed and the waiting period (delay) must be passed in as arguments. Following\r\n * the example:\r\n *\r\n * \t\tconst delayer = new Delayer(WAITING_PERIOD);\r\n * \t\tconst letters = [];\r\n *\r\n * \t\tfunction letterReceived(l) {\r\n * \t\t\tletters.push(l);\r\n * \t\t\tdelayer.trigger(() => { return makeTheTrip(); });\r\n * \t\t}\r\n */\r\nclass Delayer {\r\n constructor(defaultDelay) {\r\n this.defaultDelay = defaultDelay;\r\n this.timeout = null;\r\n this.completionPromise = null;\r\n this.doResolve = null;\r\n this.doReject = null;\r\n this.task = null;\r\n }\r\n trigger(task, delay = this.defaultDelay) {\r\n this.task = task;\r\n this.cancelTimeout();\r\n if (!this.completionPromise) {\r\n this.completionPromise = new Promise((resolve, reject) => {\r\n this.doResolve = resolve;\r\n this.doReject = reject;\r\n }).then(() => {\r\n this.completionPromise = null;\r\n this.doResolve = null;\r\n if (this.task) {\r\n const task = this.task;\r\n this.task = null;\r\n return task();\r\n }\r\n return undefined;\r\n });\r\n }\r\n this.timeout = setTimeout(() => {\r\n this.timeout = null;\r\n if (this.doResolve) {\r\n this.doResolve(null);\r\n }\r\n }, delay);\r\n return this.completionPromise;\r\n }\r\n isTriggered() {\r\n return this.timeout !== null;\r\n }\r\n cancel() {\r\n this.cancelTimeout();\r\n if (this.completionPromise) {\r\n if (this.doReject) {\r\n this.doReject((0,_errors_js__WEBPACK_IMPORTED_MODULE_1__.canceled)());\r\n }\r\n this.completionPromise = null;\r\n }\r\n }\r\n cancelTimeout() {\r\n if (this.timeout !== null) {\r\n clearTimeout(this.timeout);\r\n this.timeout = null;\r\n }\r\n }\r\n dispose() {\r\n this.cancelTimeout();\r\n }\r\n}\r\n/**\r\n * A helper to delay execution of a task that is being requested often, while\r\n * preventing accumulation of consecutive executions, while the task runs.\r\n *\r\n * The mail man is clever and waits for a certain amount of time, before going\r\n * out to deliver letters. While the mail man is going out, more letters arrive\r\n * and can only be delivered once he is back. Once he is back the mail man will\r\n * do one more trip to deliver the letters that have accumulated while he was out.\r\n */\r\nclass ThrottledDelayer {\r\n constructor(defaultDelay) {\r\n this.delayer = new Delayer(defaultDelay);\r\n this.throttler = new Throttler();\r\n }\r\n trigger(promiseFactory, delay) {\r\n return this.delayer.trigger(() => this.throttler.queue(promiseFactory), delay);\r\n }\r\n cancel() {\r\n this.delayer.cancel();\r\n }\r\n dispose() {\r\n this.delayer.dispose();\r\n }\r\n}\r\nfunction timeout(millis, token) {\r\n if (!token) {\r\n return createCancelablePromise(token => timeout(millis, token));\r\n }\r\n return new Promise((resolve, reject) => {\r\n const handle = setTimeout(resolve, millis);\r\n token.onCancellationRequested(() => {\r\n clearTimeout(handle);\r\n reject((0,_errors_js__WEBPACK_IMPORTED_MODULE_1__.canceled)());\r\n });\r\n });\r\n}\r\nfunction disposableTimeout(handler, timeout = 0) {\r\n const timer = setTimeout(handler, timeout);\r\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => clearTimeout(timer));\r\n}\r\nfunction first(promiseFactories, shouldStop = t => !!t, defaultValue = null) {\r\n let index = 0;\r\n const len = promiseFactories.length;\r\n const loop = () => {\r\n if (index >= len) {\r\n return Promise.resolve(defaultValue);\r\n }\r\n const factory = promiseFactories[index++];\r\n const promise = Promise.resolve(factory());\r\n return promise.then(result => {\r\n if (shouldStop(result)) {\r\n return Promise.resolve(result);\r\n }\r\n return loop();\r\n });\r\n };\r\n return loop();\r\n}\r\nclass TimeoutTimer {\r\n constructor(runner, timeout) {\r\n this._token = -1;\r\n if (typeof runner === 'function' && typeof timeout === 'number') {\r\n this.setIfNotSet(runner, timeout);\r\n }\r\n }\r\n dispose() {\r\n this.cancel();\r\n }\r\n cancel() {\r\n if (this._token !== -1) {\r\n clearTimeout(this._token);\r\n this._token = -1;\r\n }\r\n }\r\n cancelAndSet(runner, timeout) {\r\n this.cancel();\r\n this._token = setTimeout(() => {\r\n this._token = -1;\r\n runner();\r\n }, timeout);\r\n }\r\n setIfNotSet(runner, timeout) {\r\n if (this._token !== -1) {\r\n // timer is already set\r\n return;\r\n }\r\n this._token = setTimeout(() => {\r\n this._token = -1;\r\n runner();\r\n }, timeout);\r\n }\r\n}\r\nclass IntervalTimer {\r\n constructor() {\r\n this._token = -1;\r\n }\r\n dispose() {\r\n this.cancel();\r\n }\r\n cancel() {\r\n if (this._token !== -1) {\r\n clearInterval(this._token);\r\n this._token = -1;\r\n }\r\n }\r\n cancelAndSet(runner, interval) {\r\n this.cancel();\r\n this._token = setInterval(() => {\r\n runner();\r\n }, interval);\r\n }\r\n}\r\nclass RunOnceScheduler {\r\n constructor(runner, delay) {\r\n this.timeoutToken = -1;\r\n this.runner = runner;\r\n this.timeout = delay;\r\n this.timeoutHandler = this.onTimeout.bind(this);\r\n }\r\n /**\r\n * Dispose RunOnceScheduler\r\n */\r\n dispose() {\r\n this.cancel();\r\n this.runner = null;\r\n }\r\n /**\r\n * Cancel current scheduled runner (if any).\r\n */\r\n cancel() {\r\n if (this.isScheduled()) {\r\n clearTimeout(this.timeoutToken);\r\n this.timeoutToken = -1;\r\n }\r\n }\r\n /**\r\n * Cancel previous runner (if any) & schedule a new runner.\r\n */\r\n schedule(delay = this.timeout) {\r\n this.cancel();\r\n this.timeoutToken = setTimeout(this.timeoutHandler, delay);\r\n }\r\n get delay() {\r\n return this.timeout;\r\n }\r\n set delay(value) {\r\n this.timeout = value;\r\n }\r\n /**\r\n * Returns true if scheduled.\r\n */\r\n isScheduled() {\r\n return this.timeoutToken !== -1;\r\n }\r\n onTimeout() {\r\n this.timeoutToken = -1;\r\n if (this.runner) {\r\n this.doRun();\r\n }\r\n }\r\n doRun() {\r\n if (this.runner) {\r\n this.runner();\r\n }\r\n }\r\n}\r\n/**\r\n * Execute the callback the next time the browser is idle\r\n */\r\nlet runWhenIdle;\r\n(function () {\r\n if (typeof requestIdleCallback !== 'function' || typeof cancelIdleCallback !== 'function') {\r\n const dummyIdle = Object.freeze({\r\n didTimeout: true,\r\n timeRemaining() { return 15; }\r\n });\r\n runWhenIdle = (runner) => {\r\n const handle = setTimeout(() => runner(dummyIdle));\r\n let disposed = false;\r\n return {\r\n dispose() {\r\n if (disposed) {\r\n return;\r\n }\r\n disposed = true;\r\n clearTimeout(handle);\r\n }\r\n };\r\n };\r\n }\r\n else {\r\n runWhenIdle = (runner, timeout) => {\r\n const handle = requestIdleCallback(runner, typeof timeout === 'number' ? { timeout } : undefined);\r\n let disposed = false;\r\n return {\r\n dispose() {\r\n if (disposed) {\r\n return;\r\n }\r\n disposed = true;\r\n cancelIdleCallback(handle);\r\n }\r\n };\r\n };\r\n }\r\n})();\r\n/**\r\n * An implementation of the \"idle-until-urgent\"-strategy as introduced\r\n * here: https://philipwalton.com/articles/idle-until-urgent/\r\n */\r\nclass IdleValue {\r\n constructor(executor) {\r\n this._didRun = false;\r\n this._executor = () => {\r\n try {\r\n this._value = executor();\r\n }\r\n catch (err) {\r\n this._error = err;\r\n }\r\n finally {\r\n this._didRun = true;\r\n }\r\n };\r\n this._handle = runWhenIdle(() => this._executor());\r\n }\r\n dispose() {\r\n this._handle.dispose();\r\n }\r\n get value() {\r\n if (!this._didRun) {\r\n this._handle.dispose();\r\n this._executor();\r\n }\r\n if (this._error) {\r\n throw this._error;\r\n }\r\n return this._value;\r\n }\r\n}\r\n//#endregion\r\n//#region Promises\r\nvar Promises;\r\n(function (Promises) {\r\n /**\r\n * A polyfill of `Promise.allSettled`: returns after all promises have\r\n * resolved or rejected and provides access to each result or error\r\n * in the order of the original passed in promises array.\r\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled\r\n */\r\n function allSettled(promises) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (typeof Promise.allSettled === 'function') {\r\n return allSettledNative(promises); // in some environments we can benefit from native implementation\r\n }\r\n return allSettledShim(promises);\r\n });\r\n }\r\n Promises.allSettled = allSettled;\r\n function allSettledNative(promises) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return Promise.allSettled(promises);\r\n });\r\n }\r\n function allSettledShim(promises) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return Promise.all(promises.map(promise => (promise.then(value => {\r\n const fulfilled = { status: 'fulfilled', value };\r\n return fulfilled;\r\n }, error => {\r\n const rejected = { status: 'rejected', reason: error };\r\n return rejected;\r\n }))));\r\n });\r\n }\r\n /**\r\n * A drop-in replacement for `Promise.all` with the only difference\r\n * that the method awaits every promise to either fulfill or reject.\r\n *\r\n * Similar to `Promise.all`, only the first error will be returned\r\n * if any.\r\n */\r\n function settled(promises) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let firstError = undefined;\r\n const result = yield Promise.all(promises.map(promise => promise.then(value => value, error => {\r\n if (!firstError) {\r\n firstError = error;\r\n }\r\n return undefined; // do not rethrow so that other promises can settle\r\n })));\r\n if (typeof firstError !== 'undefined') {\r\n throw firstError;\r\n }\r\n return result; // cast is needed and protected by the `throw` above\r\n });\r\n }\r\n Promises.settled = settled;\r\n})(Promises || (Promises = {}));\r\n//#endregion\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/async.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/buffer.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/buffer.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"VSBuffer\": () => (/* binding */ VSBuffer),\n/* harmony export */ \"readUInt16LE\": () => (/* binding */ readUInt16LE),\n/* harmony export */ \"writeUInt16LE\": () => (/* binding */ writeUInt16LE),\n/* harmony export */ \"readUInt32BE\": () => (/* binding */ readUInt32BE),\n/* harmony export */ \"writeUInt32BE\": () => (/* binding */ writeUInt32BE),\n/* harmony export */ \"readUInt8\": () => (/* binding */ readUInt8),\n/* harmony export */ \"writeUInt8\": () => (/* binding */ writeUInt8)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nconst hasBuffer = (typeof Buffer !== 'undefined');\r\nconst hasTextDecoder = (typeof TextDecoder !== 'undefined');\r\nlet textDecoder;\r\nclass VSBuffer {\r\n constructor(buffer) {\r\n this.buffer = buffer;\r\n this.byteLength = this.buffer.byteLength;\r\n }\r\n static wrap(actual) {\r\n if (hasBuffer && !(Buffer.isBuffer(actual))) {\r\n // https://nodejs.org/dist/latest-v10.x/docs/api/buffer.html#buffer_class_method_buffer_from_arraybuffer_byteoffset_length\r\n // Create a zero-copy Buffer wrapper around the ArrayBuffer pointed to by the Uint8Array\r\n actual = Buffer.from(actual.buffer, actual.byteOffset, actual.byteLength);\r\n }\r\n return new VSBuffer(actual);\r\n }\r\n toString() {\r\n if (hasBuffer) {\r\n return this.buffer.toString();\r\n }\r\n else if (hasTextDecoder) {\r\n if (!textDecoder) {\r\n textDecoder = new TextDecoder();\r\n }\r\n return textDecoder.decode(this.buffer);\r\n }\r\n else {\r\n return _strings_js__WEBPACK_IMPORTED_MODULE_0__.decodeUTF8(this.buffer);\r\n }\r\n }\r\n}\r\nfunction readUInt16LE(source, offset) {\r\n return (((source[offset + 0] << 0) >>> 0) |\r\n ((source[offset + 1] << 8) >>> 0));\r\n}\r\nfunction writeUInt16LE(destination, value, offset) {\r\n destination[offset + 0] = (value & 0b11111111);\r\n value = value >>> 8;\r\n destination[offset + 1] = (value & 0b11111111);\r\n}\r\nfunction readUInt32BE(source, offset) {\r\n return (source[offset] * Math.pow(2, 24)\r\n + source[offset + 1] * Math.pow(2, 16)\r\n + source[offset + 2] * Math.pow(2, 8)\r\n + source[offset + 3]);\r\n}\r\nfunction writeUInt32BE(destination, value, offset) {\r\n destination[offset + 3] = value;\r\n value = value >>> 8;\r\n destination[offset + 2] = value;\r\n value = value >>> 8;\r\n destination[offset + 1] = value;\r\n value = value >>> 8;\r\n destination[offset] = value;\r\n}\r\nfunction readUInt8(source, offset) {\r\n return source[offset];\r\n}\r\nfunction writeUInt8(destination, value, offset) {\r\n destination[offset] = value;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/buffer.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/cancellation.js": /*!***********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/cancellation.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CancellationToken\": () => (/* binding */ CancellationToken),\n/* harmony export */ \"CancellationTokenSource\": () => (/* binding */ CancellationTokenSource)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nconst shortcutEvent = Object.freeze(function (callback, context) {\r\n const handle = setTimeout(callback.bind(context), 0);\r\n return { dispose() { 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.None\r\n });\r\n CancellationToken.Cancelled = Object.freeze({\r\n isCancellationRequested: true,\r\n onCancellationRequested: shortcutEvent\r\n });\r\n})(CancellationToken || (CancellationToken = {}));\r\nclass MutableToken {\r\n constructor() {\r\n this._isCancelled = false;\r\n this._emitter = null;\r\n }\r\n cancel() {\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 get isCancellationRequested() {\r\n return this._isCancelled;\r\n }\r\n get onCancellationRequested() {\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();\r\n }\r\n return this._emitter.event;\r\n }\r\n dispose() {\r\n if (this._emitter) {\r\n this._emitter.dispose();\r\n this._emitter = null;\r\n }\r\n }\r\n}\r\nclass CancellationTokenSource {\r\n constructor(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 get token() {\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 cancel() {\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 dispose(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}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/cancellation.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/codicons.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/codicons.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"iconRegistry\": () => (/* binding */ iconRegistry),\n/* harmony export */ \"registerCodicon\": () => (/* binding */ registerCodicon),\n/* harmony export */ \"Codicon\": () => (/* binding */ Codicon),\n/* harmony export */ \"CSSIcon\": () => (/* binding */ CSSIcon)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nclass Registry {\r\n constructor() {\r\n this._icons = new Map();\r\n this._onDidRegister = new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter();\r\n }\r\n add(icon) {\r\n const existing = this._icons.get(icon.id);\r\n if (!existing) {\r\n this._icons.set(icon.id, icon);\r\n this._onDidRegister.fire(icon);\r\n }\r\n else if (icon.description) {\r\n existing.description = icon.description;\r\n }\r\n else {\r\n console.error(`Duplicate registration of codicon ${icon.id}`);\r\n }\r\n }\r\n get(id) {\r\n return this._icons.get(id);\r\n }\r\n get all() {\r\n return this._icons.values();\r\n }\r\n get onDidRegister() {\r\n return this._onDidRegister.event;\r\n }\r\n}\r\nconst _registry = new Registry();\r\nconst iconRegistry = _registry;\r\nfunction registerCodicon(id, def) {\r\n return new Codicon(id, def);\r\n}\r\nclass Codicon {\r\n constructor(id, definition, description) {\r\n this.id = id;\r\n this.definition = definition;\r\n this.description = description;\r\n _registry.add(this);\r\n }\r\n get classNames() { return 'codicon codicon-' + this.id; }\r\n // classNamesArray is useful for migrating to ES6 classlist\r\n get classNamesArray() { return ['codicon', 'codicon-' + this.id]; }\r\n get cssSelector() { return '.codicon.codicon-' + this.id; }\r\n}\r\nvar CSSIcon;\r\n(function (CSSIcon) {\r\n CSSIcon.iconNameSegment = '[A-Za-z0-9]+';\r\n CSSIcon.iconNameExpression = '[A-Za-z0-9\\\\-]+';\r\n CSSIcon.iconModifierExpression = '~[A-Za-z]+';\r\n const cssIconIdRegex = new RegExp(`^(${CSSIcon.iconNameExpression})(${CSSIcon.iconModifierExpression})?$`);\r\n function asClassNameArray(icon) {\r\n if (icon instanceof Codicon) {\r\n return ['codicon', 'codicon-' + icon.id];\r\n }\r\n const match = cssIconIdRegex.exec(icon.id);\r\n if (!match) {\r\n return asClassNameArray(Codicon.error);\r\n }\r\n let [, id, modifier] = match;\r\n const classNames = ['codicon', 'codicon-' + id];\r\n if (modifier) {\r\n classNames.push('codicon-modifier-' + modifier.substr(1));\r\n }\r\n return classNames;\r\n }\r\n CSSIcon.asClassNameArray = asClassNameArray;\r\n function asClassName(icon) {\r\n return asClassNameArray(icon).join(' ');\r\n }\r\n CSSIcon.asClassName = asClassName;\r\n function asCSSSelector(icon) {\r\n return '.' + asClassNameArray(icon).join('.');\r\n }\r\n CSSIcon.asCSSSelector = asCSSSelector;\r\n})(CSSIcon || (CSSIcon = {}));\r\n(function (Codicon) {\r\n // built-in icons, with image name\r\n Codicon.add = new Codicon('add', { fontCharacter: '\\\\ea60' });\r\n Codicon.plus = new Codicon('plus', { fontCharacter: '\\\\ea60' });\r\n Codicon.gistNew = new Codicon('gist-new', { fontCharacter: '\\\\ea60' });\r\n Codicon.repoCreate = new Codicon('repo-create', { fontCharacter: '\\\\ea60' });\r\n Codicon.lightbulb = new Codicon('lightbulb', { fontCharacter: '\\\\ea61' });\r\n Codicon.lightBulb = new Codicon('light-bulb', { fontCharacter: '\\\\ea61' });\r\n Codicon.repo = new Codicon('repo', { fontCharacter: '\\\\ea62' });\r\n Codicon.repoDelete = new Codicon('repo-delete', { fontCharacter: '\\\\ea62' });\r\n Codicon.gistFork = new Codicon('gist-fork', { fontCharacter: '\\\\ea63' });\r\n Codicon.repoForked = new Codicon('repo-forked', { fontCharacter: '\\\\ea63' });\r\n Codicon.gitPullRequest = new Codicon('git-pull-request', { fontCharacter: '\\\\ea64' });\r\n Codicon.gitPullRequestAbandoned = new Codicon('git-pull-request-abandoned', { fontCharacter: '\\\\ea64' });\r\n Codicon.recordKeys = new Codicon('record-keys', { fontCharacter: '\\\\ea65' });\r\n Codicon.keyboard = new Codicon('keyboard', { fontCharacter: '\\\\ea65' });\r\n Codicon.tag = new Codicon('tag', { fontCharacter: '\\\\ea66' });\r\n Codicon.tagAdd = new Codicon('tag-add', { fontCharacter: '\\\\ea66' });\r\n Codicon.tagRemove = new Codicon('tag-remove', { fontCharacter: '\\\\ea66' });\r\n Codicon.person = new Codicon('person', { fontCharacter: '\\\\ea67' });\r\n Codicon.personAdd = new Codicon('person-add', { fontCharacter: '\\\\ea67' });\r\n Codicon.personFollow = new Codicon('person-follow', { fontCharacter: '\\\\ea67' });\r\n Codicon.personOutline = new Codicon('person-outline', { fontCharacter: '\\\\ea67' });\r\n Codicon.personFilled = new Codicon('person-filled', { fontCharacter: '\\\\ea67' });\r\n Codicon.gitBranch = new Codicon('git-branch', { fontCharacter: '\\\\ea68' });\r\n Codicon.gitBranchCreate = new Codicon('git-branch-create', { fontCharacter: '\\\\ea68' });\r\n Codicon.gitBranchDelete = new Codicon('git-branch-delete', { fontCharacter: '\\\\ea68' });\r\n Codicon.sourceControl = new Codicon('source-control', { fontCharacter: '\\\\ea68' });\r\n Codicon.mirror = new Codicon('mirror', { fontCharacter: '\\\\ea69' });\r\n Codicon.mirrorPublic = new Codicon('mirror-public', { fontCharacter: '\\\\ea69' });\r\n Codicon.star = new Codicon('star', { fontCharacter: '\\\\ea6a' });\r\n Codicon.starAdd = new Codicon('star-add', { fontCharacter: '\\\\ea6a' });\r\n Codicon.starDelete = new Codicon('star-delete', { fontCharacter: '\\\\ea6a' });\r\n Codicon.starEmpty = new Codicon('star-empty', { fontCharacter: '\\\\ea6a' });\r\n Codicon.comment = new Codicon('comment', { fontCharacter: '\\\\ea6b' });\r\n Codicon.commentAdd = new Codicon('comment-add', { fontCharacter: '\\\\ea6b' });\r\n Codicon.alert = new Codicon('alert', { fontCharacter: '\\\\ea6c' });\r\n Codicon.warning = new Codicon('warning', { fontCharacter: '\\\\ea6c' });\r\n Codicon.search = new Codicon('search', { fontCharacter: '\\\\ea6d' });\r\n Codicon.searchSave = new Codicon('search-save', { fontCharacter: '\\\\ea6d' });\r\n Codicon.logOut = new Codicon('log-out', { fontCharacter: '\\\\ea6e' });\r\n Codicon.signOut = new Codicon('sign-out', { fontCharacter: '\\\\ea6e' });\r\n Codicon.logIn = new Codicon('log-in', { fontCharacter: '\\\\ea6f' });\r\n Codicon.signIn = new Codicon('sign-in', { fontCharacter: '\\\\ea6f' });\r\n Codicon.eye = new Codicon('eye', { fontCharacter: '\\\\ea70' });\r\n Codicon.eyeUnwatch = new Codicon('eye-unwatch', { fontCharacter: '\\\\ea70' });\r\n Codicon.eyeWatch = new Codicon('eye-watch', { fontCharacter: '\\\\ea70' });\r\n Codicon.circleFilled = new Codicon('circle-filled', { fontCharacter: '\\\\ea71' });\r\n Codicon.primitiveDot = new Codicon('primitive-dot', { fontCharacter: '\\\\ea71' });\r\n Codicon.closeDirty = new Codicon('close-dirty', { fontCharacter: '\\\\ea71' });\r\n Codicon.debugBreakpoint = new Codicon('debug-breakpoint', { fontCharacter: '\\\\ea71' });\r\n Codicon.debugBreakpointDisabled = new Codicon('debug-breakpoint-disabled', { fontCharacter: '\\\\ea71' });\r\n Codicon.debugHint = new Codicon('debug-hint', { fontCharacter: '\\\\ea71' });\r\n Codicon.primitiveSquare = new Codicon('primitive-square', { fontCharacter: '\\\\ea72' });\r\n Codicon.edit = new Codicon('edit', { fontCharacter: '\\\\ea73' });\r\n Codicon.pencil = new Codicon('pencil', { fontCharacter: '\\\\ea73' });\r\n Codicon.info = new Codicon('info', { fontCharacter: '\\\\ea74' });\r\n Codicon.issueOpened = new Codicon('issue-opened', { fontCharacter: '\\\\ea74' });\r\n Codicon.gistPrivate = new Codicon('gist-private', { fontCharacter: '\\\\ea75' });\r\n Codicon.gitForkPrivate = new Codicon('git-fork-private', { fontCharacter: '\\\\ea75' });\r\n Codicon.lock = new Codicon('lock', { fontCharacter: '\\\\ea75' });\r\n Codicon.mirrorPrivate = new Codicon('mirror-private', { fontCharacter: '\\\\ea75' });\r\n Codicon.close = new Codicon('close', { fontCharacter: '\\\\ea76' });\r\n Codicon.removeClose = new Codicon('remove-close', { fontCharacter: '\\\\ea76' });\r\n Codicon.x = new Codicon('x', { fontCharacter: '\\\\ea76' });\r\n Codicon.repoSync = new Codicon('repo-sync', { fontCharacter: '\\\\ea77' });\r\n Codicon.sync = new Codicon('sync', { fontCharacter: '\\\\ea77' });\r\n Codicon.clone = new Codicon('clone', { fontCharacter: '\\\\ea78' });\r\n Codicon.desktopDownload = new Codicon('desktop-download', { fontCharacter: '\\\\ea78' });\r\n Codicon.beaker = new Codicon('beaker', { fontCharacter: '\\\\ea79' });\r\n Codicon.microscope = new Codicon('microscope', { fontCharacter: '\\\\ea79' });\r\n Codicon.vm = new Codicon('vm', { fontCharacter: '\\\\ea7a' });\r\n Codicon.deviceDesktop = new Codicon('device-desktop', { fontCharacter: '\\\\ea7a' });\r\n Codicon.file = new Codicon('file', { fontCharacter: '\\\\ea7b' });\r\n Codicon.fileText = new Codicon('file-text', { fontCharacter: '\\\\ea7b' });\r\n Codicon.more = new Codicon('more', { fontCharacter: '\\\\ea7c' });\r\n Codicon.ellipsis = new Codicon('ellipsis', { fontCharacter: '\\\\ea7c' });\r\n Codicon.kebabHorizontal = new Codicon('kebab-horizontal', { fontCharacter: '\\\\ea7c' });\r\n Codicon.mailReply = new Codicon('mail-reply', { fontCharacter: '\\\\ea7d' });\r\n Codicon.reply = new Codicon('reply', { fontCharacter: '\\\\ea7d' });\r\n Codicon.organization = new Codicon('organization', { fontCharacter: '\\\\ea7e' });\r\n Codicon.organizationFilled = new Codicon('organization-filled', { fontCharacter: '\\\\ea7e' });\r\n Codicon.organizationOutline = new Codicon('organization-outline', { fontCharacter: '\\\\ea7e' });\r\n Codicon.newFile = new Codicon('new-file', { fontCharacter: '\\\\ea7f' });\r\n Codicon.fileAdd = new Codicon('file-add', { fontCharacter: '\\\\ea7f' });\r\n Codicon.newFolder = new Codicon('new-folder', { fontCharacter: '\\\\ea80' });\r\n Codicon.fileDirectoryCreate = new Codicon('file-directory-create', { fontCharacter: '\\\\ea80' });\r\n Codicon.trash = new Codicon('trash', { fontCharacter: '\\\\ea81' });\r\n Codicon.trashcan = new Codicon('trashcan', { fontCharacter: '\\\\ea81' });\r\n Codicon.history = new Codicon('history', { fontCharacter: '\\\\ea82' });\r\n Codicon.clock = new Codicon('clock', { fontCharacter: '\\\\ea82' });\r\n Codicon.folder = new Codicon('folder', { fontCharacter: '\\\\ea83' });\r\n Codicon.fileDirectory = new Codicon('file-directory', { fontCharacter: '\\\\ea83' });\r\n Codicon.symbolFolder = new Codicon('symbol-folder', { fontCharacter: '\\\\ea83' });\r\n Codicon.logoGithub = new Codicon('logo-github', { fontCharacter: '\\\\ea84' });\r\n Codicon.markGithub = new Codicon('mark-github', { fontCharacter: '\\\\ea84' });\r\n Codicon.github = new Codicon('github', { fontCharacter: '\\\\ea84' });\r\n Codicon.terminal = new Codicon('terminal', { fontCharacter: '\\\\ea85' });\r\n Codicon.console = new Codicon('console', { fontCharacter: '\\\\ea85' });\r\n Codicon.repl = new Codicon('repl', { fontCharacter: '\\\\ea85' });\r\n Codicon.zap = new Codicon('zap', { fontCharacter: '\\\\ea86' });\r\n Codicon.symbolEvent = new Codicon('symbol-event', { fontCharacter: '\\\\ea86' });\r\n Codicon.error = new Codicon('error', { fontCharacter: '\\\\ea87' });\r\n Codicon.stop = new Codicon('stop', { fontCharacter: '\\\\ea87' });\r\n Codicon.variable = new Codicon('variable', { fontCharacter: '\\\\ea88' });\r\n Codicon.symbolVariable = new Codicon('symbol-variable', { fontCharacter: '\\\\ea88' });\r\n Codicon.array = new Codicon('array', { fontCharacter: '\\\\ea8a' });\r\n Codicon.symbolArray = new Codicon('symbol-array', { fontCharacter: '\\\\ea8a' });\r\n Codicon.symbolModule = new Codicon('symbol-module', { fontCharacter: '\\\\ea8b' });\r\n Codicon.symbolPackage = new Codicon('symbol-package', { fontCharacter: '\\\\ea8b' });\r\n Codicon.symbolNamespace = new Codicon('symbol-namespace', { fontCharacter: '\\\\ea8b' });\r\n Codicon.symbolObject = new Codicon('symbol-object', { fontCharacter: '\\\\ea8b' });\r\n Codicon.symbolMethod = new Codicon('symbol-method', { fontCharacter: '\\\\ea8c' });\r\n Codicon.symbolFunction = new Codicon('symbol-function', { fontCharacter: '\\\\ea8c' });\r\n Codicon.symbolConstructor = new Codicon('symbol-constructor', { fontCharacter: '\\\\ea8c' });\r\n Codicon.symbolBoolean = new Codicon('symbol-boolean', { fontCharacter: '\\\\ea8f' });\r\n Codicon.symbolNull = new Codicon('symbol-null', { fontCharacter: '\\\\ea8f' });\r\n Codicon.symbolNumeric = new Codicon('symbol-numeric', { fontCharacter: '\\\\ea90' });\r\n Codicon.symbolNumber = new Codicon('symbol-number', { fontCharacter: '\\\\ea90' });\r\n Codicon.symbolStructure = new Codicon('symbol-structure', { fontCharacter: '\\\\ea91' });\r\n Codicon.symbolStruct = new Codicon('symbol-struct', { fontCharacter: '\\\\ea91' });\r\n Codicon.symbolParameter = new Codicon('symbol-parameter', { fontCharacter: '\\\\ea92' });\r\n Codicon.symbolTypeParameter = new Codicon('symbol-type-parameter', { fontCharacter: '\\\\ea92' });\r\n Codicon.symbolKey = new Codicon('symbol-key', { fontCharacter: '\\\\ea93' });\r\n Codicon.symbolText = new Codicon('symbol-text', { fontCharacter: '\\\\ea93' });\r\n Codicon.symbolReference = new Codicon('symbol-reference', { fontCharacter: '\\\\ea94' });\r\n Codicon.goToFile = new Codicon('go-to-file', { fontCharacter: '\\\\ea94' });\r\n Codicon.symbolEnum = new Codicon('symbol-enum', { fontCharacter: '\\\\ea95' });\r\n Codicon.symbolValue = new Codicon('symbol-value', { fontCharacter: '\\\\ea95' });\r\n Codicon.symbolRuler = new Codicon('symbol-ruler', { fontCharacter: '\\\\ea96' });\r\n Codicon.symbolUnit = new Codicon('symbol-unit', { fontCharacter: '\\\\ea96' });\r\n Codicon.activateBreakpoints = new Codicon('activate-breakpoints', { fontCharacter: '\\\\ea97' });\r\n Codicon.archive = new Codicon('archive', { fontCharacter: '\\\\ea98' });\r\n Codicon.arrowBoth = new Codicon('arrow-both', { fontCharacter: '\\\\ea99' });\r\n Codicon.arrowDown = new Codicon('arrow-down', { fontCharacter: '\\\\ea9a' });\r\n Codicon.arrowLeft = new Codicon('arrow-left', { fontCharacter: '\\\\ea9b' });\r\n Codicon.arrowRight = new Codicon('arrow-right', { fontCharacter: '\\\\ea9c' });\r\n Codicon.arrowSmallDown = new Codicon('arrow-small-down', { fontCharacter: '\\\\ea9d' });\r\n Codicon.arrowSmallLeft = new Codicon('arrow-small-left', { fontCharacter: '\\\\ea9e' });\r\n Codicon.arrowSmallRight = new Codicon('arrow-small-right', { fontCharacter: '\\\\ea9f' });\r\n Codicon.arrowSmallUp = new Codicon('arrow-small-up', { fontCharacter: '\\\\eaa0' });\r\n Codicon.arrowUp = new Codicon('arrow-up', { fontCharacter: '\\\\eaa1' });\r\n Codicon.bell = new Codicon('bell', { fontCharacter: '\\\\eaa2' });\r\n Codicon.bold = new Codicon('bold', { fontCharacter: '\\\\eaa3' });\r\n Codicon.book = new Codicon('book', { fontCharacter: '\\\\eaa4' });\r\n Codicon.bookmark = new Codicon('bookmark', { fontCharacter: '\\\\eaa5' });\r\n Codicon.debugBreakpointConditionalUnverified = new Codicon('debug-breakpoint-conditional-unverified', { fontCharacter: '\\\\eaa6' });\r\n Codicon.debugBreakpointConditional = new Codicon('debug-breakpoint-conditional', { fontCharacter: '\\\\eaa7' });\r\n Codicon.debugBreakpointConditionalDisabled = new Codicon('debug-breakpoint-conditional-disabled', { fontCharacter: '\\\\eaa7' });\r\n Codicon.debugBreakpointDataUnverified = new Codicon('debug-breakpoint-data-unverified', { fontCharacter: '\\\\eaa8' });\r\n Codicon.debugBreakpointData = new Codicon('debug-breakpoint-data', { fontCharacter: '\\\\eaa9' });\r\n Codicon.debugBreakpointDataDisabled = new Codicon('debug-breakpoint-data-disabled', { fontCharacter: '\\\\eaa9' });\r\n Codicon.debugBreakpointLogUnverified = new Codicon('debug-breakpoint-log-unverified', { fontCharacter: '\\\\eaaa' });\r\n Codicon.debugBreakpointLog = new Codicon('debug-breakpoint-log', { fontCharacter: '\\\\eaab' });\r\n Codicon.debugBreakpointLogDisabled = new Codicon('debug-breakpoint-log-disabled', { fontCharacter: '\\\\eaab' });\r\n Codicon.briefcase = new Codicon('briefcase', { fontCharacter: '\\\\eaac' });\r\n Codicon.broadcast = new Codicon('broadcast', { fontCharacter: '\\\\eaad' });\r\n Codicon.browser = new Codicon('browser', { fontCharacter: '\\\\eaae' });\r\n Codicon.bug = new Codicon('bug', { fontCharacter: '\\\\eaaf' });\r\n Codicon.calendar = new Codicon('calendar', { fontCharacter: '\\\\eab0' });\r\n Codicon.caseSensitive = new Codicon('case-sensitive', { fontCharacter: '\\\\eab1' });\r\n Codicon.check = new Codicon('check', { fontCharacter: '\\\\eab2' });\r\n Codicon.checklist = new Codicon('checklist', { fontCharacter: '\\\\eab3' });\r\n Codicon.chevronDown = new Codicon('chevron-down', { fontCharacter: '\\\\eab4' });\r\n Codicon.chevronLeft = new Codicon('chevron-left', { fontCharacter: '\\\\eab5' });\r\n Codicon.chevronRight = new Codicon('chevron-right', { fontCharacter: '\\\\eab6' });\r\n Codicon.chevronUp = new Codicon('chevron-up', { fontCharacter: '\\\\eab7' });\r\n Codicon.chromeClose = new Codicon('chrome-close', { fontCharacter: '\\\\eab8' });\r\n Codicon.chromeMaximize = new Codicon('chrome-maximize', { fontCharacter: '\\\\eab9' });\r\n Codicon.chromeMinimize = new Codicon('chrome-minimize', { fontCharacter: '\\\\eaba' });\r\n Codicon.chromeRestore = new Codicon('chrome-restore', { fontCharacter: '\\\\eabb' });\r\n Codicon.circleOutline = new Codicon('circle-outline', { fontCharacter: '\\\\eabc' });\r\n Codicon.debugBreakpointUnverified = new Codicon('debug-breakpoint-unverified', { fontCharacter: '\\\\eabc' });\r\n Codicon.circleSlash = new Codicon('circle-slash', { fontCharacter: '\\\\eabd' });\r\n Codicon.circuitBoard = new Codicon('circuit-board', { fontCharacter: '\\\\eabe' });\r\n Codicon.clearAll = new Codicon('clear-all', { fontCharacter: '\\\\eabf' });\r\n Codicon.clippy = new Codicon('clippy', { fontCharacter: '\\\\eac0' });\r\n Codicon.closeAll = new Codicon('close-all', { fontCharacter: '\\\\eac1' });\r\n Codicon.cloudDownload = new Codicon('cloud-download', { fontCharacter: '\\\\eac2' });\r\n Codicon.cloudUpload = new Codicon('cloud-upload', { fontCharacter: '\\\\eac3' });\r\n Codicon.code = new Codicon('code', { fontCharacter: '\\\\eac4' });\r\n Codicon.collapseAll = new Codicon('collapse-all', { fontCharacter: '\\\\eac5' });\r\n Codicon.colorMode = new Codicon('color-mode', { fontCharacter: '\\\\eac6' });\r\n Codicon.commentDiscussion = new Codicon('comment-discussion', { fontCharacter: '\\\\eac7' });\r\n Codicon.compareChanges = new Codicon('compare-changes', { fontCharacter: '\\\\eafd' });\r\n Codicon.creditCard = new Codicon('credit-card', { fontCharacter: '\\\\eac9' });\r\n Codicon.dash = new Codicon('dash', { fontCharacter: '\\\\eacc' });\r\n Codicon.dashboard = new Codicon('dashboard', { fontCharacter: '\\\\eacd' });\r\n Codicon.database = new Codicon('database', { fontCharacter: '\\\\eace' });\r\n Codicon.debugContinue = new Codicon('debug-continue', { fontCharacter: '\\\\eacf' });\r\n Codicon.debugDisconnect = new Codicon('debug-disconnect', { fontCharacter: '\\\\ead0' });\r\n Codicon.debugPause = new Codicon('debug-pause', { fontCharacter: '\\\\ead1' });\r\n Codicon.debugRestart = new Codicon('debug-restart', { fontCharacter: '\\\\ead2' });\r\n Codicon.debugStart = new Codicon('debug-start', { fontCharacter: '\\\\ead3' });\r\n Codicon.debugStepInto = new Codicon('debug-step-into', { fontCharacter: '\\\\ead4' });\r\n Codicon.debugStepOut = new Codicon('debug-step-out', { fontCharacter: '\\\\ead5' });\r\n Codicon.debugStepOver = new Codicon('debug-step-over', { fontCharacter: '\\\\ead6' });\r\n Codicon.debugStop = new Codicon('debug-stop', { fontCharacter: '\\\\ead7' });\r\n Codicon.debug = new Codicon('debug', { fontCharacter: '\\\\ead8' });\r\n Codicon.deviceCameraVideo = new Codicon('device-camera-video', { fontCharacter: '\\\\ead9' });\r\n Codicon.deviceCamera = new Codicon('device-camera', { fontCharacter: '\\\\eada' });\r\n Codicon.deviceMobile = new Codicon('device-mobile', { fontCharacter: '\\\\eadb' });\r\n Codicon.diffAdded = new Codicon('diff-added', { fontCharacter: '\\\\eadc' });\r\n Codicon.diffIgnored = new Codicon('diff-ignored', { fontCharacter: '\\\\eadd' });\r\n Codicon.diffModified = new Codicon('diff-modified', { fontCharacter: '\\\\eade' });\r\n Codicon.diffRemoved = new Codicon('diff-removed', { fontCharacter: '\\\\eadf' });\r\n Codicon.diffRenamed = new Codicon('diff-renamed', { fontCharacter: '\\\\eae0' });\r\n Codicon.diff = new Codicon('diff', { fontCharacter: '\\\\eae1' });\r\n Codicon.discard = new Codicon('discard', { fontCharacter: '\\\\eae2' });\r\n Codicon.editorLayout = new Codicon('editor-layout', { fontCharacter: '\\\\eae3' });\r\n Codicon.emptyWindow = new Codicon('empty-window', { fontCharacter: '\\\\eae4' });\r\n Codicon.exclude = new Codicon('exclude', { fontCharacter: '\\\\eae5' });\r\n Codicon.extensions = new Codicon('extensions', { fontCharacter: '\\\\eae6' });\r\n Codicon.eyeClosed = new Codicon('eye-closed', { fontCharacter: '\\\\eae7' });\r\n Codicon.fileBinary = new Codicon('file-binary', { fontCharacter: '\\\\eae8' });\r\n Codicon.fileCode = new Codicon('file-code', { fontCharacter: '\\\\eae9' });\r\n Codicon.fileMedia = new Codicon('file-media', { fontCharacter: '\\\\eaea' });\r\n Codicon.filePdf = new Codicon('file-pdf', { fontCharacter: '\\\\eaeb' });\r\n Codicon.fileSubmodule = new Codicon('file-submodule', { fontCharacter: '\\\\eaec' });\r\n Codicon.fileSymlinkDirectory = new Codicon('file-symlink-directory', { fontCharacter: '\\\\eaed' });\r\n Codicon.fileSymlinkFile = new Codicon('file-symlink-file', { fontCharacter: '\\\\eaee' });\r\n Codicon.fileZip = new Codicon('file-zip', { fontCharacter: '\\\\eaef' });\r\n Codicon.files = new Codicon('files', { fontCharacter: '\\\\eaf0' });\r\n Codicon.filter = new Codicon('filter', { fontCharacter: '\\\\eaf1' });\r\n Codicon.flame = new Codicon('flame', { fontCharacter: '\\\\eaf2' });\r\n Codicon.foldDown = new Codicon('fold-down', { fontCharacter: '\\\\eaf3' });\r\n Codicon.foldUp = new Codicon('fold-up', { fontCharacter: '\\\\eaf4' });\r\n Codicon.fold = new Codicon('fold', { fontCharacter: '\\\\eaf5' });\r\n Codicon.folderActive = new Codicon('folder-active', { fontCharacter: '\\\\eaf6' });\r\n Codicon.folderOpened = new Codicon('folder-opened', { fontCharacter: '\\\\eaf7' });\r\n Codicon.gear = new Codicon('gear', { fontCharacter: '\\\\eaf8' });\r\n Codicon.gift = new Codicon('gift', { fontCharacter: '\\\\eaf9' });\r\n Codicon.gistSecret = new Codicon('gist-secret', { fontCharacter: '\\\\eafa' });\r\n Codicon.gist = new Codicon('gist', { fontCharacter: '\\\\eafb' });\r\n Codicon.gitCommit = new Codicon('git-commit', { fontCharacter: '\\\\eafc' });\r\n Codicon.gitCompare = new Codicon('git-compare', { fontCharacter: '\\\\eafd' });\r\n Codicon.gitMerge = new Codicon('git-merge', { fontCharacter: '\\\\eafe' });\r\n Codicon.githubAction = new Codicon('github-action', { fontCharacter: '\\\\eaff' });\r\n Codicon.githubAlt = new Codicon('github-alt', { fontCharacter: '\\\\eb00' });\r\n Codicon.globe = new Codicon('globe', { fontCharacter: '\\\\eb01' });\r\n Codicon.grabber = new Codicon('grabber', { fontCharacter: '\\\\eb02' });\r\n Codicon.graph = new Codicon('graph', { fontCharacter: '\\\\eb03' });\r\n Codicon.gripper = new Codicon('gripper', { fontCharacter: '\\\\eb04' });\r\n Codicon.heart = new Codicon('heart', { fontCharacter: '\\\\eb05' });\r\n Codicon.home = new Codicon('home', { fontCharacter: '\\\\eb06' });\r\n Codicon.horizontalRule = new Codicon('horizontal-rule', { fontCharacter: '\\\\eb07' });\r\n Codicon.hubot = new Codicon('hubot', { fontCharacter: '\\\\eb08' });\r\n Codicon.inbox = new Codicon('inbox', { fontCharacter: '\\\\eb09' });\r\n Codicon.issueClosed = new Codicon('issue-closed', { fontCharacter: '\\\\eb0a' });\r\n Codicon.issueReopened = new Codicon('issue-reopened', { fontCharacter: '\\\\eb0b' });\r\n Codicon.issues = new Codicon('issues', { fontCharacter: '\\\\eb0c' });\r\n Codicon.italic = new Codicon('italic', { fontCharacter: '\\\\eb0d' });\r\n Codicon.jersey = new Codicon('jersey', { fontCharacter: '\\\\eb0e' });\r\n Codicon.json = new Codicon('json', { fontCharacter: '\\\\eb0f' });\r\n Codicon.kebabVertical = new Codicon('kebab-vertical', { fontCharacter: '\\\\eb10' });\r\n Codicon.key = new Codicon('key', { fontCharacter: '\\\\eb11' });\r\n Codicon.law = new Codicon('law', { fontCharacter: '\\\\eb12' });\r\n Codicon.lightbulbAutofix = new Codicon('lightbulb-autofix', { fontCharacter: '\\\\eb13' });\r\n Codicon.linkExternal = new Codicon('link-external', { fontCharacter: '\\\\eb14' });\r\n Codicon.link = new Codicon('link', { fontCharacter: '\\\\eb15' });\r\n Codicon.listOrdered = new Codicon('list-ordered', { fontCharacter: '\\\\eb16' });\r\n Codicon.listUnordered = new Codicon('list-unordered', { fontCharacter: '\\\\eb17' });\r\n Codicon.liveShare = new Codicon('live-share', { fontCharacter: '\\\\eb18' });\r\n Codicon.loading = new Codicon('loading', { fontCharacter: '\\\\eb19' });\r\n Codicon.location = new Codicon('location', { fontCharacter: '\\\\eb1a' });\r\n Codicon.mailRead = new Codicon('mail-read', { fontCharacter: '\\\\eb1b' });\r\n Codicon.mail = new Codicon('mail', { fontCharacter: '\\\\eb1c' });\r\n Codicon.markdown = new Codicon('markdown', { fontCharacter: '\\\\eb1d' });\r\n Codicon.megaphone = new Codicon('megaphone', { fontCharacter: '\\\\eb1e' });\r\n Codicon.mention = new Codicon('mention', { fontCharacter: '\\\\eb1f' });\r\n Codicon.milestone = new Codicon('milestone', { fontCharacter: '\\\\eb20' });\r\n Codicon.mortarBoard = new Codicon('mortar-board', { fontCharacter: '\\\\eb21' });\r\n Codicon.move = new Codicon('move', { fontCharacter: '\\\\eb22' });\r\n Codicon.multipleWindows = new Codicon('multiple-windows', { fontCharacter: '\\\\eb23' });\r\n Codicon.mute = new Codicon('mute', { fontCharacter: '\\\\eb24' });\r\n Codicon.noNewline = new Codicon('no-newline', { fontCharacter: '\\\\eb25' });\r\n Codicon.note = new Codicon('note', { fontCharacter: '\\\\eb26' });\r\n Codicon.octoface = new Codicon('octoface', { fontCharacter: '\\\\eb27' });\r\n Codicon.openPreview = new Codicon('open-preview', { fontCharacter: '\\\\eb28' });\r\n Codicon.package_ = new Codicon('package', { fontCharacter: '\\\\eb29' });\r\n Codicon.paintcan = new Codicon('paintcan', { fontCharacter: '\\\\eb2a' });\r\n Codicon.pin = new Codicon('pin', { fontCharacter: '\\\\eb2b' });\r\n Codicon.play = new Codicon('play', { fontCharacter: '\\\\eb2c' });\r\n Codicon.run = new Codicon('run', { fontCharacter: '\\\\eb2c' });\r\n Codicon.plug = new Codicon('plug', { fontCharacter: '\\\\eb2d' });\r\n Codicon.preserveCase = new Codicon('preserve-case', { fontCharacter: '\\\\eb2e' });\r\n Codicon.preview = new Codicon('preview', { fontCharacter: '\\\\eb2f' });\r\n Codicon.project = new Codicon('project', { fontCharacter: '\\\\eb30' });\r\n Codicon.pulse = new Codicon('pulse', { fontCharacter: '\\\\eb31' });\r\n Codicon.question = new Codicon('question', { fontCharacter: '\\\\eb32' });\r\n Codicon.quote = new Codicon('quote', { fontCharacter: '\\\\eb33' });\r\n Codicon.radioTower = new Codicon('radio-tower', { fontCharacter: '\\\\eb34' });\r\n Codicon.reactions = new Codicon('reactions', { fontCharacter: '\\\\eb35' });\r\n Codicon.references = new Codicon('references', { fontCharacter: '\\\\eb36' });\r\n Codicon.refresh = new Codicon('refresh', { fontCharacter: '\\\\eb37' });\r\n Codicon.regex = new Codicon('regex', { fontCharacter: '\\\\eb38' });\r\n Codicon.remoteExplorer = new Codicon('remote-explorer', { fontCharacter: '\\\\eb39' });\r\n Codicon.remote = new Codicon('remote', { fontCharacter: '\\\\eb3a' });\r\n Codicon.remove = new Codicon('remove', { fontCharacter: '\\\\eb3b' });\r\n Codicon.replaceAll = new Codicon('replace-all', { fontCharacter: '\\\\eb3c' });\r\n Codicon.replace = new Codicon('replace', { fontCharacter: '\\\\eb3d' });\r\n Codicon.repoClone = new Codicon('repo-clone', { fontCharacter: '\\\\eb3e' });\r\n Codicon.repoForcePush = new Codicon('repo-force-push', { fontCharacter: '\\\\eb3f' });\r\n Codicon.repoPull = new Codicon('repo-pull', { fontCharacter: '\\\\eb40' });\r\n Codicon.repoPush = new Codicon('repo-push', { fontCharacter: '\\\\eb41' });\r\n Codicon.report = new Codicon('report', { fontCharacter: '\\\\eb42' });\r\n Codicon.requestChanges = new Codicon('request-changes', { fontCharacter: '\\\\eb43' });\r\n Codicon.rocket = new Codicon('rocket', { fontCharacter: '\\\\eb44' });\r\n Codicon.rootFolderOpened = new Codicon('root-folder-opened', { fontCharacter: '\\\\eb45' });\r\n Codicon.rootFolder = new Codicon('root-folder', { fontCharacter: '\\\\eb46' });\r\n Codicon.rss = new Codicon('rss', { fontCharacter: '\\\\eb47' });\r\n Codicon.ruby = new Codicon('ruby', { fontCharacter: '\\\\eb48' });\r\n Codicon.saveAll = new Codicon('save-all', { fontCharacter: '\\\\eb49' });\r\n Codicon.saveAs = new Codicon('save-as', { fontCharacter: '\\\\eb4a' });\r\n Codicon.save = new Codicon('save', { fontCharacter: '\\\\eb4b' });\r\n Codicon.screenFull = new Codicon('screen-full', { fontCharacter: '\\\\eb4c' });\r\n Codicon.screenNormal = new Codicon('screen-normal', { fontCharacter: '\\\\eb4d' });\r\n Codicon.searchStop = new Codicon('search-stop', { fontCharacter: '\\\\eb4e' });\r\n Codicon.server = new Codicon('server', { fontCharacter: '\\\\eb50' });\r\n Codicon.settingsGear = new Codicon('settings-gear', { fontCharacter: '\\\\eb51' });\r\n Codicon.settings = new Codicon('settings', { fontCharacter: '\\\\eb52' });\r\n Codicon.shield = new Codicon('shield', { fontCharacter: '\\\\eb53' });\r\n Codicon.smiley = new Codicon('smiley', { fontCharacter: '\\\\eb54' });\r\n Codicon.sortPrecedence = new Codicon('sort-precedence', { fontCharacter: '\\\\eb55' });\r\n Codicon.splitHorizontal = new Codicon('split-horizontal', { fontCharacter: '\\\\eb56' });\r\n Codicon.splitVertical = new Codicon('split-vertical', { fontCharacter: '\\\\eb57' });\r\n Codicon.squirrel = new Codicon('squirrel', { fontCharacter: '\\\\eb58' });\r\n Codicon.starFull = new Codicon('star-full', { fontCharacter: '\\\\eb59' });\r\n Codicon.starHalf = new Codicon('star-half', { fontCharacter: '\\\\eb5a' });\r\n Codicon.symbolClass = new Codicon('symbol-class', { fontCharacter: '\\\\eb5b' });\r\n Codicon.symbolColor = new Codicon('symbol-color', { fontCharacter: '\\\\eb5c' });\r\n Codicon.symbolConstant = new Codicon('symbol-constant', { fontCharacter: '\\\\eb5d' });\r\n Codicon.symbolEnumMember = new Codicon('symbol-enum-member', { fontCharacter: '\\\\eb5e' });\r\n Codicon.symbolField = new Codicon('symbol-field', { fontCharacter: '\\\\eb5f' });\r\n Codicon.symbolFile = new Codicon('symbol-file', { fontCharacter: '\\\\eb60' });\r\n Codicon.symbolInterface = new Codicon('symbol-interface', { fontCharacter: '\\\\eb61' });\r\n Codicon.symbolKeyword = new Codicon('symbol-keyword', { fontCharacter: '\\\\eb62' });\r\n Codicon.symbolMisc = new Codicon('symbol-misc', { fontCharacter: '\\\\eb63' });\r\n Codicon.symbolOperator = new Codicon('symbol-operator', { fontCharacter: '\\\\eb64' });\r\n Codicon.symbolProperty = new Codicon('symbol-property', { fontCharacter: '\\\\eb65' });\r\n Codicon.wrench = new Codicon('wrench', { fontCharacter: '\\\\eb65' });\r\n Codicon.wrenchSubaction = new Codicon('wrench-subaction', { fontCharacter: '\\\\eb65' });\r\n Codicon.symbolSnippet = new Codicon('symbol-snippet', { fontCharacter: '\\\\eb66' });\r\n Codicon.tasklist = new Codicon('tasklist', { fontCharacter: '\\\\eb67' });\r\n Codicon.telescope = new Codicon('telescope', { fontCharacter: '\\\\eb68' });\r\n Codicon.textSize = new Codicon('text-size', { fontCharacter: '\\\\eb69' });\r\n Codicon.threeBars = new Codicon('three-bars', { fontCharacter: '\\\\eb6a' });\r\n Codicon.thumbsdown = new Codicon('thumbsdown', { fontCharacter: '\\\\eb6b' });\r\n Codicon.thumbsup = new Codicon('thumbsup', { fontCharacter: '\\\\eb6c' });\r\n Codicon.tools = new Codicon('tools', { fontCharacter: '\\\\eb6d' });\r\n Codicon.triangleDown = new Codicon('triangle-down', { fontCharacter: '\\\\eb6e' });\r\n Codicon.triangleLeft = new Codicon('triangle-left', { fontCharacter: '\\\\eb6f' });\r\n Codicon.triangleRight = new Codicon('triangle-right', { fontCharacter: '\\\\eb70' });\r\n Codicon.triangleUp = new Codicon('triangle-up', { fontCharacter: '\\\\eb71' });\r\n Codicon.twitter = new Codicon('twitter', { fontCharacter: '\\\\eb72' });\r\n Codicon.unfold = new Codicon('unfold', { fontCharacter: '\\\\eb73' });\r\n Codicon.unlock = new Codicon('unlock', { fontCharacter: '\\\\eb74' });\r\n Codicon.unmute = new Codicon('unmute', { fontCharacter: '\\\\eb75' });\r\n Codicon.unverified = new Codicon('unverified', { fontCharacter: '\\\\eb76' });\r\n Codicon.verified = new Codicon('verified', { fontCharacter: '\\\\eb77' });\r\n Codicon.versions = new Codicon('versions', { fontCharacter: '\\\\eb78' });\r\n Codicon.vmActive = new Codicon('vm-active', { fontCharacter: '\\\\eb79' });\r\n Codicon.vmOutline = new Codicon('vm-outline', { fontCharacter: '\\\\eb7a' });\r\n Codicon.vmRunning = new Codicon('vm-running', { fontCharacter: '\\\\eb7b' });\r\n Codicon.watch = new Codicon('watch', { fontCharacter: '\\\\eb7c' });\r\n Codicon.whitespace = new Codicon('whitespace', { fontCharacter: '\\\\eb7d' });\r\n Codicon.wholeWord = new Codicon('whole-word', { fontCharacter: '\\\\eb7e' });\r\n Codicon.window = new Codicon('window', { fontCharacter: '\\\\eb7f' });\r\n Codicon.wordWrap = new Codicon('word-wrap', { fontCharacter: '\\\\eb80' });\r\n Codicon.zoomIn = new Codicon('zoom-in', { fontCharacter: '\\\\eb81' });\r\n Codicon.zoomOut = new Codicon('zoom-out', { fontCharacter: '\\\\eb82' });\r\n Codicon.listFilter = new Codicon('list-filter', { fontCharacter: '\\\\eb83' });\r\n Codicon.listFlat = new Codicon('list-flat', { fontCharacter: '\\\\eb84' });\r\n Codicon.listSelection = new Codicon('list-selection', { fontCharacter: '\\\\eb85' });\r\n Codicon.selection = new Codicon('selection', { fontCharacter: '\\\\eb85' });\r\n Codicon.listTree = new Codicon('list-tree', { fontCharacter: '\\\\eb86' });\r\n Codicon.debugBreakpointFunctionUnverified = new Codicon('debug-breakpoint-function-unverified', { fontCharacter: '\\\\eb87' });\r\n Codicon.debugBreakpointFunction = new Codicon('debug-breakpoint-function', { fontCharacter: '\\\\eb88' });\r\n Codicon.debugBreakpointFunctionDisabled = new Codicon('debug-breakpoint-function-disabled', { fontCharacter: '\\\\eb88' });\r\n Codicon.debugStackframeActive = new Codicon('debug-stackframe-active', { fontCharacter: '\\\\eb89' });\r\n Codicon.debugStackframeDot = new Codicon('debug-stackframe-dot', { fontCharacter: '\\\\eb8a' });\r\n Codicon.debugStackframe = new Codicon('debug-stackframe', { fontCharacter: '\\\\eb8b' });\r\n Codicon.debugStackframeFocused = new Codicon('debug-stackframe-focused', { fontCharacter: '\\\\eb8b' });\r\n Codicon.debugBreakpointUnsupported = new Codicon('debug-breakpoint-unsupported', { fontCharacter: '\\\\eb8c' });\r\n Codicon.symbolString = new Codicon('symbol-string', { fontCharacter: '\\\\eb8d' });\r\n Codicon.debugReverseContinue = new Codicon('debug-reverse-continue', { fontCharacter: '\\\\eb8e' });\r\n Codicon.debugStepBack = new Codicon('debug-step-back', { fontCharacter: '\\\\eb8f' });\r\n Codicon.debugRestartFrame = new Codicon('debug-restart-frame', { fontCharacter: '\\\\eb90' });\r\n Codicon.callIncoming = new Codicon('call-incoming', { fontCharacter: '\\\\eb92' });\r\n Codicon.callOutgoing = new Codicon('call-outgoing', { fontCharacter: '\\\\eb93' });\r\n Codicon.menu = new Codicon('menu', { fontCharacter: '\\\\eb94' });\r\n Codicon.expandAll = new Codicon('expand-all', { fontCharacter: '\\\\eb95' });\r\n Codicon.feedback = new Codicon('feedback', { fontCharacter: '\\\\eb96' });\r\n Codicon.groupByRefType = new Codicon('group-by-ref-type', { fontCharacter: '\\\\eb97' });\r\n Codicon.ungroupByRefType = new Codicon('ungroup-by-ref-type', { fontCharacter: '\\\\eb98' });\r\n Codicon.account = new Codicon('account', { fontCharacter: '\\\\eb99' });\r\n Codicon.bellDot = new Codicon('bell-dot', { fontCharacter: '\\\\eb9a' });\r\n Codicon.debugConsole = new Codicon('debug-console', { fontCharacter: '\\\\eb9b' });\r\n Codicon.library = new Codicon('library', { fontCharacter: '\\\\eb9c' });\r\n Codicon.output = new Codicon('output', { fontCharacter: '\\\\eb9d' });\r\n Codicon.runAll = new Codicon('run-all', { fontCharacter: '\\\\eb9e' });\r\n Codicon.syncIgnored = new Codicon('sync-ignored', { fontCharacter: '\\\\eb9f' });\r\n Codicon.pinned = new Codicon('pinned', { fontCharacter: '\\\\eba0' });\r\n Codicon.githubInverted = new Codicon('github-inverted', { fontCharacter: '\\\\eba1' });\r\n Codicon.debugAlt = new Codicon('debug-alt', { fontCharacter: '\\\\eb91' });\r\n Codicon.serverProcess = new Codicon('server-process', { fontCharacter: '\\\\eba2' });\r\n Codicon.serverEnvironment = new Codicon('server-environment', { fontCharacter: '\\\\eba3' });\r\n Codicon.pass = new Codicon('pass', { fontCharacter: '\\\\eba4' });\r\n Codicon.stopCircle = new Codicon('stop-circle', { fontCharacter: '\\\\eba5' });\r\n Codicon.playCircle = new Codicon('play-circle', { fontCharacter: '\\\\eba6' });\r\n Codicon.record = new Codicon('record', { fontCharacter: '\\\\eba7' });\r\n Codicon.debugAltSmall = new Codicon('debug-alt-small', { fontCharacter: '\\\\eba8' });\r\n Codicon.vmConnect = new Codicon('vm-connect', { fontCharacter: '\\\\eba9' });\r\n Codicon.cloud = new Codicon('cloud', { fontCharacter: '\\\\ebaa' });\r\n Codicon.merge = new Codicon('merge', { fontCharacter: '\\\\ebab' });\r\n Codicon.exportIcon = new Codicon('export', { fontCharacter: '\\\\ebac' });\r\n Codicon.graphLeft = new Codicon('graph-left', { fontCharacter: '\\\\ebad' });\r\n Codicon.magnet = new Codicon('magnet', { fontCharacter: '\\\\ebae' });\r\n Codicon.notebook = new Codicon('notebook', { fontCharacter: '\\\\ebaf' });\r\n Codicon.redo = new Codicon('redo', { fontCharacter: '\\\\ebb0' });\r\n Codicon.checkAll = new Codicon('check-all', { fontCharacter: '\\\\ebb1' });\r\n Codicon.pinnedDirty = new Codicon('pinned-dirty', { fontCharacter: '\\\\ebb2' });\r\n Codicon.passFilled = new Codicon('pass-filled', { fontCharacter: '\\\\ebb3' });\r\n Codicon.circleLargeFilled = new Codicon('circle-large-filled', { fontCharacter: '\\\\ebb4' });\r\n Codicon.circleLargeOutline = new Codicon('circle-large-outline', { fontCharacter: '\\\\ebb5' });\r\n Codicon.combine = new Codicon('combine', { fontCharacter: '\\\\ebb6' });\r\n Codicon.gather = new Codicon('gather', { fontCharacter: '\\\\ebb6' });\r\n Codicon.table = new Codicon('table', { fontCharacter: '\\\\ebb7' });\r\n Codicon.variableGroup = new Codicon('variable-group', { fontCharacter: '\\\\ebb8' });\r\n Codicon.typeHierarchy = new Codicon('type-hierarchy', { fontCharacter: '\\\\ebb9' });\r\n Codicon.typeHierarchySub = new Codicon('type-hierarchy-sub', { fontCharacter: '\\\\ebba' });\r\n Codicon.typeHierarchySuper = new Codicon('type-hierarchy-super', { fontCharacter: '\\\\ebbb' });\r\n Codicon.gitPullRequestCreate = new Codicon('git-pull-request-create', { fontCharacter: '\\\\ebbc' });\r\n Codicon.runAbove = new Codicon('run-above', { fontCharacter: '\\\\ebbd' });\r\n Codicon.runBelow = new Codicon('run-below', { fontCharacter: '\\\\ebbe' });\r\n Codicon.notebookTemplate = new Codicon('notebook-template', { fontCharacter: '\\\\ebbf' });\r\n Codicon.debugRerun = new Codicon('debug-rerun', { fontCharacter: '\\\\ebc0' });\r\n Codicon.dropDownButton = new Codicon('drop-down-button', Codicon.chevronDown.definition);\r\n})(Codicon || (Codicon = {}));\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/codicons.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/collections.js": /*!**********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/collections.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"forEach\": () => (/* binding */ forEach),\n/* harmony export */ \"SetMap\": () => (/* binding */ SetMap)\n/* harmony export */ });\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\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n/**\r\n * Iterates over each entry in the provided dictionary. The iterator allows\r\n * to remove elements and will stop when the callback returns {{false}}.\r\n */\r\nfunction forEach(from, callback) {\r\n for (let key in from) {\r\n if (hasOwnProperty.call(from, key)) {\r\n const result = callback({ key: key, value: from[key] }, function () {\r\n delete from[key];\r\n });\r\n if (result === false) {\r\n return;\r\n }\r\n }\r\n }\r\n}\r\nclass SetMap {\r\n constructor() {\r\n this.map = new Map();\r\n }\r\n add(key, value) {\r\n let values = this.map.get(key);\r\n if (!values) {\r\n values = new Set();\r\n this.map.set(key, values);\r\n }\r\n values.add(value);\r\n }\r\n delete(key, value) {\r\n const values = this.map.get(key);\r\n if (!values) {\r\n return;\r\n }\r\n values.delete(value);\r\n if (values.size === 0) {\r\n this.map.delete(key);\r\n }\r\n }\r\n forEach(key, fn) {\r\n const values = this.map.get(key);\r\n if (!values) {\r\n return;\r\n }\r\n values.forEach(fn);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/collections.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/color.js": /*!****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/color.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RGBA\": () => (/* binding */ RGBA),\n/* harmony export */ \"HSLA\": () => (/* binding */ HSLA),\n/* harmony export */ \"HSVA\": () => (/* binding */ HSVA),\n/* harmony export */ \"Color\": () => (/* binding */ Color)\n/* harmony export */ });\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 roundFloat(number, decimalPoints) {\r\n const decimal = Math.pow(10, decimalPoints);\r\n return Math.round(number * decimal) / decimal;\r\n}\r\nclass RGBA {\r\n constructor(r, g, b, a = 1) {\r\n this.r = Math.min(255, Math.max(0, r)) | 0;\r\n this.g = Math.min(255, Math.max(0, g)) | 0;\r\n this.b = Math.min(255, Math.max(0, b)) | 0;\r\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\r\n }\r\n static equals(a, b) {\r\n return a.r === b.r && a.g === b.g && a.b === b.b && a.a === b.a;\r\n }\r\n}\r\nclass HSLA {\r\n constructor(h, s, l, a) {\r\n this.h = Math.max(Math.min(360, h), 0) | 0;\r\n this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);\r\n this.l = roundFloat(Math.max(Math.min(1, l), 0), 3);\r\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\r\n }\r\n static equals(a, b) {\r\n return a.h === b.h && a.s === b.s && a.l === b.l && a.a === b.a;\r\n }\r\n /**\r\n * Converts an RGB color value to HSL. Conversion formula\r\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\r\n * Assumes r, g, and b are contained in the set [0, 255] and\r\n * returns h in the set [0, 360], s, and l in the set [0, 1].\r\n */\r\n static fromRGBA(rgba) {\r\n const r = rgba.r / 255;\r\n const g = rgba.g / 255;\r\n const b = rgba.b / 255;\r\n const a = rgba.a;\r\n const max = Math.max(r, g, b);\r\n const min = Math.min(r, g, b);\r\n let h = 0;\r\n let s = 0;\r\n const l = (min + max) / 2;\r\n const chroma = max - min;\r\n if (chroma > 0) {\r\n s = Math.min((l <= 0.5 ? chroma / (2 * l) : chroma / (2 - (2 * l))), 1);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / chroma + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / chroma + 2;\r\n break;\r\n case b:\r\n h = (r - g) / chroma + 4;\r\n break;\r\n }\r\n h *= 60;\r\n h = Math.round(h);\r\n }\r\n return new HSLA(h, s, l, a);\r\n }\r\n static _hue2rgb(p, q, t) {\r\n if (t < 0) {\r\n t += 1;\r\n }\r\n if (t > 1) {\r\n t -= 1;\r\n }\r\n if (t < 1 / 6) {\r\n return p + (q - p) * 6 * t;\r\n }\r\n if (t < 1 / 2) {\r\n return q;\r\n }\r\n if (t < 2 / 3) {\r\n return p + (q - p) * (2 / 3 - t) * 6;\r\n }\r\n return p;\r\n }\r\n /**\r\n * Converts an HSL color value to RGB. Conversion formula\r\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\r\n * Assumes h in the set [0, 360] s, and l are contained in the set [0, 1] and\r\n * returns r, g, and b in the set [0, 255].\r\n */\r\n static toRGBA(hsla) {\r\n const h = hsla.h / 360;\r\n const { s, l, a } = hsla;\r\n let r, g, b;\r\n if (s === 0) {\r\n r = g = b = l; // achromatic\r\n }\r\n else {\r\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n const p = 2 * l - q;\r\n r = HSLA._hue2rgb(p, q, h + 1 / 3);\r\n g = HSLA._hue2rgb(p, q, h);\r\n b = HSLA._hue2rgb(p, q, h - 1 / 3);\r\n }\r\n return new RGBA(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255), a);\r\n }\r\n}\r\nclass HSVA {\r\n constructor(h, s, v, a) {\r\n this.h = Math.max(Math.min(360, h), 0) | 0;\r\n this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);\r\n this.v = roundFloat(Math.max(Math.min(1, v), 0), 3);\r\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\r\n }\r\n static equals(a, b) {\r\n return a.h === b.h && a.s === b.s && a.v === b.v && a.a === b.a;\r\n }\r\n // from http://www.rapidtables.com/convert/color/rgb-to-hsv.htm\r\n static fromRGBA(rgba) {\r\n const r = rgba.r / 255;\r\n const g = rgba.g / 255;\r\n const b = rgba.b / 255;\r\n const cmax = Math.max(r, g, b);\r\n const cmin = Math.min(r, g, b);\r\n const delta = cmax - cmin;\r\n const s = cmax === 0 ? 0 : (delta / cmax);\r\n let m;\r\n if (delta === 0) {\r\n m = 0;\r\n }\r\n else if (cmax === r) {\r\n m = ((((g - b) / delta) % 6) + 6) % 6;\r\n }\r\n else if (cmax === g) {\r\n m = ((b - r) / delta) + 2;\r\n }\r\n else {\r\n m = ((r - g) / delta) + 4;\r\n }\r\n return new HSVA(Math.round(m * 60), s, cmax, rgba.a);\r\n }\r\n // from http://www.rapidtables.com/convert/color/hsv-to-rgb.htm\r\n static toRGBA(hsva) {\r\n const { h, s, v, a } = hsva;\r\n const c = v * s;\r\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\r\n const m = v - c;\r\n let [r, g, b] = [0, 0, 0];\r\n if (h < 60) {\r\n r = c;\r\n g = x;\r\n }\r\n else if (h < 120) {\r\n r = x;\r\n g = c;\r\n }\r\n else if (h < 180) {\r\n g = c;\r\n b = x;\r\n }\r\n else if (h < 240) {\r\n g = x;\r\n b = c;\r\n }\r\n else if (h < 300) {\r\n r = x;\r\n b = c;\r\n }\r\n else if (h <= 360) {\r\n r = c;\r\n b = x;\r\n }\r\n r = Math.round((r + m) * 255);\r\n g = Math.round((g + m) * 255);\r\n b = Math.round((b + m) * 255);\r\n return new RGBA(r, g, b, a);\r\n }\r\n}\r\nclass Color {\r\n constructor(arg) {\r\n if (!arg) {\r\n throw new Error('Color needs a value');\r\n }\r\n else if (arg instanceof RGBA) {\r\n this.rgba = arg;\r\n }\r\n else if (arg instanceof HSLA) {\r\n this._hsla = arg;\r\n this.rgba = HSLA.toRGBA(arg);\r\n }\r\n else if (arg instanceof HSVA) {\r\n this._hsva = arg;\r\n this.rgba = HSVA.toRGBA(arg);\r\n }\r\n else {\r\n throw new Error('Invalid color ctor argument');\r\n }\r\n }\r\n static fromHex(hex) {\r\n return Color.Format.CSS.parseHex(hex) || Color.red;\r\n }\r\n get hsla() {\r\n if (this._hsla) {\r\n return this._hsla;\r\n }\r\n else {\r\n return HSLA.fromRGBA(this.rgba);\r\n }\r\n }\r\n get hsva() {\r\n if (this._hsva) {\r\n return this._hsva;\r\n }\r\n return HSVA.fromRGBA(this.rgba);\r\n }\r\n equals(other) {\r\n return !!other && RGBA.equals(this.rgba, other.rgba) && HSLA.equals(this.hsla, other.hsla) && HSVA.equals(this.hsva, other.hsva);\r\n }\r\n /**\r\n * http://www.w3.org/TR/WCAG20/#relativeluminancedef\r\n * Returns the number in the set [0, 1]. O => Darkest Black. 1 => Lightest white.\r\n */\r\n getRelativeLuminance() {\r\n const R = Color._relativeLuminanceForComponent(this.rgba.r);\r\n const G = Color._relativeLuminanceForComponent(this.rgba.g);\r\n const B = Color._relativeLuminanceForComponent(this.rgba.b);\r\n const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;\r\n return roundFloat(luminance, 4);\r\n }\r\n static _relativeLuminanceForComponent(color) {\r\n const c = color / 255;\r\n return (c <= 0.03928) ? c / 12.92 : Math.pow(((c + 0.055) / 1.055), 2.4);\r\n }\r\n /**\r\n *\thttp://24ways.org/2010/calculating-color-contrast\r\n * Return 'true' if lighter color otherwise 'false'\r\n */\r\n isLighter() {\r\n const yiq = (this.rgba.r * 299 + this.rgba.g * 587 + this.rgba.b * 114) / 1000;\r\n return yiq >= 128;\r\n }\r\n isLighterThan(another) {\r\n const lum1 = this.getRelativeLuminance();\r\n const lum2 = another.getRelativeLuminance();\r\n return lum1 > lum2;\r\n }\r\n isDarkerThan(another) {\r\n const lum1 = this.getRelativeLuminance();\r\n const lum2 = another.getRelativeLuminance();\r\n return lum1 < lum2;\r\n }\r\n lighten(factor) {\r\n return new Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l + this.hsla.l * factor, this.hsla.a));\r\n }\r\n darken(factor) {\r\n return new Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l - this.hsla.l * factor, this.hsla.a));\r\n }\r\n transparent(factor) {\r\n const { r, g, b, a } = this.rgba;\r\n return new Color(new RGBA(r, g, b, a * factor));\r\n }\r\n isTransparent() {\r\n return this.rgba.a === 0;\r\n }\r\n isOpaque() {\r\n return this.rgba.a === 1;\r\n }\r\n opposite() {\r\n return new Color(new RGBA(255 - this.rgba.r, 255 - this.rgba.g, 255 - this.rgba.b, this.rgba.a));\r\n }\r\n toString() {\r\n return '' + Color.Format.CSS.format(this);\r\n }\r\n static getLighterColor(of, relative, factor) {\r\n if (of.isLighterThan(relative)) {\r\n return of;\r\n }\r\n factor = factor ? factor : 0.5;\r\n const lum1 = of.getRelativeLuminance();\r\n const lum2 = relative.getRelativeLuminance();\r\n factor = factor * (lum2 - lum1) / lum2;\r\n return of.lighten(factor);\r\n }\r\n static getDarkerColor(of, relative, factor) {\r\n if (of.isDarkerThan(relative)) {\r\n return of;\r\n }\r\n factor = factor ? factor : 0.5;\r\n const lum1 = of.getRelativeLuminance();\r\n const lum2 = relative.getRelativeLuminance();\r\n factor = factor * (lum1 - lum2) / lum1;\r\n return of.darken(factor);\r\n }\r\n}\r\nColor.white = new Color(new RGBA(255, 255, 255, 1));\r\nColor.black = new Color(new RGBA(0, 0, 0, 1));\r\nColor.red = new Color(new RGBA(255, 0, 0, 1));\r\nColor.blue = new Color(new RGBA(0, 0, 255, 1));\r\nColor.cyan = new Color(new RGBA(0, 255, 255, 1));\r\nColor.lightgrey = new Color(new RGBA(211, 211, 211, 1));\r\nColor.transparent = new Color(new RGBA(0, 0, 0, 0));\r\n(function (Color) {\r\n let Format;\r\n (function (Format) {\r\n let CSS;\r\n (function (CSS) {\r\n function formatRGB(color) {\r\n if (color.rgba.a === 1) {\r\n return `rgb(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b})`;\r\n }\r\n return Color.Format.CSS.formatRGBA(color);\r\n }\r\n CSS.formatRGB = formatRGB;\r\n function formatRGBA(color) {\r\n return `rgba(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b}, ${+(color.rgba.a).toFixed(2)})`;\r\n }\r\n CSS.formatRGBA = formatRGBA;\r\n function formatHSL(color) {\r\n if (color.hsla.a === 1) {\r\n return `hsl(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%)`;\r\n }\r\n return Color.Format.CSS.formatHSLA(color);\r\n }\r\n CSS.formatHSL = formatHSL;\r\n function formatHSLA(color) {\r\n return `hsla(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%, ${color.hsla.a.toFixed(2)})`;\r\n }\r\n CSS.formatHSLA = formatHSLA;\r\n function _toTwoDigitHex(n) {\r\n const r = n.toString(16);\r\n return r.length !== 2 ? '0' + r : r;\r\n }\r\n /**\r\n * Formats the color as #RRGGBB\r\n */\r\n function formatHex(color) {\r\n return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}`;\r\n }\r\n CSS.formatHex = formatHex;\r\n /**\r\n * Formats the color as #RRGGBBAA\r\n * If 'compact' is set, colors without transparancy will be printed as #RRGGBB\r\n */\r\n function formatHexA(color, compact = false) {\r\n if (compact && color.rgba.a === 1) {\r\n return Color.Format.CSS.formatHex(color);\r\n }\r\n return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}${_toTwoDigitHex(Math.round(color.rgba.a * 255))}`;\r\n }\r\n CSS.formatHexA = formatHexA;\r\n /**\r\n * The default format will use HEX if opaque and RGBA otherwise.\r\n */\r\n function format(color) {\r\n if (color.isOpaque()) {\r\n return Color.Format.CSS.formatHex(color);\r\n }\r\n return Color.Format.CSS.formatRGBA(color);\r\n }\r\n CSS.format = format;\r\n /**\r\n * Converts an Hex color value to a Color.\r\n * returns r, g, and b are contained in the set [0, 255]\r\n * @param hex string (#RGB, #RGBA, #RRGGBB or #RRGGBBAA).\r\n */\r\n function parseHex(hex) {\r\n const length = hex.length;\r\n if (length === 0) {\r\n // Invalid color\r\n return null;\r\n }\r\n if (hex.charCodeAt(0) !== 35 /* Hash */) {\r\n // Does not begin with a #\r\n return null;\r\n }\r\n if (length === 7) {\r\n // #RRGGBB format\r\n const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));\r\n const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));\r\n const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));\r\n return new Color(new RGBA(r, g, b, 1));\r\n }\r\n if (length === 9) {\r\n // #RRGGBBAA format\r\n const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));\r\n const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));\r\n const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));\r\n const a = 16 * _parseHexDigit(hex.charCodeAt(7)) + _parseHexDigit(hex.charCodeAt(8));\r\n return new Color(new RGBA(r, g, b, a / 255));\r\n }\r\n if (length === 4) {\r\n // #RGB format\r\n const r = _parseHexDigit(hex.charCodeAt(1));\r\n const g = _parseHexDigit(hex.charCodeAt(2));\r\n const b = _parseHexDigit(hex.charCodeAt(3));\r\n return new Color(new RGBA(16 * r + r, 16 * g + g, 16 * b + b));\r\n }\r\n if (length === 5) {\r\n // #RGBA format\r\n const r = _parseHexDigit(hex.charCodeAt(1));\r\n const g = _parseHexDigit(hex.charCodeAt(2));\r\n const b = _parseHexDigit(hex.charCodeAt(3));\r\n const a = _parseHexDigit(hex.charCodeAt(4));\r\n return new Color(new RGBA(16 * r + r, 16 * g + g, 16 * b + b, (16 * a + a) / 255));\r\n }\r\n // Invalid color\r\n return null;\r\n }\r\n CSS.parseHex = parseHex;\r\n function _parseHexDigit(charCode) {\r\n switch (charCode) {\r\n case 48 /* Digit0 */: return 0;\r\n case 49 /* Digit1 */: return 1;\r\n case 50 /* Digit2 */: return 2;\r\n case 51 /* Digit3 */: return 3;\r\n case 52 /* Digit4 */: return 4;\r\n case 53 /* Digit5 */: return 5;\r\n case 54 /* Digit6 */: return 6;\r\n case 55 /* Digit7 */: return 7;\r\n case 56 /* Digit8 */: return 8;\r\n case 57 /* Digit9 */: return 9;\r\n case 97 /* a */: return 10;\r\n case 65 /* A */: return 10;\r\n case 98 /* b */: return 11;\r\n case 66 /* B */: return 11;\r\n case 99 /* c */: return 12;\r\n case 67 /* C */: return 12;\r\n case 100 /* d */: return 13;\r\n case 68 /* D */: return 13;\r\n case 101 /* e */: return 14;\r\n case 69 /* E */: return 14;\r\n case 102 /* f */: return 15;\r\n case 70 /* F */: return 15;\r\n }\r\n return 0;\r\n }\r\n })(CSS = Format.CSS || (Format.CSS = {}));\r\n })(Format = Color.Format || (Color.Format = {}));\r\n})(Color || (Color = {}));\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/color.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/comparers.js": /*!********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/comparers.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"compareFileNames\": () => (/* binding */ compareFileNames),\n/* harmony export */ \"compareAnything\": () => (/* binding */ compareAnything),\n/* harmony export */ \"compareByPrefix\": () => (/* binding */ compareByPrefix)\n/* harmony export */ });\n/* harmony import */ var _async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n\r\n// When comparing large numbers of strings, such as in sorting large arrays, is better for\r\n// performance to create an Intl.Collator object and use the function provided by its compare\r\n// property than it is to use String.prototype.localeCompare()\r\n// A collator with numeric sorting enabled, and no sensitivity to case or to accents\r\nconst intlFileNameCollatorBaseNumeric = new _async_js__WEBPACK_IMPORTED_MODULE_0__.IdleValue(() => {\r\n const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });\r\n return {\r\n collator: collator,\r\n collatorIsNumeric: collator.resolvedOptions().numeric\r\n };\r\n}); /** Compares filenames without distinguishing the name from the extension. Disambiguates by unicode comparison. */\r\nfunction compareFileNames(one, other, caseSensitive = false) {\r\n const a = one || '';\r\n const b = other || '';\r\n const result = intlFileNameCollatorBaseNumeric.value.collator.compare(a, b);\r\n // Using the numeric option in the collator will\r\n // make compare(`foo1`, `foo01`) === 0. We must disambiguate.\r\n if (intlFileNameCollatorBaseNumeric.value.collatorIsNumeric && result === 0 && a !== b) {\r\n return a < b ? -1 : 1;\r\n }\r\n return result;\r\n}\r\nfunction compareAnything(one, other, lookFor) {\r\n const elementAName = one.toLowerCase();\r\n const elementBName = other.toLowerCase();\r\n // Sort prefix matches over non prefix matches\r\n const prefixCompare = compareByPrefix(one, other, lookFor);\r\n if (prefixCompare) {\r\n return prefixCompare;\r\n }\r\n // Sort suffix matches over non suffix matches\r\n const elementASuffixMatch = elementAName.endsWith(lookFor);\r\n const elementBSuffixMatch = elementBName.endsWith(lookFor);\r\n if (elementASuffixMatch !== elementBSuffixMatch) {\r\n return elementASuffixMatch ? -1 : 1;\r\n }\r\n // Understand file names\r\n const r = compareFileNames(elementAName, elementBName);\r\n if (r !== 0) {\r\n return r;\r\n }\r\n // Compare by name\r\n return elementAName.localeCompare(elementBName);\r\n}\r\nfunction compareByPrefix(one, other, lookFor) {\r\n const elementAName = one.toLowerCase();\r\n const elementBName = other.toLowerCase();\r\n // Sort prefix matches over non prefix matches\r\n const elementAPrefixMatch = elementAName.startsWith(lookFor);\r\n const elementBPrefixMatch = elementBName.startsWith(lookFor);\r\n if (elementAPrefixMatch !== elementBPrefixMatch) {\r\n return elementAPrefixMatch ? -1 : 1;\r\n }\r\n // Same prefix: Sort shorter matches to the top to have those on top that match more precisely\r\n else if (elementAPrefixMatch && elementBPrefixMatch) {\r\n if (elementAName.length < elementBName.length) {\r\n return -1;\r\n }\r\n if (elementAName.length > elementBName.length) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/comparers.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/decorators.js": /*!*********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/decorators.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createMemoizer\": () => (/* binding */ createMemoizer),\n/* harmony export */ \"memoize\": () => (/* binding */ memoize)\n/* harmony export */ });\nlet memoizeId = 0;\r\nfunction createMemoizer() {\r\n const memoizeKeyPrefix = `$memoize${memoizeId++}`;\r\n let self = undefined;\r\n const result = function memoize(target, key, descriptor) {\r\n let fnKey = null;\r\n let fn = null;\r\n if (typeof descriptor.value === 'function') {\r\n fnKey = 'value';\r\n fn = descriptor.value;\r\n if (fn.length !== 0) {\r\n console.warn('Memoize should only be used in functions with zero parameters');\r\n }\r\n }\r\n else if (typeof descriptor.get === 'function') {\r\n fnKey = 'get';\r\n fn = descriptor.get;\r\n }\r\n if (!fn) {\r\n throw new Error('not supported');\r\n }\r\n const memoizeKey = `${memoizeKeyPrefix}:${key}`;\r\n descriptor[fnKey] = function (...args) {\r\n self = this;\r\n if (!this.hasOwnProperty(memoizeKey)) {\r\n Object.defineProperty(this, memoizeKey, {\r\n configurable: true,\r\n enumerable: false,\r\n writable: true,\r\n value: fn.apply(this, args)\r\n });\r\n }\r\n return this[memoizeKey];\r\n };\r\n };\r\n result.clear = () => {\r\n if (typeof self === 'undefined') {\r\n return;\r\n }\r\n Object.getOwnPropertyNames(self).forEach(property => {\r\n if (property.indexOf(memoizeKeyPrefix) === 0) {\r\n delete self[property];\r\n }\r\n });\r\n };\r\n return result;\r\n}\r\nfunction memoize(target, key, descriptor) {\r\n return createMemoizer()(target, key, descriptor);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/decorators.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js": /*!********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StringDiffSequence\": () => (/* binding */ StringDiffSequence),\n/* harmony export */ \"stringDiff\": () => (/* binding */ stringDiff),\n/* harmony export */ \"Debug\": () => (/* binding */ Debug),\n/* harmony export */ \"MyArray\": () => (/* binding */ MyArray),\n/* harmony export */ \"LcsDiff\": () => (/* binding */ LcsDiff)\n/* harmony export */ });\n/* harmony import */ var _diffChange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./diffChange.js */ \"./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js\");\n/* harmony import */ var _hash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash.js */ \"./node_modules/monaco-editor/esm/vs/base/common/hash.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\nclass StringDiffSequence {\r\n constructor(source) {\r\n this.source = source;\r\n }\r\n getElements() {\r\n const source = this.source;\r\n const characters = new Int32Array(source.length);\r\n for (let 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}\r\nfunction stringDiff(original, modified, pretty) {\r\n return new 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\nclass Debug {\r\n static Assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message);\r\n }\r\n }\r\n}\r\nclass MyArray {\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 static Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\r\n for (let i = 0; i < length; i++) {\r\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\r\n }\r\n }\r\n static Copy2(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\r\n for (let i = 0; i < length; i++) {\r\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\r\n }\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\nclass DiffChangeHelper {\r\n /**\r\n * Constructs a new DiffChangeHelper for the given DiffSequences.\r\n */\r\n constructor() {\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 MarkNextChange() {\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_js__WEBPACK_IMPORTED_MODULE_0__.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 AddOriginalElement(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 AddModifiedElement(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 getChanges() {\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 getReverseChanges() {\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}\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\nclass LcsDiff {\r\n /**\r\n * Constructs the DiffFinder\r\n */\r\n constructor(originalSequence, modifiedSequence, continueProcessingPredicate = null) {\r\n this.ContinueProcessingPredicate = continueProcessingPredicate;\r\n const [originalStringElements, originalElementsOrHash, originalHasStrings] = LcsDiff._getElements(originalSequence);\r\n const [modifiedStringElements, modifiedElementsOrHash, modifiedHasStrings] = LcsDiff._getElements(modifiedSequence);\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 static _isStringArray(arr) {\r\n return (arr.length > 0 && typeof arr[0] === 'string');\r\n }\r\n static _getElements(sequence) {\r\n const elements = sequence.getElements();\r\n if (LcsDiff._isStringArray(elements)) {\r\n const hashes = new Int32Array(elements.length);\r\n for (let i = 0, len = elements.length; i < len; i++) {\r\n hashes[i] = (0,_hash_js__WEBPACK_IMPORTED_MODULE_1__.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 ElementsAreEqual(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 OriginalElementsAreEqual(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 ModifiedElementsAreEqual(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 ComputeDiff(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 _ComputeDiff(originalStart, originalEnd, modifiedStart, modifiedEnd, pretty) {\r\n const quitEarlyArr = [false];\r\n let 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 ComputeDiffRecursive(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 let changes;\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_js__WEBPACK_IMPORTED_MODULE_0__.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_js__WEBPACK_IMPORTED_MODULE_0__.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 const midOriginalArr = [0];\r\n const midModifiedArr = [0];\r\n const result = this.ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr);\r\n const midOriginal = midOriginalArr[0];\r\n const 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 const leftChanges = this.ComputeDiffRecursive(originalStart, midOriginal, modifiedStart, midModified, quitEarlyArr);\r\n let 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_js__WEBPACK_IMPORTED_MODULE_0__.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_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\r\n ];\r\n }\r\n WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr) {\r\n let forwardChanges = null;\r\n let reverseChanges = null;\r\n // First, walk backward through the forward diagonals history\r\n let changeHelper = new DiffChangeHelper();\r\n let diagonalMin = diagonalForwardStart;\r\n let diagonalMax = diagonalForwardEnd;\r\n let diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalForwardOffset;\r\n let lastOriginalIndex = -1073741824 /* MIN_SAFE_SMALL_INTEGER */;\r\n let historyIndex = this.m_forwardHistory.length - 1;\r\n do {\r\n // Get the diagonal index from the relative diagonal number\r\n const 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 let originalStartPoint = midOriginalArr[0] + 1;\r\n let modifiedStartPoint = midModifiedArr[0] + 1;\r\n if (forwardChanges !== null && forwardChanges.length > 0) {\r\n const 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_js__WEBPACK_IMPORTED_MODULE_0__.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 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 const 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 ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr) {\r\n let originalIndex = 0, modifiedIndex = 0;\r\n let diagonalForwardStart = 0, diagonalForwardEnd = 0;\r\n let 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 const maxDifferences = (originalEnd - originalStart) + (modifiedEnd - modifiedStart);\r\n const numDiagonals = maxDifferences + 1;\r\n const forwardPoints = new Int32Array(numDiagonals);\r\n const 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 const diagonalForwardBase = (modifiedEnd - modifiedStart);\r\n const 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 const diagonalForwardOffset = (originalStart - modifiedStart);\r\n const 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 const delta = diagonalReverseBase - diagonalForwardBase;\r\n const 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 (let numDifferences = 1; numDifferences <= (maxDifferences / 2) + 1; numDifferences++) {\r\n let furthestOriginalIndex = 0;\r\n let 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 (let 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 const 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 const 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_js__WEBPACK_IMPORTED_MODULE_0__.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 (let 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 const 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 let 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 PrettifyChanges(changes) {\r\n // Shift all the changes down first\r\n for (let i = 0; i < changes.length; i++) {\r\n const change = changes[i];\r\n const originalStop = (i < changes.length - 1) ? changes[i + 1].originalStart : this._originalElementsOrHash.length;\r\n const modifiedStop = (i < changes.length - 1) ? changes[i + 1].modifiedStart : this._modifiedElementsOrHash.length;\r\n const checkOriginal = change.originalLength > 0;\r\n const 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 let 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 (let i = changes.length - 1; i >= 0; i--) {\r\n const change = changes[i];\r\n let originalStop = 0;\r\n let modifiedStop = 0;\r\n if (i > 0) {\r\n const 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 const checkOriginal = change.originalLength > 0;\r\n const checkModified = change.modifiedLength > 0;\r\n let bestDelta = 0;\r\n let bestScore = this._boundaryScore(change.originalStart, change.originalLength, change.modifiedStart, change.modifiedLength);\r\n for (let delta = 1;; delta++) {\r\n const originalStart = change.originalStart - delta;\r\n const 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 const 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 // There could be multiple longest common substrings.\r\n // Give preference to the ones containing longer lines\r\n if (this._hasStrings) {\r\n for (let i = 1, len = changes.length; i < len; i++) {\r\n const aChange = changes[i - 1];\r\n const bChange = changes[i];\r\n const matchedLength = bChange.originalStart - aChange.originalStart - aChange.originalLength;\r\n const aOriginalStart = aChange.originalStart;\r\n const bOriginalEnd = bChange.originalStart + bChange.originalLength;\r\n const abOriginalLength = bOriginalEnd - aOriginalStart;\r\n const aModifiedStart = aChange.modifiedStart;\r\n const bModifiedEnd = bChange.modifiedStart + bChange.modifiedLength;\r\n const abModifiedLength = bModifiedEnd - aModifiedStart;\r\n // Avoid wasting a lot of time with these searches\r\n if (matchedLength < 5 && abOriginalLength < 20 && abModifiedLength < 20) {\r\n const t = this._findBetterContiguousSequence(aOriginalStart, abOriginalLength, aModifiedStart, abModifiedLength, matchedLength);\r\n if (t) {\r\n const [originalMatchStart, modifiedMatchStart] = t;\r\n if (originalMatchStart !== aChange.originalStart + aChange.originalLength || modifiedMatchStart !== aChange.modifiedStart + aChange.modifiedLength) {\r\n // switch to another sequence that has a better score\r\n aChange.originalLength = originalMatchStart - aChange.originalStart;\r\n aChange.modifiedLength = modifiedMatchStart - aChange.modifiedStart;\r\n bChange.originalStart = originalMatchStart + matchedLength;\r\n bChange.modifiedStart = modifiedMatchStart + matchedLength;\r\n bChange.originalLength = bOriginalEnd - bChange.originalStart;\r\n bChange.modifiedLength = bModifiedEnd - bChange.modifiedStart;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return changes;\r\n }\r\n _findBetterContiguousSequence(originalStart, originalLength, modifiedStart, modifiedLength, desiredLength) {\r\n if (originalLength < desiredLength || modifiedLength < desiredLength) {\r\n return null;\r\n }\r\n const originalMax = originalStart + originalLength - desiredLength + 1;\r\n const modifiedMax = modifiedStart + modifiedLength - desiredLength + 1;\r\n let bestScore = 0;\r\n let bestOriginalStart = 0;\r\n let bestModifiedStart = 0;\r\n for (let i = originalStart; i < originalMax; i++) {\r\n for (let j = modifiedStart; j < modifiedMax; j++) {\r\n const score = this._contiguousSequenceScore(i, j, desiredLength);\r\n if (score > 0 && score > bestScore) {\r\n bestScore = score;\r\n bestOriginalStart = i;\r\n bestModifiedStart = j;\r\n }\r\n }\r\n }\r\n if (bestScore > 0) {\r\n return [bestOriginalStart, bestModifiedStart];\r\n }\r\n return null;\r\n }\r\n _contiguousSequenceScore(originalStart, modifiedStart, length) {\r\n let score = 0;\r\n for (let l = 0; l < length; l++) {\r\n if (!this.ElementsAreEqual(originalStart + l, modifiedStart + l)) {\r\n return 0;\r\n }\r\n score += this._originalStringElements[originalStart + l].length;\r\n }\r\n return score;\r\n }\r\n _OriginalIsBoundary(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 _OriginalRegionIsBoundary(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 const 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 _ModifiedIsBoundary(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 _ModifiedRegionIsBoundary(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 const 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 _boundaryScore(originalStart, originalLength, modifiedStart, modifiedLength) {\r\n const originalScore = (this._OriginalRegionIsBoundary(originalStart, originalLength) ? 1 : 0);\r\n const 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 ConcatenateChanges(left, right) {\r\n let 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 const 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 const 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 ChangesOverlap(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 const originalStart = left.originalStart;\r\n let originalLength = left.originalLength;\r\n const modifiedStart = left.modifiedStart;\r\n let 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_js__WEBPACK_IMPORTED_MODULE_0__.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 ClipDiagonalBound(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 const diagonalsBelow = diagonalBaseIndex;\r\n const diagonalsAbove = numDiagonals - diagonalBaseIndex - 1;\r\n const diffEven = (numDifferences % 2 === 0);\r\n if (diagonal < 0) {\r\n const lowerBoundEven = (diagonalsBelow % 2 === 0);\r\n return (diffEven === lowerBoundEven) ? 0 : 1;\r\n }\r\n else {\r\n const upperBoundEven = (diagonalsAbove % 2 === 0);\r\n return (diffEven === upperBoundEven) ? numDiagonals - 1 : numDiagonals - 2;\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js": /*!**************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DiffChange\": () => (/* binding */ DiffChange)\n/* harmony export */ });\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\nclass DiffChange {\r\n /**\r\n * Constructs a new DiffChange with the given sequence information\r\n * and content.\r\n */\r\n constructor(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 getOriginalEnd() {\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 getModifiedEnd() {\r\n return this.modifiedStart + this.modifiedLength;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js": /*!***********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"toErrorMessage\": () => (/* binding */ toErrorMessage)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _arrays_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.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\nfunction exceptionToErrorMessage(exception, verbose) {\r\n if (verbose && (exception.stack || exception.stacktrace)) {\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('stackTrace.format', \"{0}: {1}\", detectSystemErrorMessage(exception), stackToString(exception.stack) || stackToString(exception.stacktrace));\r\n }\r\n return detectSystemErrorMessage(exception);\r\n}\r\nfunction stackToString(stack) {\r\n if (Array.isArray(stack)) {\r\n return stack.join('\\n');\r\n }\r\n return stack;\r\n}\r\nfunction detectSystemErrorMessage(exception) {\r\n // See https://nodejs.org/api/errors.html#errors_class_system_error\r\n if (typeof exception.code === 'string' && typeof exception.errno === 'number' && typeof exception.syscall === 'string') {\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('nodeExceptionMessage', \"A system error occurred ({0})\", exception.message);\r\n }\r\n return exception.message || _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\r\n}\r\n/**\r\n * Tries to generate a human readable error message out of the error. If the verbose parameter\r\n * is set to true, the error message will include stacktrace details if provided.\r\n *\r\n * @returns A string containing the error message.\r\n */\r\nfunction toErrorMessage(error = null, verbose = false) {\r\n if (!error) {\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\r\n }\r\n if (Array.isArray(error)) {\r\n const errors = _arrays_js__WEBPACK_IMPORTED_MODULE_2__.coalesce(error);\r\n const msg = toErrorMessage(errors[0], verbose);\r\n if (errors.length > 1) {\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('error.moreErrors', \"{0} ({1} errors in total)\", msg, errors.length);\r\n }\r\n return msg;\r\n }\r\n if (_types_js__WEBPACK_IMPORTED_MODULE_1__.isString(error)) {\r\n return error;\r\n }\r\n if (error.detail) {\r\n const detail = error.detail;\r\n if (detail.error) {\r\n return exceptionToErrorMessage(detail.error, verbose);\r\n }\r\n if (detail.exception) {\r\n return exceptionToErrorMessage(detail.exception, verbose);\r\n }\r\n }\r\n if (error.stack) {\r\n return exceptionToErrorMessage(error, verbose);\r\n }\r\n if (error.message) {\r\n return error.message;\r\n }\r\n return _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/errors.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/errors.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ErrorHandler\": () => (/* binding */ ErrorHandler),\n/* harmony export */ \"errorHandler\": () => (/* binding */ errorHandler),\n/* harmony export */ \"onUnexpectedError\": () => (/* binding */ onUnexpectedError),\n/* harmony export */ \"onUnexpectedExternalError\": () => (/* binding */ onUnexpectedExternalError),\n/* harmony export */ \"transformErrorForSerialization\": () => (/* binding */ transformErrorForSerialization),\n/* harmony export */ \"isPromiseCanceledError\": () => (/* binding */ isPromiseCanceledError),\n/* harmony export */ \"canceled\": () => (/* binding */ canceled),\n/* harmony export */ \"illegalArgument\": () => (/* binding */ illegalArgument),\n/* harmony export */ \"illegalState\": () => (/* binding */ illegalState)\n/* harmony export */ });\n// Avoid circular dependency on EventEmitter by implementing a subset of the interface.\r\nclass ErrorHandler {\r\n constructor() {\r\n this.listeners = [];\r\n this.unexpectedErrorHandler = function (e) {\r\n setTimeout(() => {\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 emit(e) {\r\n this.listeners.forEach((listener) => {\r\n listener(e);\r\n });\r\n }\r\n onUnexpectedError(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 onUnexpectedExternalError(e) {\r\n this.unexpectedErrorHandler(e);\r\n }\r\n}\r\nconst 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 let { name, message } = error;\r\n const stack = error.stacktrace || error.stack;\r\n return {\r\n $isError: true,\r\n name,\r\n message,\r\n stack\r\n };\r\n }\r\n // return as is\r\n return error;\r\n}\r\nconst 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 const 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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/errors.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/event.js": /*!****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/event.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Event\": () => (/* binding */ Event),\n/* harmony export */ \"Emitter\": () => (/* binding */ Emitter),\n/* harmony export */ \"PauseableEmitter\": () => (/* binding */ PauseableEmitter),\n/* harmony export */ \"EventBufferer\": () => (/* binding */ EventBufferer),\n/* harmony export */ \"Relay\": () => (/* binding */ Relay)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _linkedList_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./linkedList.js */ \"./node_modules/monaco-editor/esm/vs/base/common/linkedList.js\");\n/* harmony import */ var _stopwatch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stopwatch.js */ \"./node_modules/monaco-editor/esm/vs/base/common/stopwatch.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 Event;\r\n(function (Event) {\r\n Event.None = () => _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.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 (listener, thisArgs = null, disposables) => {\r\n // we need this, in case the event fires during the listener call\r\n let didFire = false;\r\n let result;\r\n result = event(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((listener, thisArgs = null, disposables) => event(i => listener.call(thisArgs, map(i)), null, disposables));\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((listener, thisArgs = null, disposables) => event(i => { each(i); listener.call(thisArgs, i); }, null, disposables));\r\n }\r\n Event.forEach = forEach;\r\n function filter(event, filter) {\r\n return snapshot((listener, thisArgs = null, disposables) => event(e => filter(e) && listener.call(thisArgs, e), null, disposables));\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 function any(...events) {\r\n return (listener, thisArgs = null, disposables) => (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.combinedDisposable)(...events.map(event => event(e => listener.call(thisArgs, e), null, disposables)));\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 let output = initial;\r\n return map(event, 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 let listener;\r\n const emitter = new Emitter({\r\n onFirstListenerAdd() {\r\n listener = event(emitter.fire, emitter);\r\n },\r\n onLastListenerRemove() {\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 = 100, leading = false, leakWarningThreshold) {\r\n let subscription;\r\n let output = undefined;\r\n let handle = undefined;\r\n let numDebouncedCalls = 0;\r\n const emitter = new Emitter({\r\n leakWarningThreshold,\r\n onFirstListenerAdd() {\r\n subscription = event(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(() => {\r\n const _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() {\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 const start = new Date().getTime();\r\n return map(once(event), _ => 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 let firstCall = true;\r\n let cache;\r\n return filter(event, value => {\r\n const 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 = false, _buffer = []) {\r\n let buffer = _buffer.slice();\r\n let listener = event(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 const flush = () => {\r\n if (buffer) {\r\n buffer.forEach(e => emitter.fire(e));\r\n }\r\n buffer = null;\r\n };\r\n const emitter = new Emitter({\r\n onFirstListenerAdd() {\r\n if (!listener) {\r\n listener = event(e => emitter.fire(e));\r\n }\r\n },\r\n onFirstListenerDidAdd() {\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() {\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 class ChainableEvent {\r\n constructor(event) {\r\n this.event = event;\r\n }\r\n map(fn) {\r\n return new ChainableEvent(map(this.event, fn));\r\n }\r\n forEach(fn) {\r\n return new ChainableEvent(forEach(this.event, fn));\r\n }\r\n filter(fn) {\r\n return new ChainableEvent(filter(this.event, fn));\r\n }\r\n reduce(merge, initial) {\r\n return new ChainableEvent(reduce(this.event, merge, initial));\r\n }\r\n latch() {\r\n return new ChainableEvent(latch(this.event));\r\n }\r\n debounce(merge, delay = 100, leading = false, leakWarningThreshold) {\r\n return new ChainableEvent(debounce(this.event, merge, delay, leading, leakWarningThreshold));\r\n }\r\n on(listener, thisArgs, disposables) {\r\n return this.event(listener, thisArgs, disposables);\r\n }\r\n once(listener, thisArgs, disposables) {\r\n return once(this.event)(listener, thisArgs, disposables);\r\n }\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 = id => id) {\r\n const fn = (...args) => result.fire(map(...args));\r\n const onFirstListenerAdd = () => emitter.on(eventName, fn);\r\n const onLastListenerRemove = () => emitter.removeListener(eventName, fn);\r\n const result = new Emitter({ onFirstListenerAdd, onLastListenerRemove });\r\n return result.event;\r\n }\r\n Event.fromNodeEventEmitter = fromNodeEventEmitter;\r\n function fromDOMEventEmitter(emitter, eventName, map = id => id) {\r\n const fn = (...args) => result.fire(map(...args));\r\n const onFirstListenerAdd = () => emitter.addEventListener(eventName, fn);\r\n const onLastListenerRemove = () => emitter.removeEventListener(eventName, fn);\r\n const result = new Emitter({ onFirstListenerAdd, onLastListenerRemove });\r\n return result.event;\r\n }\r\n Event.fromDOMEventEmitter = fromDOMEventEmitter;\r\n function fromPromise(promise) {\r\n const emitter = new Emitter();\r\n let shouldEmit = false;\r\n promise\r\n .then(undefined, () => null)\r\n .then(() => {\r\n if (!shouldEmit) {\r\n setTimeout(() => 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(resolve => once(event)(resolve));\r\n }\r\n Event.toPromise = toPromise;\r\n})(Event || (Event = {}));\r\nclass EventProfiling {\r\n constructor(name) {\r\n this._listenerCount = 0;\r\n this._invocationCount = 0;\r\n this._elapsedOverall = 0;\r\n this._name = `${name}_${EventProfiling._idPool++}`;\r\n }\r\n start(listenerCount) {\r\n this._stopWatch = new _stopwatch_js__WEBPACK_IMPORTED_MODULE_3__.StopWatch(true);\r\n this._listenerCount = listenerCount;\r\n }\r\n stop() {\r\n if (this._stopWatch) {\r\n const elapsed = this._stopWatch.elapsed();\r\n this._elapsedOverall += elapsed;\r\n this._invocationCount += 1;\r\n console.info(`did FIRE ${this._name}: elapsed_ms: ${elapsed.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`);\r\n this._stopWatch = undefined;\r\n }\r\n }\r\n}\r\nEventProfiling._idPool = 0;\r\nlet _globalLeakWarningThreshold = -1;\r\nclass LeakageMonitor {\r\n constructor(customThreshold, 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 dispose() {\r\n if (this._stacks) {\r\n this._stacks.clear();\r\n }\r\n }\r\n check(listenerCount) {\r\n let 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 const stack = new Error().stack.split('\\n').slice(3).join('\\n');\r\n const 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 let topStack;\r\n let topCount = 0;\r\n for (const [stack, count] of this._stacks) {\r\n if (!topStack || topCount < count) {\r\n topStack = stack;\r\n topCount = count;\r\n }\r\n }\r\n console.warn(`[${this.name}] potential listener LEAK detected, having ${listenerCount} listeners already. MOST frequent listener (${topCount}):`);\r\n console.warn(topStack);\r\n }\r\n return () => {\r\n const count = (this._stacks.get(stack) || 0);\r\n this._stacks.set(stack, count - 1);\r\n };\r\n }\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\nclass Emitter {\r\n constructor(options) {\r\n var _a;\r\n this._disposed = false;\r\n this._options = options;\r\n this._leakageMon = _globalLeakWarningThreshold > 0 ? new LeakageMonitor(this._options && this._options.leakWarningThreshold) : undefined;\r\n this._perfMon = ((_a = this._options) === null || _a === void 0 ? void 0 : _a._profName) ? new EventProfiling(this._options._profName) : undefined;\r\n }\r\n /**\r\n * For the public to allow to subscribe\r\n * to events from this Emitter\r\n */\r\n get event() {\r\n if (!this._event) {\r\n this._event = (listener, thisArgs, disposables) => {\r\n var _a;\r\n if (!this._listeners) {\r\n this._listeners = new _linkedList_js__WEBPACK_IMPORTED_MODULE_2__.LinkedList();\r\n }\r\n const firstListener = this._listeners.isEmpty();\r\n if (firstListener && this._options && this._options.onFirstListenerAdd) {\r\n this._options.onFirstListenerAdd(this);\r\n }\r\n const 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 const removeMonitor = (_a = this._leakageMon) === null || _a === void 0 ? void 0 : _a.check(this._listeners.size);\r\n let result;\r\n result = {\r\n dispose: () => {\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 const 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_1__.DisposableStore) {\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 /**\r\n * To be kept private to fire an event to\r\n * subscribers\r\n */\r\n fire(event) {\r\n var _a, _b;\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_2__.LinkedList();\r\n }\r\n for (let listener of this._listeners) {\r\n this._deliveryQueue.push([listener, event]);\r\n }\r\n // start/stop performance insight collection\r\n (_a = this._perfMon) === null || _a === void 0 ? void 0 : _a.start(this._deliveryQueue.size);\r\n while (this._deliveryQueue.size > 0) {\r\n const [listener, event] = this._deliveryQueue.shift();\r\n try {\r\n if (typeof listener === 'function') {\r\n listener.call(undefined, event);\r\n }\r\n else {\r\n listener[0].call(listener[1], event);\r\n }\r\n }\r\n catch (e) {\r\n (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError)(e);\r\n }\r\n }\r\n (_b = this._perfMon) === null || _b === void 0 ? void 0 : _b.stop();\r\n }\r\n }\r\n dispose() {\r\n var _a, _b, _c;\r\n (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.clear();\r\n (_b = this._deliveryQueue) === null || _b === void 0 ? void 0 : _b.clear();\r\n (_c = this._leakageMon) === null || _c === void 0 ? void 0 : _c.dispose();\r\n this._disposed = true;\r\n }\r\n}\r\nEmitter._noop = function () { };\r\nclass PauseableEmitter extends Emitter {\r\n constructor(options) {\r\n super(options);\r\n this._isPaused = 0;\r\n this._eventQueue = new _linkedList_js__WEBPACK_IMPORTED_MODULE_2__.LinkedList();\r\n this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;\r\n }\r\n pause() {\r\n this._isPaused++;\r\n }\r\n resume() {\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 const events = Array.from(this._eventQueue);\r\n this._eventQueue.clear();\r\n super.fire(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.fire(this._eventQueue.shift());\r\n }\r\n }\r\n }\r\n }\r\n fire(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.fire(event);\r\n }\r\n }\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\nclass EventBufferer {\r\n constructor() {\r\n this.buffers = [];\r\n }\r\n wrapEvent(event) {\r\n return (listener, thisArgs, disposables) => {\r\n return event(i => {\r\n const buffer = this.buffers[this.buffers.length - 1];\r\n if (buffer) {\r\n buffer.push(() => 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 bufferEvents(fn) {\r\n const buffer = [];\r\n this.buffers.push(buffer);\r\n const r = fn();\r\n this.buffers.pop();\r\n buffer.forEach(flush => flush());\r\n return r;\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\nclass Relay {\r\n constructor() {\r\n this.listening = false;\r\n this.inputEvent = Event.None;\r\n this.inputEventListener = _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable.None;\r\n this.emitter = new Emitter({\r\n onFirstListenerDidAdd: () => {\r\n this.listening = true;\r\n this.inputEventListener = this.inputEvent(this.emitter.fire, this.emitter);\r\n },\r\n onLastListenerRemove: () => {\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 set input(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 dispose() {\r\n this.inputEventListener.dispose();\r\n this.emitter.dispose();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/event.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/extpath.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/extpath.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"toSlashes\": () => (/* binding */ toSlashes),\n/* harmony export */ \"isEqualOrParent\": () => (/* binding */ isEqualOrParent),\n/* harmony export */ \"isWindowsDriveLetter\": () => (/* binding */ isWindowsDriveLetter),\n/* harmony export */ \"isRootOrDriveLetter\": () => (/* binding */ isRootOrDriveLetter),\n/* harmony export */ \"hasDriveLetter\": () => (/* binding */ hasDriveLetter)\n/* harmony export */ });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.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 * Takes a Windows OS path and changes backward slashes to forward slashes.\r\n * This should only be done for OS paths from Windows (or user provided paths potentially from Windows).\r\n * Using it on a Linux or MaxOS path might change it.\r\n */\r\nfunction toSlashes(osPath) {\r\n return osPath.replace(/[\\\\/]/g, _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.sep);\r\n}\r\nfunction isEqualOrParent(base, parentCandidate, ignoreCase, separator = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\r\n if (base === parentCandidate) {\r\n return true;\r\n }\r\n if (!base || !parentCandidate) {\r\n return false;\r\n }\r\n if (parentCandidate.length > base.length) {\r\n return false;\r\n }\r\n if (ignoreCase) {\r\n const beginsWith = (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.startsWithIgnoreCase)(base, parentCandidate);\r\n if (!beginsWith) {\r\n return false;\r\n }\r\n if (parentCandidate.length === base.length) {\r\n return true; // same path, different casing\r\n }\r\n let sepOffset = parentCandidate.length;\r\n if (parentCandidate.charAt(parentCandidate.length - 1) === separator) {\r\n sepOffset--; // adjust the expected sep offset in case our candidate already ends in separator character\r\n }\r\n return base.charAt(sepOffset) === separator;\r\n }\r\n if (parentCandidate.charAt(parentCandidate.length - 1) !== separator) {\r\n parentCandidate += separator;\r\n }\r\n return base.indexOf(parentCandidate) === 0;\r\n}\r\nfunction isWindowsDriveLetter(char0) {\r\n return char0 >= 65 /* A */ && char0 <= 90 /* Z */ || char0 >= 97 /* a */ && char0 <= 122 /* z */;\r\n}\r\nfunction isRootOrDriveLetter(path) {\r\n const pathNormalized = (0,_path_js__WEBPACK_IMPORTED_MODULE_2__.normalize)(path);\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows) {\r\n if (path.length > 3) {\r\n return false;\r\n }\r\n return hasDriveLetter(pathNormalized) &&\r\n (path.length === 2 || pathNormalized.charCodeAt(2) === 92 /* Backslash */);\r\n }\r\n return pathNormalized === _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.sep;\r\n}\r\nfunction hasDriveLetter(path) {\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows) {\r\n return isWindowsDriveLetter(path.charCodeAt(0)) && path.charCodeAt(1) === 58 /* Colon */;\r\n }\r\n return false;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/extpath.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/filters.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/filters.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"or\": () => (/* binding */ or),\n/* harmony export */ \"matchesPrefix\": () => (/* binding */ matchesPrefix),\n/* harmony export */ \"matchesContiguousSubString\": () => (/* binding */ matchesContiguousSubString),\n/* harmony export */ \"matchesSubString\": () => (/* binding */ matchesSubString),\n/* harmony export */ \"isUpper\": () => (/* binding */ isUpper),\n/* harmony export */ \"matchesCamelCase\": () => (/* binding */ matchesCamelCase),\n/* harmony export */ \"matchesWords\": () => (/* binding */ matchesWords),\n/* harmony export */ \"matchesFuzzy\": () => (/* binding */ matchesFuzzy),\n/* harmony export */ \"anyScore\": () => (/* binding */ anyScore),\n/* harmony export */ \"createMatches\": () => (/* binding */ createMatches),\n/* harmony export */ \"isPatternInWord\": () => (/* binding */ isPatternInWord),\n/* harmony export */ \"FuzzyScore\": () => (/* binding */ FuzzyScore),\n/* harmony export */ \"fuzzyScore\": () => (/* binding */ fuzzyScore),\n/* harmony export */ \"fuzzyScoreGracefulAggressive\": () => (/* binding */ fuzzyScoreGracefulAggressive)\n/* harmony export */ });\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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// Combined filters\r\n/**\r\n * @returns A filter which combines the provided set\r\n * of filters with an or. The *first* filters that\r\n * matches defined the return value of the returned\r\n * filter.\r\n */\r\nfunction or(...filter) {\r\n return function (word, wordToMatchAgainst) {\r\n for (let i = 0, len = filter.length; i < len; i++) {\r\n const match = filter[i](word, wordToMatchAgainst);\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\nconst matchesPrefix = _matchesPrefix.bind(undefined, true);\r\nfunction _matchesPrefix(ignoreCase, word, wordToMatchAgainst) {\r\n if (!wordToMatchAgainst || wordToMatchAgainst.length < word.length) {\r\n return null;\r\n }\r\n let matches;\r\n if (ignoreCase) {\r\n matches = _strings_js__WEBPACK_IMPORTED_MODULE_1__.startsWithIgnoreCase(wordToMatchAgainst, word);\r\n }\r\n else {\r\n matches = wordToMatchAgainst.indexOf(word) === 0;\r\n }\r\n if (!matches) {\r\n return null;\r\n }\r\n return word.length > 0 ? [{ start: 0, end: word.length }] : [];\r\n}\r\n// Contiguous Substring\r\nfunction matchesContiguousSubString(word, wordToMatchAgainst) {\r\n const index = wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());\r\n if (index === -1) {\r\n return null;\r\n }\r\n return [{ start: index, end: index + word.length }];\r\n}\r\n// Substring\r\nfunction matchesSubString(word, wordToMatchAgainst) {\r\n return _matchesSubString(word.toLowerCase(), wordToMatchAgainst.toLowerCase(), 0, 0);\r\n}\r\nfunction _matchesSubString(word, wordToMatchAgainst, i, j) {\r\n if (i === word.length) {\r\n return [];\r\n }\r\n else if (j === wordToMatchAgainst.length) {\r\n return null;\r\n }\r\n else {\r\n if (word[i] === wordToMatchAgainst[j]) {\r\n let result = null;\r\n if (result = _matchesSubString(word, wordToMatchAgainst, i + 1, j + 1)) {\r\n return join({ start: j, end: j + 1 }, result);\r\n }\r\n return null;\r\n }\r\n return _matchesSubString(word, wordToMatchAgainst, i, j + 1);\r\n }\r\n}\r\n// CamelCase\r\nfunction isLower(code) {\r\n return 97 /* a */ <= code && code <= 122 /* z */;\r\n}\r\nfunction isUpper(code) {\r\n return 65 /* A */ <= code && code <= 90 /* Z */;\r\n}\r\nfunction isNumber(code) {\r\n return 48 /* Digit0 */ <= code && code <= 57 /* Digit9 */;\r\n}\r\nfunction isWhitespace(code) {\r\n return (code === 32 /* Space */\r\n || code === 9 /* Tab */\r\n || code === 10 /* LineFeed */\r\n || code === 13 /* CarriageReturn */);\r\n}\r\nconst wordSeparators = new Set();\r\n'`~!@#$%^&*()-=+[{]}\\\\|;:\\'\",.<>/?'\r\n .split('')\r\n .forEach(s => wordSeparators.add(s.charCodeAt(0)));\r\nfunction isWordSeparator(code) {\r\n return isWhitespace(code) || wordSeparators.has(code);\r\n}\r\nfunction charactersMatch(codeA, codeB) {\r\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\r\n}\r\nfunction isAlphanumeric(code) {\r\n return isLower(code) || isUpper(code) || isNumber(code);\r\n}\r\nfunction join(head, tail) {\r\n if (tail.length === 0) {\r\n tail = [head];\r\n }\r\n else if (head.end === tail[0].start) {\r\n tail[0].start = head.start;\r\n }\r\n else {\r\n tail.unshift(head);\r\n }\r\n return tail;\r\n}\r\nfunction nextAnchor(camelCaseWord, start) {\r\n for (let i = start; i < camelCaseWord.length; i++) {\r\n const c = camelCaseWord.charCodeAt(i);\r\n if (isUpper(c) || isNumber(c) || (i > 0 && !isAlphanumeric(camelCaseWord.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return camelCaseWord.length;\r\n}\r\nfunction _matchesCamelCase(word, camelCaseWord, i, j) {\r\n if (i === word.length) {\r\n return [];\r\n }\r\n else if (j === camelCaseWord.length) {\r\n return null;\r\n }\r\n else if (word[i] !== camelCaseWord[j].toLowerCase()) {\r\n return null;\r\n }\r\n else {\r\n let result = null;\r\n let nextUpperIndex = j + 1;\r\n result = _matchesCamelCase(word, camelCaseWord, i + 1, j + 1);\r\n while (!result && (nextUpperIndex = nextAnchor(camelCaseWord, nextUpperIndex)) < camelCaseWord.length) {\r\n result = _matchesCamelCase(word, camelCaseWord, i + 1, nextUpperIndex);\r\n nextUpperIndex++;\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\n// Heuristic to avoid computing camel case matcher for words that don't\r\n// look like camelCaseWords.\r\nfunction analyzeCamelCaseWord(word) {\r\n let upper = 0, lower = 0, alpha = 0, numeric = 0, code = 0;\r\n for (let i = 0; i < word.length; i++) {\r\n code = word.charCodeAt(i);\r\n if (isUpper(code)) {\r\n upper++;\r\n }\r\n if (isLower(code)) {\r\n lower++;\r\n }\r\n if (isAlphanumeric(code)) {\r\n alpha++;\r\n }\r\n if (isNumber(code)) {\r\n numeric++;\r\n }\r\n }\r\n const upperPercent = upper / word.length;\r\n const lowerPercent = lower / word.length;\r\n const alphaPercent = alpha / word.length;\r\n const numericPercent = numeric / word.length;\r\n return { upperPercent, lowerPercent, alphaPercent, numericPercent };\r\n}\r\nfunction isUpperCaseWord(analysis) {\r\n const { upperPercent, lowerPercent } = analysis;\r\n return lowerPercent === 0 && upperPercent > 0.6;\r\n}\r\nfunction isCamelCaseWord(analysis) {\r\n const { upperPercent, lowerPercent, alphaPercent, numericPercent } = analysis;\r\n return lowerPercent > 0.2 && upperPercent < 0.8 && alphaPercent > 0.6 && numericPercent < 0.2;\r\n}\r\n// Heuristic to avoid computing camel case matcher for words that don't\r\n// look like camel case patterns.\r\nfunction isCamelCasePattern(word) {\r\n let upper = 0, lower = 0, code = 0, whitespace = 0;\r\n for (let i = 0; i < word.length; i++) {\r\n code = word.charCodeAt(i);\r\n if (isUpper(code)) {\r\n upper++;\r\n }\r\n if (isLower(code)) {\r\n lower++;\r\n }\r\n if (isWhitespace(code)) {\r\n whitespace++;\r\n }\r\n }\r\n if ((upper === 0 || lower === 0) && whitespace === 0) {\r\n return word.length <= 30;\r\n }\r\n else {\r\n return upper <= 5;\r\n }\r\n}\r\nfunction matchesCamelCase(word, camelCaseWord) {\r\n if (!camelCaseWord) {\r\n return null;\r\n }\r\n camelCaseWord = camelCaseWord.trim();\r\n if (camelCaseWord.length === 0) {\r\n return null;\r\n }\r\n if (!isCamelCasePattern(word)) {\r\n return null;\r\n }\r\n if (camelCaseWord.length > 60) {\r\n return null;\r\n }\r\n const analysis = analyzeCamelCaseWord(camelCaseWord);\r\n if (!isCamelCaseWord(analysis)) {\r\n if (!isUpperCaseWord(analysis)) {\r\n return null;\r\n }\r\n camelCaseWord = camelCaseWord.toLowerCase();\r\n }\r\n let result = null;\r\n let i = 0;\r\n word = word.toLowerCase();\r\n while (i < camelCaseWord.length && (result = _matchesCamelCase(word, camelCaseWord, 0, i)) === null) {\r\n i = nextAnchor(camelCaseWord, i + 1);\r\n }\r\n return result;\r\n}\r\n// Matches beginning of words supporting non-ASCII languages\r\n// If `contiguous` is true then matches word with beginnings of the words in the target. E.g. \"pul\" will match \"Git: Pull\"\r\n// Otherwise also matches sub string of the word with beginnings of the words in the target. E.g. \"gp\" or \"g p\" will match \"Git: Pull\"\r\n// Useful in cases where the target is words (e.g. command labels)\r\nfunction matchesWords(word, target, contiguous = false) {\r\n if (!target || target.length === 0) {\r\n return null;\r\n }\r\n let result = null;\r\n let i = 0;\r\n word = word.toLowerCase();\r\n target = target.toLowerCase();\r\n while (i < target.length && (result = _matchesWords(word, target, 0, i, contiguous)) === null) {\r\n i = nextWord(target, i + 1);\r\n }\r\n return result;\r\n}\r\nfunction _matchesWords(word, target, i, j, contiguous) {\r\n if (i === word.length) {\r\n return [];\r\n }\r\n else if (j === target.length) {\r\n return null;\r\n }\r\n else if (!charactersMatch(word.charCodeAt(i), target.charCodeAt(j))) {\r\n return null;\r\n }\r\n else {\r\n let result = null;\r\n let nextWordIndex = j + 1;\r\n result = _matchesWords(word, target, i + 1, j + 1, contiguous);\r\n if (!contiguous) {\r\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\r\n result = _matchesWords(word, target, i + 1, nextWordIndex, contiguous);\r\n nextWordIndex++;\r\n }\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\nfunction nextWord(word, start) {\r\n for (let i = start; i < word.length; i++) {\r\n if (isWordSeparator(word.charCodeAt(i)) ||\r\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return word.length;\r\n}\r\n// Fuzzy\r\nconst fuzzyContiguousFilter = or(matchesPrefix, matchesCamelCase, matchesContiguousSubString);\r\nconst fuzzySeparateFilter = or(matchesPrefix, matchesCamelCase, matchesSubString);\r\nconst fuzzyRegExpCache = new _map_js__WEBPACK_IMPORTED_MODULE_0__.LRUCache(10000); // bounded to 10000 elements\r\nfunction matchesFuzzy(word, wordToMatchAgainst, enableSeparateSubstringMatching = false) {\r\n if (typeof word !== 'string' || typeof wordToMatchAgainst !== 'string') {\r\n return null; // return early for invalid input\r\n }\r\n // Form RegExp for wildcard matches\r\n let regexp = fuzzyRegExpCache.get(word);\r\n if (!regexp) {\r\n regexp = new RegExp(_strings_js__WEBPACK_IMPORTED_MODULE_1__.convertSimple2RegExpPattern(word), 'i');\r\n fuzzyRegExpCache.set(word, regexp);\r\n }\r\n // RegExp Filter\r\n const match = regexp.exec(wordToMatchAgainst);\r\n if (match) {\r\n return [{ start: match.index, end: match.index + match[0].length }];\r\n }\r\n // Default Filter\r\n return enableSeparateSubstringMatching ? fuzzySeparateFilter(word, wordToMatchAgainst) : fuzzyContiguousFilter(word, wordToMatchAgainst);\r\n}\r\nfunction anyScore(pattern, lowPattern, _patternPos, word, lowWord, _wordPos) {\r\n const result = fuzzyScore(pattern, lowPattern, 0, word, lowWord, 0, true);\r\n if (result) {\r\n return result;\r\n }\r\n let matches = [];\r\n let score = 0;\r\n let idx = _wordPos;\r\n for (let patternPos = 0; patternPos < lowPattern.length && patternPos < _maxLen; ++patternPos) {\r\n const wordPos = lowWord.indexOf(lowPattern.charAt(patternPos), idx);\r\n if (wordPos >= 0) {\r\n score += 1;\r\n matches.unshift(wordPos);\r\n idx = wordPos + 1;\r\n }\r\n else if (matches.length > 0) {\r\n // once we have started matching things\r\n // we need to match the remaining pattern\r\n // characters\r\n break;\r\n }\r\n }\r\n return [score, _wordPos, ...matches];\r\n}\r\n//#region --- fuzzyScore ---\r\nfunction createMatches(score) {\r\n if (typeof score === 'undefined') {\r\n return [];\r\n }\r\n const res = [];\r\n const wordPos = score[1];\r\n for (let i = score.length - 1; i > 1; i--) {\r\n const pos = score[i] + wordPos;\r\n const last = res[res.length - 1];\r\n if (last && last.end === pos) {\r\n last.end = pos + 1;\r\n }\r\n else {\r\n res.push({ start: pos, end: pos + 1 });\r\n }\r\n }\r\n return res;\r\n}\r\nconst _maxLen = 128;\r\nfunction initTable() {\r\n const table = [];\r\n const row = [];\r\n for (let i = 0; i <= _maxLen; i++) {\r\n row[i] = 0;\r\n }\r\n for (let i = 0; i <= _maxLen; i++) {\r\n table.push(row.slice(0));\r\n }\r\n return table;\r\n}\r\nfunction initArr(maxLen) {\r\n const row = [];\r\n for (let i = 0; i <= maxLen; i++) {\r\n row[i] = 0;\r\n }\r\n return row;\r\n}\r\nconst _minWordMatchPos = initArr(2 * _maxLen); // min word position for a certain pattern position\r\nconst _maxWordMatchPos = initArr(2 * _maxLen); // max word position for a certain pattern position\r\nconst _diag = initTable(); // the length of a contiguous diagonal match\r\nconst _table = initTable();\r\nconst _arrows = initTable();\r\nconst _debug = false;\r\nfunction printTable(table, pattern, patternLen, word, wordLen) {\r\n function pad(s, n, pad = ' ') {\r\n while (s.length < n) {\r\n s = pad + s;\r\n }\r\n return s;\r\n }\r\n let ret = ` | |${word.split('').map(c => pad(c, 3)).join('|')}\\n`;\r\n for (let i = 0; i <= patternLen; i++) {\r\n if (i === 0) {\r\n ret += ' |';\r\n }\r\n else {\r\n ret += `${pattern[i - 1]}|`;\r\n }\r\n ret += table[i].slice(0, wordLen + 1).map(n => pad(n.toString(), 3)).join('|') + '\\n';\r\n }\r\n return ret;\r\n}\r\nfunction printTables(pattern, patternStart, word, wordStart) {\r\n pattern = pattern.substr(patternStart);\r\n word = word.substr(wordStart);\r\n console.log(printTable(_table, pattern, pattern.length, word, word.length));\r\n console.log(printTable(_arrows, pattern, pattern.length, word, word.length));\r\n console.log(printTable(_diag, pattern, pattern.length, word, word.length));\r\n}\r\nfunction isSeparatorAtPos(value, index) {\r\n if (index < 0 || index >= value.length) {\r\n return false;\r\n }\r\n const code = value.codePointAt(index);\r\n switch (code) {\r\n case 95 /* Underline */:\r\n case 45 /* Dash */:\r\n case 46 /* Period */:\r\n case 32 /* Space */:\r\n case 47 /* Slash */:\r\n case 92 /* Backslash */:\r\n case 39 /* SingleQuote */:\r\n case 34 /* DoubleQuote */:\r\n case 58 /* Colon */:\r\n case 36 /* DollarSign */:\r\n case 60 /* LessThan */:\r\n case 40 /* OpenParen */:\r\n case 91 /* OpenSquareBracket */:\r\n return true;\r\n case undefined:\r\n return false;\r\n default:\r\n if (_strings_js__WEBPACK_IMPORTED_MODULE_1__.isEmojiImprecise(code)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\nfunction isWhitespaceAtPos(value, index) {\r\n if (index < 0 || index >= value.length) {\r\n return false;\r\n }\r\n const code = value.charCodeAt(index);\r\n switch (code) {\r\n case 32 /* Space */:\r\n case 9 /* Tab */:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\nfunction isUpperCaseAtPos(pos, word, wordLow) {\r\n return word[pos] !== wordLow[pos];\r\n}\r\nfunction isPatternInWord(patternLow, patternPos, patternLen, wordLow, wordPos, wordLen, fillMinWordPosArr = false) {\r\n while (patternPos < patternLen && wordPos < wordLen) {\r\n if (patternLow[patternPos] === wordLow[wordPos]) {\r\n if (fillMinWordPosArr) {\r\n // Remember the min word position for each pattern position\r\n _minWordMatchPos[patternPos] = wordPos;\r\n }\r\n patternPos += 1;\r\n }\r\n wordPos += 1;\r\n }\r\n return patternPos === patternLen; // pattern must be exhausted\r\n}\r\nvar FuzzyScore;\r\n(function (FuzzyScore) {\r\n /**\r\n * No matches and value `-100`\r\n */\r\n FuzzyScore.Default = ([-100, 0]);\r\n function isDefault(score) {\r\n return !score || (score.length === 2 && score[0] === -100 && score[1] === 0);\r\n }\r\n FuzzyScore.isDefault = isDefault;\r\n})(FuzzyScore || (FuzzyScore = {}));\r\nfunction fuzzyScore(pattern, patternLow, patternStart, word, wordLow, wordStart, firstMatchCanBeWeak) {\r\n const patternLen = pattern.length > _maxLen ? _maxLen : pattern.length;\r\n const wordLen = word.length > _maxLen ? _maxLen : word.length;\r\n if (patternStart >= patternLen || wordStart >= wordLen || (patternLen - patternStart) > (wordLen - wordStart)) {\r\n return undefined;\r\n }\r\n // Run a simple check if the characters of pattern occur\r\n // (in order) at all in word. If that isn't the case we\r\n // stop because no match will be possible\r\n if (!isPatternInWord(patternLow, patternStart, patternLen, wordLow, wordStart, wordLen, true)) {\r\n return undefined;\r\n }\r\n // Find the max matching word position for each pattern position\r\n // NOTE: the min matching word position was filled in above, in the `isPatternInWord` call\r\n _fillInMaxWordMatchPos(patternLen, wordLen, patternStart, wordStart, patternLow, wordLow);\r\n let row = 1;\r\n let column = 1;\r\n let patternPos = patternStart;\r\n let wordPos = wordStart;\r\n const hasStrongFirstMatch = [false];\r\n // There will be a match, fill in tables\r\n for (row = 1, patternPos = patternStart; patternPos < patternLen; row++, patternPos++) {\r\n // Reduce search space to possible matching word positions and to possible access from next row\r\n const minWordMatchPos = _minWordMatchPos[patternPos];\r\n const maxWordMatchPos = _maxWordMatchPos[patternPos];\r\n const nextMaxWordMatchPos = (patternPos + 1 < patternLen ? _maxWordMatchPos[patternPos + 1] : wordLen);\r\n for (column = minWordMatchPos - wordStart + 1, wordPos = minWordMatchPos; wordPos < nextMaxWordMatchPos; column++, wordPos++) {\r\n let score = Number.MIN_SAFE_INTEGER;\r\n let canComeDiag = false;\r\n if (wordPos <= maxWordMatchPos) {\r\n score = _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos, wordLen, wordStart, _diag[row - 1][column - 1] === 0, hasStrongFirstMatch);\r\n }\r\n let diagScore = 0;\r\n if (score !== Number.MAX_SAFE_INTEGER) {\r\n canComeDiag = true;\r\n diagScore = score + _table[row - 1][column - 1];\r\n }\r\n const canComeLeft = wordPos > minWordMatchPos;\r\n const leftScore = canComeLeft ? _table[row][column - 1] + (_diag[row][column - 1] > 0 ? -5 : 0) : 0; // penalty for a gap start\r\n const canComeLeftLeft = wordPos > minWordMatchPos + 1 && _diag[row][column - 1] > 0;\r\n const leftLeftScore = canComeLeftLeft ? _table[row][column - 2] + (_diag[row][column - 2] > 0 ? -5 : 0) : 0; // penalty for a gap start\r\n if (canComeLeftLeft && (!canComeLeft || leftLeftScore >= leftScore) && (!canComeDiag || leftLeftScore >= diagScore)) {\r\n // always prefer choosing left left to jump over a diagonal because that means a match is earlier in the word\r\n _table[row][column] = leftLeftScore;\r\n _arrows[row][column] = 3 /* LeftLeft */;\r\n _diag[row][column] = 0;\r\n }\r\n else if (canComeLeft && (!canComeDiag || leftScore >= diagScore)) {\r\n // always prefer choosing left since that means a match is earlier in the word\r\n _table[row][column] = leftScore;\r\n _arrows[row][column] = 2 /* Left */;\r\n _diag[row][column] = 0;\r\n }\r\n else if (canComeDiag) {\r\n _table[row][column] = diagScore;\r\n _arrows[row][column] = 1 /* Diag */;\r\n _diag[row][column] = _diag[row - 1][column - 1] + 1;\r\n }\r\n else {\r\n throw new Error(`not possible`);\r\n }\r\n }\r\n }\r\n if (_debug) {\r\n printTables(pattern, patternStart, word, wordStart);\r\n }\r\n if (!hasStrongFirstMatch[0] && !firstMatchCanBeWeak) {\r\n return undefined;\r\n }\r\n row--;\r\n column--;\r\n const result = [_table[row][column], wordStart];\r\n let backwardsDiagLength = 0;\r\n let maxMatchColumn = 0;\r\n while (row >= 1) {\r\n // Find the column where we go diagonally up\r\n let diagColumn = column;\r\n do {\r\n const arrow = _arrows[row][diagColumn];\r\n if (arrow === 3 /* LeftLeft */) {\r\n diagColumn = diagColumn - 2;\r\n }\r\n else if (arrow === 2 /* Left */) {\r\n diagColumn = diagColumn - 1;\r\n }\r\n else {\r\n // found the diagonal\r\n break;\r\n }\r\n } while (diagColumn >= 1);\r\n // Overturn the \"forwards\" decision if keeping the \"backwards\" diagonal would give a better match\r\n if (backwardsDiagLength > 1 // only if we would have a contiguous match of 3 characters\r\n && patternLow[patternStart + row - 1] === wordLow[wordStart + column - 1] // only if we can do a contiguous match diagonally\r\n && !isUpperCaseAtPos(diagColumn + wordStart - 1, word, wordLow) // only if the forwards chose diagonal is not an uppercase\r\n && backwardsDiagLength + 1 > _diag[row][diagColumn] // only if our contiguous match would be longer than the \"forwards\" contiguous match\r\n ) {\r\n diagColumn = column;\r\n }\r\n if (diagColumn === column) {\r\n // this is a contiguous match\r\n backwardsDiagLength++;\r\n }\r\n else {\r\n backwardsDiagLength = 1;\r\n }\r\n if (!maxMatchColumn) {\r\n // remember the last matched column\r\n maxMatchColumn = diagColumn;\r\n }\r\n row--;\r\n column = diagColumn - 1;\r\n result.push(column);\r\n }\r\n if (wordLen === patternLen) {\r\n // the word matches the pattern with all characters!\r\n // giving the score a total match boost (to come up ahead other words)\r\n result[0] += 2;\r\n }\r\n // Add 1 penalty for each skipped character in the word\r\n const skippedCharsCount = maxMatchColumn - patternLen;\r\n result[0] -= skippedCharsCount;\r\n return result;\r\n}\r\nfunction _fillInMaxWordMatchPos(patternLen, wordLen, patternStart, wordStart, patternLow, wordLow) {\r\n let patternPos = patternLen - 1;\r\n let wordPos = wordLen - 1;\r\n while (patternPos >= patternStart && wordPos >= wordStart) {\r\n if (patternLow[patternPos] === wordLow[wordPos]) {\r\n _maxWordMatchPos[patternPos] = wordPos;\r\n patternPos--;\r\n }\r\n wordPos--;\r\n }\r\n}\r\nfunction _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos, wordLen, wordStart, newMatchStart, outFirstMatchStrong) {\r\n if (patternLow[patternPos] !== wordLow[wordPos]) {\r\n return Number.MIN_SAFE_INTEGER;\r\n }\r\n let score = 1;\r\n let isGapLocation = false;\r\n if (wordPos === (patternPos - patternStart)) {\r\n // common prefix: `foobar <-> foobaz`\r\n // ^^^^^\r\n score = pattern[patternPos] === word[wordPos] ? 7 : 5;\r\n }\r\n else if (isUpperCaseAtPos(wordPos, word, wordLow) && (wordPos === 0 || !isUpperCaseAtPos(wordPos - 1, word, wordLow))) {\r\n // hitting upper-case: `foo <-> forOthers`\r\n // ^^ ^\r\n score = pattern[patternPos] === word[wordPos] ? 7 : 5;\r\n isGapLocation = true;\r\n }\r\n else if (isSeparatorAtPos(wordLow, wordPos) && (wordPos === 0 || !isSeparatorAtPos(wordLow, wordPos - 1))) {\r\n // hitting a separator: `. <-> foo.bar`\r\n // ^\r\n score = 5;\r\n }\r\n else if (isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1)) {\r\n // post separator: `foo <-> bar_foo`\r\n // ^^^\r\n score = 5;\r\n isGapLocation = true;\r\n }\r\n if (score > 1 && patternPos === patternStart) {\r\n outFirstMatchStrong[0] = true;\r\n }\r\n if (!isGapLocation) {\r\n isGapLocation = isUpperCaseAtPos(wordPos, word, wordLow) || isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1);\r\n }\r\n //\r\n if (patternPos === patternStart) { // first character in pattern\r\n if (wordPos > wordStart) {\r\n // the first pattern character would match a word character that is not at the word start\r\n // so introduce a penalty to account for the gap preceding this match\r\n score -= isGapLocation ? 3 : 5;\r\n }\r\n }\r\n else {\r\n if (newMatchStart) {\r\n // this would be the beginning of a new match (i.e. there would be a gap before this location)\r\n score += isGapLocation ? 2 : 0;\r\n }\r\n else {\r\n // this is part of a contiguous match, so give it a slight bonus, but do so only if it would not be a prefered gap location\r\n score += isGapLocation ? 0 : 1;\r\n }\r\n }\r\n if (wordPos + 1 === wordLen) {\r\n // we always penalize gaps, but this gives unfair advantages to a match that would match the last character in the word\r\n // so pretend there is a gap after the last character in the word to normalize things\r\n score -= isGapLocation ? 3 : 5;\r\n }\r\n return score;\r\n}\r\n//#endregion\r\n//#region --- graceful ---\r\nfunction fuzzyScoreGracefulAggressive(pattern, lowPattern, patternPos, word, lowWord, wordPos, firstMatchCanBeWeak) {\r\n return fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, true, firstMatchCanBeWeak);\r\n}\r\nfunction fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, aggressive, firstMatchCanBeWeak) {\r\n let top = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, firstMatchCanBeWeak);\r\n if (top && !aggressive) {\r\n // when using the original pattern yield a result we`\r\n // return it unless we are aggressive and try to find\r\n // a better alignment, e.g. `cno` -> `^co^ns^ole` or `^c^o^nsole`.\r\n return top;\r\n }\r\n if (pattern.length >= 3) {\r\n // When the pattern is long enough then try a few (max 7)\r\n // permutations of the pattern to find a better match. The\r\n // permutations only swap neighbouring characters, e.g\r\n // `cnoso` becomes `conso`, `cnsoo`, `cnoos`.\r\n const tries = Math.min(7, pattern.length - 1);\r\n for (let movingPatternPos = patternPos + 1; movingPatternPos < tries; movingPatternPos++) {\r\n const newPattern = nextTypoPermutation(pattern, movingPatternPos);\r\n if (newPattern) {\r\n const candidate = fuzzyScore(newPattern, newPattern.toLowerCase(), patternPos, word, lowWord, wordPos, firstMatchCanBeWeak);\r\n if (candidate) {\r\n candidate[0] -= 3; // permutation penalty\r\n if (!top || candidate[0] > top[0]) {\r\n top = candidate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return top;\r\n}\r\nfunction nextTypoPermutation(pattern, patternPos) {\r\n if (patternPos + 1 >= pattern.length) {\r\n return undefined;\r\n }\r\n const swap1 = pattern[patternPos];\r\n const swap2 = pattern[patternPos + 1];\r\n if (swap1 === swap2) {\r\n return undefined;\r\n }\r\n return pattern.slice(0, patternPos)\r\n + swap2\r\n + swap1\r\n + pattern.slice(patternPos + 2);\r\n}\r\n//#endregion\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/filters.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/functional.js": /*!*********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/functional.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"once\": () => (/* binding */ once)\n/* harmony export */ });\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 const _this = this;\r\n let didCall = false;\r\n let 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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/functional.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js": /*!**********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"scoreFuzzy2\": () => (/* binding */ scoreFuzzy2),\n/* harmony export */ \"prepareQuery\": () => (/* binding */ prepareQuery),\n/* harmony export */ \"pieceToQuery\": () => (/* binding */ pieceToQuery)\n/* harmony export */ });\n/* harmony import */ var _filters_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n\r\n\r\n\r\n\r\nconst NO_SCORE2 = [undefined, []];\r\nfunction scoreFuzzy2(target, query, patternStart = 0, wordStart = 0) {\r\n // Score: multiple inputs\r\n const preparedQuery = query;\r\n if (preparedQuery.values && preparedQuery.values.length > 1) {\r\n return doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\r\n }\r\n // Score: single input\r\n return doScoreFuzzy2Single(target, query, patternStart, wordStart);\r\n}\r\nfunction doScoreFuzzy2Multiple(target, query, patternStart, wordStart) {\r\n let totalScore = 0;\r\n const totalMatches = [];\r\n for (const queryPiece of query) {\r\n const [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\r\n if (typeof score !== 'number') {\r\n // if a single query value does not match, return with\r\n // no score entirely, we require all queries to match\r\n return NO_SCORE2;\r\n }\r\n totalScore += score;\r\n totalMatches.push(...matches);\r\n }\r\n // if we have a score, ensure that the positions are\r\n // sorted in ascending order and distinct\r\n return [totalScore, normalizeMatches(totalMatches)];\r\n}\r\nfunction doScoreFuzzy2Single(target, query, patternStart, wordStart) {\r\n const score = (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.fuzzyScore)(query.original, query.originalLowercase, patternStart, target, target.toLowerCase(), wordStart, true);\r\n if (!score) {\r\n return NO_SCORE2;\r\n }\r\n return [score[0], (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.createMatches)(score)];\r\n}\r\nfunction normalizeMatches(matches) {\r\n // sort matches by start to be able to normalize\r\n const sortedMatches = matches.sort((matchA, matchB) => {\r\n return matchA.start - matchB.start;\r\n });\r\n // merge matches that overlap\r\n const normalizedMatches = [];\r\n let currentMatch = undefined;\r\n for (const match of sortedMatches) {\r\n // if we have no current match or the matches\r\n // do not overlap, we take it as is and remember\r\n // it for future merging\r\n if (!currentMatch || !matchOverlaps(currentMatch, match)) {\r\n currentMatch = match;\r\n normalizedMatches.push(match);\r\n }\r\n // otherwise we merge the matches\r\n else {\r\n currentMatch.start = Math.min(currentMatch.start, match.start);\r\n currentMatch.end = Math.max(currentMatch.end, match.end);\r\n }\r\n }\r\n return normalizedMatches;\r\n}\r\nfunction matchOverlaps(matchA, matchB) {\r\n if (matchA.end < matchB.start) {\r\n return false; // A ends before B starts\r\n }\r\n if (matchB.end < matchA.start) {\r\n return false; // B ends before A starts\r\n }\r\n return true;\r\n}\r\n/**\r\n * Helper function to prepare a search value for scoring by removing unwanted characters\r\n * and allowing to score on multiple pieces separated by whitespace character.\r\n */\r\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\r\nfunction prepareQuery(original) {\r\n if (typeof original !== 'string') {\r\n original = '';\r\n }\r\n const originalLowercase = original.toLowerCase();\r\n const { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\r\n const containsPathSeparator = pathNormalized.indexOf(_path_js__WEBPACK_IMPORTED_MODULE_1__.sep) >= 0;\r\n let values = undefined;\r\n const originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\r\n if (originalSplit.length > 1) {\r\n for (const originalPiece of originalSplit) {\r\n const { pathNormalized: pathNormalizedPiece, normalized: normalizedPiece, normalizedLowercase: normalizedLowercasePiece } = normalizeQuery(originalPiece);\r\n if (normalizedPiece) {\r\n if (!values) {\r\n values = [];\r\n }\r\n values.push({\r\n original: originalPiece,\r\n originalLowercase: originalPiece.toLowerCase(),\r\n pathNormalized: pathNormalizedPiece,\r\n normalized: normalizedPiece,\r\n normalizedLowercase: normalizedLowercasePiece\r\n });\r\n }\r\n }\r\n }\r\n return { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator };\r\n}\r\nfunction normalizeQuery(original) {\r\n let pathNormalized;\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_2__.isWindows) {\r\n pathNormalized = original.replace(/\\//g, _path_js__WEBPACK_IMPORTED_MODULE_1__.sep); // Help Windows users to search for paths when using slash\r\n }\r\n else {\r\n pathNormalized = original.replace(/\\\\/g, _path_js__WEBPACK_IMPORTED_MODULE_1__.sep); // Help macOS/Linux users to search for paths when using backslash\r\n }\r\n const normalized = (0,_strings_js__WEBPACK_IMPORTED_MODULE_3__.stripWildcards)(pathNormalized).replace(/\\s/g, '');\r\n return {\r\n pathNormalized,\r\n normalized,\r\n normalizedLowercase: normalized.toLowerCase()\r\n };\r\n}\r\nfunction pieceToQuery(arg1) {\r\n if (Array.isArray(arg1)) {\r\n return prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\r\n }\r\n return prepareQuery(arg1.original);\r\n}\r\n//#endregion\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/glob.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/glob.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"splitGlobAware\": () => (/* binding */ splitGlobAware),\n/* harmony export */ \"match\": () => (/* binding */ match),\n/* harmony export */ \"parse\": () => (/* binding */ parse),\n/* harmony export */ \"isRelativePattern\": () => (/* binding */ isRelativePattern)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _async_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.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\nconst GLOBSTAR = '**';\r\nconst GLOB_SPLIT = '/';\r\nconst PATH_REGEX = '[/\\\\\\\\]'; // any slash or backslash\r\nconst NO_PATH_REGEX = '[^/\\\\\\\\]'; // any non-slash and non-backslash\r\nconst ALL_FORWARD_SLASHES = /\\//g;\r\nfunction starsToRegExp(starCount) {\r\n switch (starCount) {\r\n case 0:\r\n return '';\r\n case 1:\r\n return `${NO_PATH_REGEX}*?`; // 1 star matches any number of characters except path separator (/ and \\) - non greedy (?)\r\n default:\r\n // Matches: (Path Sep OR Path Val followed by Path Sep OR Path Sep followed by Path Val) 0-many times\r\n // Group is non capturing because we don't need to capture at all (?:...)\r\n // Overall we use non-greedy matching because it could be that we match too much\r\n return `(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}|${PATH_REGEX}${NO_PATH_REGEX}+)*?`;\r\n }\r\n}\r\nfunction splitGlobAware(pattern, splitChar) {\r\n if (!pattern) {\r\n return [];\r\n }\r\n const segments = [];\r\n let inBraces = false;\r\n let inBrackets = false;\r\n let curVal = '';\r\n for (const char of pattern) {\r\n switch (char) {\r\n case splitChar:\r\n if (!inBraces && !inBrackets) {\r\n segments.push(curVal);\r\n curVal = '';\r\n continue;\r\n }\r\n break;\r\n case '{':\r\n inBraces = true;\r\n break;\r\n case '}':\r\n inBraces = false;\r\n break;\r\n case '[':\r\n inBrackets = true;\r\n break;\r\n case ']':\r\n inBrackets = false;\r\n break;\r\n }\r\n curVal += char;\r\n }\r\n // Tail\r\n if (curVal) {\r\n segments.push(curVal);\r\n }\r\n return segments;\r\n}\r\nfunction parseRegExp(pattern) {\r\n if (!pattern) {\r\n return '';\r\n }\r\n let regEx = '';\r\n // Split up into segments for each slash found\r\n const segments = splitGlobAware(pattern, GLOB_SPLIT);\r\n // Special case where we only have globstars\r\n if (segments.every(s => s === GLOBSTAR)) {\r\n regEx = '.*';\r\n }\r\n // Build regex over segments\r\n else {\r\n let previousSegmentWasGlobStar = false;\r\n segments.forEach((segment, index) => {\r\n // Globstar is special\r\n if (segment === GLOBSTAR) {\r\n // if we have more than one globstar after another, just ignore it\r\n if (!previousSegmentWasGlobStar) {\r\n regEx += starsToRegExp(2);\r\n previousSegmentWasGlobStar = true;\r\n }\r\n return;\r\n }\r\n // States\r\n let inBraces = false;\r\n let braceVal = '';\r\n let inBrackets = false;\r\n let bracketVal = '';\r\n for (const char of segment) {\r\n // Support brace expansion\r\n if (char !== '}' && inBraces) {\r\n braceVal += char;\r\n continue;\r\n }\r\n // Support brackets\r\n if (inBrackets && (char !== ']' || !bracketVal) /* ] is literally only allowed as first character in brackets to match it */) {\r\n let res;\r\n // range operator\r\n if (char === '-') {\r\n res = char;\r\n }\r\n // negation operator (only valid on first index in bracket)\r\n else if ((char === '^' || char === '!') && !bracketVal) {\r\n res = '^';\r\n }\r\n // glob split matching is not allowed within character ranges\r\n // see http://man7.org/linux/man-pages/man7/glob.7.html\r\n else if (char === GLOB_SPLIT) {\r\n res = '';\r\n }\r\n // anything else gets escaped\r\n else {\r\n res = _strings_js__WEBPACK_IMPORTED_MODULE_0__.escapeRegExpCharacters(char);\r\n }\r\n bracketVal += res;\r\n continue;\r\n }\r\n switch (char) {\r\n case '{':\r\n inBraces = true;\r\n continue;\r\n case '[':\r\n inBrackets = true;\r\n continue;\r\n case '}':\r\n const choices = splitGlobAware(braceVal, ',');\r\n // Converts {foo,bar} => [foo|bar]\r\n const braceRegExp = `(?:${choices.map(c => parseRegExp(c)).join('|')})`;\r\n regEx += braceRegExp;\r\n inBraces = false;\r\n braceVal = '';\r\n break;\r\n case ']':\r\n regEx += ('[' + bracketVal + ']');\r\n inBrackets = false;\r\n bracketVal = '';\r\n break;\r\n case '?':\r\n regEx += NO_PATH_REGEX; // 1 ? matches any single character except path separator (/ and \\)\r\n continue;\r\n case '*':\r\n regEx += starsToRegExp(1);\r\n continue;\r\n default:\r\n regEx += _strings_js__WEBPACK_IMPORTED_MODULE_0__.escapeRegExpCharacters(char);\r\n }\r\n }\r\n // Tail: Add the slash we had split on if there is more to come and the remaining pattern is not a globstar\r\n // For example if pattern: some/**/*.js we want the \"/\" after some to be included in the RegEx to prevent\r\n // a folder called \"something\" to match as well.\r\n // However, if pattern: some/**, we tolerate that we also match on \"something\" because our globstar behaviour\r\n // is to match 0-N segments.\r\n if (index < segments.length - 1 && (segments[index + 1] !== GLOBSTAR || index + 2 < segments.length)) {\r\n regEx += PATH_REGEX;\r\n }\r\n // reset state\r\n previousSegmentWasGlobStar = false;\r\n });\r\n }\r\n return regEx;\r\n}\r\n// regexes to check for trival glob patterns that just check for String#endsWith\r\nconst T1 = /^\\*\\*\\/\\*\\.[\\w\\.-]+$/; // **/*.something\r\nconst T2 = /^\\*\\*\\/([\\w\\.-]+)\\/?$/; // **/something\r\nconst T3 = /^{\\*\\*\\/[\\*\\.]?[\\w\\.-]+\\/?(,\\*\\*\\/[\\*\\.]?[\\w\\.-]+\\/?)*}$/; // {**/*.something,**/*.else} or {**/package.json,**/project.json}\r\nconst T3_2 = /^{\\*\\*\\/[\\*\\.]?[\\w\\.-]+(\\/(\\*\\*)?)?(,\\*\\*\\/[\\*\\.]?[\\w\\.-]+(\\/(\\*\\*)?)?)*}$/; // Like T3, with optional trailing /**\r\nconst T4 = /^\\*\\*((\\/[\\w\\.-]+)+)\\/?$/; // **/something/else\r\nconst T5 = /^([\\w\\.-]+(\\/[\\w\\.-]+)*)\\/?$/; // something/else\r\nconst CACHE = new _map_js__WEBPACK_IMPORTED_MODULE_3__.LRUCache(10000); // bounded to 10000 elements\r\nconst FALSE = function () {\r\n return false;\r\n};\r\nconst NULL = function () {\r\n return null;\r\n};\r\nfunction parsePattern(arg1, options) {\r\n if (!arg1) {\r\n return NULL;\r\n }\r\n // Handle IRelativePattern\r\n let pattern;\r\n if (typeof arg1 !== 'string') {\r\n pattern = arg1.pattern;\r\n }\r\n else {\r\n pattern = arg1;\r\n }\r\n // Whitespace trimming\r\n pattern = pattern.trim();\r\n // Check cache\r\n const patternKey = `${pattern}_${!!options.trimForExclusions}`;\r\n let parsedPattern = CACHE.get(patternKey);\r\n if (parsedPattern) {\r\n return wrapRelativePattern(parsedPattern, arg1);\r\n }\r\n // Check for Trivias\r\n let match;\r\n if (T1.test(pattern)) { // common pattern: **/*.txt just need endsWith check\r\n const base = pattern.substr(4); // '**/*'.length === 4\r\n parsedPattern = function (path, basename) {\r\n return typeof path === 'string' && path.endsWith(base) ? pattern : null;\r\n };\r\n }\r\n else if (match = T2.exec(trimForExclusions(pattern, options))) { // common pattern: **/some.txt just need basename check\r\n parsedPattern = trivia2(match[1], pattern);\r\n }\r\n else if ((options.trimForExclusions ? T3_2 : T3).test(pattern)) { // repetition of common patterns (see above) {**/*.txt,**/*.png}\r\n parsedPattern = trivia3(pattern, options);\r\n }\r\n else if (match = T4.exec(trimForExclusions(pattern, options))) { // common pattern: **/something/else just need endsWith check\r\n parsedPattern = trivia4and5(match[1].substr(1), pattern, true);\r\n }\r\n else if (match = T5.exec(trimForExclusions(pattern, options))) { // common pattern: something/else just need equals check\r\n parsedPattern = trivia4and5(match[1], pattern, false);\r\n }\r\n // Otherwise convert to pattern\r\n else {\r\n parsedPattern = toRegExp(pattern);\r\n }\r\n // Cache\r\n CACHE.set(patternKey, parsedPattern);\r\n return wrapRelativePattern(parsedPattern, arg1);\r\n}\r\nfunction wrapRelativePattern(parsedPattern, arg2) {\r\n if (typeof arg2 === 'string') {\r\n return parsedPattern;\r\n }\r\n return function (path, basename) {\r\n if (!_extpath_js__WEBPACK_IMPORTED_MODULE_1__.isEqualOrParent(path, arg2.base)) {\r\n return null;\r\n }\r\n return parsedPattern(_path_js__WEBPACK_IMPORTED_MODULE_2__.relative(arg2.base, path), basename);\r\n };\r\n}\r\nfunction trimForExclusions(pattern, options) {\r\n return options.trimForExclusions && pattern.endsWith('/**') ? pattern.substr(0, pattern.length - 2) : pattern; // dropping **, tailing / is dropped later\r\n}\r\n// common pattern: **/some.txt just need basename check\r\nfunction trivia2(base, originalPattern) {\r\n const slashBase = `/${base}`;\r\n const backslashBase = `\\\\${base}`;\r\n const parsedPattern = function (path, basename) {\r\n if (typeof path !== 'string') {\r\n return null;\r\n }\r\n if (basename) {\r\n return basename === base ? originalPattern : null;\r\n }\r\n return path === base || path.endsWith(slashBase) || path.endsWith(backslashBase) ? originalPattern : null;\r\n };\r\n const basenames = [base];\r\n parsedPattern.basenames = basenames;\r\n parsedPattern.patterns = [originalPattern];\r\n parsedPattern.allBasenames = basenames;\r\n return parsedPattern;\r\n}\r\n// repetition of common patterns (see above) {**/*.txt,**/*.png}\r\nfunction trivia3(pattern, options) {\r\n const parsedPatterns = aggregateBasenameMatches(pattern.slice(1, -1).split(',')\r\n .map(pattern => parsePattern(pattern, options))\r\n .filter(pattern => pattern !== NULL), pattern);\r\n const n = parsedPatterns.length;\r\n if (!n) {\r\n return NULL;\r\n }\r\n if (n === 1) {\r\n return parsedPatterns[0];\r\n }\r\n const parsedPattern = function (path, basename) {\r\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\r\n if (parsedPatterns[i](path, basename)) {\r\n return pattern;\r\n }\r\n }\r\n return null;\r\n };\r\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\r\n if (withBasenames) {\r\n parsedPattern.allBasenames = withBasenames.allBasenames;\r\n }\r\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\r\n if (allPaths.length) {\r\n parsedPattern.allPaths = allPaths;\r\n }\r\n return parsedPattern;\r\n}\r\n// common patterns: **/something/else just need endsWith check, something/else just needs and equals check\r\nfunction trivia4and5(targetPath, pattern, matchPathEnds) {\r\n const usingPosixSep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep === _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.sep;\r\n const nativePath = usingPosixSep ? targetPath : targetPath.replace(ALL_FORWARD_SLASHES, _path_js__WEBPACK_IMPORTED_MODULE_2__.sep);\r\n const nativePathEnd = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep + nativePath;\r\n const targetPathEnd = _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.sep + targetPath;\r\n const parsedPattern = matchPathEnds ? function (testPath, basename) {\r\n return typeof testPath === 'string' &&\r\n ((testPath === nativePath || testPath.endsWith(nativePathEnd))\r\n || !usingPosixSep && (testPath === targetPath || testPath.endsWith(targetPathEnd)))\r\n ? pattern : null;\r\n } : function (testPath, basename) {\r\n return typeof testPath === 'string' &&\r\n (testPath === nativePath\r\n || (!usingPosixSep && testPath === targetPath))\r\n ? pattern : null;\r\n };\r\n parsedPattern.allPaths = [(matchPathEnds ? '*/' : './') + targetPath];\r\n return parsedPattern;\r\n}\r\nfunction toRegExp(pattern) {\r\n try {\r\n const regExp = new RegExp(`^${parseRegExp(pattern)}$`);\r\n return function (path) {\r\n regExp.lastIndex = 0; // reset RegExp to its initial state to reuse it!\r\n return typeof path === 'string' && regExp.test(path) ? pattern : null;\r\n };\r\n }\r\n catch (error) {\r\n return NULL;\r\n }\r\n}\r\nfunction match(arg1, path, hasSibling) {\r\n if (!arg1 || typeof path !== 'string') {\r\n return false;\r\n }\r\n return parse(arg1)(path, undefined, hasSibling);\r\n}\r\nfunction parse(arg1, options = {}) {\r\n if (!arg1) {\r\n return FALSE;\r\n }\r\n // Glob with String\r\n if (typeof arg1 === 'string' || isRelativePattern(arg1)) {\r\n const parsedPattern = parsePattern(arg1, options);\r\n if (parsedPattern === NULL) {\r\n return FALSE;\r\n }\r\n const resultPattern = function (path, basename) {\r\n return !!parsedPattern(path, basename);\r\n };\r\n if (parsedPattern.allBasenames) {\r\n resultPattern.allBasenames = parsedPattern.allBasenames;\r\n }\r\n if (parsedPattern.allPaths) {\r\n resultPattern.allPaths = parsedPattern.allPaths;\r\n }\r\n return resultPattern;\r\n }\r\n // Glob with Expression\r\n return parsedExpression(arg1, options);\r\n}\r\nfunction isRelativePattern(obj) {\r\n const rp = obj;\r\n return rp && typeof rp.base === 'string' && typeof rp.pattern === 'string';\r\n}\r\nfunction parsedExpression(expression, options) {\r\n const parsedPatterns = aggregateBasenameMatches(Object.getOwnPropertyNames(expression)\r\n .map(pattern => parseExpressionPattern(pattern, expression[pattern], options))\r\n .filter(pattern => pattern !== NULL));\r\n const n = parsedPatterns.length;\r\n if (!n) {\r\n return NULL;\r\n }\r\n if (!parsedPatterns.some(parsedPattern => !!parsedPattern.requiresSiblings)) {\r\n if (n === 1) {\r\n return parsedPatterns[0];\r\n }\r\n const resultExpression = function (path, basename) {\r\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\r\n // Pattern matches path\r\n const result = parsedPatterns[i](path, basename);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n return null;\r\n };\r\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\r\n if (withBasenames) {\r\n resultExpression.allBasenames = withBasenames.allBasenames;\r\n }\r\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\r\n if (allPaths.length) {\r\n resultExpression.allPaths = allPaths;\r\n }\r\n return resultExpression;\r\n }\r\n const resultExpression = function (path, basename, hasSibling) {\r\n let name = undefined;\r\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\r\n // Pattern matches path\r\n const parsedPattern = parsedPatterns[i];\r\n if (parsedPattern.requiresSiblings && hasSibling) {\r\n if (!basename) {\r\n basename = _path_js__WEBPACK_IMPORTED_MODULE_2__.basename(path);\r\n }\r\n if (!name) {\r\n name = basename.substr(0, basename.length - _path_js__WEBPACK_IMPORTED_MODULE_2__.extname(path).length);\r\n }\r\n }\r\n const result = parsedPattern(path, basename, name, hasSibling);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n return null;\r\n };\r\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\r\n if (withBasenames) {\r\n resultExpression.allBasenames = withBasenames.allBasenames;\r\n }\r\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\r\n if (allPaths.length) {\r\n resultExpression.allPaths = allPaths;\r\n }\r\n return resultExpression;\r\n}\r\nfunction parseExpressionPattern(pattern, value, options) {\r\n if (value === false) {\r\n return NULL; // pattern is disabled\r\n }\r\n const parsedPattern = parsePattern(pattern, options);\r\n if (parsedPattern === NULL) {\r\n return NULL;\r\n }\r\n // Expression Pattern is \r\n if (typeof value === 'boolean') {\r\n return parsedPattern;\r\n }\r\n // Expression Pattern is \r\n if (value) {\r\n const when = value.when;\r\n if (typeof when === 'string') {\r\n const result = (path, basename, name, hasSibling) => {\r\n if (!hasSibling || !parsedPattern(path, basename)) {\r\n return null;\r\n }\r\n const clausePattern = when.replace('$(basename)', name);\r\n const matched = hasSibling(clausePattern);\r\n return (0,_async_js__WEBPACK_IMPORTED_MODULE_4__.isThenable)(matched) ?\r\n matched.then(m => m ? pattern : null) :\r\n matched ? pattern : null;\r\n };\r\n result.requiresSiblings = true;\r\n return result;\r\n }\r\n }\r\n // Expression is Anything\r\n return parsedPattern;\r\n}\r\nfunction aggregateBasenameMatches(parsedPatterns, result) {\r\n const basenamePatterns = parsedPatterns.filter(parsedPattern => !!parsedPattern.basenames);\r\n if (basenamePatterns.length < 2) {\r\n return parsedPatterns;\r\n }\r\n const basenames = basenamePatterns.reduce((all, current) => {\r\n const basenames = current.basenames;\r\n return basenames ? all.concat(basenames) : all;\r\n }, []);\r\n let patterns;\r\n if (result) {\r\n patterns = [];\r\n for (let i = 0, n = basenames.length; i < n; i++) {\r\n patterns.push(result);\r\n }\r\n }\r\n else {\r\n patterns = basenamePatterns.reduce((all, current) => {\r\n const patterns = current.patterns;\r\n return patterns ? all.concat(patterns) : all;\r\n }, []);\r\n }\r\n const aggregate = function (path, basename) {\r\n if (typeof path !== 'string') {\r\n return null;\r\n }\r\n if (!basename) {\r\n let i;\r\n for (i = path.length; i > 0; i--) {\r\n const ch = path.charCodeAt(i - 1);\r\n if (ch === 47 /* Slash */ || ch === 92 /* Backslash */) {\r\n break;\r\n }\r\n }\r\n basename = path.substr(i);\r\n }\r\n const index = basenames.indexOf(basename);\r\n return index !== -1 ? patterns[index] : null;\r\n };\r\n aggregate.basenames = basenames;\r\n aggregate.patterns = patterns;\r\n aggregate.allBasenames = basenames;\r\n const aggregatedPatterns = parsedPatterns.filter(parsedPattern => !parsedPattern.basenames);\r\n aggregatedPatterns.push(aggregate);\r\n return aggregatedPatterns;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/glob.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/hash.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/hash.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"hash\": () => (/* binding */ hash),\n/* harmony export */ \"doHash\": () => (/* binding */ doHash),\n/* harmony export */ \"stringHash\": () => (/* binding */ stringHash),\n/* harmony export */ \"toHexString\": () => (/* binding */ toHexString),\n/* harmony export */ \"StringSHA1\": () => (/* binding */ StringSHA1)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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 * Return a hash value for an object.\r\n */\r\nfunction hash(obj) {\r\n return doHash(obj, 0);\r\n}\r\nfunction doHash(obj, hashVal) {\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(937, hashVal);\r\n default:\r\n return numberHash(617, hashVal);\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 (let i = 0, length = s.length; i < length; 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((hashVal, item) => doHash(item, hashVal), initialHashVal);\r\n}\r\nfunction objectHash(obj, initialHashVal) {\r\n initialHashVal = numberHash(181387, initialHashVal);\r\n return Object.keys(obj).sort().reduce((hashVal, key) => {\r\n hashVal = stringHash(key, hashVal);\r\n return doHash(obj[key], hashVal);\r\n }, initialHashVal);\r\n}\r\nfunction leftRotate(value, bits, totalBits = 32) {\r\n // delta + bits = totalBits\r\n const delta = totalBits - bits;\r\n // All ones, expect `delta` zeros aligned to the right\r\n const mask = ~((1 << delta) - 1);\r\n // Join (value left-shifted `bits` bits) with (masked value right-shifted `delta` bits)\r\n return ((value << bits) | ((mask & value) >>> delta)) >>> 0;\r\n}\r\nfunction fill(dest, index = 0, count = dest.byteLength, value = 0) {\r\n for (let i = 0; i < count; i++) {\r\n dest[index + i] = value;\r\n }\r\n}\r\nfunction leftPad(value, length, char = '0') {\r\n while (value.length < length) {\r\n value = char + value;\r\n }\r\n return value;\r\n}\r\nfunction toHexString(bufferOrValue, bitsize = 32) {\r\n if (bufferOrValue instanceof ArrayBuffer) {\r\n return Array.from(new Uint8Array(bufferOrValue)).map(b => b.toString(16).padStart(2, '0')).join('');\r\n }\r\n return leftPad((bufferOrValue >>> 0).toString(16), bitsize / 4);\r\n}\r\n/**\r\n * A SHA1 implementation that works with strings and does not allocate.\r\n */\r\nclass StringSHA1 {\r\n constructor() {\r\n this._h0 = 0x67452301;\r\n this._h1 = 0xEFCDAB89;\r\n this._h2 = 0x98BADCFE;\r\n this._h3 = 0x10325476;\r\n this._h4 = 0xC3D2E1F0;\r\n this._buff = new Uint8Array(64 /* BLOCK_SIZE */ + 3 /* to fit any utf-8 */);\r\n this._buffDV = new DataView(this._buff.buffer);\r\n this._buffLen = 0;\r\n this._totalLen = 0;\r\n this._leftoverHighSurrogate = 0;\r\n this._finished = false;\r\n }\r\n update(str) {\r\n const strLen = str.length;\r\n if (strLen === 0) {\r\n return;\r\n }\r\n const buff = this._buff;\r\n let buffLen = this._buffLen;\r\n let leftoverHighSurrogate = this._leftoverHighSurrogate;\r\n let charCode;\r\n let offset;\r\n if (leftoverHighSurrogate !== 0) {\r\n charCode = leftoverHighSurrogate;\r\n offset = -1;\r\n leftoverHighSurrogate = 0;\r\n }\r\n else {\r\n charCode = str.charCodeAt(0);\r\n offset = 0;\r\n }\r\n while (true) {\r\n let codePoint = charCode;\r\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isHighSurrogate(charCode)) {\r\n if (offset + 1 < strLen) {\r\n const nextCharCode = str.charCodeAt(offset + 1);\r\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isLowSurrogate(nextCharCode)) {\r\n offset++;\r\n codePoint = _strings_js__WEBPACK_IMPORTED_MODULE_0__.computeCodePoint(charCode, nextCharCode);\r\n }\r\n else {\r\n // illegal => unicode replacement character\r\n codePoint = 65533 /* UNICODE_REPLACEMENT */;\r\n }\r\n }\r\n else {\r\n // last character is a surrogate pair\r\n leftoverHighSurrogate = charCode;\r\n break;\r\n }\r\n }\r\n else if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isLowSurrogate(charCode)) {\r\n // illegal => unicode replacement character\r\n codePoint = 65533 /* UNICODE_REPLACEMENT */;\r\n }\r\n buffLen = this._push(buff, buffLen, codePoint);\r\n offset++;\r\n if (offset < strLen) {\r\n charCode = str.charCodeAt(offset);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n this._buffLen = buffLen;\r\n this._leftoverHighSurrogate = leftoverHighSurrogate;\r\n }\r\n _push(buff, buffLen, codePoint) {\r\n if (codePoint < 0x0080) {\r\n buff[buffLen++] = codePoint;\r\n }\r\n else if (codePoint < 0x0800) {\r\n buff[buffLen++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\r\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\r\n }\r\n else if (codePoint < 0x10000) {\r\n buff[buffLen++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\r\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\r\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\r\n }\r\n else {\r\n buff[buffLen++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\r\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\r\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\r\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\r\n }\r\n if (buffLen >= 64 /* BLOCK_SIZE */) {\r\n this._step();\r\n buffLen -= 64 /* BLOCK_SIZE */;\r\n this._totalLen += 64 /* BLOCK_SIZE */;\r\n // take last 3 in case of UTF8 overflow\r\n buff[0] = buff[64 /* BLOCK_SIZE */ + 0];\r\n buff[1] = buff[64 /* BLOCK_SIZE */ + 1];\r\n buff[2] = buff[64 /* BLOCK_SIZE */ + 2];\r\n }\r\n return buffLen;\r\n }\r\n digest() {\r\n if (!this._finished) {\r\n this._finished = true;\r\n if (this._leftoverHighSurrogate) {\r\n // illegal => unicode replacement character\r\n this._leftoverHighSurrogate = 0;\r\n this._buffLen = this._push(this._buff, this._buffLen, 65533 /* UNICODE_REPLACEMENT */);\r\n }\r\n this._totalLen += this._buffLen;\r\n this._wrapUp();\r\n }\r\n return toHexString(this._h0) + toHexString(this._h1) + toHexString(this._h2) + toHexString(this._h3) + toHexString(this._h4);\r\n }\r\n _wrapUp() {\r\n this._buff[this._buffLen++] = 0x80;\r\n fill(this._buff, this._buffLen);\r\n if (this._buffLen > 56) {\r\n this._step();\r\n fill(this._buff);\r\n }\r\n // this will fit because the mantissa can cover up to 52 bits\r\n const ml = 8 * this._totalLen;\r\n this._buffDV.setUint32(56, Math.floor(ml / 4294967296), false);\r\n this._buffDV.setUint32(60, ml % 4294967296, false);\r\n this._step();\r\n }\r\n _step() {\r\n const bigBlock32 = StringSHA1._bigBlock32;\r\n const data = this._buffDV;\r\n for (let j = 0; j < 64 /* 16*4 */; j += 4) {\r\n bigBlock32.setUint32(j, data.getUint32(j, false), false);\r\n }\r\n for (let j = 64; j < 320 /* 80*4 */; j += 4) {\r\n bigBlock32.setUint32(j, leftRotate((bigBlock32.getUint32(j - 12, false) ^ bigBlock32.getUint32(j - 32, false) ^ bigBlock32.getUint32(j - 56, false) ^ bigBlock32.getUint32(j - 64, false)), 1), false);\r\n }\r\n let a = this._h0;\r\n let b = this._h1;\r\n let c = this._h2;\r\n let d = this._h3;\r\n let e = this._h4;\r\n let f, k;\r\n let temp;\r\n for (let j = 0; j < 80; j++) {\r\n if (j < 20) {\r\n f = (b & c) | ((~b) & d);\r\n k = 0x5A827999;\r\n }\r\n else if (j < 40) {\r\n f = b ^ c ^ d;\r\n k = 0x6ED9EBA1;\r\n }\r\n else if (j < 60) {\r\n f = (b & c) | (b & d) | (c & d);\r\n k = 0x8F1BBCDC;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xCA62C1D6;\r\n }\r\n temp = (leftRotate(a, 5) + f + e + k + bigBlock32.getUint32(j * 4, false)) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = leftRotate(b, 30);\r\n b = a;\r\n a = temp;\r\n }\r\n this._h0 = (this._h0 + a) & 0xffffffff;\r\n this._h1 = (this._h1 + b) & 0xffffffff;\r\n this._h2 = (this._h2 + c) & 0xffffffff;\r\n this._h3 = (this._h3 + d) & 0xffffffff;\r\n this._h4 = (this._h4 + e) & 0xffffffff;\r\n }\r\n}\r\nStringSHA1._bigBlock32 = new DataView(new ArrayBuffer(320)); // 80 * 4 = 320\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/hash.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/history.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/history.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HistoryNavigator\": () => (/* binding */ HistoryNavigator)\n/* harmony export */ });\n/* harmony import */ var _navigator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./navigator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/navigator.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\nclass HistoryNavigator {\r\n constructor(history = [], limit = 10) {\r\n this._initialize(history);\r\n this._limit = limit;\r\n this._onChange();\r\n }\r\n add(t) {\r\n this._history.delete(t);\r\n this._history.add(t);\r\n this._onChange();\r\n }\r\n next() {\r\n if (this._currentPosition() !== this._elements.length - 1) {\r\n return this._navigator.next();\r\n }\r\n return null;\r\n }\r\n previous() {\r\n if (this._currentPosition() !== 0) {\r\n return this._navigator.previous();\r\n }\r\n return null;\r\n }\r\n current() {\r\n return this._navigator.current();\r\n }\r\n first() {\r\n return this._navigator.first();\r\n }\r\n last() {\r\n return this._navigator.last();\r\n }\r\n has(t) {\r\n return this._history.has(t);\r\n }\r\n _onChange() {\r\n this._reduceToLimit();\r\n const elements = this._elements;\r\n this._navigator = new _navigator_js__WEBPACK_IMPORTED_MODULE_0__.ArrayNavigator(elements, 0, elements.length, elements.length);\r\n }\r\n _reduceToLimit() {\r\n const data = this._elements;\r\n if (data.length > this._limit) {\r\n this._initialize(data.slice(data.length - this._limit));\r\n }\r\n }\r\n _currentPosition() {\r\n const currentElement = this._navigator.current();\r\n if (!currentElement) {\r\n return -1;\r\n }\r\n return this._elements.indexOf(currentElement);\r\n }\r\n _initialize(history) {\r\n this._history = new Set();\r\n for (const entry of history) {\r\n this._history.add(entry);\r\n }\r\n }\r\n get _elements() {\r\n const elements = [];\r\n this._history.forEach(e => elements.push(e));\r\n return elements;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/history.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js": /*!**********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MarkdownString\": () => (/* binding */ MarkdownString),\n/* harmony export */ \"isEmptyMarkdownString\": () => (/* binding */ isEmptyMarkdownString),\n/* harmony export */ \"isMarkdownString\": () => (/* binding */ isMarkdownString),\n/* harmony export */ \"markedStringsEquals\": () => (/* binding */ markedStringsEquals),\n/* harmony export */ \"escapeMarkdownSyntaxTokens\": () => (/* binding */ escapeMarkdownSyntaxTokens),\n/* harmony export */ \"removeMarkdownEscapes\": () => (/* binding */ removeMarkdownEscapes),\n/* harmony export */ \"parseHrefAndDimensions\": () => (/* binding */ parseHrefAndDimensions)\n/* harmony export */ });\n/* harmony import */ var _arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _iconLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.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\nclass MarkdownString {\r\n constructor(value = '', isTrustedOrOptions = false) {\r\n var _a, _b;\r\n this.value = value;\r\n if (typeof this.value !== 'string') {\r\n throw (0,_errors_js__WEBPACK_IMPORTED_MODULE_2__.illegalArgument)('value');\r\n }\r\n if (typeof isTrustedOrOptions === 'boolean') {\r\n this.isTrusted = isTrustedOrOptions;\r\n this.supportThemeIcons = false;\r\n }\r\n else {\r\n this.isTrusted = (_a = isTrustedOrOptions.isTrusted) !== null && _a !== void 0 ? _a : undefined;\r\n this.supportThemeIcons = (_b = isTrustedOrOptions.supportThemeIcons) !== null && _b !== void 0 ? _b : false;\r\n }\r\n }\r\n appendText(value, newlineStyle = 0 /* Paragraph */) {\r\n this.value += escapeMarkdownSyntaxTokens(this.supportThemeIcons ? (0,_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.escapeIcons)(value) : value)\r\n .replace(/([ \\t]+)/g, (_match, g1) => ' '.repeat(g1.length))\r\n .replace(/^>/gm, '\\\\>')\r\n .replace(/\\n/g, newlineStyle === 1 /* Break */ ? '\\\\\\n' : '\\n\\n');\r\n return this;\r\n }\r\n appendMarkdown(value) {\r\n this.value += value;\r\n return this;\r\n }\r\n appendCodeblock(langId, code) {\r\n this.value += '\\n```';\r\n this.value += langId;\r\n this.value += '\\n';\r\n this.value += code;\r\n this.value += '\\n```\\n';\r\n return this;\r\n }\r\n}\r\nfunction isEmptyMarkdownString(oneOrMany) {\r\n if (isMarkdownString(oneOrMany)) {\r\n return !oneOrMany.value;\r\n }\r\n else if (Array.isArray(oneOrMany)) {\r\n return oneOrMany.every(isEmptyMarkdownString);\r\n }\r\n else {\r\n return true;\r\n }\r\n}\r\nfunction isMarkdownString(thing) {\r\n if (thing instanceof MarkdownString) {\r\n return true;\r\n }\r\n else if (thing && typeof thing === 'object') {\r\n return typeof thing.value === 'string'\r\n && (typeof thing.isTrusted === 'boolean' || thing.isTrusted === undefined)\r\n && (typeof thing.supportThemeIcons === 'boolean' || thing.supportThemeIcons === undefined);\r\n }\r\n return false;\r\n}\r\nfunction markedStringsEquals(a, b) {\r\n if (!a && !b) {\r\n return true;\r\n }\r\n else if (!a || !b) {\r\n return false;\r\n }\r\n else if (Array.isArray(a) && Array.isArray(b)) {\r\n return (0,_arrays_js__WEBPACK_IMPORTED_MODULE_0__.equals)(a, b, markdownStringEqual);\r\n }\r\n else if (isMarkdownString(a) && isMarkdownString(b)) {\r\n return markdownStringEqual(a, b);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\nfunction markdownStringEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n else if (!a || !b) {\r\n return false;\r\n }\r\n else {\r\n return a.value === b.value && a.isTrusted === b.isTrusted && a.supportThemeIcons === b.supportThemeIcons;\r\n }\r\n}\r\nfunction escapeMarkdownSyntaxTokens(text) {\r\n // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\r\n return text.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&');\r\n}\r\nfunction removeMarkdownEscapes(text) {\r\n if (!text) {\r\n return text;\r\n }\r\n return text.replace(/\\\\([\\\\`*_{}[\\]()#+\\-.!])/g, '$1');\r\n}\r\nfunction parseHrefAndDimensions(href) {\r\n const dimensions = [];\r\n const splitted = href.split('|').map(s => s.trim());\r\n href = splitted[0];\r\n const parameters = splitted[1];\r\n if (parameters) {\r\n const heightFromParams = /height=(\\d+)/.exec(parameters);\r\n const widthFromParams = /width=(\\d+)/.exec(parameters);\r\n const height = heightFromParams ? heightFromParams[1] : '';\r\n const width = widthFromParams ? widthFromParams[1] : '';\r\n const widthIsFinite = isFinite(parseInt(width));\r\n const heightIsFinite = isFinite(parseInt(height));\r\n if (widthIsFinite) {\r\n dimensions.push(`width=\"${width}\"`);\r\n }\r\n if (heightIsFinite) {\r\n dimensions.push(`height=\"${height}\"`);\r\n }\r\n }\r\n return { href, dimensions };\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js": /*!*********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"iconStartMarker\": () => (/* binding */ iconStartMarker),\n/* harmony export */ \"escapeIcons\": () => (/* binding */ escapeIcons),\n/* harmony export */ \"markdownEscapeEscapedIcons\": () => (/* binding */ markdownEscapeEscapedIcons),\n/* harmony export */ \"stripIcons\": () => (/* binding */ stripIcons),\n/* harmony export */ \"parseLabelWithIcons\": () => (/* binding */ parseLabelWithIcons),\n/* harmony export */ \"matchesFuzzyIconAware\": () => (/* binding */ matchesFuzzyIconAware)\n/* harmony export */ });\n/* harmony import */ var _codicons_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _filters_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nconst iconStartMarker = '$(';\r\nconst iconsRegex = new RegExp(`\\\\$\\\\(${_codicons_js__WEBPACK_IMPORTED_MODULE_0__.CSSIcon.iconNameExpression}(?:${_codicons_js__WEBPACK_IMPORTED_MODULE_0__.CSSIcon.iconModifierExpression})?\\\\)`, 'g'); // no capturing groups\r\nconst escapeIconsRegex = new RegExp(`(\\\\\\\\)?${iconsRegex.source}`, 'g');\r\nfunction escapeIcons(text) {\r\n return text.replace(escapeIconsRegex, (match, escaped) => escaped ? match : `\\\\${match}`);\r\n}\r\nconst markdownEscapedIconsRegex = new RegExp(`\\\\\\\\${iconsRegex.source}`, 'g');\r\nfunction markdownEscapeEscapedIcons(text) {\r\n // Need to add an extra \\ for escaping in markdown\r\n return text.replace(markdownEscapedIconsRegex, match => `\\\\${match}`);\r\n}\r\nconst stripIconsRegex = new RegExp(`(\\\\s)?(\\\\\\\\)?${iconsRegex.source}(\\\\s)?`, 'g');\r\nfunction stripIcons(text) {\r\n if (text.indexOf(iconStartMarker) === -1) {\r\n return text;\r\n }\r\n return text.replace(stripIconsRegex, (match, preWhitespace, escaped, postWhitespace) => escaped ? match : preWhitespace || postWhitespace || '');\r\n}\r\nfunction parseLabelWithIcons(text) {\r\n const firstIconIndex = text.indexOf(iconStartMarker);\r\n if (firstIconIndex === -1) {\r\n return { text }; // return early if the word does not include an icon\r\n }\r\n return doParseLabelWithIcons(text, firstIconIndex);\r\n}\r\nfunction doParseLabelWithIcons(text, firstIconIndex) {\r\n const iconOffsets = [];\r\n let textWithoutIcons = '';\r\n function appendChars(chars) {\r\n if (chars) {\r\n textWithoutIcons += chars;\r\n for (const _ of chars) {\r\n iconOffsets.push(iconsOffset); // make sure to fill in icon offsets\r\n }\r\n }\r\n }\r\n let currentIconStart = -1;\r\n let currentIconValue = '';\r\n let iconsOffset = 0;\r\n let char;\r\n let nextChar;\r\n let offset = firstIconIndex;\r\n const length = text.length;\r\n // Append all characters until the first icon\r\n appendChars(text.substr(0, firstIconIndex));\r\n // example: $(file-symlink-file) my cool $(other-icon) entry\r\n while (offset < length) {\r\n char = text[offset];\r\n nextChar = text[offset + 1];\r\n // beginning of icon: some value $( <--\r\n if (char === iconStartMarker[0] && nextChar === iconStartMarker[1]) {\r\n currentIconStart = offset;\r\n // if we had a previous potential icon value without\r\n // the closing ')', it was actually not an icon and\r\n // so we have to add it to the actual value\r\n appendChars(currentIconValue);\r\n currentIconValue = iconStartMarker;\r\n offset++; // jump over '('\r\n }\r\n // end of icon: some value $(some-icon) <--\r\n else if (char === ')' && currentIconStart !== -1) {\r\n const currentIconLength = offset - currentIconStart + 1; // +1 to include the closing ')'\r\n iconsOffset += currentIconLength;\r\n currentIconStart = -1;\r\n currentIconValue = '';\r\n }\r\n // within icon\r\n else if (currentIconStart !== -1) {\r\n // Make sure this is a real icon name\r\n if (/^[a-z0-9\\-]$/i.test(char)) {\r\n currentIconValue += char;\r\n }\r\n else {\r\n // This is not a real icon, treat it as text\r\n appendChars(currentIconValue);\r\n currentIconStart = -1;\r\n currentIconValue = '';\r\n }\r\n }\r\n // any value outside of icon\r\n else {\r\n appendChars(char);\r\n }\r\n offset++;\r\n }\r\n // if we had a previous potential icon value without\r\n // the closing ')', it was actually not an icon and\r\n // so we have to add it to the actual value\r\n appendChars(currentIconValue);\r\n return { text: textWithoutIcons, iconOffsets };\r\n}\r\nfunction matchesFuzzyIconAware(query, target, enableSeparateSubstringMatching = false) {\r\n const { text, iconOffsets } = target;\r\n // Return early if there are no icon markers in the word to match against\r\n if (!iconOffsets || iconOffsets.length === 0) {\r\n return (0,_filters_js__WEBPACK_IMPORTED_MODULE_1__.matchesFuzzy)(query, text, enableSeparateSubstringMatching);\r\n }\r\n // Trim the word to match against because it could have leading\r\n // whitespace now if the word started with an icon\r\n const wordToMatchAgainstWithoutIconsTrimmed = (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__.ltrim)(text, ' ');\r\n const leadingWhitespaceOffset = text.length - wordToMatchAgainstWithoutIconsTrimmed.length;\r\n // match on value without icon\r\n const matches = (0,_filters_js__WEBPACK_IMPORTED_MODULE_1__.matchesFuzzy)(query, wordToMatchAgainstWithoutIconsTrimmed, enableSeparateSubstringMatching);\r\n // Map matches back to offsets with icon and trimming\r\n if (matches) {\r\n for (const match of matches) {\r\n const iconOffset = iconOffsets[match.start + leadingWhitespaceOffset] /* icon offsets at index */ + leadingWhitespaceOffset /* overall leading whitespace offset */;\r\n match.start += iconOffset;\r\n match.end += iconOffset;\r\n }\r\n }\r\n return matches;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js": /*!**********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IdGenerator\": () => (/* binding */ IdGenerator),\n/* harmony export */ \"defaultGenerator\": () => (/* binding */ defaultGenerator)\n/* harmony export */ });\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\nclass IdGenerator {\r\n constructor(prefix) {\r\n this._prefix = prefix;\r\n this._lastId = 0;\r\n }\r\n nextId() {\r\n return this._prefix + (++this._lastId);\r\n }\r\n}\r\nconst defaultGenerator = new IdGenerator('id#');\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/insane/insane.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/insane/insane.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"insane\": () => (/* binding */ insane)\n/* harmony export */ });\n/*\nThe MIT License (MIT)\n\nCopyright © 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 = undefined; 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 = undefined, 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 = /^');\n\t\t\t\tif (index >= 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\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/insane/insane.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/iterator.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/iterator.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Iterable\": () => (/* binding */ Iterable)\n/* harmony export */ });\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 Iterable;\r\n(function (Iterable) {\r\n function is(thing) {\r\n return thing && typeof thing === 'object' && typeof thing[Symbol.iterator] === 'function';\r\n }\r\n Iterable.is = is;\r\n const _empty = Object.freeze([]);\r\n function empty() {\r\n return _empty;\r\n }\r\n Iterable.empty = empty;\r\n function* single(element) {\r\n yield element;\r\n }\r\n Iterable.single = single;\r\n function from(iterable) {\r\n return iterable || _empty;\r\n }\r\n Iterable.from = from;\r\n function isEmpty(iterable) {\r\n return !iterable || iterable[Symbol.iterator]().next().done === true;\r\n }\r\n Iterable.isEmpty = isEmpty;\r\n function first(iterable) {\r\n return iterable[Symbol.iterator]().next().value;\r\n }\r\n Iterable.first = first;\r\n function some(iterable, predicate) {\r\n for (const element of iterable) {\r\n if (predicate(element)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n Iterable.some = some;\r\n function find(iterable, predicate) {\r\n for (const element of iterable) {\r\n if (predicate(element)) {\r\n return element;\r\n }\r\n }\r\n return undefined;\r\n }\r\n Iterable.find = find;\r\n function* filter(iterable, predicate) {\r\n for (const element of iterable) {\r\n if (predicate(element)) {\r\n yield element;\r\n }\r\n }\r\n }\r\n Iterable.filter = filter;\r\n function* map(iterable, fn) {\r\n for (const element of iterable) {\r\n yield fn(element);\r\n }\r\n }\r\n Iterable.map = map;\r\n function* concat(...iterables) {\r\n for (const iterable of iterables) {\r\n for (const element of iterable) {\r\n yield element;\r\n }\r\n }\r\n }\r\n Iterable.concat = concat;\r\n function* concatNested(iterables) {\r\n for (const iterable of iterables) {\r\n for (const element of iterable) {\r\n yield element;\r\n }\r\n }\r\n }\r\n Iterable.concatNested = concatNested;\r\n function reduce(iterable, reducer, initialValue) {\r\n let value = initialValue;\r\n for (const element of iterable) {\r\n value = reducer(value, element);\r\n }\r\n return value;\r\n }\r\n Iterable.reduce = reduce;\r\n /**\r\n * Returns an iterable slice of the array, with the same semantics as `array.slice()`.\r\n */\r\n function* slice(arr, from, to = arr.length) {\r\n if (from < 0) {\r\n from += arr.length;\r\n }\r\n if (to < 0) {\r\n to += arr.length;\r\n }\r\n else if (to > arr.length) {\r\n to = arr.length;\r\n }\r\n for (; from < to; from++) {\r\n yield arr[from];\r\n }\r\n }\r\n Iterable.slice = slice;\r\n /**\r\n * Consumes `atMost` elements from iterable and returns the consumed elements,\r\n * and an iterable for the rest of the elements.\r\n */\r\n function consume(iterable, atMost = Number.POSITIVE_INFINITY) {\r\n const consumed = [];\r\n if (atMost === 0) {\r\n return [consumed, iterable];\r\n }\r\n const iterator = iterable[Symbol.iterator]();\r\n for (let i = 0; i < atMost; i++) {\r\n const next = iterator.next();\r\n if (next.done) {\r\n return [consumed, Iterable.empty()];\r\n }\r\n consumed.push(next.value);\r\n }\r\n return [consumed, { [Symbol.iterator]() { return iterator; } }];\r\n }\r\n Iterable.consume = consume;\r\n /**\r\n * Returns whether the iterables are the same length and all items are\r\n * equal using the comparator function.\r\n */\r\n function equals(a, b, comparator = (at, bt) => at === bt) {\r\n const ai = a[Symbol.iterator]();\r\n const bi = b[Symbol.iterator]();\r\n while (true) {\r\n const an = ai.next();\r\n const bn = bi.next();\r\n if (an.done !== bn.done) {\r\n return false;\r\n }\r\n else if (an.done) {\r\n return true;\r\n }\r\n else if (!comparator(an.value, bn.value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n Iterable.equals = equals;\r\n})(Iterable || (Iterable = {}));\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/iterator.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KeyCodeUtils\": () => (/* binding */ KeyCodeUtils),\n/* harmony export */ \"KeyChord\": () => (/* binding */ KeyChord),\n/* harmony export */ \"createKeybinding\": () => (/* binding */ createKeybinding),\n/* harmony export */ \"createSimpleKeybinding\": () => (/* binding */ createSimpleKeybinding),\n/* harmony export */ \"SimpleKeybinding\": () => (/* binding */ SimpleKeybinding),\n/* harmony export */ \"ChordKeybinding\": () => (/* binding */ ChordKeybinding),\n/* harmony export */ \"ResolvedKeybindingPart\": () => (/* binding */ ResolvedKeybindingPart),\n/* harmony export */ \"ResolvedKeybinding\": () => (/* binding */ ResolvedKeybinding)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.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\nclass KeyCodeStrMap {\r\n constructor() {\r\n this._keyCodeToStr = [];\r\n this._strToKeyCode = Object.create(null);\r\n }\r\n define(keyCode, str) {\r\n this._keyCodeToStr[keyCode] = str;\r\n this._strToKeyCode[str.toLowerCase()] = keyCode;\r\n }\r\n keyCodeToStr(keyCode) {\r\n return this._keyCodeToStr[keyCode];\r\n }\r\n strToKeyCode(str) {\r\n return this._strToKeyCode[str.toLowerCase()] || 0 /* Unknown */;\r\n }\r\n}\r\nconst uiMap = new KeyCodeStrMap();\r\nconst userSettingsUSMap = new KeyCodeStrMap();\r\nconst userSettingsGeneralMap = new KeyCodeStrMap();\r\n(function () {\r\n function define(keyCode, uiLabel, usUserSettingsLabel = uiLabel, 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 const 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 const firstPart = (keybinding & 0x0000FFFF) >>> 0;\r\n const 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 const ctrlCmd = (keybinding & 2048 /* CtrlCmd */ ? true : false);\r\n const winCtrl = (keybinding & 256 /* WinCtrl */ ? true : false);\r\n const ctrlKey = (OS === 2 /* Macintosh */ ? winCtrl : ctrlCmd);\r\n const shiftKey = (keybinding & 1024 /* Shift */ ? true : false);\r\n const altKey = (keybinding & 512 /* Alt */ ? true : false);\r\n const metaKey = (OS === 2 /* Macintosh */ ? ctrlCmd : winCtrl);\r\n const keyCode = (keybinding & 255 /* KeyCode */);\r\n return new SimpleKeybinding(ctrlKey, shiftKey, altKey, metaKey, keyCode);\r\n}\r\nclass SimpleKeybinding {\r\n constructor(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 equals(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 isModifierKey() {\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 toChord() {\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 isDuplicateModifierCase() {\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}\r\nclass ChordKeybinding {\r\n constructor(parts) {\r\n if (parts.length === 0) {\r\n throw (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.illegalArgument)(`parts`);\r\n }\r\n this.parts = parts;\r\n }\r\n}\r\nclass ResolvedKeybindingPart {\r\n constructor(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}\r\n/**\r\n * A resolved keybinding. Can be a simple keybinding or a chord keybinding.\r\n */\r\nclass ResolvedKeybinding {\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js": /*!***************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ModifierLabelProvider\": () => (/* binding */ ModifierLabelProvider),\n/* harmony export */ \"UILabelProvider\": () => (/* binding */ UILabelProvider),\n/* harmony export */ \"AriaLabelProvider\": () => (/* binding */ AriaLabelProvider)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nclass ModifierLabelProvider {\r\n constructor(mac, windows, 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 toLabel(OS, parts, keyLabelProvider) {\r\n if (parts.length === 0) {\r\n return null;\r\n }\r\n const result = [];\r\n for (let i = 0, len = parts.length; i < len; i++) {\r\n const part = parts[i];\r\n const 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}\r\n/**\r\n * A label provider that prints modifiers in a suitable format for displaying in the UI.\r\n */\r\nconst UILabelProvider = new ModifierLabelProvider({\r\n ctrlKey: '⌃',\r\n shiftKey: '⇧',\r\n altKey: '⌥',\r\n metaKey: '⌘',\r\n separator: '',\r\n}, {\r\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey', comment: ['This is the short form for the Control key on the keyboard'] }, \"Ctrl\"),\r\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey', comment: ['This is the short form for the Shift key on the keyboard'] }, \"Shift\"),\r\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey', comment: ['This is the short form for the Alt key on the keyboard'] }, \"Alt\"),\r\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.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_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey', comment: ['This is the short form for the Control key on the keyboard'] }, \"Ctrl\"),\r\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey', comment: ['This is the short form for the Shift key on the keyboard'] }, \"Shift\"),\r\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey', comment: ['This is the short form for the Alt key on the keyboard'] }, \"Alt\"),\r\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.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\nconst AriaLabelProvider = new ModifierLabelProvider({\r\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\r\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\r\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\r\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.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_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\r\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\r\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\r\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.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_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\r\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\r\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\r\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.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 const 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 if (key !== '') {\r\n result.push(key);\r\n }\r\n return result.join(labels.separator);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/labels.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/labels.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getBaseLabel\": () => (/* binding */ getBaseLabel),\n/* harmony export */ \"normalizeDriveLetter\": () => (/* binding */ normalizeDriveLetter)\n/* harmony export */ });\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/* harmony import */ var _network_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _resources_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resources.js */ \"./node_modules/monaco-editor/esm/vs/base/common/resources.js\");\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.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\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.file(resource);\r\n }\r\n const base = (0,_resources_js__WEBPACK_IMPORTED_MODULE_3__.basename)(resource) || (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file ? resource.fsPath : resource.path) /* can be empty string if '/' is passed in */;\r\n // convert c: => C:\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_2__.isWindows && (0,_extpath_js__WEBPACK_IMPORTED_MODULE_4__.isRootOrDriveLetter)(base)) {\r\n return normalizeDriveLetter(base);\r\n }\r\n return base;\r\n}\r\nfunction normalizeDriveLetter(path) {\r\n if ((0,_extpath_js__WEBPACK_IMPORTED_MODULE_4__.hasDriveLetter)(path)) {\r\n return path.charAt(0).toUpperCase() + path.slice(1);\r\n }\r\n return path;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/labels.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/lazy.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/lazy.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Lazy\": () => (/* binding */ Lazy)\n/* harmony export */ });\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\nclass Lazy {\r\n constructor(executor) {\r\n this.executor = executor;\r\n this._didRun = false;\r\n }\r\n /**\r\n * Get the wrapped value.\r\n *\r\n * This will force evaluation of the lazy value if it has not been resolved yet. Lazy values are only\r\n * resolved once. `getValue` will re-throw exceptions that are hit while resolving the value\r\n */\r\n getValue() {\r\n if (!this._didRun) {\r\n try {\r\n this._value = this.executor();\r\n }\r\n catch (err) {\r\n this._error = err;\r\n }\r\n finally {\r\n this._didRun = true;\r\n }\r\n }\r\n if (this._error) {\r\n throw this._error;\r\n }\r\n return this._value;\r\n }\r\n /**\r\n * Get the wrapped value without forcing evaluation.\r\n */\r\n get rawValue() { return this._value; }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/lazy.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js": /*!********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"trackDisposable\": () => (/* binding */ trackDisposable),\n/* harmony export */ \"MultiDisposeError\": () => (/* binding */ MultiDisposeError),\n/* harmony export */ \"isDisposable\": () => (/* binding */ isDisposable),\n/* harmony export */ \"dispose\": () => (/* binding */ dispose),\n/* harmony export */ \"combinedDisposable\": () => (/* binding */ combinedDisposable),\n/* harmony export */ \"toDisposable\": () => (/* binding */ toDisposable),\n/* harmony export */ \"DisposableStore\": () => (/* binding */ DisposableStore),\n/* harmony export */ \"Disposable\": () => (/* binding */ Disposable),\n/* harmony export */ \"MutableDisposable\": () => (/* binding */ MutableDisposable),\n/* harmony export */ \"ImmortalReference\": () => (/* binding */ ImmortalReference)\n/* harmony export */ });\n/* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n\r\n/**\r\n * Enables logging of potentially leaked disposables.\r\n *\r\n * A disposable is considered leaked if it is not disposed or not registered as the child of\r\n * another disposable. This tracking is very simple an only works for classes that either\r\n * extend Disposable or use a DisposableStore. This means there are a lot of false positives.\r\n */\r\nconst TRACK_DISPOSABLES = false;\r\nlet disposableTracker = null;\r\nif (TRACK_DISPOSABLES) {\r\n const __is_disposable_tracked__ = '__is_disposable_tracked__';\r\n disposableTracker = new class {\r\n trackDisposable(x) {\r\n const stack = new Error('Potentially leaked disposable').stack;\r\n setTimeout(() => {\r\n if (!x[__is_disposable_tracked__]) {\r\n console.log(stack);\r\n }\r\n }, 3000);\r\n }\r\n markTracked(x) {\r\n if (x && x !== Disposable.None) {\r\n try {\r\n x[__is_disposable_tracked__] = true;\r\n }\r\n catch (_a) {\r\n // noop\r\n }\r\n }\r\n }\r\n };\r\n}\r\nfunction markTracked(x) {\r\n if (!disposableTracker) {\r\n return;\r\n }\r\n disposableTracker.markTracked(x);\r\n}\r\nfunction trackDisposable(x) {\r\n if (!disposableTracker) {\r\n return x;\r\n }\r\n disposableTracker.trackDisposable(x);\r\n return x;\r\n}\r\nclass MultiDisposeError extends Error {\r\n constructor(errors) {\r\n super(`Encountered errors while disposing of store. Errors: [${errors.join(', ')}]`);\r\n this.errors = errors;\r\n }\r\n}\r\nfunction isDisposable(thing) {\r\n return typeof thing.dispose === 'function' && thing.dispose.length === 0;\r\n}\r\nfunction dispose(arg) {\r\n if (_iterator_js__WEBPACK_IMPORTED_MODULE_0__.Iterable.is(arg)) {\r\n let errors = [];\r\n for (const d of arg) {\r\n if (d) {\r\n markTracked(d);\r\n try {\r\n d.dispose();\r\n }\r\n catch (e) {\r\n errors.push(e);\r\n }\r\n }\r\n }\r\n if (errors.length === 1) {\r\n throw errors[0];\r\n }\r\n else if (errors.length > 1) {\r\n throw new MultiDisposeError(errors);\r\n }\r\n return Array.isArray(arg) ? [] : arg;\r\n }\r\n else if (arg) {\r\n markTracked(arg);\r\n arg.dispose();\r\n return arg;\r\n }\r\n}\r\nfunction combinedDisposable(...disposables) {\r\n disposables.forEach(markTracked);\r\n return toDisposable(() => dispose(disposables));\r\n}\r\nfunction toDisposable(fn) {\r\n const self = trackDisposable({\r\n dispose: () => {\r\n markTracked(self);\r\n fn();\r\n }\r\n });\r\n return self;\r\n}\r\nclass DisposableStore {\r\n constructor() {\r\n this._toDispose = new Set();\r\n this._isDisposed = false;\r\n }\r\n /**\r\n * Dispose of all registered disposables and mark this object as disposed.\r\n *\r\n * Any future disposables added to this object will be disposed of on `add`.\r\n */\r\n dispose() {\r\n if (this._isDisposed) {\r\n return;\r\n }\r\n markTracked(this);\r\n this._isDisposed = true;\r\n this.clear();\r\n }\r\n /**\r\n * Dispose of all registered disposables but do not mark this object as disposed.\r\n */\r\n clear() {\r\n try {\r\n dispose(this._toDispose.values());\r\n }\r\n finally {\r\n this._toDispose.clear();\r\n }\r\n }\r\n add(t) {\r\n if (!t) {\r\n return t;\r\n }\r\n if (t === this) {\r\n throw new Error('Cannot register a disposable on itself!');\r\n }\r\n markTracked(t);\r\n if (this._isDisposed) {\r\n if (!DisposableStore.DISABLE_DISPOSED_WARNING) {\r\n console.warn(new Error('Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!').stack);\r\n }\r\n }\r\n else {\r\n this._toDispose.add(t);\r\n }\r\n return t;\r\n }\r\n}\r\nDisposableStore.DISABLE_DISPOSED_WARNING = false;\r\nclass Disposable {\r\n constructor() {\r\n this._store = new DisposableStore();\r\n trackDisposable(this);\r\n }\r\n dispose() {\r\n markTracked(this);\r\n this._store.dispose();\r\n }\r\n _register(t) {\r\n if (t === this) {\r\n throw new Error('Cannot register a disposable on itself!');\r\n }\r\n return this._store.add(t);\r\n }\r\n}\r\nDisposable.None = Object.freeze({ dispose() { } });\r\n/**\r\n * Manages the lifecycle of a disposable value that may be changed.\r\n *\r\n * This ensures that when the disposable value is changed, the previously held disposable is disposed of. You can\r\n * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.\r\n */\r\nclass MutableDisposable {\r\n constructor() {\r\n this._isDisposed = false;\r\n trackDisposable(this);\r\n }\r\n get value() {\r\n return this._isDisposed ? undefined : this._value;\r\n }\r\n set value(value) {\r\n var _a;\r\n if (this._isDisposed || value === this._value) {\r\n return;\r\n }\r\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\r\n if (value) {\r\n markTracked(value);\r\n }\r\n this._value = value;\r\n }\r\n clear() {\r\n this.value = undefined;\r\n }\r\n dispose() {\r\n var _a;\r\n this._isDisposed = true;\r\n markTracked(this);\r\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\r\n this._value = undefined;\r\n }\r\n}\r\nclass ImmortalReference {\r\n constructor(object) {\r\n this.object = object;\r\n }\r\n dispose() { }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/linkedList.js": /*!*********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/linkedList.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LinkedList\": () => (/* binding */ LinkedList)\n/* harmony export */ });\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\nclass Node {\r\n constructor(element) {\r\n this.element = element;\r\n this.next = Node.Undefined;\r\n this.prev = Node.Undefined;\r\n }\r\n}\r\nNode.Undefined = new Node(undefined);\r\nclass LinkedList {\r\n constructor() {\r\n this._first = Node.Undefined;\r\n this._last = Node.Undefined;\r\n this._size = 0;\r\n }\r\n get size() {\r\n return this._size;\r\n }\r\n isEmpty() {\r\n return this._first === Node.Undefined;\r\n }\r\n clear() {\r\n this._first = Node.Undefined;\r\n this._last = Node.Undefined;\r\n this._size = 0;\r\n }\r\n unshift(element) {\r\n return this._insert(element, false);\r\n }\r\n push(element) {\r\n return this._insert(element, true);\r\n }\r\n _insert(element, atTheEnd) {\r\n const 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 const 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 const 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 let didRemove = false;\r\n return () => {\r\n if (!didRemove) {\r\n didRemove = true;\r\n this._remove(newNode);\r\n }\r\n };\r\n }\r\n shift() {\r\n if (this._first === Node.Undefined) {\r\n return undefined;\r\n }\r\n else {\r\n const res = this._first.element;\r\n this._remove(this._first);\r\n return res;\r\n }\r\n }\r\n pop() {\r\n if (this._last === Node.Undefined) {\r\n return undefined;\r\n }\r\n else {\r\n const res = this._last.element;\r\n this._remove(this._last);\r\n return res;\r\n }\r\n }\r\n _remove(node) {\r\n if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {\r\n // middle\r\n const 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 *[Symbol.iterator]() {\r\n let node = this._first;\r\n while (node !== Node.Undefined) {\r\n yield node.element;\r\n node = node.next;\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/linkedList.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/map.js": /*!**************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/map.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StringIterator\": () => (/* binding */ StringIterator),\n/* harmony export */ \"ConfigKeysIterator\": () => (/* binding */ ConfigKeysIterator),\n/* harmony export */ \"PathIterator\": () => (/* binding */ PathIterator),\n/* harmony export */ \"UriIterator\": () => (/* binding */ UriIterator),\n/* harmony export */ \"TernarySearchTree\": () => (/* binding */ TernarySearchTree),\n/* harmony export */ \"ResourceMap\": () => (/* binding */ ResourceMap),\n/* harmony export */ \"LinkedMap\": () => (/* binding */ LinkedMap),\n/* harmony export */ \"LRUCache\": () => (/* binding */ LRUCache)\n/* harmony export */ });\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nclass StringIterator {\r\n constructor() {\r\n this._value = '';\r\n this._pos = 0;\r\n }\r\n reset(key) {\r\n this._value = key;\r\n this._pos = 0;\r\n return this;\r\n }\r\n next() {\r\n this._pos += 1;\r\n return this;\r\n }\r\n hasNext() {\r\n return this._pos < this._value.length - 1;\r\n }\r\n cmp(a) {\r\n const aCode = a.charCodeAt(0);\r\n const thisCode = this._value.charCodeAt(this._pos);\r\n return aCode - thisCode;\r\n }\r\n value() {\r\n return this._value[this._pos];\r\n }\r\n}\r\nclass ConfigKeysIterator {\r\n constructor(_caseSensitive = true) {\r\n this._caseSensitive = _caseSensitive;\r\n }\r\n reset(key) {\r\n this._value = key;\r\n this._from = 0;\r\n this._to = 0;\r\n return this.next();\r\n }\r\n hasNext() {\r\n return this._to < this._value.length;\r\n }\r\n next() {\r\n // this._data = key.split(/[\\\\/]/).filter(s => !!s);\r\n this._from = this._to;\r\n let justSeps = true;\r\n for (; this._to < this._value.length; this._to++) {\r\n const ch = this._value.charCodeAt(this._to);\r\n if (ch === 46 /* Period */) {\r\n if (justSeps) {\r\n this._from++;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else {\r\n justSeps = false;\r\n }\r\n }\r\n return this;\r\n }\r\n cmp(a) {\r\n return this._caseSensitive\r\n ? (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compareSubstring)(a, this._value, 0, a.length, this._from, this._to)\r\n : (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compareSubstringIgnoreCase)(a, this._value, 0, a.length, this._from, this._to);\r\n }\r\n value() {\r\n return this._value.substring(this._from, this._to);\r\n }\r\n}\r\nclass PathIterator {\r\n constructor(_splitOnBackslash = true, _caseSensitive = true) {\r\n this._splitOnBackslash = _splitOnBackslash;\r\n this._caseSensitive = _caseSensitive;\r\n }\r\n reset(key) {\r\n this._value = key.replace(/\\\\$|\\/$/, '');\r\n this._from = 0;\r\n this._to = 0;\r\n return this.next();\r\n }\r\n hasNext() {\r\n return this._to < this._value.length;\r\n }\r\n next() {\r\n // this._data = key.split(/[\\\\/]/).filter(s => !!s);\r\n this._from = this._to;\r\n let justSeps = true;\r\n for (; this._to < this._value.length; this._to++) {\r\n const ch = this._value.charCodeAt(this._to);\r\n if (ch === 47 /* Slash */ || this._splitOnBackslash && ch === 92 /* Backslash */) {\r\n if (justSeps) {\r\n this._from++;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else {\r\n justSeps = false;\r\n }\r\n }\r\n return this;\r\n }\r\n cmp(a) {\r\n return this._caseSensitive\r\n ? (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compareSubstring)(a, this._value, 0, a.length, this._from, this._to)\r\n : (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compareSubstringIgnoreCase)(a, this._value, 0, a.length, this._from, this._to);\r\n }\r\n value() {\r\n return this._value.substring(this._from, this._to);\r\n }\r\n}\r\nclass UriIterator {\r\n constructor(_ignorePathCasing) {\r\n this._ignorePathCasing = _ignorePathCasing;\r\n this._states = [];\r\n this._stateIdx = 0;\r\n }\r\n reset(key) {\r\n this._value = key;\r\n this._states = [];\r\n if (this._value.scheme) {\r\n this._states.push(1 /* Scheme */);\r\n }\r\n if (this._value.authority) {\r\n this._states.push(2 /* Authority */);\r\n }\r\n if (this._value.path) {\r\n this._pathIterator = new PathIterator(false, !this._ignorePathCasing(key));\r\n this._pathIterator.reset(key.path);\r\n if (this._pathIterator.value()) {\r\n this._states.push(3 /* Path */);\r\n }\r\n }\r\n if (this._value.query) {\r\n this._states.push(4 /* Query */);\r\n }\r\n if (this._value.fragment) {\r\n this._states.push(5 /* Fragment */);\r\n }\r\n this._stateIdx = 0;\r\n return this;\r\n }\r\n next() {\r\n if (this._states[this._stateIdx] === 3 /* Path */ && this._pathIterator.hasNext()) {\r\n this._pathIterator.next();\r\n }\r\n else {\r\n this._stateIdx += 1;\r\n }\r\n return this;\r\n }\r\n hasNext() {\r\n return (this._states[this._stateIdx] === 3 /* Path */ && this._pathIterator.hasNext())\r\n || this._stateIdx < this._states.length - 1;\r\n }\r\n cmp(a) {\r\n if (this._states[this._stateIdx] === 1 /* Scheme */) {\r\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compareIgnoreCase)(a, this._value.scheme);\r\n }\r\n else if (this._states[this._stateIdx] === 2 /* Authority */) {\r\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compareIgnoreCase)(a, this._value.authority);\r\n }\r\n else if (this._states[this._stateIdx] === 3 /* Path */) {\r\n return this._pathIterator.cmp(a);\r\n }\r\n else if (this._states[this._stateIdx] === 4 /* Query */) {\r\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compare)(a, this._value.query);\r\n }\r\n else if (this._states[this._stateIdx] === 5 /* Fragment */) {\r\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.compare)(a, this._value.fragment);\r\n }\r\n throw new Error();\r\n }\r\n value() {\r\n if (this._states[this._stateIdx] === 1 /* Scheme */) {\r\n return this._value.scheme;\r\n }\r\n else if (this._states[this._stateIdx] === 2 /* Authority */) {\r\n return this._value.authority;\r\n }\r\n else if (this._states[this._stateIdx] === 3 /* Path */) {\r\n return this._pathIterator.value();\r\n }\r\n else if (this._states[this._stateIdx] === 4 /* Query */) {\r\n return this._value.query;\r\n }\r\n else if (this._states[this._stateIdx] === 5 /* Fragment */) {\r\n return this._value.fragment;\r\n }\r\n throw new Error();\r\n }\r\n}\r\nclass TernarySearchTreeNode {\r\n isEmpty() {\r\n return !this.left && !this.mid && !this.right && !this.value;\r\n }\r\n}\r\nclass TernarySearchTree {\r\n constructor(segments) {\r\n this._iter = segments;\r\n }\r\n static forUris(ignorePathCasing = () => false) {\r\n return new TernarySearchTree(new UriIterator(ignorePathCasing));\r\n }\r\n static forStrings() {\r\n return new TernarySearchTree(new StringIterator());\r\n }\r\n static forConfigKeys() {\r\n return new TernarySearchTree(new ConfigKeysIterator());\r\n }\r\n clear() {\r\n this._root = undefined;\r\n }\r\n set(key, element) {\r\n const iter = this._iter.reset(key);\r\n let node;\r\n if (!this._root) {\r\n this._root = new TernarySearchTreeNode();\r\n this._root.segment = iter.value();\r\n }\r\n node = this._root;\r\n while (true) {\r\n const val = iter.cmp(node.segment);\r\n if (val > 0) {\r\n // left\r\n if (!node.left) {\r\n node.left = new TernarySearchTreeNode();\r\n node.left.segment = iter.value();\r\n }\r\n node = node.left;\r\n }\r\n else if (val < 0) {\r\n // right\r\n if (!node.right) {\r\n node.right = new TernarySearchTreeNode();\r\n node.right.segment = iter.value();\r\n }\r\n node = node.right;\r\n }\r\n else if (iter.hasNext()) {\r\n // mid\r\n iter.next();\r\n if (!node.mid) {\r\n node.mid = new TernarySearchTreeNode();\r\n node.mid.segment = iter.value();\r\n }\r\n node = node.mid;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n const oldElement = node.value;\r\n node.value = element;\r\n node.key = key;\r\n return oldElement;\r\n }\r\n get(key) {\r\n var _a;\r\n return (_a = this._getNode(key)) === null || _a === void 0 ? void 0 : _a.value;\r\n }\r\n _getNode(key) {\r\n const iter = this._iter.reset(key);\r\n let node = this._root;\r\n while (node) {\r\n const val = iter.cmp(node.segment);\r\n if (val > 0) {\r\n // left\r\n node = node.left;\r\n }\r\n else if (val < 0) {\r\n // right\r\n node = node.right;\r\n }\r\n else if (iter.hasNext()) {\r\n // mid\r\n iter.next();\r\n node = node.mid;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n return node;\r\n }\r\n has(key) {\r\n const node = this._getNode(key);\r\n return !((node === null || node === void 0 ? void 0 : node.value) === undefined && (node === null || node === void 0 ? void 0 : node.mid) === undefined);\r\n }\r\n delete(key) {\r\n return this._delete(key, false);\r\n }\r\n deleteSuperstr(key) {\r\n return this._delete(key, true);\r\n }\r\n _delete(key, superStr) {\r\n const iter = this._iter.reset(key);\r\n const stack = [];\r\n let node = this._root;\r\n // find and unset node\r\n while (node) {\r\n const val = iter.cmp(node.segment);\r\n if (val > 0) {\r\n // left\r\n stack.push([1, node]);\r\n node = node.left;\r\n }\r\n else if (val < 0) {\r\n // right\r\n stack.push([-1, node]);\r\n node = node.right;\r\n }\r\n else if (iter.hasNext()) {\r\n // mid\r\n iter.next();\r\n stack.push([0, node]);\r\n node = node.mid;\r\n }\r\n else {\r\n if (superStr) {\r\n // remove children\r\n node.left = undefined;\r\n node.mid = undefined;\r\n node.right = undefined;\r\n }\r\n else {\r\n // remove element\r\n node.value = undefined;\r\n }\r\n // clean up empty nodes\r\n while (stack.length > 0 && node.isEmpty()) {\r\n let [dir, parent] = stack.pop();\r\n switch (dir) {\r\n case 1:\r\n parent.left = undefined;\r\n break;\r\n case 0:\r\n parent.mid = undefined;\r\n break;\r\n case -1:\r\n parent.right = undefined;\r\n break;\r\n }\r\n node = parent;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n findSubstr(key) {\r\n const iter = this._iter.reset(key);\r\n let node = this._root;\r\n let candidate = undefined;\r\n while (node) {\r\n const val = iter.cmp(node.segment);\r\n if (val > 0) {\r\n // left\r\n node = node.left;\r\n }\r\n else if (val < 0) {\r\n // right\r\n node = node.right;\r\n }\r\n else if (iter.hasNext()) {\r\n // mid\r\n iter.next();\r\n candidate = node.value || candidate;\r\n node = node.mid;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n return node && node.value || candidate;\r\n }\r\n findSuperstr(key) {\r\n const iter = this._iter.reset(key);\r\n let node = this._root;\r\n while (node) {\r\n const val = iter.cmp(node.segment);\r\n if (val > 0) {\r\n // left\r\n node = node.left;\r\n }\r\n else if (val < 0) {\r\n // right\r\n node = node.right;\r\n }\r\n else if (iter.hasNext()) {\r\n // mid\r\n iter.next();\r\n node = node.mid;\r\n }\r\n else {\r\n // collect\r\n if (!node.mid) {\r\n return undefined;\r\n }\r\n else {\r\n return this._entries(node.mid);\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n forEach(callback) {\r\n for (const [key, value] of this) {\r\n callback(value, key);\r\n }\r\n }\r\n *[Symbol.iterator]() {\r\n yield* this._entries(this._root);\r\n }\r\n *_entries(node) {\r\n if (node) {\r\n // left\r\n yield* this._entries(node.left);\r\n // node\r\n if (node.value) {\r\n // callback(node.value, this._iter.join(parts));\r\n yield [node.key, node.value];\r\n }\r\n // mid\r\n yield* this._entries(node.mid);\r\n // right\r\n yield* this._entries(node.right);\r\n }\r\n }\r\n}\r\nclass ResourceMap {\r\n constructor(mapOrKeyFn, toKey) {\r\n this[Symbol.toStringTag] = 'ResourceMap';\r\n if (mapOrKeyFn instanceof ResourceMap) {\r\n this.map = new Map(mapOrKeyFn.map);\r\n this.toKey = toKey !== null && toKey !== void 0 ? toKey : ResourceMap.defaultToKey;\r\n }\r\n else {\r\n this.map = new Map();\r\n this.toKey = mapOrKeyFn !== null && mapOrKeyFn !== void 0 ? mapOrKeyFn : ResourceMap.defaultToKey;\r\n }\r\n }\r\n set(resource, value) {\r\n this.map.set(this.toKey(resource), value);\r\n return this;\r\n }\r\n get(resource) {\r\n return this.map.get(this.toKey(resource));\r\n }\r\n has(resource) {\r\n return this.map.has(this.toKey(resource));\r\n }\r\n get size() {\r\n return this.map.size;\r\n }\r\n clear() {\r\n this.map.clear();\r\n }\r\n delete(resource) {\r\n return this.map.delete(this.toKey(resource));\r\n }\r\n forEach(clb, thisArg) {\r\n if (typeof thisArg !== 'undefined') {\r\n clb = clb.bind(thisArg);\r\n }\r\n for (let [index, value] of this.map) {\r\n clb(value, _uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.parse(index), this);\r\n }\r\n }\r\n values() {\r\n return this.map.values();\r\n }\r\n *keys() {\r\n for (let key of this.map.keys()) {\r\n yield _uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.parse(key);\r\n }\r\n }\r\n *entries() {\r\n for (let tuple of this.map.entries()) {\r\n yield [_uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.parse(tuple[0]), tuple[1]];\r\n }\r\n }\r\n *[Symbol.iterator]() {\r\n for (let item of this.map) {\r\n yield [_uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.parse(item[0]), item[1]];\r\n }\r\n }\r\n}\r\nResourceMap.defaultToKey = (resource) => resource.toString();\r\nclass LinkedMap {\r\n constructor() {\r\n this[Symbol.toStringTag] = 'LinkedMap';\r\n this._map = new Map();\r\n this._head = undefined;\r\n this._tail = undefined;\r\n this._size = 0;\r\n this._state = 0;\r\n }\r\n clear() {\r\n this._map.clear();\r\n this._head = undefined;\r\n this._tail = undefined;\r\n this._size = 0;\r\n this._state++;\r\n }\r\n isEmpty() {\r\n return !this._head && !this._tail;\r\n }\r\n get size() {\r\n return this._size;\r\n }\r\n get first() {\r\n var _a;\r\n return (_a = this._head) === null || _a === void 0 ? void 0 : _a.value;\r\n }\r\n get last() {\r\n var _a;\r\n return (_a = this._tail) === null || _a === void 0 ? void 0 : _a.value;\r\n }\r\n has(key) {\r\n return this._map.has(key);\r\n }\r\n get(key, touch = 0 /* None */) {\r\n const item = this._map.get(key);\r\n if (!item) {\r\n return undefined;\r\n }\r\n if (touch !== 0 /* None */) {\r\n this.touch(item, touch);\r\n }\r\n return item.value;\r\n }\r\n set(key, value, touch = 0 /* None */) {\r\n let item = this._map.get(key);\r\n if (item) {\r\n item.value = value;\r\n if (touch !== 0 /* None */) {\r\n this.touch(item, touch);\r\n }\r\n }\r\n else {\r\n item = { key, value, next: undefined, previous: undefined };\r\n switch (touch) {\r\n case 0 /* None */:\r\n this.addItemLast(item);\r\n break;\r\n case 1 /* AsOld */:\r\n this.addItemFirst(item);\r\n break;\r\n case 2 /* AsNew */:\r\n this.addItemLast(item);\r\n break;\r\n default:\r\n this.addItemLast(item);\r\n break;\r\n }\r\n this._map.set(key, item);\r\n this._size++;\r\n }\r\n return this;\r\n }\r\n delete(key) {\r\n return !!this.remove(key);\r\n }\r\n remove(key) {\r\n const item = this._map.get(key);\r\n if (!item) {\r\n return undefined;\r\n }\r\n this._map.delete(key);\r\n this.removeItem(item);\r\n this._size--;\r\n return item.value;\r\n }\r\n shift() {\r\n if (!this._head && !this._tail) {\r\n return undefined;\r\n }\r\n if (!this._head || !this._tail) {\r\n throw new Error('Invalid list');\r\n }\r\n const item = this._head;\r\n this._map.delete(item.key);\r\n this.removeItem(item);\r\n this._size--;\r\n return item.value;\r\n }\r\n forEach(callbackfn, thisArg) {\r\n const state = this._state;\r\n let current = this._head;\r\n while (current) {\r\n if (thisArg) {\r\n callbackfn.bind(thisArg)(current.value, current.key, this);\r\n }\r\n else {\r\n callbackfn(current.value, current.key, this);\r\n }\r\n if (this._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n current = current.next;\r\n }\r\n }\r\n keys() {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next() {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: current.key, done: false };\r\n current = current.next;\r\n return result;\r\n }\r\n else {\r\n return { value: undefined, done: true };\r\n }\r\n }\r\n };\r\n return iterator;\r\n }\r\n values() {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next() {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: current.value, done: false };\r\n current = current.next;\r\n return result;\r\n }\r\n else {\r\n return { value: undefined, done: true };\r\n }\r\n }\r\n };\r\n return iterator;\r\n }\r\n entries() {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next() {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: [current.key, current.value], done: false };\r\n current = current.next;\r\n return result;\r\n }\r\n else {\r\n return { value: undefined, done: true };\r\n }\r\n }\r\n };\r\n return iterator;\r\n }\r\n [Symbol.iterator]() {\r\n return this.entries();\r\n }\r\n trimOld(newSize) {\r\n if (newSize >= this.size) {\r\n return;\r\n }\r\n if (newSize === 0) {\r\n this.clear();\r\n return;\r\n }\r\n let current = this._head;\r\n let currentSize = this.size;\r\n while (current && currentSize > newSize) {\r\n this._map.delete(current.key);\r\n current = current.next;\r\n currentSize--;\r\n }\r\n this._head = current;\r\n this._size = currentSize;\r\n if (current) {\r\n current.previous = undefined;\r\n }\r\n this._state++;\r\n }\r\n addItemFirst(item) {\r\n // First time Insert\r\n if (!this._head && !this._tail) {\r\n this._tail = item;\r\n }\r\n else if (!this._head) {\r\n throw new Error('Invalid list');\r\n }\r\n else {\r\n item.next = this._head;\r\n this._head.previous = item;\r\n }\r\n this._head = item;\r\n this._state++;\r\n }\r\n addItemLast(item) {\r\n // First time Insert\r\n if (!this._head && !this._tail) {\r\n this._head = item;\r\n }\r\n else if (!this._tail) {\r\n throw new Error('Invalid list');\r\n }\r\n else {\r\n item.previous = this._tail;\r\n this._tail.next = item;\r\n }\r\n this._tail = item;\r\n this._state++;\r\n }\r\n removeItem(item) {\r\n if (item === this._head && item === this._tail) {\r\n this._head = undefined;\r\n this._tail = undefined;\r\n }\r\n else if (item === this._head) {\r\n // This can only happend if size === 1 which is handle\r\n // by the case above.\r\n if (!item.next) {\r\n throw new Error('Invalid list');\r\n }\r\n item.next.previous = undefined;\r\n this._head = item.next;\r\n }\r\n else if (item === this._tail) {\r\n // This can only happend if size === 1 which is handle\r\n // by the case above.\r\n if (!item.previous) {\r\n throw new Error('Invalid list');\r\n }\r\n item.previous.next = undefined;\r\n this._tail = item.previous;\r\n }\r\n else {\r\n const next = item.next;\r\n const previous = item.previous;\r\n if (!next || !previous) {\r\n throw new Error('Invalid list');\r\n }\r\n next.previous = previous;\r\n previous.next = next;\r\n }\r\n item.next = undefined;\r\n item.previous = undefined;\r\n this._state++;\r\n }\r\n touch(item, touch) {\r\n if (!this._head || !this._tail) {\r\n throw new Error('Invalid list');\r\n }\r\n if ((touch !== 1 /* AsOld */ && touch !== 2 /* AsNew */)) {\r\n return;\r\n }\r\n if (touch === 1 /* AsOld */) {\r\n if (item === this._head) {\r\n return;\r\n }\r\n const next = item.next;\r\n const previous = item.previous;\r\n // Unlink the item\r\n if (item === this._tail) {\r\n // previous must be defined since item was not head but is tail\r\n // So there are more than on item in the map\r\n previous.next = undefined;\r\n this._tail = previous;\r\n }\r\n else {\r\n // Both next and previous are not undefined since item was neither head nor tail.\r\n next.previous = previous;\r\n previous.next = next;\r\n }\r\n // Insert the node at head\r\n item.previous = undefined;\r\n item.next = this._head;\r\n this._head.previous = item;\r\n this._head = item;\r\n this._state++;\r\n }\r\n else if (touch === 2 /* AsNew */) {\r\n if (item === this._tail) {\r\n return;\r\n }\r\n const next = item.next;\r\n const previous = item.previous;\r\n // Unlink the item.\r\n if (item === this._head) {\r\n // next must be defined since item was not tail but is head\r\n // So there are more than on item in the map\r\n next.previous = undefined;\r\n this._head = next;\r\n }\r\n else {\r\n // Both next and previous are not undefined since item was neither head nor tail.\r\n next.previous = previous;\r\n previous.next = next;\r\n }\r\n item.next = undefined;\r\n item.previous = this._tail;\r\n this._tail.next = item;\r\n this._tail = item;\r\n this._state++;\r\n }\r\n }\r\n toJSON() {\r\n const data = [];\r\n this.forEach((value, key) => {\r\n data.push([key, value]);\r\n });\r\n return data;\r\n }\r\n fromJSON(data) {\r\n this.clear();\r\n for (const [key, value] of data) {\r\n this.set(key, value);\r\n }\r\n }\r\n}\r\nclass LRUCache extends LinkedMap {\r\n constructor(limit, ratio = 1) {\r\n super();\r\n this._limit = limit;\r\n this._ratio = Math.min(Math.max(0, ratio), 1);\r\n }\r\n get limit() {\r\n return this._limit;\r\n }\r\n set limit(limit) {\r\n this._limit = limit;\r\n this.checkTrim();\r\n }\r\n get(key, touch = 2 /* AsNew */) {\r\n return super.get(key, touch);\r\n }\r\n peek(key) {\r\n return super.get(key, 0 /* None */);\r\n }\r\n set(key, value) {\r\n super.set(key, value, 2 /* AsNew */);\r\n this.checkTrim();\r\n return this;\r\n }\r\n checkTrim() {\r\n if (this.size > this._limit) {\r\n this.trimOld(Math.round(this._limit * this._ratio));\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/map.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js": /*!************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js ***! \************************************************************************/ /***/ (function(module) { eval("/**\n * marked - a markdown parser\n * Copyright (c) 2011-2021, 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 0;\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) {\n var module = { exports: {} };\n \treturn 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\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 } // copied from https://stackoverflow.com/a/5450113/806777\n\n\n function repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\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 repeatString: repeatString\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) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,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 var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim$1(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text\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 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 bcurr,\n bnext,\n addBack,\n loose,\n istask,\n ischecked;\n var l = itemMatch.length;\n bcurr = this.rules.block.listItemStart.exec(itemMatch[0]);\n\n for (var i = 0; i < l; i++) {\n item = itemMatch[i];\n raw = item; // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n\n if (i !== l - 1) {\n bnext = this.rules.block.listItemStart.exec(itemMatch[i + 1]);\n\n if (!this.options.pedantic ? bnext[1].length > bcurr[0].length || bnext[1].length > 3 : bnext[1].length > bcurr[1].length) {\n // nested list\n itemMatch.splice(i, 2, itemMatch[i] + '\\n' + itemMatch[i + 1]);\n i--;\n l--;\n continue;\n } else {\n if ( // different bullet style\n !this.options.pedantic || this.options.smartLists ? bnext[2][bnext[2].length - 1] !== bull[bull.length - 1] : isordered === (bnext[2].length === 1)) {\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 }\n\n bcurr = bnext;\n } // Remove the list item's bullet\n // so it is seen as the next token.\n\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 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 if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\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) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\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 trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim$1(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\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\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return 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 }\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 return outputLink(cap, link, cap[0]);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return;\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength); // Bump maskedSrc to same section of string as src (move to lexer?)\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // matched the first alternative in rules.js (skip the * in __abc*abc__)\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // If this is the last rDelimiter, remove extra characters. *a*** -> *a*\n\n if (delimTotal + midDelimTotal - rLength <= 0 && !maskedSrc.slice(endReg.lastIndex).match(endReg)) {\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n }\n\n if (Math.min(lLength, rLength) % 2) {\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: src.slice(1, lLength + match.index + rLength)\n };\n }\n\n if (Math.min(lLength, rLength) % 2 === 0) {\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: src.slice(2, lLength + match.index + rLength - 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 = /^ /.test(text) && / $/.test(text);\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[2]\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|$))*)?)+/,\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})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?! {0,3}bull )\\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]+)*)/,\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(?! *bull ?)[^\\n]*)*/;\n block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.listItemStart = edit$1(/^( *)(bull)/).replace('bull', 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 = /|$)/;\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 + ' {0,3}([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)',\n // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' {0,3}\\\\|?( *[-:]+[-| :]*)' // 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 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 emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip other delimiter (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /\\_\\_[^_]*?\\*[^_]*?\\_\\_|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /\\*\\*[^*]*?\\_[^*]*?\\*\\*|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest$1,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\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 = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline._comment = edit$1(block._comment).replace('(?:-->|$)', '-->').getRegex();\n inline.emStrong.lDelim = edit$1(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimAst = edit$1(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimUnd = edit$1(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).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', inline._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\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~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|[\\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 * Static Lex Inline Method\n */\n ;\n\n Lexer.lexInline = function lexInline(src, options) {\n var lexer = new Lexer(options);\n return lexer.inlineTokens(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 if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, '');\n }\n\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)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n } else {\n tokens.push(token);\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)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n } else {\n tokens.push(token);\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) {\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 var token, lastToken; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match;\n var keepPrevChar, prevChar; // 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) + '[' + repeatString$1('a', 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) + '[' + repeatString$1('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n } // Mask out escaped em & strong delimiters\n\n\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n\n keepPrevChar = false; // escape\n\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 var _lastToken = tokens[tokens.length - 1];\n\n if (_lastToken && token.type === 'text' && _lastToken.type === 'text') {\n _lastToken.raw += token.raw;\n _lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\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 var _lastToken2 = tokens[tokens.length - 1];\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n tokens.push(token);\n } else if (_lastToken2 && token.type === 'text' && _lastToken2.type === 'text') {\n _lastToken2.raw += token.raw;\n _lastToken2.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // em & strong\n\n\n if (token = this.tokenizer.emStrong(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\n if (token.raw.slice(-1) !== '_') {\n // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\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 _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 _code = _code.replace(/\\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 var _proto = Slugger.prototype;\n\n _proto.serialize = function serialize(value) {\n return 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 /**\n * Finds the next safe (unique) slug to use\n */\n ;\n\n _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {\n var slug = originalSlug;\n var occurenceAccumulator = 0;\n\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n\n return slug;\n }\n /**\n * Convert string to unique id\n * @param {object} options\n * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.\n */\n ;\n\n _proto.slug = function slug(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\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 * Static Parse Inline Method\n */\n ;\n\n Parser.parseInline = function parseInline(tokens, options) {\n var parser = new Parser(options);\n return parser.parseInline(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 * Parse Inline\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n try {\n var tokens = Lexer_1.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser_1.parseInline(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 * 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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/marshalling.js": /*!**********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/marshalling.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"parse\": () => (/* binding */ parse),\n/* harmony export */ \"revive\": () => (/* binding */ revive)\n/* harmony export */ });\n/* harmony import */ var _buffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./buffer.js */ \"./node_modules/monaco-editor/esm/vs/base/common/buffer.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.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 parse(text) {\r\n let data = JSON.parse(text);\r\n data = revive(data);\r\n return data;\r\n}\r\nfunction revive(obj, depth = 0) {\r\n if (!obj || depth > 200) {\r\n return obj;\r\n }\r\n if (typeof obj === 'object') {\r\n switch (obj.$mid) {\r\n case 1: return _uri_js__WEBPACK_IMPORTED_MODULE_1__.URI.revive(obj);\r\n case 2: return new RegExp(obj.source, obj.flags);\r\n }\r\n if (obj instanceof _buffer_js__WEBPACK_IMPORTED_MODULE_0__.VSBuffer\r\n || obj instanceof Uint8Array) {\r\n return obj;\r\n }\r\n if (Array.isArray(obj)) {\r\n for (let i = 0; i < obj.length; ++i) {\r\n obj[i] = revive(obj[i], depth + 1);\r\n }\r\n }\r\n else {\r\n // walk object\r\n for (const key in obj) {\r\n if (Object.hasOwnProperty.call(obj, key)) {\r\n obj[key] = revive(obj[key], depth + 1);\r\n }\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/marshalling.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/mime.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/mime.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MIME_TEXT\": () => (/* binding */ MIME_TEXT),\n/* harmony export */ \"MIME_UNKNOWN\": () => (/* binding */ MIME_UNKNOWN),\n/* harmony export */ \"registerTextMime\": () => (/* binding */ registerTextMime),\n/* harmony export */ \"guessMimeTypes\": () => (/* binding */ guessMimeTypes)\n/* harmony export */ });\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _glob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./glob.js */ \"./node_modules/monaco-editor/esm/vs/base/common/glob.js\");\n/* harmony import */ var _network_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _resources_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resources.js */ \"./node_modules/monaco-editor/esm/vs/base/common/resources.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\nconst MIME_TEXT = 'text/plain';\r\nconst MIME_UNKNOWN = 'application/unknown';\r\nlet registeredAssociations = [];\r\nlet nonUserRegisteredAssociations = [];\r\nlet userRegisteredAssociations = [];\r\n/**\r\n * Associate a text mime to the registry.\r\n */\r\nfunction registerTextMime(association, warnOnOverwrite = false) {\r\n // Register\r\n const 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(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(_path_js__WEBPACK_IMPORTED_MODULE_0__.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 let path;\r\n if (resource) {\r\n switch (resource.scheme) {\r\n case _network_js__WEBPACK_IMPORTED_MODULE_3__.Schemas.file:\r\n path = resource.fsPath;\r\n break;\r\n case _network_js__WEBPACK_IMPORTED_MODULE_3__.Schemas.data:\r\n const metadata = _resources_js__WEBPACK_IMPORTED_MODULE_4__.DataUri.parseMetaData(resource);\r\n path = metadata.get(_resources_js__WEBPACK_IMPORTED_MODULE_4__.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 const filename = (0,_path_js__WEBPACK_IMPORTED_MODULE_0__.basename)(path);\r\n // 1.) User configured mappings have highest priority\r\n const 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 const 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 const 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 let filenameMatch = null;\r\n let patternMatch = null;\r\n let 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 (let i = associations.length - 1; i >= 0; i--) {\r\n const 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 const target = association.filepatternOnPath ? path : filename; // match on full path if pattern contains path separator\r\n if ((0,_glob_js__WEBPACK_IMPORTED_MODULE_2__.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 (filename.endsWith(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 ((0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.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 (let i = registeredAssociations.length - 1; i >= 0; i--) {\r\n const association = registeredAssociations[i];\r\n if (!association.firstline) {\r\n continue;\r\n }\r\n const 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\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/mime.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/navigator.js": /*!********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/navigator.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ArrayNavigator\": () => (/* binding */ ArrayNavigator)\n/* harmony export */ });\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\nclass ArrayNavigator {\r\n constructor(items, start = 0, end = items.length, 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 current() {\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 next() {\r\n this.index = Math.min(this.index + 1, this.end);\r\n return this.current();\r\n }\r\n previous() {\r\n this.index = Math.max(this.index - 1, this.start - 1);\r\n return this.current();\r\n }\r\n first() {\r\n this.index = this.start;\r\n return this.current();\r\n }\r\n last() {\r\n this.index = this.end - 1;\r\n return this.current();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/navigator.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/network.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/network.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Schemas\": () => (/* binding */ Schemas),\n/* harmony export */ \"RemoteAuthorities\": () => (/* binding */ RemoteAuthorities),\n/* harmony export */ \"FileAccess\": () => (/* binding */ FileAccess)\n/* harmony export */ });\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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 Schemas;\r\n(function (Schemas) {\r\n /**\r\n * A schema that is used for models that exist in memory\r\n * only and that have no correspondence on a server or such.\r\n */\r\n Schemas.inMemory = 'inmemory';\r\n /**\r\n * A schema that is used for setting files\r\n */\r\n Schemas.vscode = 'vscode';\r\n /**\r\n * A schema that is used for internal private files\r\n */\r\n Schemas.internal = 'private';\r\n /**\r\n * A walk-through document.\r\n */\r\n Schemas.walkThrough = 'walkThrough';\r\n /**\r\n * An embedded code snippet.\r\n */\r\n Schemas.walkThroughSnippet = 'walkThroughSnippet';\r\n Schemas.http = 'http';\r\n Schemas.https = 'https';\r\n Schemas.file = 'file';\r\n Schemas.mailto = 'mailto';\r\n Schemas.untitled = 'untitled';\r\n Schemas.data = 'data';\r\n Schemas.command = 'command';\r\n Schemas.vscodeRemote = 'vscode-remote';\r\n Schemas.vscodeRemoteResource = 'vscode-remote-resource';\r\n Schemas.userData = 'vscode-userdata';\r\n Schemas.vscodeCustomEditor = 'vscode-custom-editor';\r\n Schemas.vscodeNotebook = 'vscode-notebook';\r\n Schemas.vscodeNotebookCell = 'vscode-notebook-cell';\r\n Schemas.vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\r\n Schemas.vscodeSettings = 'vscode-settings';\r\n Schemas.vscodeWorkspaceTrust = 'vscode-workspace-trust';\r\n Schemas.webviewPanel = 'webview-panel';\r\n /**\r\n * Scheme used for loading the wrapper html and script in webviews.\r\n */\r\n Schemas.vscodeWebview = 'vscode-webview';\r\n /**\r\n * Scheme used for loading resources inside of webviews.\r\n */\r\n Schemas.vscodeWebviewResource = 'vscode-webview-resource';\r\n /**\r\n * Scheme used for extension pages\r\n */\r\n Schemas.extension = 'extension';\r\n /**\r\n * Scheme used as a replacement of `file` scheme to load\r\n * files with our custom protocol handler (desktop only).\r\n */\r\n Schemas.vscodeFileResource = 'vscode-file';\r\n})(Schemas || (Schemas = {}));\r\nclass RemoteAuthoritiesImpl {\r\n constructor() {\r\n this._hosts = Object.create(null);\r\n this._ports = Object.create(null);\r\n this._connectionTokens = Object.create(null);\r\n this._preferredWebSchema = 'http';\r\n this._delegate = null;\r\n }\r\n setPreferredWebSchema(schema) {\r\n this._preferredWebSchema = schema;\r\n }\r\n rewrite(uri) {\r\n if (this._delegate) {\r\n return this._delegate(uri);\r\n }\r\n const authority = uri.authority;\r\n let host = this._hosts[authority];\r\n if (host && host.indexOf(':') !== -1) {\r\n host = `[${host}]`;\r\n }\r\n const port = this._ports[authority];\r\n const connectionToken = this._connectionTokens[authority];\r\n let query = `path=${encodeURIComponent(uri.path)}`;\r\n if (typeof connectionToken === 'string') {\r\n query += `&tkn=${encodeURIComponent(connectionToken)}`;\r\n }\r\n return _uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.from({\r\n scheme: _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\r\n authority: `${host}:${port}`,\r\n path: `/vscode-remote-resource`,\r\n query\r\n });\r\n }\r\n}\r\nconst RemoteAuthorities = new RemoteAuthoritiesImpl();\r\nclass FileAccessImpl {\r\n constructor() {\r\n this.FALLBACK_AUTHORITY = 'vscode-app';\r\n }\r\n asBrowserUri(uriOrModule, moduleIdToUrl, __forceCodeFileUri) {\r\n const uri = this.toUri(uriOrModule, moduleIdToUrl);\r\n // Handle remote URIs via `RemoteAuthorities`\r\n if (uri.scheme === Schemas.vscodeRemote) {\r\n return RemoteAuthorities.rewrite(uri);\r\n }\r\n // Only convert the URI if we are in a native context and it has `file:` scheme\r\n // and we have explicitly enabled the conversion (sandbox, or ENABLE_VSCODE_BROWSER_CODE_LOADING)\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative && (__forceCodeFileUri || _platform_js__WEBPACK_IMPORTED_MODULE_1__.isPreferringBrowserCodeLoad) && uri.scheme === Schemas.file) {\r\n return uri.with({\r\n scheme: Schemas.vscodeFileResource,\r\n // We need to provide an authority here so that it can serve\r\n // as origin for network and loading matters in chromium.\r\n // If the URI is not coming with an authority already, we\r\n // add our own\r\n authority: uri.authority || this.FALLBACK_AUTHORITY,\r\n query: null,\r\n fragment: null\r\n });\r\n }\r\n return uri;\r\n }\r\n toUri(uriOrModule, moduleIdToUrl) {\r\n if (_uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.isUri(uriOrModule)) {\r\n return uriOrModule;\r\n }\r\n return _uri_js__WEBPACK_IMPORTED_MODULE_0__.URI.parse(moduleIdToUrl.toUrl(uriOrModule));\r\n }\r\n}\r\nconst FileAccess = new FileAccessImpl();\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/network.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/numbers.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/numbers.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clamp\": () => (/* binding */ clamp),\n/* harmony export */ \"MovingAverage\": () => (/* binding */ MovingAverage)\n/* harmony export */ });\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 clamp(value, min, max) {\r\n return Math.min(Math.max(value, min), max);\r\n}\r\nclass MovingAverage {\r\n constructor() {\r\n this._n = 1;\r\n this._val = 0;\r\n }\r\n update(value) {\r\n this._val = this._val + (value - this._val) / this._n;\r\n this._n += 1;\r\n return this;\r\n }\r\n get value() {\r\n return this._val;\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/numbers.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/objects.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/objects.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"deepClone\": () => (/* binding */ deepClone),\n/* harmony export */ \"deepFreeze\": () => (/* binding */ deepFreeze),\n/* harmony export */ \"cloneAndChange\": () => (/* binding */ cloneAndChange),\n/* harmony export */ \"mixin\": () => (/* binding */ mixin),\n/* harmony export */ \"equals\": () => (/* binding */ equals),\n/* harmony export */ \"getOrDefault\": () => (/* binding */ getOrDefault)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.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\nfunction deepClone(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n if (obj instanceof RegExp) {\r\n // See https://github.com/microsoft/TypeScript/issues/10990\r\n return obj;\r\n }\r\n const result = Array.isArray(obj) ? [] : {};\r\n Object.keys(obj).forEach((key) => {\r\n if (obj[key] && typeof obj[key] === 'object') {\r\n result[key] = deepClone(obj[key]);\r\n }\r\n else {\r\n result[key] = obj[key];\r\n }\r\n });\r\n return result;\r\n}\r\nfunction deepFreeze(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n const stack = [obj];\r\n while (stack.length > 0) {\r\n const obj = stack.shift();\r\n Object.freeze(obj);\r\n for (const key in obj) {\r\n if (_hasOwnProperty.call(obj, key)) {\r\n const prop = obj[key];\r\n if (typeof prop === 'object' && !Object.isFrozen(prop)) {\r\n stack.push(prop);\r\n }\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\r\nfunction cloneAndChange(obj, changer) {\r\n return _cloneAndChange(obj, changer, new Set());\r\n}\r\nfunction _cloneAndChange(obj, changer, seen) {\r\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isUndefinedOrNull)(obj)) {\r\n return obj;\r\n }\r\n const changed = changer(obj);\r\n if (typeof changed !== 'undefined') {\r\n return changed;\r\n }\r\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(obj)) {\r\n const r1 = [];\r\n for (const e of obj) {\r\n r1.push(_cloneAndChange(e, changer, seen));\r\n }\r\n return r1;\r\n }\r\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(obj)) {\r\n if (seen.has(obj)) {\r\n throw new Error('Cannot clone recursive data-structure');\r\n }\r\n seen.add(obj);\r\n const r2 = {};\r\n for (let i2 in obj) {\r\n if (_hasOwnProperty.call(obj, i2)) {\r\n r2[i2] = _cloneAndChange(obj[i2], changer, seen);\r\n }\r\n }\r\n seen.delete(obj);\r\n return r2;\r\n }\r\n return obj;\r\n}\r\n/**\r\n * Copies all properties of source into destination. The optional parameter \"overwrite\" allows to control\r\n * if existing properties on the destination should be overwritten or not. Defaults to true (overwrite).\r\n */\r\nfunction mixin(destination, source, overwrite = true) {\r\n if (!(0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(destination)) {\r\n return source;\r\n }\r\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(source)) {\r\n Object.keys(source).forEach(key => {\r\n if (key in destination) {\r\n if (overwrite) {\r\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(destination[key]) && (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(source[key])) {\r\n mixin(destination[key], source[key], overwrite);\r\n }\r\n else {\r\n destination[key] = source[key];\r\n }\r\n }\r\n }\r\n else {\r\n destination[key] = source[key];\r\n }\r\n });\r\n }\r\n return destination;\r\n}\r\nfunction equals(one, other) {\r\n if (one === other) {\r\n return true;\r\n }\r\n if (one === null || one === undefined || other === null || other === undefined) {\r\n return false;\r\n }\r\n if (typeof one !== typeof other) {\r\n return false;\r\n }\r\n if (typeof one !== 'object') {\r\n return false;\r\n }\r\n if ((Array.isArray(one)) !== (Array.isArray(other))) {\r\n return false;\r\n }\r\n let i;\r\n let key;\r\n if (Array.isArray(one)) {\r\n if (one.length !== other.length) {\r\n return false;\r\n }\r\n for (i = 0; i < one.length; i++) {\r\n if (!equals(one[i], other[i])) {\r\n return false;\r\n }\r\n }\r\n }\r\n else {\r\n const oneKeys = [];\r\n for (key in one) {\r\n oneKeys.push(key);\r\n }\r\n oneKeys.sort();\r\n const otherKeys = [];\r\n for (key in other) {\r\n otherKeys.push(key);\r\n }\r\n otherKeys.sort();\r\n if (!equals(oneKeys, otherKeys)) {\r\n return false;\r\n }\r\n for (i = 0; i < oneKeys.length; i++) {\r\n if (!equals(one[oneKeys[i]], other[oneKeys[i]])) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\nfunction getOrDefault(obj, fn, defaultValue) {\r\n const result = fn(obj);\r\n return typeof result === 'undefined' ? defaultValue : result;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/objects.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/path.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/path.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"win32\": () => (/* binding */ win32),\n/* harmony export */ \"posix\": () => (/* binding */ posix),\n/* harmony export */ \"normalize\": () => (/* binding */ normalize),\n/* harmony export */ \"resolve\": () => (/* binding */ resolve),\n/* harmony export */ \"relative\": () => (/* binding */ relative),\n/* harmony export */ \"dirname\": () => (/* binding */ dirname),\n/* harmony export */ \"basename\": () => (/* binding */ basename),\n/* harmony export */ \"extname\": () => (/* binding */ extname),\n/* harmony export */ \"sep\": () => (/* binding */ sep)\n/* harmony export */ });\n/* harmony import */ var _process_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./process.js */ \"./node_modules/monaco-editor/esm/vs/base/common/process.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// 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/blob/v12.8.1/lib/path.js\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\nconst CHAR_UPPERCASE_A = 65; /* A */\r\nconst CHAR_LOWERCASE_A = 97; /* a */\r\nconst CHAR_UPPERCASE_Z = 90; /* Z */\r\nconst CHAR_LOWERCASE_Z = 122; /* z */\r\nconst CHAR_DOT = 46; /* . */\r\nconst CHAR_FORWARD_SLASH = 47; /* / */\r\nconst CHAR_BACKWARD_SLASH = 92; /* \\ */\r\nconst CHAR_COLON = 58; /* : */\r\nconst CHAR_QUESTION_MARK = 63; /* ? */\r\nclass ErrorInvalidArgType extends Error {\r\n constructor(name, expected, actual) {\r\n // determiner: 'must be' or 'must not be'\r\n let 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 const type = name.indexOf('.') !== -1 ? 'property' : 'argument';\r\n let msg = `The \"${name}\" ${type} ${determiner} of type ${expected}`;\r\n msg += `. Received type ${typeof actual}`;\r\n super(msg);\r\n this.code = 'ERR_INVALID_ARG_TYPE';\r\n }\r\n}\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 let res = '';\r\n let lastSegmentLength = 0;\r\n let lastSlash = -1;\r\n let dots = 0;\r\n let code = 0;\r\n for (let 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 (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 const 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 !== 0) {\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 res += res.length > 0 ? `${separator}..` : '..';\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 if (pathObject === null || typeof pathObject !== 'object') {\r\n throw new ErrorInvalidArgType('pathObject', 'Object', pathObject);\r\n }\r\n const dir = pathObject.dir || pathObject.root;\r\n const base = pathObject.base ||\r\n `${pathObject.name || ''}${pathObject.ext || ''}`;\r\n if (!dir) {\r\n return base;\r\n }\r\n return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep}${base}`;\r\n}\r\nconst win32 = {\r\n // path.resolve([from ...], to)\r\n resolve(...pathSegments) {\r\n let resolvedDevice = '';\r\n let resolvedTail = '';\r\n let resolvedAbsolute = false;\r\n for (let i = pathSegments.length - 1; i >= -1; i--) {\r\n let path;\r\n if (i >= 0) {\r\n path = pathSegments[i];\r\n validateString(path, 'path');\r\n // Skip empty entries\r\n if (path.length === 0) {\r\n continue;\r\n }\r\n }\r\n else if (resolvedDevice.length === 0) {\r\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\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[`=${resolvedDevice}`] || _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\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, 2).toLowerCase() !== resolvedDevice.toLowerCase() &&\r\n path.charCodeAt(2) === CHAR_BACKWARD_SLASH) {\r\n path = `${resolvedDevice}\\\\`;\r\n }\r\n }\r\n const len = path.length;\r\n let rootEnd = 0;\r\n let device = '';\r\n let isAbsolute = false;\r\n const code = path.charCodeAt(0);\r\n // Try to match a root\r\n if (len === 1) {\r\n if (isPathSeparator(code)) {\r\n // `path` contains just a path separator\r\n rootEnd = 1;\r\n isAbsolute = true;\r\n }\r\n }\r\n else 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 let j = 2;\r\n let last = j;\r\n // Match 1 or more non-path separators\r\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\r\n }\r\n if (j < len && j !== last) {\r\n const firstPart = path.slice(last, j);\r\n // Matched!\r\n last = j;\r\n // Match 1 or more path separators\r\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\r\n }\r\n if (j === len || j !== last) {\r\n // We matched a UNC root\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 path.charCodeAt(1) === CHAR_COLON) {\r\n // Possible device root\r\n device = path.slice(0, 2);\r\n rootEnd = 2;\r\n if (len > 2 && 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 if (device.length > 0) {\r\n if (resolvedDevice.length > 0) {\r\n if (device.toLowerCase() !== resolvedDevice.toLowerCase()) {\r\n // This path points to another device so it is not applicable\r\n continue;\r\n }\r\n }\r\n else {\r\n resolvedDevice = device;\r\n }\r\n }\r\n if (resolvedAbsolute) {\r\n if (resolvedDevice.length > 0) {\r\n break;\r\n }\r\n }\r\n else {\r\n resolvedTail = `${path.slice(rootEnd)}\\\\${resolvedTail}`;\r\n resolvedAbsolute = isAbsolute;\r\n if (isAbsolute && resolvedDevice.length > 0) {\r\n break;\r\n }\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 resolvedAbsolute ?\r\n `${resolvedDevice}\\\\${resolvedTail}` :\r\n `${resolvedDevice}${resolvedTail}` || '.';\r\n },\r\n normalize(path) {\r\n validateString(path, 'path');\r\n const len = path.length;\r\n if (len === 0) {\r\n return '.';\r\n }\r\n let rootEnd = 0;\r\n let device;\r\n let isAbsolute = false;\r\n const code = path.charCodeAt(0);\r\n // Try to match a root\r\n if (len === 1) {\r\n // `path` contains just a single char, exit early to avoid\r\n // unnecessary work\r\n return isPosixPathSeparator(code) ? '\\\\' : path;\r\n }\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 let j = 2;\r\n let last = j;\r\n // Match 1 or more non-path separators\r\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\r\n }\r\n if (j < len && j !== last) {\r\n const firstPart = path.slice(last, j);\r\n // Matched!\r\n last = j;\r\n // Match 1 or more path separators\r\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 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) && path.charCodeAt(1) === CHAR_COLON) {\r\n // Possible device root\r\n device = path.slice(0, 2);\r\n rootEnd = 2;\r\n if (len > 2 && 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 let tail = rootEnd < len ?\r\n normalizeString(path.slice(rootEnd), !isAbsolute, '\\\\', isPathSeparator) :\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 return isAbsolute ? `\\\\${tail}` : tail;\r\n }\r\n return isAbsolute ? `${device}\\\\${tail}` : `${device}${tail}`;\r\n },\r\n isAbsolute(path) {\r\n validateString(path, 'path');\r\n const len = path.length;\r\n if (len === 0) {\r\n return false;\r\n }\r\n const code = path.charCodeAt(0);\r\n return isPathSeparator(code) ||\r\n // Possible device root\r\n len > 2 &&\r\n isWindowsDeviceRoot(code) &&\r\n path.charCodeAt(1) === CHAR_COLON &&\r\n isPathSeparator(path.charCodeAt(2));\r\n },\r\n join(...paths) {\r\n if (paths.length === 0) {\r\n return '.';\r\n }\r\n let joined;\r\n let firstPart;\r\n for (let i = 0; i < paths.length; ++i) {\r\n const 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 let needsReplace = true;\r\n let slashCount = 0;\r\n if (typeof firstPart === 'string' && isPathSeparator(firstPart.charCodeAt(0))) {\r\n ++slashCount;\r\n const firstLen = firstPart.length;\r\n if (firstLen > 1 && 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 if (needsReplace) {\r\n // Find any more consecutive slashes we need to replace\r\n while (slashCount < joined.length &&\r\n isPathSeparator(joined.charCodeAt(slashCount))) {\r\n slashCount++;\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(from, to) {\r\n validateString(from, 'from');\r\n validateString(to, 'to');\r\n if (from === to) {\r\n return '';\r\n }\r\n const fromOrig = win32.resolve(from);\r\n const 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 let fromStart = 0;\r\n while (fromStart < from.length &&\r\n from.charCodeAt(fromStart) === CHAR_BACKWARD_SLASH) {\r\n fromStart++;\r\n }\r\n // Trim trailing backslashes (applicable to UNC paths only)\r\n let fromEnd = from.length;\r\n while (fromEnd - 1 > fromStart &&\r\n from.charCodeAt(fromEnd - 1) === CHAR_BACKWARD_SLASH) {\r\n fromEnd--;\r\n }\r\n const fromLen = fromEnd - fromStart;\r\n // Trim any leading backslashes\r\n let toStart = 0;\r\n while (toStart < to.length &&\r\n to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\r\n toStart++;\r\n }\r\n // Trim trailing backslashes (applicable to UNC paths only)\r\n let toEnd = to.length;\r\n while (toEnd - 1 > toStart &&\r\n to.charCodeAt(toEnd - 1) === CHAR_BACKWARD_SLASH) {\r\n toEnd--;\r\n }\r\n const toLen = toEnd - toStart;\r\n // Compare paths to find the longest common path from root\r\n const length = fromLen < toLen ? fromLen : toLen;\r\n let lastCommonSep = -1;\r\n let i = 0;\r\n for (; i < length; i++) {\r\n const fromCode = from.charCodeAt(fromStart + i);\r\n if (fromCode !== to.charCodeAt(toStart + i)) {\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) {\r\n if (lastCommonSep === -1) {\r\n return toOrig;\r\n }\r\n }\r\n else {\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 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 if (lastCommonSep === -1) {\r\n lastCommonSep = 0;\r\n }\r\n }\r\n let out = '';\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 out += out.length === 0 ? '..' : '\\\\..';\r\n }\r\n }\r\n toStart += lastCommonSep;\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, toEnd)}`;\r\n }\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 toNamespacedPath(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 const resolvedPath = win32.resolve(path);\r\n if (resolvedPath.length <= 2) {\r\n return path;\r\n }\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 const 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 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 return path;\r\n },\r\n dirname(path) {\r\n validateString(path, 'path');\r\n const len = path.length;\r\n if (len === 0) {\r\n return '.';\r\n }\r\n let rootEnd = -1;\r\n let offset = 0;\r\n const code = path.charCodeAt(0);\r\n if (len === 1) {\r\n // `path` contains just a path separator, exit early to avoid\r\n // unnecessary work or a dot.\r\n return isPathSeparator(code) ? path : '.';\r\n }\r\n // Try to match a root\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 let j = 2;\r\n let last = j;\r\n // Match 1 or more non-path separators\r\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 while (j < len && isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 // Possible device root\r\n }\r\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\r\n rootEnd = len > 2 && isPathSeparator(path.charCodeAt(2)) ? 3 : 2;\r\n offset = rootEnd;\r\n }\r\n let end = -1;\r\n let matchedSlash = true;\r\n for (let 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 end = rootEnd;\r\n }\r\n return path.slice(0, end);\r\n },\r\n basename(path, ext) {\r\n if (ext !== undefined) {\r\n validateString(ext, 'ext');\r\n }\r\n validateString(path, 'path');\r\n let start = 0;\r\n let end = -1;\r\n let matchedSlash = true;\r\n let 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 isWindowsDeviceRoot(path.charCodeAt(0)) &&\r\n path.charCodeAt(1) === CHAR_COLON) {\r\n start = 2;\r\n }\r\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\r\n if (ext === path) {\r\n return '';\r\n }\r\n let extIdx = ext.length - 1;\r\n let firstNonSlashEnd = -1;\r\n for (i = path.length - 1; i >= start; --i) {\r\n const 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 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 extname(path) {\r\n validateString(path, 'path');\r\n let start = 0;\r\n let startDot = -1;\r\n let startPart = 0;\r\n let end = -1;\r\n let 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 let 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 (let i = path.length - 1; i >= start; --i) {\r\n const 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: _format.bind(null, '\\\\'),\r\n parse(path) {\r\n validateString(path, 'path');\r\n const ret = { root: '', dir: '', base: '', ext: '', name: '' };\r\n if (path.length === 0) {\r\n return ret;\r\n }\r\n const len = path.length;\r\n let rootEnd = 0;\r\n let code = path.charCodeAt(0);\r\n if (len === 1) {\r\n 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 ret.base = ret.name = path;\r\n return ret;\r\n }\r\n // Try to match a root\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 let j = 2;\r\n let last = j;\r\n // Match 1 or more non-path separators\r\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 while (j < len && isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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 while (j < len && !isPathSeparator(path.charCodeAt(j))) {\r\n j++;\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) && path.charCodeAt(1) === CHAR_COLON) {\r\n // Possible device root\r\n if (len <= 2) {\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 = 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 if (rootEnd > 0) {\r\n ret.root = path.slice(0, rootEnd);\r\n }\r\n let startDot = -1;\r\n let startPart = rootEnd;\r\n let end = -1;\r\n let matchedSlash = true;\r\n let 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 let 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 (end !== -1) {\r\n if (startDot === -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 ret.base = ret.name = path.slice(startPart, end);\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 }\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\nconst posix = {\r\n // path.resolve([from ...], to)\r\n resolve(...pathSegments) {\r\n let resolvedPath = '';\r\n let resolvedAbsolute = false;\r\n for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\r\n const path = i >= 0 ? pathSegments[i] : _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\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 return `/${resolvedPath}`;\r\n }\r\n return resolvedPath.length > 0 ? resolvedPath : '.';\r\n },\r\n normalize(path) {\r\n validateString(path, 'path');\r\n if (path.length === 0) {\r\n return '.';\r\n }\r\n const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n const 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) {\r\n if (isAbsolute) {\r\n return '/';\r\n }\r\n return trailingSeparator ? './' : '.';\r\n }\r\n if (trailingSeparator) {\r\n path += '/';\r\n }\r\n return isAbsolute ? `/${path}` : path;\r\n },\r\n isAbsolute(path) {\r\n validateString(path, 'path');\r\n return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n },\r\n join(...paths) {\r\n if (paths.length === 0) {\r\n return '.';\r\n }\r\n let joined;\r\n for (let i = 0; i < paths.length; ++i) {\r\n const arg = paths[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(from, to) {\r\n validateString(from, 'from');\r\n validateString(to, 'to');\r\n if (from === to) {\r\n return '';\r\n }\r\n // Trim leading forward slashes.\r\n from = posix.resolve(from);\r\n to = posix.resolve(to);\r\n if (from === to) {\r\n return '';\r\n }\r\n const fromStart = 1;\r\n const fromEnd = from.length;\r\n const fromLen = fromEnd - fromStart;\r\n const toStart = 1;\r\n const toLen = to.length - toStart;\r\n // Compare paths to find the longest common path from root\r\n const length = (fromLen < toLen ? fromLen : toLen);\r\n let lastCommonSep = -1;\r\n let i = 0;\r\n for (; i < length; i++) {\r\n const fromCode = from.charCodeAt(fromStart + i);\r\n if (fromCode !== to.charCodeAt(toStart + i)) {\r\n break;\r\n }\r\n else if (fromCode === CHAR_FORWARD_SLASH) {\r\n lastCommonSep = i;\r\n }\r\n }\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 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/bar'; to='/'\r\n lastCommonSep = 0;\r\n }\r\n }\r\n }\r\n let 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 out += out.length === 0 ? '..' : '/..';\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 return `${out}${to.slice(toStart + lastCommonSep)}`;\r\n },\r\n toNamespacedPath(path) {\r\n // Non-op on posix systems\r\n return path;\r\n },\r\n dirname(path) {\r\n validateString(path, 'path');\r\n if (path.length === 0) {\r\n return '.';\r\n }\r\n const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n let end = -1;\r\n let matchedSlash = true;\r\n for (let 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(path, ext) {\r\n if (ext !== undefined) {\r\n validateString(ext, 'ext');\r\n }\r\n validateString(path, 'path');\r\n let start = 0;\r\n let end = -1;\r\n let matchedSlash = true;\r\n let i;\r\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\r\n if (ext === path) {\r\n return '';\r\n }\r\n let extIdx = ext.length - 1;\r\n let firstNonSlashEnd = -1;\r\n for (i = path.length - 1; i >= 0; --i) {\r\n const 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 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 extname(path) {\r\n validateString(path, 'path');\r\n let startDot = -1;\r\n let startPart = 0;\r\n let end = -1;\r\n let 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 let preDotState = 0;\r\n for (let i = path.length - 1; i >= 0; --i) {\r\n const 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: _format.bind(null, '/'),\r\n parse(path) {\r\n validateString(path, 'path');\r\n const ret = { root: '', dir: '', base: '', ext: '', name: '' };\r\n if (path.length === 0) {\r\n return ret;\r\n }\r\n const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\r\n let 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 let startDot = -1;\r\n let startPart = 0;\r\n let end = -1;\r\n let matchedSlash = true;\r\n let 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 let preDotState = 0;\r\n // Get non-dir info\r\n for (; i >= start; --i) {\r\n const 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 (end !== -1) {\r\n const start = startPart === 0 && isAbsolute ? 1 : startPart;\r\n if (startDot === -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 ret.base = ret.name = path.slice(start, end);\r\n }\r\n else {\r\n ret.name = path.slice(start, startDot);\r\n ret.base = path.slice(start, end);\r\n ret.ext = path.slice(startDot, end);\r\n }\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\nconst normalize = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.normalize : posix.normalize);\r\nconst resolve = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.resolve : posix.resolve);\r\nconst relative = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.relative : posix.relative);\r\nconst dirname = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.dirname : posix.dirname);\r\nconst basename = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.basename : posix.basename);\r\nconst extname = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.extname : posix.extname);\r\nconst sep = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32' ? win32.sep : posix.sep);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/path.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/platform.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/platform.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isElectronSandboxed\": () => (/* binding */ isElectronSandboxed),\n/* harmony export */ \"browserCodeLoadingCacheStrategy\": () => (/* binding */ browserCodeLoadingCacheStrategy),\n/* harmony export */ \"isPreferringBrowserCodeLoad\": () => (/* binding */ isPreferringBrowserCodeLoad),\n/* harmony export */ \"isWindows\": () => (/* binding */ isWindows),\n/* harmony export */ \"isMacintosh\": () => (/* binding */ isMacintosh),\n/* harmony export */ \"isLinux\": () => (/* binding */ isLinux),\n/* harmony export */ \"isNative\": () => (/* binding */ isNative),\n/* harmony export */ \"isWeb\": () => (/* binding */ isWeb),\n/* harmony export */ \"isIOS\": () => (/* binding */ isIOS),\n/* harmony export */ \"userAgent\": () => (/* binding */ userAgent),\n/* harmony export */ \"globals\": () => (/* binding */ globals),\n/* harmony export */ \"setImmediate\": () => (/* binding */ setImmediate),\n/* harmony export */ \"OS\": () => (/* binding */ OS),\n/* harmony export */ \"isLittleEndian\": () => (/* binding */ isLittleEndian)\n/* harmony export */ });\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 _a;\r\nconst LANGUAGE_DEFAULT = 'en';\r\nlet _isWindows = false;\r\nlet _isMacintosh = false;\r\nlet _isLinux = false;\r\nlet _isLinuxSnap = false;\r\nlet _isNative = false;\r\nlet _isWeb = false;\r\nlet _isIOS = false;\r\nlet _locale = undefined;\r\nlet _language = LANGUAGE_DEFAULT;\r\nlet _translationsConfigFile = undefined;\r\nlet _userAgent = undefined;\r\nconst _globals = (typeof self === 'object' ? self : typeof __webpack_require__.g === 'object' ? __webpack_require__.g : {});\r\nlet nodeProcess = undefined;\r\nif (typeof process !== 'undefined') {\r\n // Native environment (non-sandboxed)\r\n nodeProcess = process;\r\n}\r\nelse if (typeof _globals.vscode !== 'undefined') {\r\n // Native environment (sandboxed)\r\n nodeProcess = _globals.vscode.process;\r\n}\r\nconst isElectronRenderer = typeof ((_a = nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.versions) === null || _a === void 0 ? void 0 : _a.electron) === 'string' && nodeProcess.type === 'renderer';\r\nconst isElectronSandboxed = isElectronRenderer && (nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.sandboxed);\r\nconst browserCodeLoadingCacheStrategy = (() => {\r\n // Always enabled when sandbox is enabled\r\n if (isElectronSandboxed) {\r\n return 'bypassHeatCheck';\r\n }\r\n // Otherwise, only enabled conditionally\r\n const env = nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.env['ENABLE_VSCODE_BROWSER_CODE_LOADING'];\r\n if (typeof env === 'string') {\r\n if (env === 'none' || env === 'code' || env === 'bypassHeatCheck' || env === 'bypassHeatCheckAndEagerCompile') {\r\n return env;\r\n }\r\n return 'bypassHeatCheck';\r\n }\r\n return undefined;\r\n})();\r\nconst isPreferringBrowserCodeLoad = typeof browserCodeLoadingCacheStrategy === 'string';\r\n// Web environment\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 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 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\n// Native environment\r\nelse if (typeof nodeProcess === 'object') {\r\n _isWindows = (nodeProcess.platform === 'win32');\r\n _isMacintosh = (nodeProcess.platform === 'darwin');\r\n _isLinux = (nodeProcess.platform === 'linux');\r\n _isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\r\n _locale = LANGUAGE_DEFAULT;\r\n _language = LANGUAGE_DEFAULT;\r\n const rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\r\n if (rawNlsConfig) {\r\n try {\r\n const nlsConfig = JSON.parse(rawNlsConfig);\r\n const 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\n// Unknown environment\r\nelse {\r\n console.error('Unable to resolve platform.');\r\n}\r\nlet _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\nconst isWindows = _isWindows;\r\nconst isMacintosh = _isMacintosh;\r\nconst isLinux = _isLinux;\r\nconst isNative = _isNative;\r\nconst isWeb = _isWeb;\r\nconst isIOS = _isIOS;\r\nconst userAgent = _userAgent;\r\nconst globals = _globals;\r\nconst 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 let pending = [];\r\n globals.addEventListener('message', (e) => {\r\n if (e.data && e.data.vscodeSetImmediateId) {\r\n for (let i = 0, len = pending.length; i < len; i++) {\r\n const candidate = pending[i];\r\n if (candidate.id === e.data.vscodeSetImmediateId) {\r\n pending.splice(i, 1);\r\n candidate.callback();\r\n return;\r\n }\r\n }\r\n }\r\n });\r\n let lastId = 0;\r\n return (callback) => {\r\n const myId = ++lastId;\r\n pending.push({\r\n id: myId,\r\n callback: callback\r\n });\r\n globals.postMessage({ vscodeSetImmediateId: myId }, '*');\r\n };\r\n }\r\n if (nodeProcess && typeof nodeProcess.nextTick === 'function') {\r\n return nodeProcess.nextTick.bind(nodeProcess);\r\n }\r\n const _promise = Promise.resolve();\r\n return (callback) => _promise.then(callback);\r\n})();\r\nconst OS = (_isMacintosh || _isIOS ? 2 /* Macintosh */ : (_isWindows ? 1 /* Windows */ : 3 /* Linux */));\r\nlet _isLittleEndian = true;\r\nlet _isLittleEndianComputed = false;\r\nfunction isLittleEndian() {\r\n if (!_isLittleEndianComputed) {\r\n _isLittleEndianComputed = true;\r\n const test = new Uint8Array(2);\r\n test[0] = 1;\r\n test[1] = 2;\r\n const view = new Uint16Array(test.buffer);\r\n _isLittleEndian = (view[0] === (2 << 8) + 1);\r\n }\r\n return _isLittleEndian;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/platform.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/process.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/process.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cwd\": () => (/* binding */ cwd),\n/* harmony export */ \"env\": () => (/* binding */ env),\n/* harmony export */ \"platform\": () => (/* binding */ platform)\n/* harmony export */ });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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\nlet safeProcess;\r\n// Native node.js environment\r\nif (typeof process !== 'undefined') {\r\n safeProcess = process;\r\n}\r\n// Native sandbox environment\r\nelse if (typeof _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode !== 'undefined') {\r\n safeProcess = {\r\n // Supported\r\n get platform() { return _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process.platform; },\r\n get env() { return _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process.env; },\r\n nextTick(callback) { return (0,_platform_js__WEBPACK_IMPORTED_MODULE_0__.setImmediate)(callback); },\r\n // Unsupported\r\n cwd() { return _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process.env.VSCODE_CWD || _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process.execPath.substr(0, _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process.execPath.lastIndexOf(_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process.platform === 'win32' ? '\\\\' : '/')); }\r\n };\r\n}\r\n// Web environment\r\nelse {\r\n safeProcess = {\r\n // Supported\r\n get platform() { return _platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows ? 'win32' : _platform_js__WEBPACK_IMPORTED_MODULE_0__.isMacintosh ? 'darwin' : 'linux'; },\r\n nextTick(callback) { return (0,_platform_js__WEBPACK_IMPORTED_MODULE_0__.setImmediate)(callback); },\r\n // Unsupported\r\n get env() { return Object.create(null); },\r\n cwd() { return '/'; }\r\n };\r\n}\r\nconst cwd = safeProcess.cwd;\r\nconst env = safeProcess.env;\r\nconst platform = safeProcess.platform;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/process.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/range.js": /*!****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/range.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Range\": () => (/* binding */ Range)\n/* harmony export */ });\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 Range;\r\n(function (Range) {\r\n /**\r\n * Returns the intersection between two ranges as a range itself.\r\n * Returns `{ start: 0, end: 0 }` if the intersection is empty.\r\n */\r\n function intersect(one, other) {\r\n if (one.start >= other.end || other.start >= one.end) {\r\n return { start: 0, end: 0 };\r\n }\r\n const start = Math.max(one.start, other.start);\r\n const end = Math.min(one.end, other.end);\r\n if (end - start <= 0) {\r\n return { start: 0, end: 0 };\r\n }\r\n return { start, end };\r\n }\r\n Range.intersect = intersect;\r\n function isEmpty(range) {\r\n return range.end - range.start <= 0;\r\n }\r\n Range.isEmpty = isEmpty;\r\n function intersects(one, other) {\r\n return !isEmpty(intersect(one, other));\r\n }\r\n Range.intersects = intersects;\r\n function relativeComplement(one, other) {\r\n const result = [];\r\n const first = { start: one.start, end: Math.min(other.start, one.end) };\r\n const second = { start: Math.max(other.end, one.start), end: one.end };\r\n if (!isEmpty(first)) {\r\n result.push(first);\r\n }\r\n if (!isEmpty(second)) {\r\n result.push(second);\r\n }\r\n return result;\r\n }\r\n Range.relativeComplement = relativeComplement;\r\n})(Range || (Range = {}));\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/range.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/resources.js": /*!********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/resources.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"originalFSPath\": () => (/* binding */ originalFSPath),\n/* harmony export */ \"ExtUri\": () => (/* binding */ ExtUri),\n/* harmony export */ \"extUri\": () => (/* binding */ extUri),\n/* harmony export */ \"isEqual\": () => (/* binding */ isEqual),\n/* harmony export */ \"basenameOrAuthority\": () => (/* binding */ basenameOrAuthority),\n/* harmony export */ \"basename\": () => (/* binding */ basename),\n/* harmony export */ \"dirname\": () => (/* binding */ dirname),\n/* harmony export */ \"joinPath\": () => (/* binding */ joinPath),\n/* harmony export */ \"normalizePath\": () => (/* binding */ normalizePath),\n/* harmony export */ \"resolvePath\": () => (/* binding */ resolvePath),\n/* harmony export */ \"DataUri\": () => (/* binding */ DataUri)\n/* harmony export */ });\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _network_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.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\nfunction originalFSPath(uri) {\r\n return (0,_uri_js__WEBPACK_IMPORTED_MODULE_2__.uriToFsPath)(uri, true);\r\n}\r\nclass ExtUri {\r\n constructor(_ignorePathCasing) {\r\n this._ignorePathCasing = _ignorePathCasing;\r\n }\r\n compare(uri1, uri2, ignoreFragment = false) {\r\n if (uri1 === uri2) {\r\n return 0;\r\n }\r\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_3__.compare)(this.getComparisonKey(uri1, ignoreFragment), this.getComparisonKey(uri2, ignoreFragment));\r\n }\r\n isEqual(uri1, uri2, ignoreFragment = false) {\r\n if (uri1 === uri2) {\r\n return true;\r\n }\r\n if (!uri1 || !uri2) {\r\n return false;\r\n }\r\n return this.getComparisonKey(uri1, ignoreFragment) === this.getComparisonKey(uri2, ignoreFragment);\r\n }\r\n getComparisonKey(uri, ignoreFragment = false) {\r\n return uri.with({\r\n path: this._ignorePathCasing(uri) ? uri.path.toLowerCase() : undefined,\r\n fragment: ignoreFragment ? null : undefined\r\n }).toString();\r\n }\r\n // --- path math\r\n joinPath(resource, ...pathFragment) {\r\n return _uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.joinPath(resource, ...pathFragment);\r\n }\r\n basenameOrAuthority(resource) {\r\n return basename(resource) || resource.authority;\r\n }\r\n basename(resource) {\r\n return _path_js__WEBPACK_IMPORTED_MODULE_1__.posix.basename(resource.path);\r\n }\r\n dirname(resource) {\r\n if (resource.path.length === 0) {\r\n return resource;\r\n }\r\n let dirname;\r\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_4__.Schemas.file) {\r\n dirname = _uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_1__.dirname(originalFSPath(resource))).path;\r\n }\r\n else {\r\n dirname = _path_js__WEBPACK_IMPORTED_MODULE_1__.posix.dirname(resource.path);\r\n if (resource.authority && dirname.length && dirname.charCodeAt(0) !== 47 /* Slash */) {\r\n console.error(`dirname(\"${resource.toString})) resulted in a relative path`);\r\n dirname = '/'; // If a URI contains an authority component, then the path component must either be empty or begin with a CharCode.Slash (\"/\") character\r\n }\r\n }\r\n return resource.with({\r\n path: dirname\r\n });\r\n }\r\n normalizePath(resource) {\r\n if (!resource.path.length) {\r\n return resource;\r\n }\r\n let normalizedPath;\r\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_4__.Schemas.file) {\r\n normalizedPath = _uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_1__.normalize(originalFSPath(resource))).path;\r\n }\r\n else {\r\n normalizedPath = _path_js__WEBPACK_IMPORTED_MODULE_1__.posix.normalize(resource.path);\r\n }\r\n return resource.with({\r\n path: normalizedPath\r\n });\r\n }\r\n resolvePath(base, path) {\r\n if (base.scheme === _network_js__WEBPACK_IMPORTED_MODULE_4__.Schemas.file) {\r\n const newURI = _uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_1__.resolve(originalFSPath(base), path));\r\n return base.with({\r\n authority: newURI.authority,\r\n path: newURI.path\r\n });\r\n }\r\n if (path.indexOf('/') === -1) { // no slashes? it's likely a Windows path\r\n path = _extpath_js__WEBPACK_IMPORTED_MODULE_0__.toSlashes(path);\r\n if (/^[a-zA-Z]:(\\/|$)/.test(path)) { // starts with a drive letter\r\n path = '/' + path;\r\n }\r\n }\r\n return base.with({\r\n path: _path_js__WEBPACK_IMPORTED_MODULE_1__.posix.resolve(base.path, path)\r\n });\r\n }\r\n}\r\n/**\r\n * Unbiased utility that takes uris \"as they are\". This means it can be interchanged with\r\n * uri#toString() usages. The following is true\r\n * ```\r\n * assertEqual(aUri.toString() === bUri.toString(), exturi.isEqual(aUri, bUri))\r\n * ```\r\n */\r\nconst extUri = new ExtUri(() => false);\r\nconst isEqual = extUri.isEqual.bind(extUri);\r\nconst basenameOrAuthority = extUri.basenameOrAuthority.bind(extUri);\r\nconst basename = extUri.basename.bind(extUri);\r\nconst dirname = extUri.dirname.bind(extUri);\r\nconst joinPath = extUri.joinPath.bind(extUri);\r\nconst normalizePath = extUri.normalizePath.bind(extUri);\r\nconst resolvePath = extUri.resolvePath.bind(extUri);\r\n/**\r\n * Data URI related helpers.\r\n */\r\nvar DataUri;\r\n(function (DataUri) {\r\n DataUri.META_DATA_LABEL = 'label';\r\n DataUri.META_DATA_DESCRIPTION = 'description';\r\n DataUri.META_DATA_SIZE = 'size';\r\n DataUri.META_DATA_MIME = 'mime';\r\n function parseMetaData(dataUri) {\r\n const metadata = new Map();\r\n // Given a URI of: data:image/png;size:2313;label:SomeLabel;description:SomeDescription;base64,77+9UE5...\r\n // the metadata is: size:2313;label:SomeLabel;description:SomeDescription\r\n const meta = dataUri.path.substring(dataUri.path.indexOf(';') + 1, dataUri.path.lastIndexOf(';'));\r\n meta.split(';').forEach(property => {\r\n const [key, value] = property.split(':');\r\n if (key && value) {\r\n metadata.set(key, value);\r\n }\r\n });\r\n // Given a URI of: data:image/png;size:2313;label:SomeLabel;description:SomeDescription;base64,77+9UE5...\r\n // the mime is: image/png\r\n const mime = dataUri.path.substring(0, dataUri.path.indexOf(';'));\r\n if (mime) {\r\n metadata.set(DataUri.META_DATA_MIME, mime);\r\n }\r\n return metadata;\r\n }\r\n DataUri.parseMetaData = parseMetaData;\r\n})(DataUri || (DataUri = {}));\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/resources.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/scrollable.js": /*!*********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/scrollable.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ScrollState\": () => (/* binding */ ScrollState),\n/* harmony export */ \"Scrollable\": () => (/* binding */ Scrollable),\n/* harmony export */ \"SmoothScrollingUpdate\": () => (/* binding */ SmoothScrollingUpdate),\n/* harmony export */ \"SmoothScrollingOperation\": () => (/* binding */ SmoothScrollingOperation)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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\nclass ScrollState {\r\n constructor(width, scrollWidth, scrollLeft, height, scrollHeight, scrollTop) {\r\n width = width | 0;\r\n scrollWidth = scrollWidth | 0;\r\n scrollLeft = scrollLeft | 0;\r\n height = height | 0;\r\n scrollHeight = scrollHeight | 0;\r\n scrollTop = scrollTop | 0;\r\n this.rawScrollLeft = scrollLeft; // before validation\r\n this.rawScrollTop = scrollTop; // before validation\r\n if (width < 0) {\r\n width = 0;\r\n }\r\n if (scrollLeft + width > scrollWidth) {\r\n scrollLeft = scrollWidth - width;\r\n }\r\n if (scrollLeft < 0) {\r\n scrollLeft = 0;\r\n }\r\n if (height < 0) {\r\n height = 0;\r\n }\r\n if (scrollTop + height > scrollHeight) {\r\n scrollTop = scrollHeight - height;\r\n }\r\n if (scrollTop < 0) {\r\n scrollTop = 0;\r\n }\r\n this.width = width;\r\n this.scrollWidth = scrollWidth;\r\n this.scrollLeft = scrollLeft;\r\n this.height = height;\r\n this.scrollHeight = scrollHeight;\r\n this.scrollTop = scrollTop;\r\n }\r\n equals(other) {\r\n return (this.rawScrollLeft === other.rawScrollLeft\r\n && this.rawScrollTop === other.rawScrollTop\r\n && this.width === other.width\r\n && this.scrollWidth === other.scrollWidth\r\n && this.scrollLeft === other.scrollLeft\r\n && this.height === other.height\r\n && this.scrollHeight === other.scrollHeight\r\n && this.scrollTop === other.scrollTop);\r\n }\r\n withScrollDimensions(update, useRawScrollPositions) {\r\n return new ScrollState((typeof update.width !== 'undefined' ? update.width : this.width), (typeof update.scrollWidth !== 'undefined' ? update.scrollWidth : this.scrollWidth), useRawScrollPositions ? this.rawScrollLeft : this.scrollLeft, (typeof update.height !== 'undefined' ? update.height : this.height), (typeof update.scrollHeight !== 'undefined' ? update.scrollHeight : this.scrollHeight), useRawScrollPositions ? this.rawScrollTop : this.scrollTop);\r\n }\r\n withScrollPosition(update) {\r\n return new ScrollState(this.width, this.scrollWidth, (typeof update.scrollLeft !== 'undefined' ? update.scrollLeft : this.rawScrollLeft), this.height, this.scrollHeight, (typeof update.scrollTop !== 'undefined' ? update.scrollTop : this.rawScrollTop));\r\n }\r\n createScrollEvent(previous, inSmoothScrolling) {\r\n const widthChanged = (this.width !== previous.width);\r\n const scrollWidthChanged = (this.scrollWidth !== previous.scrollWidth);\r\n const scrollLeftChanged = (this.scrollLeft !== previous.scrollLeft);\r\n const heightChanged = (this.height !== previous.height);\r\n const scrollHeightChanged = (this.scrollHeight !== previous.scrollHeight);\r\n const scrollTopChanged = (this.scrollTop !== previous.scrollTop);\r\n return {\r\n inSmoothScrolling: inSmoothScrolling,\r\n oldWidth: previous.width,\r\n oldScrollWidth: previous.scrollWidth,\r\n oldScrollLeft: previous.scrollLeft,\r\n width: this.width,\r\n scrollWidth: this.scrollWidth,\r\n scrollLeft: this.scrollLeft,\r\n oldHeight: previous.height,\r\n oldScrollHeight: previous.scrollHeight,\r\n oldScrollTop: previous.scrollTop,\r\n height: this.height,\r\n scrollHeight: this.scrollHeight,\r\n scrollTop: this.scrollTop,\r\n widthChanged: widthChanged,\r\n scrollWidthChanged: scrollWidthChanged,\r\n scrollLeftChanged: scrollLeftChanged,\r\n heightChanged: heightChanged,\r\n scrollHeightChanged: scrollHeightChanged,\r\n scrollTopChanged: scrollTopChanged,\r\n };\r\n }\r\n}\r\nclass Scrollable extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(smoothScrollDuration, scheduleAtNextAnimationFrame) {\r\n super();\r\n this._onScroll = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\r\n this.onScroll = this._onScroll.event;\r\n this._smoothScrollDuration = smoothScrollDuration;\r\n this._scheduleAtNextAnimationFrame = scheduleAtNextAnimationFrame;\r\n this._state = new ScrollState(0, 0, 0, 0, 0, 0);\r\n this._smoothScrolling = null;\r\n }\r\n dispose() {\r\n if (this._smoothScrolling) {\r\n this._smoothScrolling.dispose();\r\n this._smoothScrolling = null;\r\n }\r\n super.dispose();\r\n }\r\n setSmoothScrollDuration(smoothScrollDuration) {\r\n this._smoothScrollDuration = smoothScrollDuration;\r\n }\r\n validateScrollPosition(scrollPosition) {\r\n return this._state.withScrollPosition(scrollPosition);\r\n }\r\n getScrollDimensions() {\r\n return this._state;\r\n }\r\n setScrollDimensions(dimensions, useRawScrollPositions) {\r\n const newState = this._state.withScrollDimensions(dimensions, useRawScrollPositions);\r\n this._setState(newState, Boolean(this._smoothScrolling));\r\n // Validate outstanding animated scroll position target\r\n if (this._smoothScrolling) {\r\n this._smoothScrolling.acceptScrollDimensions(this._state);\r\n }\r\n }\r\n /**\r\n * Returns the final scroll position that the instance will have once the smooth scroll animation concludes.\r\n * If no scroll animation is occurring, it will return the current scroll position instead.\r\n */\r\n getFutureScrollPosition() {\r\n if (this._smoothScrolling) {\r\n return this._smoothScrolling.to;\r\n }\r\n return this._state;\r\n }\r\n /**\r\n * Returns the current scroll position.\r\n * Note: This result might be an intermediate scroll position, as there might be an ongoing smooth scroll animation.\r\n */\r\n getCurrentScrollPosition() {\r\n return this._state;\r\n }\r\n setScrollPositionNow(update) {\r\n // no smooth scrolling requested\r\n const newState = this._state.withScrollPosition(update);\r\n // Terminate any outstanding smooth scrolling\r\n if (this._smoothScrolling) {\r\n this._smoothScrolling.dispose();\r\n this._smoothScrolling = null;\r\n }\r\n this._setState(newState, false);\r\n }\r\n setScrollPositionSmooth(update, reuseAnimation) {\r\n if (this._smoothScrollDuration === 0) {\r\n // Smooth scrolling not supported.\r\n return this.setScrollPositionNow(update);\r\n }\r\n if (this._smoothScrolling) {\r\n // Combine our pending scrollLeft/scrollTop with incoming scrollLeft/scrollTop\r\n update = {\r\n scrollLeft: (typeof update.scrollLeft === 'undefined' ? this._smoothScrolling.to.scrollLeft : update.scrollLeft),\r\n scrollTop: (typeof update.scrollTop === 'undefined' ? this._smoothScrolling.to.scrollTop : update.scrollTop)\r\n };\r\n // Validate `update`\r\n const validTarget = this._state.withScrollPosition(update);\r\n if (this._smoothScrolling.to.scrollLeft === validTarget.scrollLeft && this._smoothScrolling.to.scrollTop === validTarget.scrollTop) {\r\n // No need to interrupt or extend the current animation since we're going to the same place\r\n return;\r\n }\r\n let newSmoothScrolling;\r\n if (reuseAnimation) {\r\n newSmoothScrolling = new SmoothScrollingOperation(this._smoothScrolling.from, validTarget, this._smoothScrolling.startTime, this._smoothScrolling.duration);\r\n }\r\n else {\r\n newSmoothScrolling = this._smoothScrolling.combine(this._state, validTarget, this._smoothScrollDuration);\r\n }\r\n this._smoothScrolling.dispose();\r\n this._smoothScrolling = newSmoothScrolling;\r\n }\r\n else {\r\n // Validate `update`\r\n const validTarget = this._state.withScrollPosition(update);\r\n this._smoothScrolling = SmoothScrollingOperation.start(this._state, validTarget, this._smoothScrollDuration);\r\n }\r\n // Begin smooth scrolling animation\r\n this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame(() => {\r\n if (!this._smoothScrolling) {\r\n return;\r\n }\r\n this._smoothScrolling.animationFrameDisposable = null;\r\n this._performSmoothScrolling();\r\n });\r\n }\r\n _performSmoothScrolling() {\r\n if (!this._smoothScrolling) {\r\n return;\r\n }\r\n const update = this._smoothScrolling.tick();\r\n const newState = this._state.withScrollPosition(update);\r\n this._setState(newState, true);\r\n if (!this._smoothScrolling) {\r\n // Looks like someone canceled the smooth scrolling\r\n // from the scroll event handler\r\n return;\r\n }\r\n if (update.isDone) {\r\n this._smoothScrolling.dispose();\r\n this._smoothScrolling = null;\r\n return;\r\n }\r\n // Continue smooth scrolling animation\r\n this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame(() => {\r\n if (!this._smoothScrolling) {\r\n return;\r\n }\r\n this._smoothScrolling.animationFrameDisposable = null;\r\n this._performSmoothScrolling();\r\n });\r\n }\r\n _setState(newState, inSmoothScrolling) {\r\n const oldState = this._state;\r\n if (oldState.equals(newState)) {\r\n // no change\r\n return;\r\n }\r\n this._state = newState;\r\n this._onScroll.fire(this._state.createScrollEvent(oldState, inSmoothScrolling));\r\n }\r\n}\r\nclass SmoothScrollingUpdate {\r\n constructor(scrollLeft, scrollTop, isDone) {\r\n this.scrollLeft = scrollLeft;\r\n this.scrollTop = scrollTop;\r\n this.isDone = isDone;\r\n }\r\n}\r\nfunction createEaseOutCubic(from, to) {\r\n const delta = to - from;\r\n return function (completion) {\r\n return from + delta * easeOutCubic(completion);\r\n };\r\n}\r\nfunction createComposed(a, b, cut) {\r\n return function (completion) {\r\n if (completion < cut) {\r\n return a(completion / cut);\r\n }\r\n return b((completion - cut) / (1 - cut));\r\n };\r\n}\r\nclass SmoothScrollingOperation {\r\n constructor(from, to, startTime, duration) {\r\n this.from = from;\r\n this.to = to;\r\n this.duration = duration;\r\n this.startTime = startTime;\r\n this.animationFrameDisposable = null;\r\n this._initAnimations();\r\n }\r\n _initAnimations() {\r\n this.scrollLeft = this._initAnimation(this.from.scrollLeft, this.to.scrollLeft, this.to.width);\r\n this.scrollTop = this._initAnimation(this.from.scrollTop, this.to.scrollTop, this.to.height);\r\n }\r\n _initAnimation(from, to, viewportSize) {\r\n const delta = Math.abs(from - to);\r\n if (delta > 2.5 * viewportSize) {\r\n let stop1, stop2;\r\n if (from < to) {\r\n // scroll to 75% of the viewportSize\r\n stop1 = from + 0.75 * viewportSize;\r\n stop2 = to - 0.75 * viewportSize;\r\n }\r\n else {\r\n stop1 = from - 0.75 * viewportSize;\r\n stop2 = to + 0.75 * viewportSize;\r\n }\r\n return createComposed(createEaseOutCubic(from, stop1), createEaseOutCubic(stop2, to), 0.33);\r\n }\r\n return createEaseOutCubic(from, to);\r\n }\r\n dispose() {\r\n if (this.animationFrameDisposable !== null) {\r\n this.animationFrameDisposable.dispose();\r\n this.animationFrameDisposable = null;\r\n }\r\n }\r\n acceptScrollDimensions(state) {\r\n this.to = state.withScrollPosition(this.to);\r\n this._initAnimations();\r\n }\r\n tick() {\r\n return this._tick(Date.now());\r\n }\r\n _tick(now) {\r\n const completion = (now - this.startTime) / this.duration;\r\n if (completion < 1) {\r\n const newScrollLeft = this.scrollLeft(completion);\r\n const newScrollTop = this.scrollTop(completion);\r\n return new SmoothScrollingUpdate(newScrollLeft, newScrollTop, false);\r\n }\r\n return new SmoothScrollingUpdate(this.to.scrollLeft, this.to.scrollTop, true);\r\n }\r\n combine(from, to, duration) {\r\n return SmoothScrollingOperation.start(from, to, duration);\r\n }\r\n static start(from, to, duration) {\r\n // +10 / -10 : pretend the animation already started for a quicker response to a scroll request\r\n duration = duration + 10;\r\n const startTime = Date.now() - 10;\r\n return new SmoothScrollingOperation(from, to, startTime, duration);\r\n }\r\n}\r\nfunction easeInCubic(t) {\r\n return Math.pow(t, 3);\r\n}\r\nfunction easeOutCubic(t) {\r\n return 1 - easeInCubic(1 - t);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/scrollable.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/search.js": /*!*****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/search.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"buildReplaceStringWithCasePreserved\": () => (/* binding */ buildReplaceStringWithCasePreserved)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nfunction buildReplaceStringWithCasePreserved(matches, pattern) {\r\n if (matches && (matches[0] !== '')) {\r\n const containsHyphens = validateSpecificSpecialCharacter(matches, pattern, '-');\r\n const containsUnderscores = validateSpecificSpecialCharacter(matches, pattern, '_');\r\n if (containsHyphens && !containsUnderscores) {\r\n return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '-');\r\n }\r\n else if (!containsHyphens && containsUnderscores) {\r\n return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '_');\r\n }\r\n if (matches[0].toUpperCase() === matches[0]) {\r\n return pattern.toUpperCase();\r\n }\r\n else if (matches[0].toLowerCase() === matches[0]) {\r\n return pattern.toLowerCase();\r\n }\r\n else if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.containsUppercaseCharacter(matches[0][0]) && pattern.length > 0) {\r\n return pattern[0].toUpperCase() + pattern.substr(1);\r\n }\r\n else {\r\n // we don't understand its pattern yet.\r\n return pattern;\r\n }\r\n }\r\n else {\r\n return pattern;\r\n }\r\n}\r\nfunction validateSpecificSpecialCharacter(matches, pattern, specialCharacter) {\r\n const doesContainSpecialCharacter = matches[0].indexOf(specialCharacter) !== -1 && pattern.indexOf(specialCharacter) !== -1;\r\n return doesContainSpecialCharacter && matches[0].split(specialCharacter).length === pattern.split(specialCharacter).length;\r\n}\r\nfunction buildReplaceStringForSpecificSpecialCharacter(matches, pattern, specialCharacter) {\r\n const splitPatternAtSpecialCharacter = pattern.split(specialCharacter);\r\n const splitMatchAtSpecialCharacter = matches[0].split(specialCharacter);\r\n let replaceString = '';\r\n splitPatternAtSpecialCharacter.forEach((splitValue, index) => {\r\n replaceString += buildReplaceStringWithCasePreserved([splitMatchAtSpecialCharacter[index]], splitValue) + specialCharacter;\r\n });\r\n return replaceString.slice(0, -1);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/search.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/severity.js": /*!*******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/severity.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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 Severity;\r\n(function (Severity) {\r\n Severity[Severity[\"Ignore\"] = 0] = \"Ignore\";\r\n Severity[Severity[\"Info\"] = 1] = \"Info\";\r\n Severity[Severity[\"Warning\"] = 2] = \"Warning\";\r\n Severity[Severity[\"Error\"] = 3] = \"Error\";\r\n})(Severity || (Severity = {}));\r\n(function (Severity) {\r\n const _error = 'error';\r\n const _warning = 'warning';\r\n const _warn = 'warn';\r\n const _info = 'info';\r\n /**\r\n * Parses 'error', 'warning', 'warn', 'info' in call casings\r\n * and falls back to ignore.\r\n */\r\n function fromValue(value) {\r\n if (!value) {\r\n return Severity.Ignore;\r\n }\r\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_error, value)) {\r\n return Severity.Error;\r\n }\r\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_warning, value) || _strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_warn, value)) {\r\n return Severity.Warning;\r\n }\r\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_info, value)) {\r\n return Severity.Info;\r\n }\r\n return Severity.Ignore;\r\n }\r\n Severity.fromValue = fromValue;\r\n})(Severity || (Severity = {}));\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Severity);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/severity.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js": /*!********************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StopWatch\": () => (/* binding */ StopWatch)\n/* harmony export */ });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.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\nconst hasPerformanceNow = (_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.performance && typeof _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.performance.now === 'function');\r\nclass StopWatch {\r\n constructor(highResolution) {\r\n this._highResolution = hasPerformanceNow && highResolution;\r\n this._startTime = this._now();\r\n this._stopTime = -1;\r\n }\r\n static create(highResolution = true) {\r\n return new StopWatch(highResolution);\r\n }\r\n stop() {\r\n this._stopTime = this._now();\r\n }\r\n elapsed() {\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 _now() {\r\n return this._highResolution ? _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.performance.now() : Date.now();\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/strings.js": /*!******************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/strings.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isFalsyOrWhitespace\": () => (/* binding */ isFalsyOrWhitespace),\n/* harmony export */ \"format\": () => (/* binding */ format),\n/* harmony export */ \"escape\": () => (/* binding */ escape),\n/* harmony export */ \"escapeRegExpCharacters\": () => (/* binding */ escapeRegExpCharacters),\n/* harmony export */ \"trim\": () => (/* binding */ trim),\n/* harmony export */ \"ltrim\": () => (/* binding */ ltrim),\n/* harmony export */ \"rtrim\": () => (/* binding */ rtrim),\n/* harmony export */ \"convertSimple2RegExpPattern\": () => (/* binding */ convertSimple2RegExpPattern),\n/* harmony export */ \"stripWildcards\": () => (/* binding */ stripWildcards),\n/* harmony export */ \"createRegExp\": () => (/* binding */ createRegExp),\n/* harmony export */ \"regExpLeadsToEndlessLoop\": () => (/* binding */ regExpLeadsToEndlessLoop),\n/* harmony export */ \"regExpFlags\": () => (/* binding */ regExpFlags),\n/* harmony export */ \"splitLines\": () => (/* binding */ splitLines),\n/* harmony export */ \"firstNonWhitespaceIndex\": () => (/* binding */ firstNonWhitespaceIndex),\n/* harmony export */ \"getLeadingWhitespace\": () => (/* binding */ getLeadingWhitespace),\n/* harmony export */ \"lastNonWhitespaceIndex\": () => (/* binding */ lastNonWhitespaceIndex),\n/* harmony export */ \"compare\": () => (/* binding */ compare),\n/* harmony export */ \"compareSubstring\": () => (/* binding */ compareSubstring),\n/* harmony export */ \"compareIgnoreCase\": () => (/* binding */ compareIgnoreCase),\n/* harmony export */ \"compareSubstringIgnoreCase\": () => (/* binding */ compareSubstringIgnoreCase),\n/* harmony export */ \"isLowerAsciiLetter\": () => (/* binding */ isLowerAsciiLetter),\n/* harmony export */ \"isUpperAsciiLetter\": () => (/* binding */ isUpperAsciiLetter),\n/* harmony export */ \"equalsIgnoreCase\": () => (/* binding */ equalsIgnoreCase),\n/* harmony export */ \"startsWithIgnoreCase\": () => (/* binding */ startsWithIgnoreCase),\n/* harmony export */ \"commonPrefixLength\": () => (/* binding */ commonPrefixLength),\n/* harmony export */ \"commonSuffixLength\": () => (/* binding */ commonSuffixLength),\n/* harmony export */ \"isHighSurrogate\": () => (/* binding */ isHighSurrogate),\n/* harmony export */ \"isLowSurrogate\": () => (/* binding */ isLowSurrogate),\n/* harmony export */ \"computeCodePoint\": () => (/* binding */ computeCodePoint),\n/* harmony export */ \"getNextCodePoint\": () => (/* binding */ getNextCodePoint),\n/* harmony export */ \"nextCharLength\": () => (/* binding */ nextCharLength),\n/* harmony export */ \"prevCharLength\": () => (/* binding */ prevCharLength),\n/* harmony export */ \"decodeUTF8\": () => (/* binding */ decodeUTF8),\n/* harmony export */ \"containsRTL\": () => (/* binding */ containsRTL),\n/* harmony export */ \"containsEmoji\": () => (/* binding */ containsEmoji),\n/* harmony export */ \"isBasicASCII\": () => (/* binding */ isBasicASCII),\n/* harmony export */ \"UNUSUAL_LINE_TERMINATORS\": () => (/* binding */ UNUSUAL_LINE_TERMINATORS),\n/* harmony export */ \"containsUnusualLineTerminators\": () => (/* binding */ containsUnusualLineTerminators),\n/* harmony export */ \"containsFullWidthCharacter\": () => (/* binding */ containsFullWidthCharacter),\n/* harmony export */ \"isFullWidthCharacter\": () => (/* binding */ isFullWidthCharacter),\n/* harmony export */ \"isEmojiImprecise\": () => (/* binding */ isEmojiImprecise),\n/* harmony export */ \"UTF8_BOM_CHARACTER\": () => (/* binding */ UTF8_BOM_CHARACTER),\n/* harmony export */ \"startsWithUTF8BOM\": () => (/* binding */ startsWithUTF8BOM),\n/* harmony export */ \"containsUppercaseCharacter\": () => (/* binding */ containsUppercaseCharacter),\n/* harmony export */ \"singleLetterHash\": () => (/* binding */ singleLetterHash),\n/* harmony export */ \"getGraphemeBreakType\": () => (/* binding */ getGraphemeBreakType),\n/* harmony export */ \"breakBetweenGraphemeBreakType\": () => (/* binding */ breakBetweenGraphemeBreakType)\n/* harmony export */ });\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\nconst _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, ...args) {\r\n if (args.length === 0) {\r\n return value;\r\n }\r\n return value.replace(_formatRegexp, function (match, group) {\r\n const 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 const 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 const needleLen = needle.length;\r\n if (needleLen === 0 || haystack.length === 0) {\r\n return haystack;\r\n }\r\n let 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 const needleLen = needle.length, haystackLen = haystack.length;\r\n if (needleLen === 0 || haystackLen === 0) {\r\n return haystack;\r\n }\r\n let 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\nfunction stripWildcards(pattern) {\r\n return pattern.replace(/\\*/g, '');\r\n}\r\nfunction createRegExp(searchString, isRegex, 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 let 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 const 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 /* standalone editor compilation */.unicode ? 'u' : '');\r\n}\r\nfunction splitLines(str) {\r\n return str.split(/\\r\\n|\\r|\\n/);\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 (let i = 0, len = str.length; i < len; i++) {\r\n const 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 = 0, end = str.length) {\r\n for (let i = start; i < end; i++) {\r\n const 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 = str.length - 1) {\r\n for (let i = startIndex; i >= 0; i--) {\r\n const 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 compareSubstring(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {\r\n for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {\r\n let codeA = a.charCodeAt(aStart);\r\n let codeB = b.charCodeAt(bStart);\r\n if (codeA < codeB) {\r\n return -1;\r\n }\r\n else if (codeA > codeB) {\r\n return 1;\r\n }\r\n }\r\n const aLen = aEnd - aStart;\r\n const bLen = bEnd - bStart;\r\n if (aLen < bLen) {\r\n return -1;\r\n }\r\n else if (aLen > bLen) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\nfunction compareIgnoreCase(a, b) {\r\n return compareSubstringIgnoreCase(a, b, 0, a.length, 0, b.length);\r\n}\r\nfunction compareSubstringIgnoreCase(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {\r\n for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {\r\n let codeA = a.charCodeAt(aStart);\r\n let codeB = b.charCodeAt(bStart);\r\n if (codeA === codeB) {\r\n // equal\r\n continue;\r\n }\r\n const diff = codeA - codeB;\r\n if (diff === 32 && isUpperAsciiLetter(codeB)) { //codeB =[65-90] && codeA =[97-122]\r\n continue;\r\n }\r\n else if (diff === -32 && isUpperAsciiLetter(codeA)) { //codeB =[97-122] && codeA =[65-90]\r\n continue;\r\n }\r\n if (isLowerAsciiLetter(codeA) && isLowerAsciiLetter(codeB)) {\r\n //\r\n return diff;\r\n }\r\n else {\r\n return compareSubstring(a.toLowerCase(), b.toLowerCase(), aStart, aEnd, bStart, bEnd);\r\n }\r\n }\r\n const aLen = aEnd - aStart;\r\n const bLen = bEnd - bStart;\r\n if (aLen < bLen) {\r\n return -1;\r\n }\r\n else if (aLen > bLen) {\r\n return 1;\r\n }\r\n return 0;\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 = a.length) {\r\n for (let i = 0; i < stopAt; i++) {\r\n const codeA = a.charCodeAt(i);\r\n const 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 const 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 const 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 let 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 let i, len = Math.min(a.length, b.length);\r\n const aLastIndex = a.length - 1;\r\n const 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/**\r\n * See http://en.wikipedia.org/wiki/Surrogate_pair\r\n */\r\nfunction isHighSurrogate(charCode) {\r\n return (0xD800 <= charCode && charCode <= 0xDBFF);\r\n}\r\n/**\r\n * See http://en.wikipedia.org/wiki/Surrogate_pair\r\n */\r\nfunction isLowSurrogate(charCode) {\r\n return (0xDC00 <= charCode && charCode <= 0xDFFF);\r\n}\r\n/**\r\n * See http://en.wikipedia.org/wiki/Surrogate_pair\r\n */\r\nfunction computeCodePoint(highSurrogate, lowSurrogate) {\r\n return ((highSurrogate - 0xD800) << 10) + (lowSurrogate - 0xDC00) + 0x10000;\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 const charCode = str.charCodeAt(offset);\r\n if (isHighSurrogate(charCode) && offset + 1 < len) {\r\n const nextCharCode = str.charCodeAt(offset + 1);\r\n if (isLowSurrogate(nextCharCode)) {\r\n return computeCodePoint(charCode, nextCharCode);\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 const charCode = str.charCodeAt(offset - 1);\r\n if (isLowSurrogate(charCode) && offset > 1) {\r\n const prevCharCode = str.charCodeAt(offset - 2);\r\n if (isHighSurrogate(prevCharCode)) {\r\n return computeCodePoint(prevCharCode, charCode);\r\n }\r\n }\r\n return charCode;\r\n}\r\nfunction nextCharLength(str, offset) {\r\n const graphemeBreakTree = GraphemeBreakTree.getInstance();\r\n const initialOffset = offset;\r\n const len = str.length;\r\n const initialCodePoint = getNextCodePoint(str, len, offset);\r\n offset += (initialCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(initialCodePoint);\r\n while (offset < len) {\r\n const nextCodePoint = getNextCodePoint(str, len, offset);\r\n const 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 const graphemeBreakTree = GraphemeBreakTree.getInstance();\r\n const initialOffset = offset;\r\n const initialCodePoint = getPrevCodePoint(str, offset);\r\n offset -= (initialCodePoint >= 65536 /* UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\r\n let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(initialCodePoint);\r\n while (offset > 0) {\r\n const prevCodePoint = getPrevCodePoint(str, offset);\r\n const 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 * A manual decoding of a UTF8 string.\r\n * Use only in environments which do not offer native conversion methods!\r\n */\r\nfunction decodeUTF8(buffer) {\r\n // https://en.wikipedia.org/wiki/UTF-8\r\n const len = buffer.byteLength;\r\n const result = [];\r\n let offset = 0;\r\n while (offset < len) {\r\n const v0 = buffer[offset];\r\n let codePoint;\r\n if (v0 >= 0b11110000 && offset + 3 < len) {\r\n // 4 bytes\r\n codePoint = ((((buffer[offset++] & 0b00000111) << 18) >>> 0)\r\n | (((buffer[offset++] & 0b00111111) << 12) >>> 0)\r\n | (((buffer[offset++] & 0b00111111) << 6) >>> 0)\r\n | (((buffer[offset++] & 0b00111111) << 0) >>> 0));\r\n }\r\n else if (v0 >= 0b11100000 && offset + 2 < len) {\r\n // 3 bytes\r\n codePoint = ((((buffer[offset++] & 0b00001111) << 12) >>> 0)\r\n | (((buffer[offset++] & 0b00111111) << 6) >>> 0)\r\n | (((buffer[offset++] & 0b00111111) << 0) >>> 0));\r\n }\r\n else if (v0 >= 0b11000000 && offset + 1 < len) {\r\n // 2 bytes\r\n codePoint = ((((buffer[offset++] & 0b00011111) << 6) >>> 0)\r\n | (((buffer[offset++] & 0b00111111) << 0) >>> 0));\r\n }\r\n else {\r\n // 1 byte\r\n codePoint = buffer[offset++];\r\n }\r\n if ((codePoint >= 0 && codePoint <= 0xD7FF) || (codePoint >= 0xE000 && codePoint <= 0xFFFF)) {\r\n // Basic Multilingual Plane\r\n result.push(String.fromCharCode(codePoint));\r\n }\r\n else if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {\r\n // Supplementary Planes\r\n const uPrime = codePoint - 0x10000;\r\n const w1 = 0xD800 + ((uPrime & 0b11111111110000000000) >>> 10);\r\n const w2 = 0xDC00 + ((uPrime & 0b00000000001111111111) >>> 0);\r\n result.push(String.fromCharCode(w1));\r\n result.push(String.fromCharCode(w2));\r\n }\r\n else {\r\n // illegal code point\r\n result.push(String.fromCharCode(0xFFFD));\r\n }\r\n }\r\n return result.join('');\r\n}\r\n/**\r\n * Generated using https://github.com/alexdima/unicode-utils/blob/master/generate-rtl-test.js\r\n */\r\nconst 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/alexdima/unicode-utils/blob/master/generate-emoji-test.js\r\n */\r\nconst 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-\\uDED6])/;\r\nfunction containsEmoji(str) {\r\n return CONTAINS_EMOJI.test(str);\r\n}\r\nconst 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\nconst UNUSUAL_LINE_TERMINATORS = /[\\u2028\\u2029]/; // LINE SEPARATOR (LS) or PARAGRAPH SEPARATOR (PS)\r\n/**\r\n * Returns true if `str` contains unusual line terminators, like LS or PS\r\n */\r\nfunction containsUnusualLineTerminators(str) {\r\n return UNUSUAL_LINE_TERMINATORS.test(str);\r\n}\r\nfunction containsFullWidthCharacter(str) {\r\n for (let 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 — 2EFF CJK Radicals Supplement\r\n // 2F00 — 2FDF Kangxi Radicals\r\n // 2FF0 — 2FFF Ideographic Description Characters\r\n // 3000 — 303F CJK Symbols and Punctuation\r\n // 3040 — 309F Hiragana\r\n // 30A0 — 30FF Katakana\r\n // 3100 — 312F Bopomofo\r\n // 3130 — 318F Hangul Compatibility Jamo\r\n // 3190 — 319F Kanbun\r\n // 31A0 — 31BF Bopomofo Extended\r\n // 31F0 — 31FF Katakana Phonetic Extensions\r\n // 3200 — 32FF Enclosed CJK Letters and Months\r\n // 3300 — 33FF CJK Compatibility\r\n // 3400 — 4DBF CJK Unified Ideographs Extension A\r\n // 4DC0 — 4DFF Yijing Hexagram Symbols\r\n // 4E00 — 9FFF CJK Unified Ideographs\r\n // A000 — A48F Yi Syllables\r\n // A490 — A4CF Yi Radicals\r\n // AC00 — D7AF Hangul Syllables\r\n // [IGNORE] D800 — DB7F High Surrogates\r\n // [IGNORE] DB80 — DBFF High Private Use Surrogates\r\n // [IGNORE] DC00 — DFFF Low Surrogates\r\n // [IGNORE] E000 — F8FF Private Use Area\r\n // F900 — FAFF CJK Compatibility Ideographs\r\n // [IGNORE] FB00 — FB4F Alphabetic Presentation Forms\r\n // [IGNORE] FB50 — FDFF Arabic Presentation Forms-A\r\n // [IGNORE] FE00 — FE0F Variation Selectors\r\n // [IGNORE] FE20 — FE2F Combining Half Marks\r\n // [IGNORE] FE30 — FE4F CJK Compatibility Forms\r\n // [IGNORE] FE50 — FE6F Small Form Variants\r\n // [IGNORE] FE70 — FEFF Arabic Presentation Forms-B\r\n // FF00 — 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 — 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/alexdima/unicode-utils/blob/master/generate-emoji-test.js\r\n */\r\nfunction isEmojiImprecise(x) {\r\n return ((x >= 0x1F1E6 && x <= 0x1F1FF) || (x === 8986) || (x === 8987) || (x === 9200)\r\n || (x === 9203) || (x >= 9728 && x <= 10175) || (x === 11088) || (x === 11093)\r\n || (x >= 127744 && x <= 128591) || (x >= 128640 && x <= 128764)\r\n || (x >= 128992 && x <= 129003) || (x >= 129280 && x <= 129535)\r\n || (x >= 129648 && x <= 129750));\r\n}\r\n// -- UTF-8 BOM\r\nconst 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 containsUppercaseCharacter(target, 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 const 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 const 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 × LF\r\n // GB4 (Control | CR | LF) ÷\r\n // GB5 ÷ (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 × (L | V | LV | LVT)\r\n // GB7 (LV | V) × (V | T)\r\n // GB8 (LVT | T) × 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 × (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 × SpacingMark\r\n // GB9b Prepend ×\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 × \\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 × RI\r\n // GB13 [^RI] (RI RI)* RI × 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 ÷ Any\r\n return true;\r\n}\r\nclass GraphemeBreakTree {\r\n constructor() {\r\n this._data = getGraphemeBreakRawData();\r\n }\r\n static getInstance() {\r\n if (!GraphemeBreakTree._INSTANCE) {\r\n GraphemeBreakTree._INSTANCE = new GraphemeBreakTree();\r\n }\r\n return GraphemeBreakTree._INSTANCE;\r\n }\r\n getGraphemeBreakType(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 const data = this._data;\r\n const nodeCount = data.length / 3;\r\n let 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}\r\nGraphemeBreakTree._INSTANCE = null;\r\nfunction getGraphemeBreakRawData() {\r\n // generated using https://github.com/alexdima/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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/strings.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/types.js": /*!****************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/types.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isArray\": () => (/* binding */ isArray),\n/* harmony export */ \"isString\": () => (/* binding */ isString),\n/* harmony export */ \"isObject\": () => (/* binding */ isObject),\n/* harmony export */ \"isNumber\": () => (/* binding */ isNumber),\n/* harmony export */ \"isBoolean\": () => (/* binding */ isBoolean),\n/* harmony export */ \"isUndefined\": () => (/* binding */ isUndefined),\n/* harmony export */ \"isUndefinedOrNull\": () => (/* binding */ isUndefinedOrNull),\n/* harmony export */ \"assertType\": () => (/* binding */ assertType),\n/* harmony export */ \"assertIsDefined\": () => (/* binding */ assertIsDefined),\n/* harmony export */ \"isFunction\": () => (/* binding */ isFunction),\n/* harmony export */ \"validateConstraints\": () => (/* binding */ validateConstraints),\n/* harmony export */ \"validateConstraint\": () => (/* binding */ validateConstraint),\n/* harmony export */ \"getAllPropertyNames\": () => (/* binding */ getAllPropertyNames),\n/* harmony export */ \"getAllMethodNames\": () => (/* binding */ getAllMethodNames),\n/* harmony export */ \"createProxyObject\": () => (/* binding */ createProxyObject),\n/* harmony export */ \"withNullAsUndefined\": () => (/* binding */ withNullAsUndefined)\n/* harmony export */ });\n/**\r\n * @returns whether the provided parameter is a JavaScript Array or not.\r\n */\r\nfunction isArray(array) {\r\n return Array.isArray(array);\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 return (typeof str === 'string');\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 === '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 return (typeof obj === 'number' && !isNaN(obj));\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 === '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\n/**\r\n * Asserts that the argument passed in is neither undefined nor null.\r\n */\r\nfunction assertIsDefined(arg) {\r\n if (isUndefinedOrNull(arg)) {\r\n throw new Error('Assertion Failed: argument is undefined or null');\r\n }\r\n return arg;\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 === 'function');\r\n}\r\nfunction validateConstraints(args, constraints) {\r\n const len = Math.min(args.length, constraints.length);\r\n for (let 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 let res = [];\r\n let 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 const methods = [];\r\n for (const prop of getAllPropertyNames(obj)) {\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 const createProxyMethod = (method) => {\r\n return function () {\r\n const args = Array.prototype.slice.call(arguments, 0);\r\n return invoke(method, args);\r\n };\r\n };\r\n let result = {};\r\n for (const methodName of methodNames) {\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\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/types.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/uint.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/uint.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"toUint8\": () => (/* binding */ toUint8),\n/* harmony export */ \"toUint32\": () => (/* binding */ toUint32)\n/* harmony export */ });\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://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/uint.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/uri.js": /*!**************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/uri.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"URI\": () => (/* binding */ URI),\n/* harmony export */ \"uriToFsPath\": () => (/* binding */ uriToFsPath)\n/* harmony export */ });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.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\nconst _schemePattern = /^\\w[\\w\\d+.-]*$/;\r\nconst _singleSlashStart = /^\\//;\r\nconst _doubleSlashStart = /^\\/\\//;\r\nfunction _validateUri(ret, _strict) {\r\n // scheme, must be set\r\n if (!ret.scheme && _strict) {\r\n throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${ret.authority}\", path: \"${ret.path}\", query: \"${ret.query}\", fragment: \"${ret.fragment}\"}`);\r\n }\r\n // scheme, https://tools.ietf.org/html/rfc3986#section-3.1\r\n // ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\r\n if (ret.scheme && !_schemePattern.test(ret.scheme)) {\r\n throw new Error('[UriError]: Scheme contains illegal characters.');\r\n }\r\n // path, http://tools.ietf.org/html/rfc3986#section-3.3\r\n // If a URI contains an authority component, then the path component\r\n // must either be empty or begin with a slash (\"/\") character. If a URI\r\n // does not contain an authority component, then the path cannot begin\r\n // with two slash characters (\"//\").\r\n if (ret.path) {\r\n if (ret.authority) {\r\n if (!_singleSlashStart.test(ret.path)) {\r\n throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character');\r\n }\r\n }\r\n else {\r\n if (_doubleSlashStart.test(ret.path)) {\r\n throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")');\r\n }\r\n }\r\n }\r\n}\r\n// for a while we allowed uris *without* schemes and this is the migration\r\n// for them, e.g. an uri without scheme and without strict-mode warns and falls\r\n// back to the file-scheme. that should cause the least carnage and still be a\r\n// clear warning\r\nfunction _schemeFix(scheme, _strict) {\r\n if (!scheme && !_strict) {\r\n return 'file';\r\n }\r\n return scheme;\r\n}\r\n// implements a bit of https://tools.ietf.org/html/rfc3986#section-5\r\nfunction _referenceResolution(scheme, path) {\r\n // the slash-character is our 'default base' as we don't\r\n // support constructing URIs relative to other URIs. This\r\n // also means that we alter and potentially break paths.\r\n // see https://tools.ietf.org/html/rfc3986#section-5.1.4\r\n switch (scheme) {\r\n case 'https':\r\n case 'http':\r\n case 'file':\r\n if (!path) {\r\n path = _slash;\r\n }\r\n else if (path[0] !== _slash) {\r\n path = _slash + path;\r\n }\r\n break;\r\n }\r\n return path;\r\n}\r\nconst _empty = '';\r\nconst _slash = '/';\r\nconst _regexp = /^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;\r\n/**\r\n * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.\r\n * This class is a simple parser which creates the basic component parts\r\n * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation\r\n * and encoding.\r\n *\r\n * ```txt\r\n * foo://example.com:8042/over/there?name=ferret#nose\r\n * \\_/ \\______________/\\_________/ \\_________/ \\__/\r\n * | | | | |\r\n * scheme authority path query fragment\r\n * | _____________________|__\r\n * / \\ / \\\r\n * urn:example:animal:ferret:nose\r\n * ```\r\n */\r\nclass URI {\r\n /**\r\n * @internal\r\n */\r\n constructor(schemeOrData, authority, path, query, fragment, _strict = false) {\r\n if (typeof schemeOrData === 'object') {\r\n this.scheme = schemeOrData.scheme || _empty;\r\n this.authority = schemeOrData.authority || _empty;\r\n this.path = schemeOrData.path || _empty;\r\n this.query = schemeOrData.query || _empty;\r\n this.fragment = schemeOrData.fragment || _empty;\r\n // no validation because it's this URI\r\n // that creates uri components.\r\n // _validateUri(this);\r\n }\r\n else {\r\n this.scheme = _schemeFix(schemeOrData, _strict);\r\n this.authority = authority || _empty;\r\n this.path = _referenceResolution(this.scheme, path || _empty);\r\n this.query = query || _empty;\r\n this.fragment = fragment || _empty;\r\n _validateUri(this, _strict);\r\n }\r\n }\r\n static isUri(thing) {\r\n if (thing instanceof URI) {\r\n return true;\r\n }\r\n if (!thing) {\r\n return false;\r\n }\r\n return typeof thing.authority === 'string'\r\n && typeof thing.fragment === 'string'\r\n && typeof thing.path === 'string'\r\n && typeof thing.query === 'string'\r\n && typeof thing.scheme === 'string'\r\n && typeof thing.fsPath === 'string'\r\n && typeof thing.with === 'function'\r\n && typeof thing.toString === 'function';\r\n }\r\n // ---- filesystem path -----------------------\r\n /**\r\n * Returns a string representing the corresponding file system path of this URI.\r\n * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the\r\n * platform specific path separator.\r\n *\r\n * * Will *not* validate the path for invalid characters and semantics.\r\n * * Will *not* look at the scheme of this URI.\r\n * * The result shall *not* be used for display purposes but for accessing a file on disk.\r\n *\r\n *\r\n * The *difference* to `URI#path` is the use of the platform specific separator and the handling\r\n * of UNC paths. See the below sample of a file-uri with an authority (UNC path).\r\n *\r\n * ```ts\r\n const u = URI.parse('file://server/c$/folder/file.txt')\r\n u.authority === 'server'\r\n u.path === '/shares/c$/file.txt'\r\n u.fsPath === '\\\\server\\c$\\folder\\file.txt'\r\n ```\r\n *\r\n * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,\r\n * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working\r\n * with URIs that represent files on disk (`file` scheme).\r\n */\r\n get fsPath() {\r\n // if (this.scheme !== 'file') {\r\n // \tconsole.warn(`[UriError] calling fsPath with scheme ${this.scheme}`);\r\n // }\r\n return uriToFsPath(this, false);\r\n }\r\n // ---- modify to new -------------------------\r\n with(change) {\r\n if (!change) {\r\n return this;\r\n }\r\n let { scheme, authority, path, query, fragment } = change;\r\n if (scheme === undefined) {\r\n scheme = this.scheme;\r\n }\r\n else if (scheme === null) {\r\n scheme = _empty;\r\n }\r\n if (authority === undefined) {\r\n authority = this.authority;\r\n }\r\n else if (authority === null) {\r\n authority = _empty;\r\n }\r\n if (path === undefined) {\r\n path = this.path;\r\n }\r\n else if (path === null) {\r\n path = _empty;\r\n }\r\n if (query === undefined) {\r\n query = this.query;\r\n }\r\n else if (query === null) {\r\n query = _empty;\r\n }\r\n if (fragment === undefined) {\r\n fragment = this.fragment;\r\n }\r\n else if (fragment === null) {\r\n fragment = _empty;\r\n }\r\n if (scheme === this.scheme\r\n && authority === this.authority\r\n && path === this.path\r\n && query === this.query\r\n && fragment === this.fragment) {\r\n return this;\r\n }\r\n return new Uri(scheme, authority, path, query, fragment);\r\n }\r\n // ---- parse & validate ------------------------\r\n /**\r\n * Creates a new URI from a string, e.g. `http://www.msft.com/some/path`,\r\n * `file:///usr/home`, or `scheme:with/path`.\r\n *\r\n * @param value A string which represents an URI (see `URI#toString`).\r\n */\r\n static parse(value, _strict = false) {\r\n const match = _regexp.exec(value);\r\n if (!match) {\r\n return new Uri(_empty, _empty, _empty, _empty, _empty);\r\n }\r\n return new Uri(match[2] || _empty, percentDecode(match[4] || _empty), percentDecode(match[5] || _empty), percentDecode(match[7] || _empty), percentDecode(match[9] || _empty), _strict);\r\n }\r\n /**\r\n * Creates a new URI from a file system path, e.g. `c:\\my\\files`,\r\n * `/usr/home`, or `\\\\server\\share\\some\\path`.\r\n *\r\n * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument\r\n * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**\r\n * `URI.parse('file://' + path)` because the path might contain characters that are\r\n * interpreted (# and ?). See the following sample:\r\n * ```ts\r\n const good = URI.file('/coding/c#/project1');\r\n good.scheme === 'file';\r\n good.path === '/coding/c#/project1';\r\n good.fragment === '';\r\n const bad = URI.parse('file://' + '/coding/c#/project1');\r\n bad.scheme === 'file';\r\n bad.path === '/coding/c'; // path is now broken\r\n bad.fragment === '/project1';\r\n ```\r\n *\r\n * @param path A file system path (see `URI#fsPath`)\r\n */\r\n static file(path) {\r\n let authority = _empty;\r\n // normalize to fwd-slashes on windows,\r\n // on other systems bwd-slashes are valid\r\n // filename character, eg /f\\oo/ba\\r.txt\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows) {\r\n path = path.replace(/\\\\/g, _slash);\r\n }\r\n // check for authority as used in UNC shares\r\n // or use the path as given\r\n if (path[0] === _slash && path[1] === _slash) {\r\n const idx = path.indexOf(_slash, 2);\r\n if (idx === -1) {\r\n authority = path.substring(2);\r\n path = _slash;\r\n }\r\n else {\r\n authority = path.substring(2, idx);\r\n path = path.substring(idx) || _slash;\r\n }\r\n }\r\n return new Uri('file', authority, path, _empty, _empty);\r\n }\r\n static from(components) {\r\n return new Uri(components.scheme, components.authority, components.path, components.query, components.fragment);\r\n }\r\n /**\r\n * Join a URI path with path fragments and normalizes the resulting path.\r\n *\r\n * @param uri The input URI.\r\n * @param pathFragment The path fragment to add to the URI path.\r\n * @returns The resulting URI.\r\n */\r\n static joinPath(uri, ...pathFragment) {\r\n if (!uri.path) {\r\n throw new Error(`[UriError]: cannot call joinPath on URI without path`);\r\n }\r\n let newPath;\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows && uri.scheme === 'file') {\r\n newPath = URI.file(_path_js__WEBPACK_IMPORTED_MODULE_1__.win32.join(uriToFsPath(uri, true), ...pathFragment)).path;\r\n }\r\n else {\r\n newPath = _path_js__WEBPACK_IMPORTED_MODULE_1__.posix.join(uri.path, ...pathFragment);\r\n }\r\n return uri.with({ path: newPath });\r\n }\r\n // ---- printing/externalize ---------------------------\r\n /**\r\n * Creates a string representation for this URI. It's guaranteed that calling\r\n * `URI.parse` with the result of this function creates an URI which is equal\r\n * to this URI.\r\n *\r\n * * The result shall *not* be used for display purposes but for externalization or transport.\r\n * * The result will be encoded using the percentage encoding and encoding happens mostly\r\n * ignore the scheme-specific encoding rules.\r\n *\r\n * @param skipEncoding Do not encode the result, default is `false`\r\n */\r\n toString(skipEncoding = false) {\r\n return _asFormatted(this, skipEncoding);\r\n }\r\n toJSON() {\r\n return this;\r\n }\r\n static revive(data) {\r\n if (!data) {\r\n return data;\r\n }\r\n else if (data instanceof URI) {\r\n return data;\r\n }\r\n else {\r\n const result = new Uri(data);\r\n result._formatted = data.external;\r\n result._fsPath = data._sep === _pathSepMarker ? data.fsPath : null;\r\n return result;\r\n }\r\n }\r\n}\r\nconst _pathSepMarker = _platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows ? 1 : undefined;\r\n// This class exists so that URI is compatibile with vscode.Uri (API).\r\nclass Uri extends URI {\r\n constructor() {\r\n super(...arguments);\r\n this._formatted = null;\r\n this._fsPath = null;\r\n }\r\n get fsPath() {\r\n if (!this._fsPath) {\r\n this._fsPath = uriToFsPath(this, false);\r\n }\r\n return this._fsPath;\r\n }\r\n toString(skipEncoding = false) {\r\n if (!skipEncoding) {\r\n if (!this._formatted) {\r\n this._formatted = _asFormatted(this, false);\r\n }\r\n return this._formatted;\r\n }\r\n else {\r\n // we don't cache that\r\n return _asFormatted(this, true);\r\n }\r\n }\r\n toJSON() {\r\n const res = {\r\n $mid: 1\r\n };\r\n // cached state\r\n if (this._fsPath) {\r\n res.fsPath = this._fsPath;\r\n res._sep = _pathSepMarker;\r\n }\r\n if (this._formatted) {\r\n res.external = this._formatted;\r\n }\r\n // uri components\r\n if (this.path) {\r\n res.path = this.path;\r\n }\r\n if (this.scheme) {\r\n res.scheme = this.scheme;\r\n }\r\n if (this.authority) {\r\n res.authority = this.authority;\r\n }\r\n if (this.query) {\r\n res.query = this.query;\r\n }\r\n if (this.fragment) {\r\n res.fragment = this.fragment;\r\n }\r\n return res;\r\n }\r\n}\r\n// reserved characters: https://tools.ietf.org/html/rfc3986#section-2.2\r\nconst encodeTable = {\r\n [58 /* Colon */]: '%3A',\r\n [47 /* Slash */]: '%2F',\r\n [63 /* QuestionMark */]: '%3F',\r\n [35 /* Hash */]: '%23',\r\n [91 /* OpenSquareBracket */]: '%5B',\r\n [93 /* CloseSquareBracket */]: '%5D',\r\n [64 /* AtSign */]: '%40',\r\n [33 /* ExclamationMark */]: '%21',\r\n [36 /* DollarSign */]: '%24',\r\n [38 /* Ampersand */]: '%26',\r\n [39 /* SingleQuote */]: '%27',\r\n [40 /* OpenParen */]: '%28',\r\n [41 /* CloseParen */]: '%29',\r\n [42 /* Asterisk */]: '%2A',\r\n [43 /* Plus */]: '%2B',\r\n [44 /* Comma */]: '%2C',\r\n [59 /* Semicolon */]: '%3B',\r\n [61 /* Equals */]: '%3D',\r\n [32 /* Space */]: '%20',\r\n};\r\nfunction encodeURIComponentFast(uriComponent, allowSlash) {\r\n let res = undefined;\r\n let nativeEncodePos = -1;\r\n for (let pos = 0; pos < uriComponent.length; pos++) {\r\n const code = uriComponent.charCodeAt(pos);\r\n // unreserved characters: https://tools.ietf.org/html/rfc3986#section-2.3\r\n if ((code >= 97 /* a */ && code <= 122 /* z */)\r\n || (code >= 65 /* A */ && code <= 90 /* Z */)\r\n || (code >= 48 /* Digit0 */ && code <= 57 /* Digit9 */)\r\n || code === 45 /* Dash */\r\n || code === 46 /* Period */\r\n || code === 95 /* Underline */\r\n || code === 126 /* Tilde */\r\n || (allowSlash && code === 47 /* Slash */)) {\r\n // check if we are delaying native encode\r\n if (nativeEncodePos !== -1) {\r\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));\r\n nativeEncodePos = -1;\r\n }\r\n // check if we write into a new string (by default we try to return the param)\r\n if (res !== undefined) {\r\n res += uriComponent.charAt(pos);\r\n }\r\n }\r\n else {\r\n // encoding needed, we need to allocate a new string\r\n if (res === undefined) {\r\n res = uriComponent.substr(0, pos);\r\n }\r\n // check with default table first\r\n const escaped = encodeTable[code];\r\n if (escaped !== undefined) {\r\n // check if we are delaying native encode\r\n if (nativeEncodePos !== -1) {\r\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));\r\n nativeEncodePos = -1;\r\n }\r\n // append escaped variant to result\r\n res += escaped;\r\n }\r\n else if (nativeEncodePos === -1) {\r\n // use native encode only when needed\r\n nativeEncodePos = pos;\r\n }\r\n }\r\n }\r\n if (nativeEncodePos !== -1) {\r\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos));\r\n }\r\n return res !== undefined ? res : uriComponent;\r\n}\r\nfunction encodeURIComponentMinimal(path) {\r\n let res = undefined;\r\n for (let pos = 0; pos < path.length; pos++) {\r\n const code = path.charCodeAt(pos);\r\n if (code === 35 /* Hash */ || code === 63 /* QuestionMark */) {\r\n if (res === undefined) {\r\n res = path.substr(0, pos);\r\n }\r\n res += encodeTable[code];\r\n }\r\n else {\r\n if (res !== undefined) {\r\n res += path[pos];\r\n }\r\n }\r\n }\r\n return res !== undefined ? res : path;\r\n}\r\n/**\r\n * Compute `fsPath` for the given uri\r\n */\r\nfunction uriToFsPath(uri, keepDriveLetterCasing) {\r\n let value;\r\n if (uri.authority && uri.path.length > 1 && uri.scheme === 'file') {\r\n // unc path: file://shares/c$/far/boo\r\n value = `//${uri.authority}${uri.path}`;\r\n }\r\n else if (uri.path.charCodeAt(0) === 47 /* Slash */\r\n && (uri.path.charCodeAt(1) >= 65 /* A */ && uri.path.charCodeAt(1) <= 90 /* Z */ || uri.path.charCodeAt(1) >= 97 /* a */ && uri.path.charCodeAt(1) <= 122 /* z */)\r\n && uri.path.charCodeAt(2) === 58 /* Colon */) {\r\n if (!keepDriveLetterCasing) {\r\n // windows drive letter: file:///c:/far/boo\r\n value = uri.path[1].toLowerCase() + uri.path.substr(2);\r\n }\r\n else {\r\n value = uri.path.substr(1);\r\n }\r\n }\r\n else {\r\n // other path\r\n value = uri.path;\r\n }\r\n if (_platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows) {\r\n value = value.replace(/\\//g, '\\\\');\r\n }\r\n return value;\r\n}\r\n/**\r\n * Create the external version of a uri\r\n */\r\nfunction _asFormatted(uri, skipEncoding) {\r\n const encoder = !skipEncoding\r\n ? encodeURIComponentFast\r\n : encodeURIComponentMinimal;\r\n let res = '';\r\n let { scheme, authority, path, query, fragment } = uri;\r\n if (scheme) {\r\n res += scheme;\r\n res += ':';\r\n }\r\n if (authority || scheme === 'file') {\r\n res += _slash;\r\n res += _slash;\r\n }\r\n if (authority) {\r\n let idx = authority.indexOf('@');\r\n if (idx !== -1) {\r\n // @\r\n const userinfo = authority.substr(0, idx);\r\n authority = authority.substr(idx + 1);\r\n idx = userinfo.indexOf(':');\r\n if (idx === -1) {\r\n res += encoder(userinfo, false);\r\n }\r\n else {\r\n // :@\r\n res += encoder(userinfo.substr(0, idx), false);\r\n res += ':';\r\n res += encoder(userinfo.substr(idx + 1), false);\r\n }\r\n res += '@';\r\n }\r\n authority = authority.toLowerCase();\r\n idx = authority.indexOf(':');\r\n if (idx === -1) {\r\n res += encoder(authority, false);\r\n }\r\n else {\r\n // :\r\n res += encoder(authority.substr(0, idx), false);\r\n res += authority.substr(idx);\r\n }\r\n }\r\n if (path) {\r\n // lower-case windows drive letters in /C:/fff or C:/fff\r\n if (path.length >= 3 && path.charCodeAt(0) === 47 /* Slash */ && path.charCodeAt(2) === 58 /* Colon */) {\r\n const code = path.charCodeAt(1);\r\n if (code >= 65 /* A */ && code <= 90 /* Z */) {\r\n path = `/${String.fromCharCode(code + 32)}:${path.substr(3)}`; // \"/c:\".length === 3\r\n }\r\n }\r\n else if (path.length >= 2 && path.charCodeAt(1) === 58 /* Colon */) {\r\n const code = path.charCodeAt(0);\r\n if (code >= 65 /* A */ && code <= 90 /* Z */) {\r\n path = `${String.fromCharCode(code + 32)}:${path.substr(2)}`; // \"/c:\".length === 3\r\n }\r\n }\r\n // encode the rest of the path\r\n res += encoder(path, true);\r\n }\r\n if (query) {\r\n res += '?';\r\n res += encoder(query, false);\r\n }\r\n if (fragment) {\r\n res += '#';\r\n res += !skipEncoding ? encodeURIComponentFast(fragment, false) : fragment;\r\n }\r\n return res;\r\n}\r\n// --- decode\r\nfunction decodeURIComponentGraceful(str) {\r\n try {\r\n return decodeURIComponent(str);\r\n }\r\n catch (_a) {\r\n if (str.length > 3) {\r\n return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));\r\n }\r\n else {\r\n return str;\r\n }\r\n }\r\n}\r\nconst _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;\r\nfunction percentDecode(str) {\r\n if (!str.match(_rEncodedAsHex)) {\r\n return str;\r\n }\r\n return str.replace(_rEncodedAsHex, (match) => decodeURIComponentGraceful(match));\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/uri.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/uuid.js": /*!***************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/uuid.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"generateUuid\": () => (/* binding */ generateUuid)\n/* harmony export */ });\n// prep-work\r\nconst _data = new Uint8Array(16);\r\nconst _hex = [];\r\nfor (let i = 0; i < 256; i++) {\r\n _hex.push(i.toString(16).padStart(2, '0'));\r\n}\r\n// todo@jrieken\r\n// 1. node nodejs use`crypto#randomBytes`, see: https://nodejs.org/docs/latest/api/crypto.html#crypto_crypto_randombytes_size_callback\r\nlet _fillRandomValues;\r\nif (typeof crypto === 'object' && typeof crypto.getRandomValues === 'function') {\r\n // browser\r\n _fillRandomValues = crypto.getRandomValues.bind(crypto);\r\n}\r\nelse {\r\n _fillRandomValues = function (bucket) {\r\n for (let i = 0; i < bucket.length; i++) {\r\n bucket[i] = Math.floor(Math.random() * 256);\r\n }\r\n return bucket;\r\n };\r\n}\r\nfunction generateUuid() {\r\n // get data\r\n _fillRandomValues(_data);\r\n // set version bits\r\n _data[6] = (_data[6] & 0x0f) | 0x40;\r\n _data[8] = (_data[8] & 0x3f) | 0x80;\r\n // print as string\r\n let i = 0;\r\n let result = '';\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += '-';\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += '-';\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += '-';\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += '-';\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n result += _hex[_data[i++]];\r\n return result;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/uuid.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js": /*!******************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"logOnceWebWorkerWarning\": () => (/* binding */ logOnceWebWorkerWarning),\n/* harmony export */ \"SimpleWorkerClient\": () => (/* binding */ SimpleWorkerClient),\n/* harmony export */ \"SimpleWorkerServer\": () => (/* binding */ SimpleWorkerServer),\n/* harmony export */ \"create\": () => (/* binding */ create)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.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\nconst INITIALIZE = '$initialize';\r\nlet webWorkerWarningLogged = false;\r\nfunction logOnceWebWorkerWarning(err) {\r\n if (!_platform_js__WEBPACK_IMPORTED_MODULE_2__.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\nclass SimpleWorkerProtocol {\r\n constructor(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 setWorkerId(workerId) {\r\n this._workerId = workerId;\r\n }\r\n sendMessage(method, args) {\r\n let req = String(++this._lastSentReq);\r\n return new Promise((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 handleMessage(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 _handleMessage(msg) {\r\n if (msg.seq) {\r\n let 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 let reply = this._pendingReplies[replyMessage.seq];\r\n delete this._pendingReplies[replyMessage.seq];\r\n if (replyMessage.err) {\r\n let 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 let requestMessage = msg;\r\n let req = requestMessage.req;\r\n let result = this._handler.handleMessage(requestMessage.method, requestMessage.args);\r\n result.then((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 }, (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 = (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.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: (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.transformErrorForSerialization)(e)\r\n });\r\n });\r\n }\r\n _send(msg) {\r\n let transfer = [];\r\n if (msg.req) {\r\n const m = msg;\r\n for (let 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 const 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}\r\n/**\r\n * Main thread side\r\n */\r\nclass SimpleWorkerClient extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\r\n constructor(workerFactory, moduleId, host) {\r\n super();\r\n let lazyProxyReject = null;\r\n this._worker = this._register(workerFactory.create('vs/base/common/worker/simpleWorker', (msg) => {\r\n this._protocol.handleMessage(msg);\r\n }, (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 SimpleWorkerProtocol({\r\n sendMessage: (msg, transfer) => {\r\n this._worker.postMessage(msg, transfer);\r\n },\r\n handleMessage: (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 let 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 const hostMethods = _types_js__WEBPACK_IMPORTED_MODULE_3__.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 const proxyMethodRequest = (method, args) => {\r\n return this._request(method, args);\r\n };\r\n this._lazyProxy = new Promise((resolve, reject) => {\r\n lazyProxyReject = reject;\r\n this._onModuleLoaded.then((availableMethods) => {\r\n resolve(_types_js__WEBPACK_IMPORTED_MODULE_3__.createProxyObject(availableMethods, proxyMethodRequest));\r\n }, (e) => {\r\n reject(e);\r\n this._onError('Worker failed to load ' + moduleId, e);\r\n });\r\n });\r\n }\r\n getProxyObject() {\r\n return this._lazyProxy;\r\n }\r\n _request(method, args) {\r\n return new Promise((resolve, reject) => {\r\n this._onModuleLoaded.then(() => {\r\n this._protocol.sendMessage(method, args).then(resolve, reject);\r\n }, reject);\r\n });\r\n }\r\n _onError(message, error) {\r\n console.error(message);\r\n console.info(error);\r\n }\r\n}\r\n/**\r\n * Worker side\r\n */\r\nclass SimpleWorkerServer {\r\n constructor(postMessage, requestHandlerFactory) {\r\n this._requestHandlerFactory = requestHandlerFactory;\r\n this._requestHandler = null;\r\n this._protocol = new SimpleWorkerProtocol({\r\n sendMessage: (msg, transfer) => {\r\n postMessage(msg, transfer);\r\n },\r\n handleMessage: (method, args) => this._handleMessage(method, args)\r\n });\r\n }\r\n onmessage(msg) {\r\n this._protocol.handleMessage(msg);\r\n }\r\n _handleMessage(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 initialize(workerId, loaderConfig, moduleId, hostMethods) {\r\n this._protocol.setWorkerId(workerId);\r\n const proxyMethodRequest = (method, args) => {\r\n return this._protocol.sendMessage(method, args);\r\n };\r\n const hostProxy = _types_js__WEBPACK_IMPORTED_MODULE_3__.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_js__WEBPACK_IMPORTED_MODULE_3__.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 if (typeof loaderConfig.trustedTypesPolicy !== undefined) {\r\n // don't use, it has been destroyed during serialize\r\n delete loaderConfig['trustedTypesPolicy'];\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((resolve, reject) => {\r\n // Use the global require to be sure to get the global config\r\n self.require([moduleId], (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_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames(this._requestHandler));\r\n }, reject);\r\n });\r\n }\r\n}\r\n/**\r\n * Called on the worker side\r\n */\r\nfunction create(postMessage) {\r\n return new SimpleWorkerServer(postMessage, null);\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInput.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInput.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"QuickInputController\": () => (/* binding */ QuickInputController)\n/* harmony export */ });\n/* harmony import */ var _media_quickInput_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./media/quickInput.css */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css\");\n/* harmony import */ var _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/quickInput.js */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/common/quickInput.js\");\n/* harmony import */ var _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _quickInputList_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./quickInputList.js */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputList.js\");\n/* harmony import */ var _quickInputBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./quickInputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputBox.js\");\n/* harmony import */ var _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../browser/keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _browser_ui_countBadge_countBadge_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../browser/ui/countBadge/countBadge.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js\");\n/* harmony import */ var _browser_ui_progressbar_progressbar_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../browser/ui/progressbar/progressbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _browser_ui_button_button_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../browser/ui/button/button.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_severity_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/severity.js */ \"./node_modules/monaco-editor/esm/vs/base/common/severity.js\");\n/* harmony import */ var _browser_ui_actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../browser/ui/actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _quickInputUtils_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./quickInputUtils.js */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputUtils.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _browser_ui_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../../browser/ui/iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.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 __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\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\nconst $ = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.$;\r\nconst backButtonIcon = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_19__.registerCodicon)('quick-input-back', _common_codicons_js__WEBPACK_IMPORTED_MODULE_19__.Codicon.arrowLeft);\r\nconst backButton = {\r\n iconClass: backButtonIcon.classNames,\r\n tooltip: (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('quickInput.back', \"Back\"),\r\n handle: -1 // TODO\r\n};\r\nclass QuickInput extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.Disposable {\r\n constructor(ui) {\r\n super();\r\n this.ui = ui;\r\n this.visible = false;\r\n this._enabled = true;\r\n this._busy = false;\r\n this._ignoreFocusOut = false;\r\n this._buttons = [];\r\n this.buttonsUpdated = false;\r\n this.onDidTriggerButtonEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDidHideEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDisposeEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.visibleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore());\r\n this.onDidHide = this.onDidHideEmitter.event;\r\n }\r\n get title() {\r\n return this._title;\r\n }\r\n set title(title) {\r\n this._title = title;\r\n this.update();\r\n }\r\n get description() {\r\n return this._description;\r\n }\r\n set description(description) {\r\n this._description = description;\r\n this.update();\r\n }\r\n get step() {\r\n return this._steps;\r\n }\r\n set step(step) {\r\n this._steps = step;\r\n this.update();\r\n }\r\n get totalSteps() {\r\n return this._totalSteps;\r\n }\r\n set totalSteps(totalSteps) {\r\n this._totalSteps = totalSteps;\r\n this.update();\r\n }\r\n get enabled() {\r\n return this._enabled;\r\n }\r\n set enabled(enabled) {\r\n this._enabled = enabled;\r\n this.update();\r\n }\r\n get contextKey() {\r\n return this._contextKey;\r\n }\r\n set contextKey(contextKey) {\r\n this._contextKey = contextKey;\r\n this.update();\r\n }\r\n get busy() {\r\n return this._busy;\r\n }\r\n set busy(busy) {\r\n this._busy = busy;\r\n this.update();\r\n }\r\n get ignoreFocusOut() {\r\n return this._ignoreFocusOut;\r\n }\r\n set ignoreFocusOut(ignoreFocusOut) {\r\n this._ignoreFocusOut = ignoreFocusOut;\r\n this.update();\r\n }\r\n get buttons() {\r\n return this._buttons;\r\n }\r\n set buttons(buttons) {\r\n this._buttons = buttons;\r\n this.buttonsUpdated = true;\r\n this.update();\r\n }\r\n show() {\r\n if (this.visible) {\r\n return;\r\n }\r\n this.visibleDisposables.add(this.ui.onDidTriggerButton(button => {\r\n if (this.buttons.indexOf(button) !== -1) {\r\n this.onDidTriggerButtonEmitter.fire(button);\r\n }\r\n }));\r\n this.ui.show(this);\r\n this.visible = true;\r\n this.update();\r\n }\r\n hide() {\r\n if (!this.visible) {\r\n return;\r\n }\r\n this.ui.hide();\r\n }\r\n didHide() {\r\n this.visible = false;\r\n this.visibleDisposables.clear();\r\n this.onDidHideEmitter.fire();\r\n }\r\n update() {\r\n if (!this.visible) {\r\n return;\r\n }\r\n const title = this.getTitle();\r\n if (title && this.ui.title.textContent !== title) {\r\n this.ui.title.textContent = title;\r\n }\r\n else if (!title && this.ui.title.innerHTML !== ' ') {\r\n this.ui.title.innerText = '\\u00a0;';\r\n }\r\n const description = this.getDescription();\r\n if (this.ui.description1.textContent !== description) {\r\n this.ui.description1.textContent = description;\r\n }\r\n if (this.ui.description2.textContent !== description) {\r\n this.ui.description2.textContent = description;\r\n }\r\n if (this.busy && !this.busyDelay) {\r\n this.busyDelay = new _common_async_js__WEBPACK_IMPORTED_MODULE_17__.TimeoutTimer();\r\n this.busyDelay.setIfNotSet(() => {\r\n if (this.visible) {\r\n this.ui.progressBar.infinite();\r\n }\r\n }, 800);\r\n }\r\n if (!this.busy && this.busyDelay) {\r\n this.ui.progressBar.stop();\r\n this.busyDelay.cancel();\r\n this.busyDelay = undefined;\r\n }\r\n if (this.buttonsUpdated) {\r\n this.buttonsUpdated = false;\r\n this.ui.leftActionBar.clear();\r\n const leftButtons = this.buttons.filter(button => button === backButton);\r\n this.ui.leftActionBar.push(leftButtons.map((button, index) => {\r\n const action = new _common_actions_js__WEBPACK_IMPORTED_MODULE_15__.Action(`id-${index}`, '', button.iconClass || (0,_quickInputUtils_js__WEBPACK_IMPORTED_MODULE_18__.getIconClass)(button.iconPath), true, () => __awaiter(this, void 0, void 0, function* () {\r\n this.onDidTriggerButtonEmitter.fire(button);\r\n }));\r\n action.tooltip = button.tooltip || '';\r\n return action;\r\n }), { icon: true, label: false });\r\n this.ui.rightActionBar.clear();\r\n const rightButtons = this.buttons.filter(button => button !== backButton);\r\n this.ui.rightActionBar.push(rightButtons.map((button, index) => {\r\n const action = new _common_actions_js__WEBPACK_IMPORTED_MODULE_15__.Action(`id-${index}`, '', button.iconClass || (0,_quickInputUtils_js__WEBPACK_IMPORTED_MODULE_18__.getIconClass)(button.iconPath), true, () => __awaiter(this, void 0, void 0, function* () {\r\n this.onDidTriggerButtonEmitter.fire(button);\r\n }));\r\n action.tooltip = button.tooltip || '';\r\n return action;\r\n }), { icon: true, label: false });\r\n }\r\n this.ui.ignoreFocusOut = this.ignoreFocusOut;\r\n this.ui.setEnabled(this.enabled);\r\n this.ui.setContextKey(this.contextKey);\r\n }\r\n getTitle() {\r\n if (this.title && this.step) {\r\n return `${this.title} (${this.getSteps()})`;\r\n }\r\n if (this.title) {\r\n return this.title;\r\n }\r\n if (this.step) {\r\n return this.getSteps();\r\n }\r\n return '';\r\n }\r\n getDescription() {\r\n return this.description || '';\r\n }\r\n getSteps() {\r\n if (this.step && this.totalSteps) {\r\n return (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('quickInput.steps', \"{0}/{1}\", this.step, this.totalSteps);\r\n }\r\n if (this.step) {\r\n return String(this.step);\r\n }\r\n return '';\r\n }\r\n showMessageDecoration(severity) {\r\n this.ui.inputBox.showDecoration(severity);\r\n if (severity === _common_severity_js__WEBPACK_IMPORTED_MODULE_13__.default.Error) {\r\n const styles = this.ui.inputBox.stylesForType(severity);\r\n this.ui.message.style.color = styles.foreground ? `${styles.foreground}` : '';\r\n this.ui.message.style.backgroundColor = styles.background ? `${styles.background}` : '';\r\n this.ui.message.style.border = styles.border ? `1px solid ${styles.border}` : '';\r\n this.ui.message.style.paddingBottom = '4px';\r\n }\r\n else {\r\n this.ui.message.style.color = '';\r\n this.ui.message.style.backgroundColor = '';\r\n this.ui.message.style.border = '';\r\n this.ui.message.style.paddingBottom = '';\r\n }\r\n }\r\n dispose() {\r\n this.hide();\r\n this.onDisposeEmitter.fire();\r\n super.dispose();\r\n }\r\n}\r\nclass QuickPick extends QuickInput {\r\n constructor() {\r\n super(...arguments);\r\n this._value = '';\r\n this.onDidChangeValueEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDidAcceptEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDidCustomEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this._items = [];\r\n this.itemsUpdated = false;\r\n this._canSelectMany = false;\r\n this._canAcceptInBackground = false;\r\n this._matchOnDescription = false;\r\n this._matchOnDetail = false;\r\n this._matchOnLabel = true;\r\n this._sortByLabel = true;\r\n this._autoFocusOnList = true;\r\n this._itemActivation = this.ui.isScreenReaderOptimized() ? _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.NONE /* https://github.com/microsoft/vscode/issues/57501 */ : _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.FIRST;\r\n this._activeItems = [];\r\n this.activeItemsUpdated = false;\r\n this.activeItemsToConfirm = [];\r\n this.onDidChangeActiveEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this._selectedItems = [];\r\n this.selectedItemsUpdated = false;\r\n this.selectedItemsToConfirm = [];\r\n this.onDidChangeSelectionEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDidTriggerItemButtonEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.valueSelectionUpdated = true;\r\n this._ok = 'default';\r\n this._customButton = false;\r\n this.filterValue = (value) => value;\r\n this.onDidChangeValue = this.onDidChangeValueEmitter.event;\r\n this.onDidAccept = this.onDidAcceptEmitter.event;\r\n this.onDidChangeActive = this.onDidChangeActiveEmitter.event;\r\n this.onDidChangeSelection = this.onDidChangeSelectionEmitter.event;\r\n this.onDidTriggerItemButton = this.onDidTriggerItemButtonEmitter.event;\r\n }\r\n get quickNavigate() {\r\n return this._quickNavigate;\r\n }\r\n set quickNavigate(quickNavigate) {\r\n this._quickNavigate = quickNavigate;\r\n this.update();\r\n }\r\n get value() {\r\n return this._value;\r\n }\r\n set value(value) {\r\n this._value = value || '';\r\n this.update();\r\n }\r\n set ariaLabel(ariaLabel) {\r\n this._ariaLabel = ariaLabel;\r\n this.update();\r\n }\r\n get ariaLabel() {\r\n return this._ariaLabel;\r\n }\r\n get placeholder() {\r\n return this._placeholder;\r\n }\r\n set placeholder(placeholder) {\r\n this._placeholder = placeholder;\r\n this.update();\r\n }\r\n get items() {\r\n return this._items;\r\n }\r\n set items(items) {\r\n this._items = items;\r\n this.itemsUpdated = true;\r\n this.update();\r\n }\r\n get canSelectMany() {\r\n return this._canSelectMany;\r\n }\r\n set canSelectMany(canSelectMany) {\r\n this._canSelectMany = canSelectMany;\r\n this.update();\r\n }\r\n get canAcceptInBackground() {\r\n return this._canAcceptInBackground;\r\n }\r\n set canAcceptInBackground(canAcceptInBackground) {\r\n this._canAcceptInBackground = canAcceptInBackground;\r\n }\r\n get matchOnDescription() {\r\n return this._matchOnDescription;\r\n }\r\n set matchOnDescription(matchOnDescription) {\r\n this._matchOnDescription = matchOnDescription;\r\n this.update();\r\n }\r\n get matchOnDetail() {\r\n return this._matchOnDetail;\r\n }\r\n set matchOnDetail(matchOnDetail) {\r\n this._matchOnDetail = matchOnDetail;\r\n this.update();\r\n }\r\n get matchOnLabel() {\r\n return this._matchOnLabel;\r\n }\r\n set matchOnLabel(matchOnLabel) {\r\n this._matchOnLabel = matchOnLabel;\r\n this.update();\r\n }\r\n get sortByLabel() {\r\n return this._sortByLabel;\r\n }\r\n set sortByLabel(sortByLabel) {\r\n this._sortByLabel = sortByLabel;\r\n this.update();\r\n }\r\n get autoFocusOnList() {\r\n return this._autoFocusOnList;\r\n }\r\n set autoFocusOnList(autoFocusOnList) {\r\n this._autoFocusOnList = autoFocusOnList;\r\n this.update();\r\n }\r\n get itemActivation() {\r\n return this._itemActivation;\r\n }\r\n set itemActivation(itemActivation) {\r\n this._itemActivation = itemActivation;\r\n }\r\n get activeItems() {\r\n return this._activeItems;\r\n }\r\n set activeItems(activeItems) {\r\n this._activeItems = activeItems;\r\n this.activeItemsUpdated = true;\r\n this.update();\r\n }\r\n get selectedItems() {\r\n return this._selectedItems;\r\n }\r\n set selectedItems(selectedItems) {\r\n this._selectedItems = selectedItems;\r\n this.selectedItemsUpdated = true;\r\n this.update();\r\n }\r\n get keyMods() {\r\n if (this._quickNavigate) {\r\n // Disable keyMods when quick navigate is enabled\r\n // because in this model the interaction is purely\r\n // keyboard driven and Ctrl/Alt are typically\r\n // pressed and hold during this interaction.\r\n return _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.NO_KEY_MODS;\r\n }\r\n return this.ui.keyMods;\r\n }\r\n set valueSelection(valueSelection) {\r\n this._valueSelection = valueSelection;\r\n this.valueSelectionUpdated = true;\r\n this.update();\r\n }\r\n get validationMessage() {\r\n return this._validationMessage;\r\n }\r\n set validationMessage(validationMessage) {\r\n this._validationMessage = validationMessage;\r\n this.update();\r\n }\r\n get customButton() {\r\n return this._customButton;\r\n }\r\n set customButton(showCustomButton) {\r\n this._customButton = showCustomButton;\r\n this.update();\r\n }\r\n get customLabel() {\r\n return this._customButtonLabel;\r\n }\r\n set customLabel(label) {\r\n this._customButtonLabel = label;\r\n this.update();\r\n }\r\n get customHover() {\r\n return this._customButtonHover;\r\n }\r\n set customHover(hover) {\r\n this._customButtonHover = hover;\r\n this.update();\r\n }\r\n get ok() {\r\n return this._ok;\r\n }\r\n set ok(showOkButton) {\r\n this._ok = showOkButton;\r\n this.update();\r\n }\r\n get hideInput() {\r\n return !!this._hideInput;\r\n }\r\n set hideInput(hideInput) {\r\n this._hideInput = hideInput;\r\n this.update();\r\n }\r\n trySelectFirst() {\r\n if (this.autoFocusOnList) {\r\n if (!this.canSelectMany) {\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.First);\r\n }\r\n }\r\n }\r\n show() {\r\n if (!this.visible) {\r\n this.visibleDisposables.add(this.ui.inputBox.onDidChange(value => {\r\n if (value === this.value) {\r\n return;\r\n }\r\n this._value = value;\r\n const didFilter = this.ui.list.filter(this.filterValue(this.ui.inputBox.value));\r\n if (didFilter) {\r\n this.trySelectFirst();\r\n }\r\n this.onDidChangeValueEmitter.fire(value);\r\n }));\r\n this.visibleDisposables.add(this.ui.inputBox.onMouseDown(event => {\r\n if (!this.autoFocusOnList) {\r\n this.ui.list.clearFocus();\r\n }\r\n }));\r\n this.visibleDisposables.add((this._hideInput ? this.ui.list : this.ui.inputBox).onKeyDown((event) => {\r\n switch (event.keyCode) {\r\n case 18 /* DownArrow */:\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.Next);\r\n if (this.canSelectMany) {\r\n this.ui.list.domFocus();\r\n }\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n break;\r\n case 16 /* UpArrow */:\r\n if (this.ui.list.getFocusedElements().length) {\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.Previous);\r\n }\r\n else {\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.Last);\r\n }\r\n if (this.canSelectMany) {\r\n this.ui.list.domFocus();\r\n }\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n break;\r\n case 12 /* PageDown */:\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.NextPage);\r\n if (this.canSelectMany) {\r\n this.ui.list.domFocus();\r\n }\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n break;\r\n case 11 /* PageUp */:\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.PreviousPage);\r\n if (this.canSelectMany) {\r\n this.ui.list.domFocus();\r\n }\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n break;\r\n case 17 /* RightArrow */:\r\n if (!this._canAcceptInBackground) {\r\n return; // needs to be enabled\r\n }\r\n if (!this.ui.inputBox.isSelectionAtEnd()) {\r\n return; // ensure input box selection at end\r\n }\r\n if (this.activeItems[0]) {\r\n this._selectedItems = [this.activeItems[0]];\r\n this.onDidChangeSelectionEmitter.fire(this.selectedItems);\r\n this.onDidAcceptEmitter.fire({ inBackground: true });\r\n }\r\n break;\r\n case 14 /* Home */:\r\n if ((event.ctrlKey || event.metaKey) && !event.shiftKey && !event.altKey) {\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.First);\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n }\r\n break;\r\n case 13 /* End */:\r\n if ((event.ctrlKey || event.metaKey) && !event.shiftKey && !event.altKey) {\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.Last);\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\r\n }\r\n break;\r\n }\r\n }));\r\n this.visibleDisposables.add(this.ui.onDidAccept(() => {\r\n if (!this.canSelectMany && this.activeItems[0]) {\r\n this._selectedItems = [this.activeItems[0]];\r\n this.onDidChangeSelectionEmitter.fire(this.selectedItems);\r\n }\r\n this.onDidAcceptEmitter.fire({ inBackground: false });\r\n }));\r\n this.visibleDisposables.add(this.ui.onDidCustom(() => {\r\n this.onDidCustomEmitter.fire();\r\n }));\r\n this.visibleDisposables.add(this.ui.list.onDidChangeFocus(focusedItems => {\r\n if (this.activeItemsUpdated) {\r\n return; // Expect another event.\r\n }\r\n if (this.activeItemsToConfirm !== this._activeItems && (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_16__.equals)(focusedItems, this._activeItems, (a, b) => a === b)) {\r\n return;\r\n }\r\n this._activeItems = focusedItems;\r\n this.onDidChangeActiveEmitter.fire(focusedItems);\r\n }));\r\n this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({ items: selectedItems, event }) => {\r\n if (this.canSelectMany) {\r\n if (selectedItems.length) {\r\n this.ui.list.setSelectedElements([]);\r\n }\r\n return;\r\n }\r\n if (this.selectedItemsToConfirm !== this._selectedItems && (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_16__.equals)(selectedItems, this._selectedItems, (a, b) => a === b)) {\r\n return;\r\n }\r\n this._selectedItems = selectedItems;\r\n this.onDidChangeSelectionEmitter.fire(selectedItems);\r\n if (selectedItems.length) {\r\n this.onDidAcceptEmitter.fire({ inBackground: event instanceof MouseEvent && event.button === 1 /* mouse middle click */ });\r\n }\r\n }));\r\n this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(checkedItems => {\r\n if (!this.canSelectMany) {\r\n return;\r\n }\r\n if (this.selectedItemsToConfirm !== this._selectedItems && (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_16__.equals)(checkedItems, this._selectedItems, (a, b) => a === b)) {\r\n return;\r\n }\r\n this._selectedItems = checkedItems;\r\n this.onDidChangeSelectionEmitter.fire(checkedItems);\r\n }));\r\n this.visibleDisposables.add(this.ui.list.onButtonTriggered(event => this.onDidTriggerItemButtonEmitter.fire(event)));\r\n this.visibleDisposables.add(this.registerQuickNavigation());\r\n this.valueSelectionUpdated = true;\r\n }\r\n super.show(); // TODO: Why have show() bubble up while update() trickles down? (Could move setComboboxAccessibility() here.)\r\n }\r\n registerQuickNavigation() {\r\n return _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(this.ui.container, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_UP, e => {\r\n if (this.canSelectMany || !this._quickNavigate) {\r\n return;\r\n }\r\n const keyboardEvent = new _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_6__.StandardKeyboardEvent(e);\r\n const keyCode = keyboardEvent.keyCode;\r\n // Select element when keys are pressed that signal it\r\n const quickNavKeys = this._quickNavigate.keybindings;\r\n const wasTriggerKeyPressed = quickNavKeys.some(k => {\r\n const [firstPart, chordPart] = k.getParts();\r\n if (chordPart) {\r\n return false;\r\n }\r\n if (firstPart.shiftKey && keyCode === 4 /* Shift */) {\r\n if (keyboardEvent.ctrlKey || keyboardEvent.altKey || keyboardEvent.metaKey) {\r\n return false; // this is an optimistic check for the shift key being used to navigate back in quick input\r\n }\r\n return true;\r\n }\r\n if (firstPart.altKey && keyCode === 6 /* Alt */) {\r\n return true;\r\n }\r\n if (firstPart.ctrlKey && keyCode === 5 /* Ctrl */) {\r\n return true;\r\n }\r\n if (firstPart.metaKey && keyCode === 57 /* Meta */) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (wasTriggerKeyPressed) {\r\n if (this.activeItems[0]) {\r\n this._selectedItems = [this.activeItems[0]];\r\n this.onDidChangeSelectionEmitter.fire(this.selectedItems);\r\n this.onDidAcceptEmitter.fire({ inBackground: false });\r\n }\r\n // Unset quick navigate after press. It is only valid once\r\n // and should not result in any behaviour change afterwards\r\n // if the picker remains open because there was no active item\r\n this._quickNavigate = undefined;\r\n }\r\n });\r\n }\r\n update() {\r\n if (!this.visible) {\r\n return;\r\n }\r\n let hideInput = false;\r\n let inputShownJustForScreenReader = false;\r\n if (!!this._hideInput && this._items.length > 0) {\r\n if (this.ui.isScreenReaderOptimized()) {\r\n // Always show input if screen reader attached https://github.com/microsoft/vscode/issues/94360\r\n inputShownJustForScreenReader = true;\r\n }\r\n else {\r\n hideInput = true;\r\n }\r\n }\r\n this.ui.container.classList.toggle('hidden-input', hideInput && !this.description);\r\n const visibilities = {\r\n title: !!this.title || !!this.step || !!this.buttons.length,\r\n description: !!this.description,\r\n checkAll: this.canSelectMany && !this._hideCheckAll,\r\n checkBox: this.canSelectMany,\r\n inputBox: !hideInput,\r\n progressBar: !hideInput,\r\n visibleCount: true,\r\n count: this.canSelectMany,\r\n ok: this.ok === 'default' ? this.canSelectMany : this.ok,\r\n list: true,\r\n message: !!this.validationMessage,\r\n customButton: this.customButton\r\n };\r\n this.ui.setVisibilities(visibilities);\r\n super.update();\r\n if (this.ui.inputBox.value !== this.value) {\r\n this.ui.inputBox.value = this.value;\r\n }\r\n if (this.valueSelectionUpdated) {\r\n this.valueSelectionUpdated = false;\r\n this.ui.inputBox.select(this._valueSelection && { start: this._valueSelection[0], end: this._valueSelection[1] });\r\n }\r\n if (this.ui.inputBox.placeholder !== (this.placeholder || '')) {\r\n this.ui.inputBox.placeholder = (this.placeholder || '');\r\n }\r\n if (inputShownJustForScreenReader) {\r\n this.ui.inputBox.ariaLabel = '';\r\n }\r\n else {\r\n const ariaLabel = this.ariaLabel || this.placeholder || QuickPick.DEFAULT_ARIA_LABEL;\r\n if (this.ui.inputBox.ariaLabel !== ariaLabel) {\r\n this.ui.inputBox.ariaLabel = ariaLabel;\r\n }\r\n }\r\n this.ui.list.matchOnDescription = this.matchOnDescription;\r\n this.ui.list.matchOnDetail = this.matchOnDetail;\r\n this.ui.list.matchOnLabel = this.matchOnLabel;\r\n this.ui.list.sortByLabel = this.sortByLabel;\r\n if (this.itemsUpdated) {\r\n this.itemsUpdated = false;\r\n this.ui.list.setElements(this.items);\r\n this.ui.list.filter(this.filterValue(this.ui.inputBox.value));\r\n this.ui.checkAll.checked = this.ui.list.getAllVisibleChecked();\r\n this.ui.visibleCount.setCount(this.ui.list.getVisibleCount());\r\n this.ui.count.setCount(this.ui.list.getCheckedCount());\r\n switch (this._itemActivation) {\r\n case _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.NONE:\r\n this._itemActivation = _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.FIRST; // only valid once, then unset\r\n break;\r\n case _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.SECOND:\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.Second);\r\n this._itemActivation = _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.FIRST; // only valid once, then unset\r\n break;\r\n case _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.LAST:\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.Last);\r\n this._itemActivation = _common_quickInput_js__WEBPACK_IMPORTED_MODULE_1__.ItemActivation.FIRST; // only valid once, then unset\r\n break;\r\n default:\r\n this.trySelectFirst();\r\n break;\r\n }\r\n }\r\n if (this.ui.container.classList.contains('show-checkboxes') !== !!this.canSelectMany) {\r\n if (this.canSelectMany) {\r\n this.ui.list.clearFocus();\r\n }\r\n else {\r\n this.trySelectFirst();\r\n }\r\n }\r\n if (this.activeItemsUpdated) {\r\n this.activeItemsUpdated = false;\r\n this.activeItemsToConfirm = this._activeItems;\r\n this.ui.list.setFocusedElements(this.activeItems);\r\n if (this.activeItemsToConfirm === this._activeItems) {\r\n this.activeItemsToConfirm = null;\r\n }\r\n }\r\n if (this.selectedItemsUpdated) {\r\n this.selectedItemsUpdated = false;\r\n this.selectedItemsToConfirm = this._selectedItems;\r\n if (this.canSelectMany) {\r\n this.ui.list.setCheckedElements(this.selectedItems);\r\n }\r\n else {\r\n this.ui.list.setSelectedElements(this.selectedItems);\r\n }\r\n if (this.selectedItemsToConfirm === this._selectedItems) {\r\n this.selectedItemsToConfirm = null;\r\n }\r\n }\r\n const validationMessage = this.validationMessage || '';\r\n if (this._lastValidationMessage !== validationMessage) {\r\n this._lastValidationMessage = validationMessage;\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.reset(this.ui.message, ...(0,_browser_ui_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_21__.renderLabelWithIcons)((0,_common_strings_js__WEBPACK_IMPORTED_MODULE_20__.escape)(validationMessage)));\r\n this.showMessageDecoration(this.validationMessage ? _common_severity_js__WEBPACK_IMPORTED_MODULE_13__.default.Error : _common_severity_js__WEBPACK_IMPORTED_MODULE_13__.default.Ignore);\r\n }\r\n this.ui.customButton.label = this.customLabel || '';\r\n this.ui.customButton.element.title = this.customHover || '';\r\n this.ui.setComboboxAccessibility(true);\r\n if (!visibilities.inputBox) {\r\n // we need to move focus into the tree to detect keybindings\r\n // properly when the input box is not visible (quick nav)\r\n this.ui.list.domFocus();\r\n // Focus the first element in the list if multiselect is enabled\r\n if (this.canSelectMany) {\r\n this.ui.list.focus(_quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputListFocus.First);\r\n }\r\n }\r\n }\r\n}\r\nQuickPick.DEFAULT_ARIA_LABEL = (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('quickInputBox.ariaLabel', \"Type to narrow down results.\");\r\nclass QuickInputController extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.Disposable {\r\n constructor(options) {\r\n super();\r\n this.options = options;\r\n this.comboboxAccessibility = false;\r\n this.enabled = true;\r\n this.onDidAcceptEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDidCustomEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onDidTriggerButtonEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.keyMods = { ctrlCmd: false, alt: false };\r\n this.controller = null;\r\n this.onShowEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onShow = this.onShowEmitter.event;\r\n this.onHideEmitter = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter());\r\n this.onHide = this.onHideEmitter.event;\r\n this.idPrefix = options.idPrefix;\r\n this.parentElement = options.container;\r\n this.styles = options.styles;\r\n this.registerKeyModsListeners();\r\n }\r\n registerKeyModsListeners() {\r\n const listener = (e) => {\r\n this.keyMods.ctrlCmd = e.ctrlKey || e.metaKey;\r\n this.keyMods.alt = e.altKey;\r\n };\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(window, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, listener, true));\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(window, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_UP, listener, true));\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(window, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_DOWN, listener, true));\r\n }\r\n getUI() {\r\n if (this.ui) {\r\n return this.ui;\r\n }\r\n const container = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(this.parentElement, $('.quick-input-widget.show-file-icons'));\r\n container.tabIndex = -1;\r\n container.style.display = 'none';\r\n const styleSheet = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.createStyleSheet(container);\r\n const titleBar = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(container, $('.quick-input-titlebar'));\r\n const leftActionBar = this._register(new _browser_ui_actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_14__.ActionBar(titleBar));\r\n leftActionBar.domNode.classList.add('quick-input-left-action-bar');\r\n const title = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(titleBar, $('.quick-input-title'));\r\n const rightActionBar = this._register(new _browser_ui_actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_14__.ActionBar(titleBar));\r\n rightActionBar.domNode.classList.add('quick-input-right-action-bar');\r\n const description1 = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(container, $('.quick-input-description'));\r\n const headerContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(container, $('.quick-input-header'));\r\n const checkAll = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(headerContainer, $('input.quick-input-check-all'));\r\n checkAll.type = 'checkbox';\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addStandardDisposableListener(checkAll, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.CHANGE, e => {\r\n const checked = checkAll.checked;\r\n list.setAllVisibleChecked(checked);\r\n }));\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(checkAll, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.CLICK, e => {\r\n if (e.x || e.y) { // Avoid 'click' triggered by 'space'...\r\n inputBox.setFocus();\r\n }\r\n }));\r\n const description2 = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(headerContainer, $('.quick-input-description'));\r\n const extraContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(headerContainer, $('.quick-input-and-message'));\r\n const filterContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(extraContainer, $('.quick-input-filter'));\r\n const inputBox = this._register(new _quickInputBox_js__WEBPACK_IMPORTED_MODULE_5__.QuickInputBox(filterContainer));\r\n inputBox.setAttribute('aria-describedby', `${this.idPrefix}message`);\r\n const visibleCountContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(filterContainer, $('.quick-input-visible-count'));\r\n visibleCountContainer.setAttribute('aria-live', 'polite');\r\n visibleCountContainer.setAttribute('aria-atomic', 'true');\r\n const visibleCount = new _browser_ui_countBadge_countBadge_js__WEBPACK_IMPORTED_MODULE_8__.CountBadge(visibleCountContainer, { countFormat: (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)({ key: 'quickInput.visibleCount', comment: ['This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers.'] }, \"{0} Results\") });\r\n const countContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(filterContainer, $('.quick-input-count'));\r\n countContainer.setAttribute('aria-live', 'polite');\r\n const count = new _browser_ui_countBadge_countBadge_js__WEBPACK_IMPORTED_MODULE_8__.CountBadge(countContainer, { countFormat: (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)({ key: 'quickInput.countSelected', comment: ['This tells the user how many items are selected in a list of items to select from. The items can be anything.'] }, \"{0} Selected\") });\r\n const okContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(headerContainer, $('.quick-input-action'));\r\n const ok = new _browser_ui_button_button_js__WEBPACK_IMPORTED_MODULE_11__.Button(okContainer);\r\n ok.label = (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('ok', \"OK\");\r\n this._register(ok.onDidClick(e => {\r\n this.onDidAcceptEmitter.fire();\r\n }));\r\n const customButtonContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(headerContainer, $('.quick-input-action'));\r\n const customButton = new _browser_ui_button_button_js__WEBPACK_IMPORTED_MODULE_11__.Button(customButtonContainer);\r\n customButton.label = (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('custom', \"Custom\");\r\n this._register(customButton.onDidClick(e => {\r\n this.onDidCustomEmitter.fire();\r\n }));\r\n const message = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.append(extraContainer, $(`#${this.idPrefix}message.quick-input-message`));\r\n const progressBar = new _browser_ui_progressbar_progressbar_js__WEBPACK_IMPORTED_MODULE_9__.ProgressBar(container);\r\n progressBar.getContainer().classList.add('quick-input-progress');\r\n const list = this._register(new _quickInputList_js__WEBPACK_IMPORTED_MODULE_4__.QuickInputList(container, this.idPrefix + 'list', this.options));\r\n this._register(list.onChangedAllVisibleChecked(checked => {\r\n checkAll.checked = checked;\r\n }));\r\n this._register(list.onChangedVisibleCount(c => {\r\n visibleCount.setCount(c);\r\n }));\r\n this._register(list.onChangedCheckedCount(c => {\r\n count.setCount(c);\r\n }));\r\n this._register(list.onLeave(() => {\r\n // Defer to avoid the input field reacting to the triggering key.\r\n setTimeout(() => {\r\n inputBox.setFocus();\r\n if (this.controller instanceof QuickPick && this.controller.canSelectMany) {\r\n list.clearFocus();\r\n }\r\n }, 0);\r\n }));\r\n this._register(list.onDidChangeFocus(() => {\r\n if (this.comboboxAccessibility) {\r\n this.getUI().inputBox.setAttribute('aria-activedescendant', this.getUI().list.getActiveDescendant() || '');\r\n }\r\n }));\r\n const focusTracker = _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.trackFocus(container);\r\n this._register(focusTracker);\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(container, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.FOCUS, e => {\r\n this.previousFocusElement = e.relatedTarget instanceof HTMLElement ? e.relatedTarget : undefined;\r\n }, true));\r\n this._register(focusTracker.onDidBlur(() => {\r\n if (!this.getUI().ignoreFocusOut && !this.options.ignoreFocusOut()) {\r\n this.hide();\r\n }\r\n this.previousFocusElement = undefined;\r\n }));\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(container, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.FOCUS, (e) => {\r\n inputBox.setFocus();\r\n }));\r\n this._register(_browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener(container, _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, (e) => {\r\n const event = new _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_6__.StandardKeyboardEvent(e);\r\n switch (event.keyCode) {\r\n case 3 /* Enter */:\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\r\n this.onDidAcceptEmitter.fire();\r\n break;\r\n case 9 /* Escape */:\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\r\n this.hide();\r\n break;\r\n case 2 /* Tab */:\r\n if (!event.altKey && !event.ctrlKey && !event.metaKey) {\r\n const selectors = ['.action-label.codicon'];\r\n if (container.classList.contains('show-checkboxes')) {\r\n selectors.push('input');\r\n }\r\n else {\r\n selectors.push('input[type=text]');\r\n }\r\n if (this.getUI().list.isDisplayed()) {\r\n selectors.push('.monaco-list');\r\n }\r\n const stops = container.querySelectorAll(selectors.join(', '));\r\n if (event.shiftKey && event.target === stops[0]) {\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\r\n stops[stops.length - 1].focus();\r\n }\r\n else if (!event.shiftKey && event.target === stops[stops.length - 1]) {\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\r\n stops[0].focus();\r\n }\r\n }\r\n break;\r\n }\r\n }));\r\n this.ui = {\r\n container,\r\n styleSheet,\r\n leftActionBar,\r\n titleBar,\r\n title,\r\n description1,\r\n description2,\r\n rightActionBar,\r\n checkAll,\r\n filterContainer,\r\n inputBox,\r\n visibleCountContainer,\r\n visibleCount,\r\n countContainer,\r\n count,\r\n okContainer,\r\n ok,\r\n message,\r\n customButtonContainer,\r\n customButton,\r\n progressBar,\r\n list,\r\n onDidAccept: this.onDidAcceptEmitter.event,\r\n onDidCustom: this.onDidCustomEmitter.event,\r\n onDidTriggerButton: this.onDidTriggerButtonEmitter.event,\r\n ignoreFocusOut: false,\r\n keyMods: this.keyMods,\r\n isScreenReaderOptimized: () => this.options.isScreenReaderOptimized(),\r\n show: controller => this.show(controller),\r\n hide: () => this.hide(),\r\n setVisibilities: visibilities => this.setVisibilities(visibilities),\r\n setComboboxAccessibility: enabled => this.setComboboxAccessibility(enabled),\r\n setEnabled: enabled => this.setEnabled(enabled),\r\n setContextKey: contextKey => this.options.setContextKey(contextKey),\r\n };\r\n this.updateStyles();\r\n return this.ui;\r\n }\r\n pick(picks, options = {}, token = _common_cancellation_js__WEBPACK_IMPORTED_MODULE_3__.CancellationToken.None) {\r\n return new Promise((doResolve, reject) => {\r\n let resolve = (result) => {\r\n resolve = doResolve;\r\n if (options.onKeyMods) {\r\n options.onKeyMods(input.keyMods);\r\n }\r\n doResolve(result);\r\n };\r\n if (token.isCancellationRequested) {\r\n resolve(undefined);\r\n return;\r\n }\r\n const input = this.createQuickPick();\r\n let activeItem;\r\n const disposables = [\r\n input,\r\n input.onDidAccept(() => {\r\n if (input.canSelectMany) {\r\n resolve(input.selectedItems.slice());\r\n input.hide();\r\n }\r\n else {\r\n const result = input.activeItems[0];\r\n if (result) {\r\n resolve(result);\r\n input.hide();\r\n }\r\n }\r\n }),\r\n input.onDidChangeActive(items => {\r\n const focused = items[0];\r\n if (focused && options.onDidFocus) {\r\n options.onDidFocus(focused);\r\n }\r\n }),\r\n input.onDidChangeSelection(items => {\r\n if (!input.canSelectMany) {\r\n const result = items[0];\r\n if (result) {\r\n resolve(result);\r\n input.hide();\r\n }\r\n }\r\n }),\r\n input.onDidTriggerItemButton(event => options.onDidTriggerItemButton && options.onDidTriggerItemButton(Object.assign(Object.assign({}, event), { removeItem: () => {\r\n const index = input.items.indexOf(event.item);\r\n if (index !== -1) {\r\n const items = input.items.slice();\r\n items.splice(index, 1);\r\n input.items = items;\r\n }\r\n } }))),\r\n input.onDidChangeValue(value => {\r\n if (activeItem && !value && (input.activeItems.length !== 1 || input.activeItems[0] !== activeItem)) {\r\n input.activeItems = [activeItem];\r\n }\r\n }),\r\n token.onCancellationRequested(() => {\r\n input.hide();\r\n }),\r\n input.onDidHide(() => {\r\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.dispose)(disposables);\r\n resolve(undefined);\r\n }),\r\n ];\r\n input.canSelectMany = !!options.canPickMany;\r\n input.placeholder = options.placeHolder;\r\n input.ignoreFocusOut = !!options.ignoreFocusLost;\r\n input.matchOnDescription = !!options.matchOnDescription;\r\n input.matchOnDetail = !!options.matchOnDetail;\r\n input.matchOnLabel = (options.matchOnLabel === undefined) || options.matchOnLabel; // default to true\r\n input.autoFocusOnList = (options.autoFocusOnList === undefined) || options.autoFocusOnList; // default to true\r\n input.quickNavigate = options.quickNavigate;\r\n input.contextKey = options.contextKey;\r\n input.busy = true;\r\n Promise.all([picks, options.activeItem])\r\n .then(([items, _activeItem]) => {\r\n activeItem = _activeItem;\r\n input.busy = false;\r\n input.items = items;\r\n if (input.canSelectMany) {\r\n input.selectedItems = items.filter(item => item.type !== 'separator' && item.picked);\r\n }\r\n if (activeItem) {\r\n input.activeItems = [activeItem];\r\n }\r\n });\r\n input.show();\r\n Promise.resolve(picks).then(undefined, err => {\r\n reject(err);\r\n input.hide();\r\n });\r\n });\r\n }\r\n createQuickPick() {\r\n const ui = this.getUI();\r\n return new QuickPick(ui);\r\n }\r\n show(controller) {\r\n const ui = this.getUI();\r\n this.onShowEmitter.fire();\r\n const oldController = this.controller;\r\n this.controller = controller;\r\n if (oldController) {\r\n oldController.didHide();\r\n }\r\n this.setEnabled(true);\r\n ui.leftActionBar.clear();\r\n ui.title.textContent = '';\r\n ui.description1.textContent = '';\r\n ui.description2.textContent = '';\r\n ui.rightActionBar.clear();\r\n ui.checkAll.checked = false;\r\n // ui.inputBox.value = ''; Avoid triggering an event.\r\n ui.inputBox.placeholder = '';\r\n ui.inputBox.password = false;\r\n ui.inputBox.showDecoration(_common_severity_js__WEBPACK_IMPORTED_MODULE_13__.default.Ignore);\r\n ui.visibleCount.setCount(0);\r\n ui.count.setCount(0);\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_2__.reset(ui.message);\r\n ui.progressBar.stop();\r\n ui.list.setElements([]);\r\n ui.list.matchOnDescription = false;\r\n ui.list.matchOnDetail = false;\r\n ui.list.matchOnLabel = true;\r\n ui.list.sortByLabel = true;\r\n ui.ignoreFocusOut = false;\r\n this.setComboboxAccessibility(false);\r\n ui.inputBox.ariaLabel = '';\r\n const backKeybindingLabel = this.options.backKeybindingLabel();\r\n backButton.tooltip = backKeybindingLabel ? (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('quickInput.backWithKeybinding', \"Back ({0})\", backKeybindingLabel) : (0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('quickInput.back', \"Back\");\r\n ui.container.style.display = '';\r\n this.updateLayout();\r\n ui.inputBox.setFocus();\r\n }\r\n setVisibilities(visibilities) {\r\n const ui = this.getUI();\r\n ui.title.style.display = visibilities.title ? '' : 'none';\r\n ui.description1.style.display = visibilities.description && (visibilities.inputBox || visibilities.checkAll) ? '' : 'none';\r\n ui.description2.style.display = visibilities.description && !(visibilities.inputBox || visibilities.checkAll) ? '' : 'none';\r\n ui.checkAll.style.display = visibilities.checkAll ? '' : 'none';\r\n ui.filterContainer.style.display = visibilities.inputBox ? '' : 'none';\r\n ui.visibleCountContainer.style.display = visibilities.visibleCount ? '' : 'none';\r\n ui.countContainer.style.display = visibilities.count ? '' : 'none';\r\n ui.okContainer.style.display = visibilities.ok ? '' : 'none';\r\n ui.customButtonContainer.style.display = visibilities.customButton ? '' : 'none';\r\n ui.message.style.display = visibilities.message ? '' : 'none';\r\n ui.progressBar.getContainer().style.display = visibilities.progressBar ? '' : 'none';\r\n ui.list.display(!!visibilities.list);\r\n ui.container.classList[visibilities.checkBox ? 'add' : 'remove']('show-checkboxes');\r\n this.updateLayout(); // TODO\r\n }\r\n setComboboxAccessibility(enabled) {\r\n if (enabled !== this.comboboxAccessibility) {\r\n const ui = this.getUI();\r\n this.comboboxAccessibility = enabled;\r\n if (this.comboboxAccessibility) {\r\n ui.inputBox.setAttribute('role', 'combobox');\r\n ui.inputBox.setAttribute('aria-haspopup', 'true');\r\n ui.inputBox.setAttribute('aria-autocomplete', 'list');\r\n ui.inputBox.setAttribute('aria-activedescendant', ui.list.getActiveDescendant() || '');\r\n }\r\n else {\r\n ui.inputBox.removeAttribute('role');\r\n ui.inputBox.removeAttribute('aria-haspopup');\r\n ui.inputBox.removeAttribute('aria-autocomplete');\r\n ui.inputBox.removeAttribute('aria-activedescendant');\r\n }\r\n }\r\n }\r\n setEnabled(enabled) {\r\n if (enabled !== this.enabled) {\r\n this.enabled = enabled;\r\n for (const item of this.getUI().leftActionBar.viewItems) {\r\n item.getAction().enabled = enabled;\r\n }\r\n for (const item of this.getUI().rightActionBar.viewItems) {\r\n item.getAction().enabled = enabled;\r\n }\r\n this.getUI().checkAll.disabled = !enabled;\r\n // this.getUI().inputBox.enabled = enabled; Avoid loosing focus.\r\n this.getUI().ok.enabled = enabled;\r\n this.getUI().list.enabled = enabled;\r\n }\r\n }\r\n hide() {\r\n var _a;\r\n const controller = this.controller;\r\n if (controller) {\r\n const focusChanged = !((_a = this.ui) === null || _a === void 0 ? void 0 : _a.container.contains(document.activeElement));\r\n this.controller = null;\r\n this.onHideEmitter.fire();\r\n this.getUI().container.style.display = 'none';\r\n if (!focusChanged) {\r\n if (this.previousFocusElement && this.previousFocusElement.offsetParent) {\r\n this.previousFocusElement.focus();\r\n this.previousFocusElement = undefined;\r\n }\r\n else {\r\n this.options.returnFocus();\r\n }\r\n }\r\n controller.didHide();\r\n }\r\n }\r\n layout(dimension, titleBarOffset) {\r\n this.dimension = dimension;\r\n this.titleBarOffset = titleBarOffset;\r\n this.updateLayout();\r\n }\r\n updateLayout() {\r\n if (this.ui) {\r\n this.ui.container.style.top = `${this.titleBarOffset}px`;\r\n const style = this.ui.container.style;\r\n const width = Math.min(this.dimension.width * 0.62 /* golden cut */, QuickInputController.MAX_WIDTH);\r\n style.width = width + 'px';\r\n style.marginLeft = '-' + (width / 2) + 'px';\r\n this.ui.inputBox.layout();\r\n this.ui.list.layout(this.dimension && this.dimension.height * 0.4);\r\n }\r\n }\r\n applyStyles(styles) {\r\n this.styles = styles;\r\n this.updateStyles();\r\n }\r\n updateStyles() {\r\n if (this.ui) {\r\n const { quickInputTitleBackground, quickInputBackground, quickInputForeground, contrastBorder, widgetShadow, } = this.styles.widget;\r\n this.ui.titleBar.style.backgroundColor = quickInputTitleBackground ? quickInputTitleBackground.toString() : '';\r\n this.ui.container.style.backgroundColor = quickInputBackground ? quickInputBackground.toString() : '';\r\n this.ui.container.style.color = quickInputForeground ? quickInputForeground.toString() : '';\r\n this.ui.container.style.border = contrastBorder ? `1px solid ${contrastBorder}` : '';\r\n this.ui.container.style.boxShadow = widgetShadow ? `0 0 8px 2px ${widgetShadow}` : '';\r\n this.ui.inputBox.style(this.styles.inputBox);\r\n this.ui.count.style(this.styles.countBadge);\r\n this.ui.ok.style(this.styles.button);\r\n this.ui.customButton.style(this.styles.button);\r\n this.ui.progressBar.style(this.styles.progressBar);\r\n this.ui.list.style(this.styles.list);\r\n const content = [];\r\n if (this.styles.list.pickerGroupBorder) {\r\n content.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }`);\r\n }\r\n if (this.styles.list.pickerGroupForeground) {\r\n content.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }`);\r\n }\r\n const newStyles = content.join('\\n');\r\n if (newStyles !== this.ui.styleSheet.textContent) {\r\n this.ui.styleSheet.textContent = newStyles;\r\n }\r\n }\r\n }\r\n}\r\nQuickInputController.MAX_WIDTH = 600; // Max total width of quick input widget\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInput.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputBox.js": /*!******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputBox.js ***! \******************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"QuickInputBox\": () => (/* binding */ QuickInputBox)\n/* harmony export */ });\n/* harmony import */ var _media_quickInput_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./media/quickInput.css */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css\");\n/* harmony import */ var _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _browser_ui_inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../browser/ui/inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../browser/keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _common_severity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/severity.js */ \"./node_modules/monaco-editor/esm/vs/base/common/severity.js\");\n/* harmony import */ var _browser_mouseEvent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../browser/mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.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\nconst $ = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.$;\r\nclass QuickInputBox extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\r\n constructor(parent) {\r\n super();\r\n this.parent = parent;\r\n this.onKeyDown = (handler) => {\r\n return _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(this.inputBox.inputElement, _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.KEY_DOWN, (e) => {\r\n handler(new _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_4__.StandardKeyboardEvent(e));\r\n });\r\n };\r\n this.onMouseDown = (handler) => {\r\n return _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(this.inputBox.inputElement, _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_DOWN, (e) => {\r\n handler(new _browser_mouseEvent_js__WEBPACK_IMPORTED_MODULE_6__.StandardMouseEvent(e));\r\n });\r\n };\r\n this.onDidChange = (handler) => {\r\n return this.inputBox.onDidChange(handler);\r\n };\r\n this.container = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.parent, $('.quick-input-box'));\r\n this.inputBox = this._register(new _browser_ui_inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__.InputBox(this.container, undefined));\r\n }\r\n get value() {\r\n return this.inputBox.value;\r\n }\r\n set value(value) {\r\n this.inputBox.value = value;\r\n }\r\n select(range = null) {\r\n this.inputBox.select(range);\r\n }\r\n isSelectionAtEnd() {\r\n return this.inputBox.isSelectionAtEnd();\r\n }\r\n get placeholder() {\r\n return this.inputBox.inputElement.getAttribute('placeholder') || '';\r\n }\r\n set placeholder(placeholder) {\r\n this.inputBox.setPlaceHolder(placeholder);\r\n }\r\n get ariaLabel() {\r\n return this.inputBox.getAriaLabel();\r\n }\r\n set ariaLabel(ariaLabel) {\r\n this.inputBox.setAriaLabel(ariaLabel);\r\n }\r\n get password() {\r\n return this.inputBox.inputElement.type === 'password';\r\n }\r\n set password(password) {\r\n this.inputBox.inputElement.type = password ? 'password' : 'text';\r\n }\r\n setAttribute(name, value) {\r\n this.inputBox.inputElement.setAttribute(name, value);\r\n }\r\n removeAttribute(name) {\r\n this.inputBox.inputElement.removeAttribute(name);\r\n }\r\n showDecoration(decoration) {\r\n if (decoration === _common_severity_js__WEBPACK_IMPORTED_MODULE_5__.default.Ignore) {\r\n this.inputBox.hideMessage();\r\n }\r\n else {\r\n this.inputBox.showMessage({ type: decoration === _common_severity_js__WEBPACK_IMPORTED_MODULE_5__.default.Info ? 1 /* INFO */ : decoration === _common_severity_js__WEBPACK_IMPORTED_MODULE_5__.default.Warning ? 2 /* WARNING */ : 3 /* ERROR */, content: '' });\r\n }\r\n }\r\n stylesForType(decoration) {\r\n return this.inputBox.stylesForType(decoration === _common_severity_js__WEBPACK_IMPORTED_MODULE_5__.default.Info ? 1 /* INFO */ : decoration === _common_severity_js__WEBPACK_IMPORTED_MODULE_5__.default.Warning ? 2 /* WARNING */ : 3 /* ERROR */);\r\n }\r\n setFocus() {\r\n this.inputBox.focus();\r\n }\r\n layout() {\r\n this.inputBox.layout();\r\n }\r\n style(styles) {\r\n this.inputBox.style(styles);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputBox.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputList.js": /*!*******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputList.js ***! \*******************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"QuickInputListFocus\": () => (/* binding */ QuickInputListFocus),\n/* harmony export */ \"QuickInputList\": () => (/* binding */ QuickInputList)\n/* harmony export */ });\n/* harmony import */ var _media_quickInput_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./media/quickInput.css */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css\");\n/* harmony import */ var _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _common_comparers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/comparers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/comparers.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../browser/keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _browser_ui_iconLabel_iconLabel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../browser/ui/iconLabel/iconLabel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js\");\n/* harmony import */ var _browser_ui_highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../browser/ui/highlightedlabel/highlightedLabel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _browser_ui_actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../browser/ui/actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _quickInputUtils_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./quickInputUtils.js */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputUtils.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _browser_ui_keybindingLabel_keybindingLabel_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../browser/ui/keybindingLabel/keybindingLabel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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 __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\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\nconst $ = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.$;\r\nclass ListElement {\r\n constructor(init) {\r\n this.hidden = false;\r\n this._onChecked = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onChecked = this._onChecked.event;\r\n Object.assign(this, init);\r\n }\r\n get checked() {\r\n return !!this._checked;\r\n }\r\n set checked(value) {\r\n if (value !== this._checked) {\r\n this._checked = value;\r\n this._onChecked.fire(value);\r\n }\r\n }\r\n dispose() {\r\n this._onChecked.dispose();\r\n }\r\n}\r\nclass ListElementRenderer {\r\n get templateId() {\r\n return ListElementRenderer.ID;\r\n }\r\n renderTemplate(container) {\r\n const data = Object.create(null);\r\n data.toDisposeElement = [];\r\n data.toDisposeTemplate = [];\r\n data.entry = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(container, $('.quick-input-list-entry'));\r\n // Checkbox\r\n const label = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(data.entry, $('label.quick-input-list-label'));\r\n data.toDisposeTemplate.push(_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(label, _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.CLICK, e => {\r\n if (!data.checkbox.offsetParent) { // If checkbox not visible:\r\n e.preventDefault(); // Prevent toggle of checkbox when it is immediately shown afterwards. #91740\r\n }\r\n }));\r\n data.checkbox = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(label, $('input.quick-input-list-checkbox'));\r\n data.checkbox.type = 'checkbox';\r\n data.toDisposeTemplate.push(_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(data.checkbox, _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.CHANGE, e => {\r\n data.element.checked = data.checkbox.checked;\r\n }));\r\n // Rows\r\n const rows = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(label, $('.quick-input-list-rows'));\r\n const row1 = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(rows, $('.quick-input-list-row'));\r\n const row2 = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(rows, $('.quick-input-list-row'));\r\n // Label\r\n data.label = new _browser_ui_iconLabel_iconLabel_js__WEBPACK_IMPORTED_MODULE_7__.IconLabel(row1, { supportHighlights: true, supportDescriptionHighlights: true, supportIcons: true });\r\n // Keybinding\r\n const keybindingContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(row1, $('.quick-input-list-entry-keybinding'));\r\n data.keybinding = new _browser_ui_keybindingLabel_keybindingLabel_js__WEBPACK_IMPORTED_MODULE_16__.KeybindingLabel(keybindingContainer, _common_platform_js__WEBPACK_IMPORTED_MODULE_11__.OS);\r\n // Detail\r\n const detailContainer = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(row2, $('.quick-input-list-label-meta'));\r\n data.detail = new _browser_ui_highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_8__.HighlightedLabel(detailContainer, true);\r\n // Separator\r\n data.separator = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(data.entry, $('.quick-input-list-separator'));\r\n // Actions\r\n data.actionBar = new _browser_ui_actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_12__.ActionBar(data.entry);\r\n data.actionBar.domNode.classList.add('quick-input-list-entry-action-bar');\r\n data.toDisposeTemplate.push(data.actionBar);\r\n return data;\r\n }\r\n renderElement(element, index, data) {\r\n data.toDisposeElement = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(data.toDisposeElement);\r\n data.element = element;\r\n data.checkbox.checked = element.checked;\r\n data.toDisposeElement.push(element.onChecked(checked => data.checkbox.checked = checked));\r\n const { labelHighlights, descriptionHighlights, detailHighlights } = element;\r\n // Label\r\n const options = Object.create(null);\r\n options.matches = labelHighlights || [];\r\n options.descriptionTitle = element.saneDescription;\r\n options.descriptionMatches = descriptionHighlights || [];\r\n options.extraClasses = element.item.iconClasses;\r\n options.italic = element.item.italic;\r\n options.strikethrough = element.item.strikethrough;\r\n data.label.setLabel(element.saneLabel, element.saneDescription, options);\r\n // Keybinding\r\n data.keybinding.set(element.item.keybinding);\r\n // Meta\r\n data.detail.set(element.saneDetail, detailHighlights);\r\n // Separator\r\n if (element.separator && element.separator.label) {\r\n data.separator.textContent = element.separator.label;\r\n data.separator.style.display = '';\r\n }\r\n else {\r\n data.separator.style.display = 'none';\r\n }\r\n data.entry.classList.toggle('quick-input-list-separator-border', !!element.separator);\r\n // Actions\r\n data.actionBar.clear();\r\n const buttons = element.item.buttons;\r\n if (buttons && buttons.length) {\r\n data.actionBar.push(buttons.map((button, index) => {\r\n let cssClasses = button.iconClass || (button.iconPath ? (0,_quickInputUtils_js__WEBPACK_IMPORTED_MODULE_14__.getIconClass)(button.iconPath) : undefined);\r\n if (button.alwaysVisible) {\r\n cssClasses = cssClasses ? `${cssClasses} always-visible` : 'always-visible';\r\n }\r\n const action = new _common_actions_js__WEBPACK_IMPORTED_MODULE_13__.Action(`id-${index}`, '', cssClasses, true, () => __awaiter(this, void 0, void 0, function* () {\r\n element.fireButtonTriggered({\r\n button,\r\n item: element.item\r\n });\r\n }));\r\n action.tooltip = button.tooltip || '';\r\n return action;\r\n }), { icon: true, label: false });\r\n data.entry.classList.add('has-actions');\r\n }\r\n else {\r\n data.entry.classList.remove('has-actions');\r\n }\r\n }\r\n disposeElement(element, index, data) {\r\n data.toDisposeElement = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(data.toDisposeElement);\r\n }\r\n disposeTemplate(data) {\r\n data.toDisposeElement = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(data.toDisposeElement);\r\n data.toDisposeTemplate = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(data.toDisposeTemplate);\r\n }\r\n}\r\nListElementRenderer.ID = 'listelement';\r\nclass ListElementDelegate {\r\n getHeight(element) {\r\n return element.saneDetail ? 44 : 22;\r\n }\r\n getTemplateId(element) {\r\n return ListElementRenderer.ID;\r\n }\r\n}\r\nvar QuickInputListFocus;\r\n(function (QuickInputListFocus) {\r\n QuickInputListFocus[QuickInputListFocus[\"First\"] = 1] = \"First\";\r\n QuickInputListFocus[QuickInputListFocus[\"Second\"] = 2] = \"Second\";\r\n QuickInputListFocus[QuickInputListFocus[\"Last\"] = 3] = \"Last\";\r\n QuickInputListFocus[QuickInputListFocus[\"Next\"] = 4] = \"Next\";\r\n QuickInputListFocus[QuickInputListFocus[\"Previous\"] = 5] = \"Previous\";\r\n QuickInputListFocus[QuickInputListFocus[\"NextPage\"] = 6] = \"NextPage\";\r\n QuickInputListFocus[QuickInputListFocus[\"PreviousPage\"] = 7] = \"PreviousPage\";\r\n})(QuickInputListFocus || (QuickInputListFocus = {}));\r\nclass QuickInputList {\r\n constructor(parent, id, options) {\r\n this.parent = parent;\r\n this.inputElements = [];\r\n this.elements = [];\r\n this.elementsToIndexes = new Map();\r\n this.matchOnDescription = false;\r\n this.matchOnDetail = false;\r\n this.matchOnLabel = true;\r\n this.matchOnMeta = true;\r\n this.sortByLabel = true;\r\n this._onChangedAllVisibleChecked = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onChangedAllVisibleChecked = this._onChangedAllVisibleChecked.event;\r\n this._onChangedCheckedCount = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onChangedCheckedCount = this._onChangedCheckedCount.event;\r\n this._onChangedVisibleCount = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onChangedVisibleCount = this._onChangedVisibleCount.event;\r\n this._onChangedCheckedElements = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onChangedCheckedElements = this._onChangedCheckedElements.event;\r\n this._onButtonTriggered = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onButtonTriggered = this._onButtonTriggered.event;\r\n this._onKeyDown = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onKeyDown = this._onKeyDown.event;\r\n this._onLeave = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\r\n this.onLeave = this._onLeave.event;\r\n this._fireCheckedEvents = true;\r\n this.elementDisposables = [];\r\n this.disposables = [];\r\n this.id = id;\r\n this.container = _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.parent, $('.quick-input-list'));\r\n const delegate = new ListElementDelegate();\r\n const accessibilityProvider = new QuickInputAccessibilityProvider();\r\n this.list = options.createList('QuickInput', this.container, delegate, [new ListElementRenderer()], {\r\n identityProvider: { getId: element => element.saneLabel },\r\n setRowLineHeight: false,\r\n multipleSelectionSupport: false,\r\n horizontalScrolling: false,\r\n accessibilityProvider\r\n });\r\n this.list.getHTMLElement().id = id;\r\n this.disposables.push(this.list);\r\n this.disposables.push(this.list.onKeyDown(e => {\r\n const event = new _browser_keyboardEvent_js__WEBPACK_IMPORTED_MODULE_6__.StandardKeyboardEvent(e);\r\n switch (event.keyCode) {\r\n case 10 /* Space */:\r\n this.toggleCheckbox();\r\n break;\r\n case 31 /* KEY_A */:\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_11__.isMacintosh ? e.metaKey : e.ctrlKey) {\r\n this.list.setFocus((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_10__.range)(this.list.length));\r\n }\r\n break;\r\n case 16 /* UpArrow */:\r\n const focus1 = this.list.getFocus();\r\n if (focus1.length === 1 && focus1[0] === 0) {\r\n this._onLeave.fire();\r\n }\r\n break;\r\n case 18 /* DownArrow */:\r\n const focus2 = this.list.getFocus();\r\n if (focus2.length === 1 && focus2[0] === this.list.length - 1) {\r\n this._onLeave.fire();\r\n }\r\n break;\r\n }\r\n this._onKeyDown.fire(event);\r\n }));\r\n this.disposables.push(this.list.onMouseDown(e => {\r\n if (e.browserEvent.button !== 2) {\r\n // Works around / fixes #64350.\r\n e.browserEvent.preventDefault();\r\n }\r\n }));\r\n this.disposables.push(_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(this.container, _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.CLICK, e => {\r\n if (e.x || e.y) { // Avoid 'click' triggered by 'space' on checkbox.\r\n this._onLeave.fire();\r\n }\r\n }));\r\n this.disposables.push(this.list.onMouseMiddleClick(e => {\r\n this._onLeave.fire();\r\n }));\r\n this.disposables.push(this.list.onContextMenu(e => {\r\n if (typeof e.index === 'number') {\r\n e.browserEvent.preventDefault();\r\n // we want to treat a context menu event as\r\n // a gesture to open the item at the index\r\n // since we do not have any context menu\r\n // this enables for example macOS to Ctrl-\r\n // click on an item to open it.\r\n this.list.setSelection([e.index]);\r\n }\r\n }));\r\n this.disposables.push(this._onChangedAllVisibleChecked, this._onChangedCheckedCount, this._onChangedVisibleCount, this._onChangedCheckedElements, this._onButtonTriggered, this._onLeave, this._onKeyDown);\r\n }\r\n get onDidChangeFocus() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Event.map(this.list.onDidChangeFocus, e => e.elements.map(e => e.item));\r\n }\r\n get onDidChangeSelection() {\r\n return _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Event.map(this.list.onDidChangeSelection, e => ({ items: e.elements.map(e => e.item), event: e.browserEvent }));\r\n }\r\n getAllVisibleChecked() {\r\n return this.allVisibleChecked(this.elements, false);\r\n }\r\n allVisibleChecked(elements, whenNoneVisible = true) {\r\n for (let i = 0, n = elements.length; i < n; i++) {\r\n const element = elements[i];\r\n if (!element.hidden) {\r\n if (!element.checked) {\r\n return false;\r\n }\r\n else {\r\n whenNoneVisible = true;\r\n }\r\n }\r\n }\r\n return whenNoneVisible;\r\n }\r\n getCheckedCount() {\r\n let count = 0;\r\n const elements = this.elements;\r\n for (let i = 0, n = elements.length; i < n; i++) {\r\n if (elements[i].checked) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n getVisibleCount() {\r\n let count = 0;\r\n const elements = this.elements;\r\n for (let i = 0, n = elements.length; i < n; i++) {\r\n if (!elements[i].hidden) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n setAllVisibleChecked(checked) {\r\n try {\r\n this._fireCheckedEvents = false;\r\n this.elements.forEach(element => {\r\n if (!element.hidden) {\r\n element.checked = checked;\r\n }\r\n });\r\n }\r\n finally {\r\n this._fireCheckedEvents = true;\r\n this.fireCheckedEvents();\r\n }\r\n }\r\n setElements(inputElements) {\r\n this.elementDisposables = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(this.elementDisposables);\r\n const fireButtonTriggered = (event) => this.fireButtonTriggered(event);\r\n this.inputElements = inputElements;\r\n this.elements = inputElements.reduce((result, item, index) => {\r\n var _a, _b, _c;\r\n if (item.type !== 'separator') {\r\n const previous = index && inputElements[index - 1];\r\n const saneLabel = item.label && item.label.replace(/\\r?\\n/g, ' ');\r\n const saneMeta = item.meta && item.meta.replace(/\\r?\\n/g, ' ');\r\n const saneDescription = item.description && item.description.replace(/\\r?\\n/g, ' ');\r\n const saneDetail = item.detail && item.detail.replace(/\\r?\\n/g, ' ');\r\n const saneAriaLabel = item.ariaLabel || [saneLabel, saneDescription, saneDetail]\r\n .map(s => s && (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.parseLabelWithIcons)(s).text)\r\n .filter(s => !!s)\r\n .join(', ');\r\n result.push(new ListElement({\r\n index,\r\n item,\r\n saneLabel,\r\n saneMeta,\r\n saneAriaLabel,\r\n saneDescription,\r\n saneDetail,\r\n labelHighlights: (_a = item.highlights) === null || _a === void 0 ? void 0 : _a.label,\r\n descriptionHighlights: (_b = item.highlights) === null || _b === void 0 ? void 0 : _b.description,\r\n detailHighlights: (_c = item.highlights) === null || _c === void 0 ? void 0 : _c.detail,\r\n checked: false,\r\n separator: previous && previous.type === 'separator' ? previous : undefined,\r\n fireButtonTriggered\r\n }));\r\n }\r\n return result;\r\n }, []);\r\n this.elementDisposables.push(...this.elements);\r\n this.elementDisposables.push(...this.elements.map(element => element.onChecked(() => this.fireCheckedEvents())));\r\n this.elementsToIndexes = this.elements.reduce((map, element, index) => {\r\n map.set(element.item, index);\r\n return map;\r\n }, new Map());\r\n this.list.splice(0, this.list.length); // Clear focus and selection first, sending the events when the list is empty.\r\n this.list.splice(0, this.list.length, this.elements);\r\n this._onChangedVisibleCount.fire(this.elements.length);\r\n }\r\n getFocusedElements() {\r\n return this.list.getFocusedElements()\r\n .map(e => e.item);\r\n }\r\n setFocusedElements(items) {\r\n this.list.setFocus(items\r\n .filter(item => this.elementsToIndexes.has(item))\r\n .map(item => this.elementsToIndexes.get(item)));\r\n if (items.length > 0) {\r\n const focused = this.list.getFocus()[0];\r\n if (typeof focused === 'number') {\r\n this.list.reveal(focused);\r\n }\r\n }\r\n }\r\n getActiveDescendant() {\r\n return this.list.getHTMLElement().getAttribute('aria-activedescendant');\r\n }\r\n setSelectedElements(items) {\r\n this.list.setSelection(items\r\n .filter(item => this.elementsToIndexes.has(item))\r\n .map(item => this.elementsToIndexes.get(item)));\r\n }\r\n getCheckedElements() {\r\n return this.elements.filter(e => e.checked)\r\n .map(e => e.item);\r\n }\r\n setCheckedElements(items) {\r\n try {\r\n this._fireCheckedEvents = false;\r\n const checked = new Set();\r\n for (const item of items) {\r\n checked.add(item);\r\n }\r\n for (const element of this.elements) {\r\n element.checked = checked.has(element.item);\r\n }\r\n }\r\n finally {\r\n this._fireCheckedEvents = true;\r\n this.fireCheckedEvents();\r\n }\r\n }\r\n set enabled(value) {\r\n this.list.getHTMLElement().style.pointerEvents = value ? '' : 'none';\r\n }\r\n focus(what) {\r\n if (!this.list.length) {\r\n return;\r\n }\r\n if (what === QuickInputListFocus.Next && this.list.getFocus()[0] === this.list.length - 1) {\r\n what = QuickInputListFocus.First;\r\n }\r\n if (what === QuickInputListFocus.Previous && this.list.getFocus()[0] === 0) {\r\n what = QuickInputListFocus.Last;\r\n }\r\n if (what === QuickInputListFocus.Second && this.list.length < 2) {\r\n what = QuickInputListFocus.First;\r\n }\r\n switch (what) {\r\n case QuickInputListFocus.First:\r\n this.list.focusFirst();\r\n break;\r\n case QuickInputListFocus.Second:\r\n this.list.focusNth(1);\r\n break;\r\n case QuickInputListFocus.Last:\r\n this.list.focusLast();\r\n break;\r\n case QuickInputListFocus.Next:\r\n this.list.focusNext();\r\n break;\r\n case QuickInputListFocus.Previous:\r\n this.list.focusPrevious();\r\n break;\r\n case QuickInputListFocus.NextPage:\r\n this.list.focusNextPage();\r\n break;\r\n case QuickInputListFocus.PreviousPage:\r\n this.list.focusPreviousPage();\r\n break;\r\n }\r\n const focused = this.list.getFocus()[0];\r\n if (typeof focused === 'number') {\r\n this.list.reveal(focused);\r\n }\r\n }\r\n clearFocus() {\r\n this.list.setFocus([]);\r\n }\r\n domFocus() {\r\n this.list.domFocus();\r\n }\r\n layout(maxHeight) {\r\n this.list.getHTMLElement().style.maxHeight = maxHeight ? `calc(${Math.floor(maxHeight / 44) * 44}px)` : '';\r\n this.list.layout();\r\n }\r\n filter(query) {\r\n if (!(this.sortByLabel || this.matchOnLabel || this.matchOnDescription || this.matchOnDetail)) {\r\n this.list.layout();\r\n return false;\r\n }\r\n query = query.trim();\r\n // Reset filtering\r\n if (!query || !(this.matchOnLabel || this.matchOnDescription || this.matchOnDetail)) {\r\n this.elements.forEach(element => {\r\n element.labelHighlights = undefined;\r\n element.descriptionHighlights = undefined;\r\n element.detailHighlights = undefined;\r\n element.hidden = false;\r\n const previous = element.index && this.inputElements[element.index - 1];\r\n element.separator = previous && previous.type === 'separator' ? previous : undefined;\r\n });\r\n }\r\n // Filter by value (since we support icons in labels, use $(..) aware fuzzy matching)\r\n else {\r\n this.elements.forEach(element => {\r\n const labelHighlights = this.matchOnLabel ? (0,_common_types_js__WEBPACK_IMPORTED_MODULE_15__.withNullAsUndefined)((0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.matchesFuzzyIconAware)(query, (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.parseLabelWithIcons)(element.saneLabel))) : undefined;\r\n const descriptionHighlights = this.matchOnDescription ? (0,_common_types_js__WEBPACK_IMPORTED_MODULE_15__.withNullAsUndefined)((0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.matchesFuzzyIconAware)(query, (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.parseLabelWithIcons)(element.saneDescription || ''))) : undefined;\r\n const detailHighlights = this.matchOnDetail ? (0,_common_types_js__WEBPACK_IMPORTED_MODULE_15__.withNullAsUndefined)((0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.matchesFuzzyIconAware)(query, (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.parseLabelWithIcons)(element.saneDetail || ''))) : undefined;\r\n const metaHighlights = this.matchOnMeta ? (0,_common_types_js__WEBPACK_IMPORTED_MODULE_15__.withNullAsUndefined)((0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.matchesFuzzyIconAware)(query, (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_3__.parseLabelWithIcons)(element.saneMeta || ''))) : undefined;\r\n if (labelHighlights || descriptionHighlights || detailHighlights || metaHighlights) {\r\n element.labelHighlights = labelHighlights;\r\n element.descriptionHighlights = descriptionHighlights;\r\n element.detailHighlights = detailHighlights;\r\n element.hidden = false;\r\n }\r\n else {\r\n element.labelHighlights = undefined;\r\n element.descriptionHighlights = undefined;\r\n element.detailHighlights = undefined;\r\n element.hidden = !element.item.alwaysShow;\r\n }\r\n element.separator = undefined;\r\n });\r\n }\r\n const shownElements = this.elements.filter(element => !element.hidden);\r\n // Sort by value\r\n if (this.sortByLabel && query) {\r\n const normalizedSearchValue = query.toLowerCase();\r\n shownElements.sort((a, b) => {\r\n return compareEntries(a, b, normalizedSearchValue);\r\n });\r\n }\r\n this.elementsToIndexes = shownElements.reduce((map, element, index) => {\r\n map.set(element.item, index);\r\n return map;\r\n }, new Map());\r\n this.list.splice(0, this.list.length, shownElements);\r\n this.list.setFocus([]);\r\n this.list.layout();\r\n this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked());\r\n this._onChangedVisibleCount.fire(shownElements.length);\r\n return true;\r\n }\r\n toggleCheckbox() {\r\n try {\r\n this._fireCheckedEvents = false;\r\n const elements = this.list.getFocusedElements();\r\n const allChecked = this.allVisibleChecked(elements);\r\n for (const element of elements) {\r\n element.checked = !allChecked;\r\n }\r\n }\r\n finally {\r\n this._fireCheckedEvents = true;\r\n this.fireCheckedEvents();\r\n }\r\n }\r\n display(display) {\r\n this.container.style.display = display ? '' : 'none';\r\n }\r\n isDisplayed() {\r\n return this.container.style.display !== 'none';\r\n }\r\n dispose() {\r\n this.elementDisposables = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(this.elementDisposables);\r\n this.disposables = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.dispose)(this.disposables);\r\n }\r\n fireCheckedEvents() {\r\n if (this._fireCheckedEvents) {\r\n this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked());\r\n this._onChangedCheckedCount.fire(this.getCheckedCount());\r\n this._onChangedCheckedElements.fire(this.getCheckedElements());\r\n }\r\n }\r\n fireButtonTriggered(event) {\r\n this._onButtonTriggered.fire(event);\r\n }\r\n style(styles) {\r\n this.list.style(styles);\r\n }\r\n}\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], QuickInputList.prototype, \"onDidChangeFocus\", null);\r\n__decorate([\r\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\r\n], QuickInputList.prototype, \"onDidChangeSelection\", null);\r\nfunction compareEntries(elementA, elementB, lookFor) {\r\n const labelHighlightsA = elementA.labelHighlights || [];\r\n const labelHighlightsB = elementB.labelHighlights || [];\r\n if (labelHighlightsA.length && !labelHighlightsB.length) {\r\n return -1;\r\n }\r\n if (!labelHighlightsA.length && labelHighlightsB.length) {\r\n return 1;\r\n }\r\n if (labelHighlightsA.length === 0 && labelHighlightsB.length === 0) {\r\n return 0;\r\n }\r\n return (0,_common_comparers_js__WEBPACK_IMPORTED_MODULE_4__.compareAnything)(elementA.saneLabel, elementB.saneLabel, lookFor);\r\n}\r\nclass QuickInputAccessibilityProvider {\r\n getWidgetAriaLabel() {\r\n return (0,_nls_js__WEBPACK_IMPORTED_MODULE_17__.localize)('quickInput', \"Quick Input\");\r\n }\r\n getAriaLabel(element) {\r\n return element.saneAriaLabel;\r\n }\r\n getWidgetRole() {\r\n return 'listbox';\r\n }\r\n getRole() {\r\n return 'option';\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputList.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputUtils.js": /*!********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputUtils.js ***! \********************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getIconClass\": () => (/* binding */ getIconClass)\n/* harmony export */ });\n/* harmony import */ var _media_quickInput_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./media/quickInput.css */ \"./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css\");\n/* harmony import */ var _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_idGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/idGenerator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/idGenerator.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\nconst iconPathToClass = {};\r\nconst iconClassGenerator = new _common_idGenerator_js__WEBPACK_IMPORTED_MODULE_2__.IdGenerator('quick-input-button-icon-');\r\nfunction getIconClass(iconPath) {\r\n if (!iconPath) {\r\n return undefined;\r\n }\r\n let iconClass;\r\n const key = iconPath.dark.toString();\r\n if (iconPathToClass[key]) {\r\n iconClass = iconPathToClass[key];\r\n }\r\n else {\r\n iconClass = iconClassGenerator.nextId();\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.createCSSRule(`.${iconClass}`, `background-image: ${_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.asCSSUrl(iconPath.light || iconPath.dark)}`);\r\n _browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.createCSSRule(`.vs-dark .${iconClass}, .hc-black .${iconClass}`, `background-image: ${_browser_dom_js__WEBPACK_IMPORTED_MODULE_1__.asCSSUrl(iconPath.dark)}`);\r\n iconPathToClass[key] = iconClass;\r\n }\r\n return iconClass;\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/quickInputUtils.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/parts/quickinput/common/quickInput.js": /*!**************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/parts/quickinput/common/quickInput.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NO_KEY_MODS\": () => (/* binding */ NO_KEY_MODS),\n/* harmony export */ \"ItemActivation\": () => (/* binding */ ItemActivation)\n/* harmony export */ });\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\nconst NO_KEY_MODS = { ctrlCmd: false, alt: false };\r\nvar ItemActivation;\r\n(function (ItemActivation) {\r\n ItemActivation[ItemActivation[\"NONE\"] = 0] = \"NONE\";\r\n ItemActivation[ItemActivation[\"FIRST\"] = 1] = \"FIRST\";\r\n ItemActivation[ItemActivation[\"SECOND\"] = 2] = \"SECOND\";\r\n ItemActivation[ItemActivation[\"LAST\"] = 3] = \"LAST\";\r\n})(ItemActivation || (ItemActivation = {}));\r\n//#endregion\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/quickinput/common/quickInput.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js": /*!********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Storage\": () => (/* binding */ Storage),\n/* harmony export */ \"InMemoryStorageDatabase\": () => (/* binding */ InMemoryStorageDatabase)\n/* harmony export */ });\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.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 __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\n\r\n\r\n\r\n\r\nvar StorageState;\r\n(function (StorageState) {\r\n StorageState[StorageState[\"None\"] = 0] = \"None\";\r\n StorageState[StorageState[\"Initialized\"] = 1] = \"Initialized\";\r\n StorageState[StorageState[\"Closed\"] = 2] = \"Closed\";\r\n})(StorageState || (StorageState = {}));\r\nclass Storage extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__.Disposable {\r\n constructor(database, options = Object.create(null)) {\r\n super();\r\n this.database = database;\r\n this.options = options;\r\n this._onDidChangeStorage = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());\r\n this.onDidChangeStorage = this._onDidChangeStorage.event;\r\n this.state = StorageState.None;\r\n this.cache = new Map();\r\n this.flushDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY);\r\n this.pendingDeletes = new Set();\r\n this.pendingInserts = new Map();\r\n this.whenFlushedCallbacks = [];\r\n this.registerListeners();\r\n }\r\n registerListeners() {\r\n this._register(this.database.onDidChangeItemsExternal(e => this.onDidChangeItemsExternal(e)));\r\n }\r\n onDidChangeItemsExternal(e) {\r\n var _a, _b;\r\n // items that change external require us to update our\r\n // caches with the values. we just accept the value and\r\n // emit an event if there is a change.\r\n (_a = e.changed) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => this.accept(key, value));\r\n (_b = e.deleted) === null || _b === void 0 ? void 0 : _b.forEach(key => this.accept(key, undefined));\r\n }\r\n accept(key, value) {\r\n if (this.state === StorageState.Closed) {\r\n return; // Return early if we are already closed\r\n }\r\n let changed = false;\r\n // Item got removed, check for deletion\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefinedOrNull)(value)) {\r\n changed = this.cache.delete(key);\r\n }\r\n // Item got updated, check for change\r\n else {\r\n const currentValue = this.cache.get(key);\r\n if (currentValue !== value) {\r\n this.cache.set(key, value);\r\n changed = true;\r\n }\r\n }\r\n // Signal to outside listeners\r\n if (changed) {\r\n this._onDidChangeStorage.fire(key);\r\n }\r\n }\r\n get(key, fallbackValue) {\r\n const value = this.cache.get(key);\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefinedOrNull)(value)) {\r\n return fallbackValue;\r\n }\r\n return value;\r\n }\r\n getBoolean(key, fallbackValue) {\r\n const value = this.get(key);\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefinedOrNull)(value)) {\r\n return fallbackValue;\r\n }\r\n return value === 'true';\r\n }\r\n getNumber(key, fallbackValue) {\r\n const value = this.get(key);\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefinedOrNull)(value)) {\r\n return fallbackValue;\r\n }\r\n return parseInt(value, 10);\r\n }\r\n set(key, value) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (this.state === StorageState.Closed) {\r\n return; // Return early if we are already closed\r\n }\r\n // We remove the key for undefined/null values\r\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_3__.isUndefinedOrNull)(value)) {\r\n return this.delete(key);\r\n }\r\n // Otherwise, convert to String and store\r\n const valueStr = String(value);\r\n // Return early if value already set\r\n const currentValue = this.cache.get(key);\r\n if (currentValue === valueStr) {\r\n return;\r\n }\r\n // Update in cache and pending\r\n this.cache.set(key, valueStr);\r\n this.pendingInserts.set(key, valueStr);\r\n this.pendingDeletes.delete(key);\r\n // Event\r\n this._onDidChangeStorage.fire(key);\r\n // Accumulate work by scheduling after timeout\r\n return this.flushDelayer.trigger(() => this.flushPending());\r\n });\r\n }\r\n delete(key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (this.state === StorageState.Closed) {\r\n return; // Return early if we are already closed\r\n }\r\n // Remove from cache and add to pending\r\n const wasDeleted = this.cache.delete(key);\r\n if (!wasDeleted) {\r\n return; // Return early if value already deleted\r\n }\r\n if (!this.pendingDeletes.has(key)) {\r\n this.pendingDeletes.add(key);\r\n }\r\n this.pendingInserts.delete(key);\r\n // Event\r\n this._onDidChangeStorage.fire(key);\r\n // Accumulate work by scheduling after timeout\r\n return this.flushDelayer.trigger(() => this.flushPending());\r\n });\r\n }\r\n get hasPending() {\r\n return this.pendingInserts.size > 0 || this.pendingDeletes.size > 0;\r\n }\r\n flushPending() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (!this.hasPending) {\r\n return; // return early if nothing to do\r\n }\r\n // Get pending data\r\n const updateRequest = { insert: this.pendingInserts, delete: this.pendingDeletes };\r\n // Reset pending data for next run\r\n this.pendingDeletes = new Set();\r\n this.pendingInserts = new Map();\r\n // Update in storage and release any\r\n // waiters we have once done\r\n return this.database.updateItems(updateRequest).finally(() => {\r\n var _a;\r\n if (!this.hasPending) {\r\n while (this.whenFlushedCallbacks.length) {\r\n (_a = this.whenFlushedCallbacks.pop()) === null || _a === void 0 ? void 0 : _a();\r\n }\r\n }\r\n });\r\n });\r\n }\r\n dispose() {\r\n this.flushDelayer.cancel(); // workaround https://github.com/microsoft/vscode/issues/116777\r\n this.flushDelayer.dispose();\r\n super.dispose();\r\n }\r\n}\r\nStorage.DEFAULT_FLUSH_DELAY = 100;\r\nclass InMemoryStorageDatabase {\r\n constructor() {\r\n this.onDidChangeItemsExternal = _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Event.None;\r\n this.items = new Map();\r\n }\r\n updateItems(request) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (request.insert) {\r\n request.insert.forEach((value, key) => this.items.set(key, value));\r\n }\r\n if (request.delete) {\r\n request.delete.forEach(key => this.items.delete(key));\r\n }\r\n });\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/base/worker/defaultWorkerFactory.js": /*!*******************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/base/worker/defaultWorkerFactory.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DefaultWorkerFactory\": () => (/* binding */ DefaultWorkerFactory)\n/* harmony export */ });\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_worker_simpleWorker_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/worker/simpleWorker.js */ \"./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 _a;\r\n\r\n\r\nconst ttPolicy = (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });\r\nfunction getWorker(workerId, label) {\r\n // Option for hosts to overwrite the worker script (used in the standalone editor)\r\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.MonacoEnvironment) {\r\n if (typeof _common_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.MonacoEnvironment.getWorker === 'function') {\r\n return _common_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.MonacoEnvironment.getWorker(workerId, label);\r\n }\r\n if (typeof _common_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.MonacoEnvironment.getWorkerUrl === 'function') {\r\n const wokerUrl = _common_platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.MonacoEnvironment.getWorkerUrl(workerId, label);\r\n return new Worker(ttPolicy ? ttPolicy.createScriptURL(wokerUrl) : wokerUrl, { name: 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); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321\r\n // \t\tconst workerUrl = getWorkerBootstrapUrl(workerMain, label);\r\n // \t\treturn new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) as unknown as string : 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, forceDataUri: boolean = false): string {\r\n// \tif (forceDataUri || /^((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 (forceDataUri || 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); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321\r\n// \t\t\tconst js = `/*${label}*/self.MonacoEnvironment={baseUrl: '${workerBaseUrl}'};importScripts('${scriptPath}');/*${label}*/`;\r\n// \t\t\tif (forceDataUri) {\r\n// \t\t\t\tconst url = `data:text/javascript;charset=utf-8,${encodeURIComponent(js)}`;\r\n// \t\t\t\treturn url;\r\n// \t\t\t}\r\n// \t\t\tconst blob = new Blob([js], { type: 'application/javascript' });\r\n// \t\t\treturn URL.createObjectURL(blob);\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\nclass WebWorker {\r\n constructor(moduleId, id, label, onMessageCallback, onErrorCallback) {\r\n this.id = id;\r\n const 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((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 getId() {\r\n return this.id;\r\n }\r\n postMessage(message, transfer) {\r\n if (this.worker) {\r\n this.worker.then(w => w.postMessage(message, transfer));\r\n }\r\n }\r\n dispose() {\r\n if (this.worker) {\r\n this.worker.then(w => w.terminate());\r\n }\r\n this.worker = null;\r\n }\r\n}\r\nclass DefaultWorkerFactory {\r\n constructor(label) {\r\n this._label = label;\r\n this._webWorkerFailedBeforeError = false;\r\n }\r\n create(moduleId, onMessageCallback, onErrorCallback) {\r\n let 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, (err) => {\r\n (0,_common_worker_simpleWorker_js__WEBPACK_IMPORTED_MODULE_1__.logOnceWebWorkerWarning)(err);\r\n this._webWorkerFailedBeforeError = err;\r\n onErrorCallback(err);\r\n });\r\n }\r\n}\r\nDefaultWorkerFactory.LAST_WORKER_ID = 0;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/base/worker/defaultWorkerFactory.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js": /*!*****************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"loadLanguage\": () => (/* binding */ loadLanguage),\n/* harmony export */ \"registerLanguage\": () => (/* binding */ registerLanguage)\n/* harmony export */ });\n/* harmony import */ var _fillers_monaco_editor_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fillers/monaco-editor-core.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fillers/monaco-editor-core.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 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 _fillers_monaco_editor_core_js__WEBPACK_IMPORTED_MODULE_0__.languages.register(def);\r\n var lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\r\n _fillers_monaco_editor_core_js__WEBPACK_IMPORTED_MODULE_0__.languages.setMonarchTokensProvider(languageId, lazyLanguageLoader.whenLoaded().then(function (mod) { return mod.language; }));\r\n _fillers_monaco_editor_core_js__WEBPACK_IMPORTED_MODULE_0__.languages.onLanguage(languageId, function () {\r\n lazyLanguageLoader.load().then(function (mod) {\r\n _fillers_monaco_editor_core_js__WEBPACK_IMPORTED_MODULE_0__.languages.setLanguageConfiguration(languageId, mod.conf);\r\n });\r\n });\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'abap',\r\n extensions: ['.abap'],\r\n aliases: ['abap', 'ABAP'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_abap_abap_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./abap.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_apex_apex_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./apex.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'azcli',\r\n extensions: ['.azcli'],\r\n aliases: ['Azure CLI', 'azcli'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_azcli_azcli_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./azcli.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'bat',\r\n extensions: ['.bat', '.cmd'],\r\n aliases: ['Batch', 'bat'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_bat_bat_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./bat.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js": /*!*********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'cameligo',\r\n extensions: ['.mligo'],\r\n aliases: ['Cameligo'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cameligo_cameligo_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cameligo.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js": /*!*******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js ***! \*******************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_clojure_clojure_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./clojure.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'coffeescript',\r\n extensions: ['.coffee'],\r\n aliases: ['CoffeeScript', 'coffeescript', 'coffee'],\r\n mimetypes: ['text/x-coffeescript', 'text/coffeescript'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_coffee_coffee_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./coffee.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'c',\r\n extensions: ['.c', '.h'],\r\n aliases: ['C', 'c'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_cpp_cpp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cpp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js\")); }\r\n});\r\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'cpp',\r\n extensions: ['.cpp', '.cc', '.cxx', '.hpp', '.hh', '.hxx'],\r\n aliases: ['C++', 'Cpp', 'cpp'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_cpp_cpp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cpp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'csharp',\r\n extensions: ['.cs', '.csx', '.cake'],\r\n aliases: ['C#', 'csharp'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_csharp_csharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./csharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'csp',\r\n extensions: [],\r\n aliases: ['CSP', 'csp'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_csp_csp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./csp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_css_css_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./css.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/css/css.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'dart',\r\n extensions: ['.dart'],\r\n aliases: ['Dart', 'dart'],\r\n mimetypes: ['text/x-dart-source', 'text/x-dart'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_dart_dart_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./dart.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js": /*!*************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'dockerfile',\r\n extensions: ['.dockerfile'],\r\n filenames: ['Dockerfile'],\r\n aliases: ['Dockerfile'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_dockerfile_dockerfile_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./dockerfile.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'ecl',\r\n extensions: ['.ecl'],\r\n aliases: ['ECL', 'Ecl', 'ecl'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_ecl_ecl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ecl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/fillers/monaco-editor-core.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/fillers/monaco-editor-core.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CancellationTokenSource\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.CancellationTokenSource),\n/* harmony export */ \"Emitter\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.Emitter),\n/* harmony export */ \"KeyCode\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.KeyCode),\n/* harmony export */ \"KeyMod\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.KeyMod),\n/* harmony export */ \"MarkerSeverity\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.MarkerSeverity),\n/* harmony export */ \"MarkerTag\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.MarkerTag),\n/* harmony export */ \"Position\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.Position),\n/* harmony export */ \"Range\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.Range),\n/* harmony export */ \"Selection\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.Selection),\n/* harmony export */ \"SelectionDirection\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.SelectionDirection),\n/* harmony export */ \"Token\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.Token),\n/* harmony export */ \"Uri\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.Uri),\n/* harmony export */ \"editor\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.editor),\n/* harmony export */ \"languages\": () => (/* reexport safe */ _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__.languages)\n/* harmony export */ });\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../editor/editor.api.js */ \"./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\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/fillers/monaco-editor-core.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_fsharp_fsharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./fsharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'go',\r\n extensions: ['.go'],\r\n aliases: ['Go'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_go_go_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./go.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/go/go.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js": /*!*******************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js ***! \*******************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_graphql_graphql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./graphql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js": /*!*************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_handlebars_handlebars_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./handlebars.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'hcl',\r\n extensions: ['.tf', '.tfvars', '.hcl'],\r\n aliases: ['Terraform', 'tf', 'HCL', 'hcl'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_hcl_hcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./hcl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'html',\r\n extensions: ['.html', '.htm', '.shtml', '.xhtml', '.mdoc', '.jsp', '.asp', '.aspx', '.jshtm'],\r\n aliases: ['HTML', 'htm', 'html', 'xhtml'],\r\n mimetypes: ['text/html', 'text/x-jshtm', 'text/template', 'text/ng-template'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_html_html_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./html.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/html/html.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'ini',\r\n extensions: ['.ini', '.properties', '.gitconfig'],\r\n filenames: ['config', '.gitattributes', '.gitconfig', '.editorconfig'],\r\n aliases: ['Ini', 'ini'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_ini_ini_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ini.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'java',\r\n extensions: ['.java', '.jav'],\r\n aliases: ['Java', 'java'],\r\n mimetypes: ['text/x-java-source', 'text/x-java'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_java_java_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./java.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/java/java.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js": /*!*************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'javascript',\r\n extensions: ['.js', '.es6', '.jsx', '.mjs'],\r\n firstLine: '^#!.*\\\\bnode',\r\n filenames: ['jakefile'],\r\n aliases: ['JavaScript', 'javascript', 'js'],\r\n mimetypes: ['text/javascript'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_javascript_javascript_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./javascript.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'julia',\r\n extensions: ['.jl'],\r\n aliases: ['julia', 'Julia'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_julia_julia_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./julia.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_kotlin_kotlin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./kotlin.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_less_less_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./less.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/less/less.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'lexon',\r\n extensions: ['.lex'],\r\n aliases: ['Lexon'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_lexon_lexon_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./lexon.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'lua',\r\n extensions: ['.lua'],\r\n aliases: ['Lua', 'lua'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_lua_lua_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./lua.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'm3',\r\n extensions: ['.m3', '.i3', '.mg', '.ig'],\r\n aliases: ['Modula-3', 'Modula3', 'modula3', 'm3'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_m3_m3_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./m3.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js": /*!*********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'markdown',\r\n extensions: ['.md', '.markdown', '.mdown', '.mkdn', '.mkd', '.mdwn', '.mdtxt', '.mdtext'],\r\n aliases: ['Markdown', 'markdown'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_markdown_markdown_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./markdown.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'mips',\r\n extensions: ['.s'],\r\n aliases: ['MIPS', 'MIPS-V'],\r\n mimetypes: ['text/x-mips', 'text/mips', 'text/plaintext'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_mips_mips_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mips.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editor/editor.api.js */ \"./node_modules/monaco-editor/esm/vs/editor/editor.api.js\");\n/* harmony import */ var _abap_abap_contribution_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abap/abap.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js\");\n/* harmony import */ var _apex_apex_contribution_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apex/apex.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js\");\n/* harmony import */ var _azcli_azcli_contribution_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./azcli/azcli.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js\");\n/* harmony import */ var _bat_bat_contribution_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bat/bat.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js\");\n/* harmony import */ var _cameligo_cameligo_contribution_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cameligo/cameligo.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js\");\n/* harmony import */ var _clojure_clojure_contribution_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./clojure/clojure.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js\");\n/* harmony import */ var _coffee_coffee_contribution_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./coffee/coffee.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js\");\n/* harmony import */ var _cpp_cpp_contribution_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./cpp/cpp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js\");\n/* harmony import */ var _csharp_csharp_contribution_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./csharp/csharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js\");\n/* harmony import */ var _csp_csp_contribution_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./csp/csp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js\");\n/* harmony import */ var _css_css_contribution_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./css/css.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js\");\n/* harmony import */ var _dart_dart_contribution_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./dart/dart.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js\");\n/* harmony import */ var _dockerfile_dockerfile_contribution_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./dockerfile/dockerfile.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js\");\n/* harmony import */ var _ecl_ecl_contribution_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ecl/ecl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js\");\n/* harmony import */ var _fsharp_fsharp_contribution_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./fsharp/fsharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js\");\n/* harmony import */ var _go_go_contribution_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./go/go.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js\");\n/* harmony import */ var _graphql_graphql_contribution_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./graphql/graphql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js\");\n/* harmony import */ var _handlebars_handlebars_contribution_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./handlebars/handlebars.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js\");\n/* harmony import */ var _hcl_hcl_contribution_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./hcl/hcl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js\");\n/* harmony import */ var _html_html_contribution_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./html/html.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js\");\n/* harmony import */ var _ini_ini_contribution_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./ini/ini.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js\");\n/* harmony import */ var _java_java_contribution_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./java/java.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js\");\n/* harmony import */ var _javascript_javascript_contribution_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./javascript/javascript.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js\");\n/* harmony import */ var _julia_julia_contribution_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./julia/julia.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js\");\n/* harmony import */ var _kotlin_kotlin_contribution_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./kotlin/kotlin.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js\");\n/* harmony import */ var _less_less_contribution_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./less/less.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js\");\n/* harmony import */ var _lexon_lexon_contribution_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./lexon/lexon.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js\");\n/* harmony import */ var _lua_lua_contribution_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./lua/lua.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js\");\n/* harmony import */ var _m3_m3_contribution_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./m3/m3.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js\");\n/* harmony import */ var _markdown_markdown_contribution_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./markdown/markdown.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js\");\n/* harmony import */ var _mips_mips_contribution_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./mips/mips.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js\");\n/* harmony import */ var _msdax_msdax_contribution_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./msdax/msdax.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js\");\n/* harmony import */ var _mysql_mysql_contribution_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./mysql/mysql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js\");\n/* harmony import */ var _objective_c_objective_c_contribution_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./objective-c/objective-c.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js\");\n/* harmony import */ var _pascal_pascal_contribution_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./pascal/pascal.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js\");\n/* harmony import */ var _pascaligo_pascaligo_contribution_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./pascaligo/pascaligo.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js\");\n/* harmony import */ var _perl_perl_contribution_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./perl/perl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js\");\n/* harmony import */ var _pgsql_pgsql_contribution_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./pgsql/pgsql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js\");\n/* harmony import */ var _php_php_contribution_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./php/php.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js\");\n/* harmony import */ var _postiats_postiats_contribution_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./postiats/postiats.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js\");\n/* harmony import */ var _powerquery_powerquery_contribution_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./powerquery/powerquery.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js\");\n/* harmony import */ var _powershell_powershell_contribution_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./powershell/powershell.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js\");\n/* harmony import */ var _pug_pug_contribution_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./pug/pug.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js\");\n/* harmony import */ var _python_python_contribution_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./python/python.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js\");\n/* harmony import */ var _r_r_contribution_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./r/r.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js\");\n/* harmony import */ var _razor_razor_contribution_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./razor/razor.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js\");\n/* harmony import */ var _redis_redis_contribution_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./redis/redis.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js\");\n/* harmony import */ var _redshift_redshift_contribution_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./redshift/redshift.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js\");\n/* harmony import */ var _restructuredtext_restructuredtext_contribution_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./restructuredtext/restructuredtext.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js\");\n/* harmony import */ var _ruby_ruby_contribution_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./ruby/ruby.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js\");\n/* harmony import */ var _rust_rust_contribution_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./rust/rust.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js\");\n/* harmony import */ var _sb_sb_contribution_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./sb/sb.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js\");\n/* harmony import */ var _scala_scala_contribution_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./scala/scala.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js\");\n/* harmony import */ var _scheme_scheme_contribution_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./scheme/scheme.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js\");\n/* harmony import */ var _scss_scss_contribution_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./scss/scss.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js\");\n/* harmony import */ var _shell_shell_contribution_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./shell/shell.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js\");\n/* harmony import */ var _solidity_solidity_contribution_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./solidity/solidity.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js\");\n/* harmony import */ var _sophia_sophia_contribution_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./sophia/sophia.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js\");\n/* harmony import */ var _sql_sql_contribution_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./sql/sql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js\");\n/* harmony import */ var _st_st_contribution_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./st/st.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js\");\n/* harmony import */ var _swift_swift_contribution_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./swift/swift.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js\");\n/* harmony import */ var _systemverilog_systemverilog_contribution_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./systemverilog/systemverilog.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js\");\n/* harmony import */ var _tcl_tcl_contribution_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./tcl/tcl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js\");\n/* harmony import */ var _twig_twig_contribution_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./twig/twig.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js\");\n/* harmony import */ var _typescript_typescript_contribution_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./typescript/typescript.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js\");\n/* harmony import */ var _vb_vb_contribution_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./vb/vb.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js\");\n/* harmony import */ var _xml_xml_contribution_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./xml/xml.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js\");\n/* harmony import */ var _yaml_yaml_contribution_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./yaml/yaml.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js\");\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\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\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\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'msdax',\r\n extensions: ['.dax', '.msdax'],\r\n aliases: ['DAX', 'MSDAX'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_msdax_msdax_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./msdax.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'mysql',\r\n extensions: [],\r\n aliases: ['MySQL', 'mysql'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_mysql_mysql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mysql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js": /*!***************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js ***! \***************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'objective-c',\r\n extensions: ['.m'],\r\n aliases: ['Objective-C'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_objective-c_objective-c_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./objective-c.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pascal_pascal_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pascal.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js": /*!***********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js ***! \***********************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'pascaligo',\r\n extensions: ['.ligo'],\r\n aliases: ['Pascaligo', 'ligo'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pascaligo_pascaligo_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pascaligo.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'perl',\r\n extensions: ['.pl'],\r\n aliases: ['Perl', 'pl'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_perl_perl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./perl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'pgsql',\r\n extensions: [],\r\n aliases: ['PostgreSQL', 'postgres', 'pg', 'postgre'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_pgsql_pgsql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pgsql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_php_php_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./php.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/php/php.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js": /*!*********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'postiats',\r\n extensions: ['.dats', '.sats', '.hats'],\r\n aliases: ['ATS', 'ATS/Postiats'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_postiats_postiats_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./postiats.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js": /*!*************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_powerquery_powerquery_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./powerquery.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js": /*!*************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'powershell',\r\n extensions: ['.ps1', '.psm1', '.psd1'],\r\n aliases: ['PowerShell', 'powershell', 'ps', 'ps1'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_powershell_powershell_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./powershell.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'pug',\r\n extensions: ['.jade', '.pug'],\r\n aliases: ['Pug', 'Jade', 'jade'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_pug_pug_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pug.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'python',\r\n extensions: ['.py', '.rpy', '.pyw', '.cpy', '.gyp', '.gypi'],\r\n aliases: ['Python', 'py'],\r\n firstLine: '^#!/.*\\\\bpython[0-9.-]*\\\\b',\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_python_python_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./python.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/python/python.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js": /*!*******************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'r',\r\n extensions: ['.r', '.rhistory', '.rmd', '.rprofile', '.rt'],\r\n aliases: ['R', 'r'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_r_r_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./r.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/r/r.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'razor',\r\n extensions: ['.cshtml'],\r\n aliases: ['Razor', 'razor'],\r\n mimetypes: ['text/x-cshtml'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_razor_razor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./razor.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'redis',\r\n extensions: ['.redis'],\r\n aliases: ['redis'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_redis_redis_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./redis.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js": /*!*********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'redshift',\r\n extensions: [],\r\n aliases: ['Redshift', 'redshift'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_redshift_redshift_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./redshift.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js ***! \*************************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'restructuredtext',\r\n extensions: ['.rst'],\r\n aliases: ['reStructuredText', 'restructuredtext'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_restructuredtext_restructuredtext_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./restructuredtext.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'ruby',\r\n extensions: ['.rb', '.rbx', '.rjs', '.gemspec', '.pp'],\r\n filenames: ['rakefile', 'Gemfile'],\r\n aliases: ['Ruby', 'rb'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_ruby_ruby_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ruby.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'rust',\r\n extensions: ['.rs', '.rlib'],\r\n aliases: ['Rust', 'rust'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_rust_rust_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./rust.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'sb',\r\n extensions: ['.sb'],\r\n aliases: ['Small Basic', 'sb'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sb_sb_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sb.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'scala',\r\n extensions: ['.scala', '.sc', '.sbt'],\r\n aliases: ['Scala', 'scala', 'SBT', 'Sbt', 'sbt', 'Dotty', 'dotty'],\r\n mimetypes: ['text/x-scala-source', 'text/x-scala', 'text/x-sbt', 'text/x-dotty'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_scala_scala_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scala.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'scheme',\r\n extensions: ['.scm', '.ss', '.sch', '.rkt'],\r\n aliases: ['scheme', 'Scheme'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_scheme_scheme_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scheme.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'scss',\r\n extensions: ['.scss'],\r\n aliases: ['Sass', 'sass', 'scss'],\r\n mimetypes: ['text/x-scss', 'text/scss'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_scss_scss_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scss.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'shell',\r\n extensions: ['.sh', '.bash'],\r\n aliases: ['Shell', 'sh'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_shell_shell_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./shell.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js": /*!*********************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js ***! \*********************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'sol',\r\n extensions: ['.sol'],\r\n aliases: ['sol', 'solidity', 'Solidity'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_solidity_solidity_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./solidity.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js": /*!*****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'aes',\r\n extensions: ['.aes'],\r\n aliases: ['aes', 'sophia', 'Sophia'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sophia_sophia_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sophia.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'sql',\r\n extensions: ['.sql'],\r\n aliases: ['SQL'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_sql_sql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'st',\r\n extensions: ['.st', '.iecst', '.iecplc', '.lc3lib'],\r\n aliases: ['StructuredText', 'scl', 'stl'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_st_st_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./st.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/st/st.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_swift_swift_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./swift.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js ***! \*******************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'systemverilog',\r\n extensions: ['.sv', '.svh'],\r\n aliases: ['SV', 'sv', 'SystemVerilog', 'systemverilog'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js\")); }\r\n});\r\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'verilog',\r\n extensions: ['.v', '.vh'],\r\n aliases: ['V', 'v', 'Verilog', 'verilog'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_tcl_tcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./tcl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'twig',\r\n extensions: ['.twig'],\r\n aliases: ['Twig', 'twig'],\r\n mimetypes: ['text/x-twig'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_twig_twig_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./twig.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js": /*!*************************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\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() */ \"node_modules_monaco-editor_esm_vs_basic-languages_typescript_typescript_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./typescript.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js": /*!*********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'vb',\r\n extensions: ['.vb'],\r\n aliases: ['Visual Basic', 'vb'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_vb_vb_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./vb.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js": /*!***********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_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__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'xml',\r\n extensions: [\r\n '.xml',\r\n '.dtd',\r\n '.ascx',\r\n '.csproj',\r\n '.config',\r\n '.wxi',\r\n '.wxl',\r\n '.wxs',\r\n '.xaml',\r\n '.svg',\r\n '.svgz',\r\n '.opf',\r\n '.xsl'\r\n ],\r\n firstLine: '(\\\\<\\\\?xml.*)|(\\\\ { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\r\n id: 'yaml',\r\n extensions: ['.yaml', '.yml'],\r\n aliases: ['YAML', 'yaml', 'YML', 'yml'],\r\n mimetypes: ['application/x-yaml', 'text/x-yaml'],\r\n loader: function () { return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_yaml_yaml_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./yaml.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.js\")); }\r\n});\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js": /*!************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CharWidthRequest\": () => (/* binding */ CharWidthRequest),\n/* harmony export */ \"readCharWidths\": () => (/* binding */ readCharWidths)\n/* harmony export */ });\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\nclass CharWidthRequest {\r\n constructor(chr, type) {\r\n this.chr = chr;\r\n this.type = type;\r\n this.width = 0;\r\n }\r\n fulfill(width) {\r\n this.width = width;\r\n }\r\n}\r\nclass DomCharWidthReader {\r\n constructor(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 read() {\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 _createDomElements() {\r\n const container = document.createElement('div');\r\n container.style.position = 'absolute';\r\n container.style.top = '-50000px';\r\n container.style.width = '50000px';\r\n const 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 const 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 const 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 const testElements = [];\r\n for (const request of this._requests) {\r\n let parent;\r\n if (request.type === 0 /* Regular */) {\r\n parent = regularDomNode;\r\n }\r\n if (request.type === 2 /* Bold */) {\r\n parent = boldDomNode;\r\n }\r\n if (request.type === 1 /* Italic */) {\r\n parent = italicDomNode;\r\n }\r\n parent.appendChild(document.createElement('br'));\r\n const testElement = document.createElement('span');\r\n DomCharWidthReader._render(testElement, request);\r\n parent.appendChild(testElement);\r\n testElements.push(testElement);\r\n }\r\n this._container = container;\r\n this._testElements = testElements;\r\n }\r\n static _render(testElement, request) {\r\n if (request.chr === ' ') {\r\n let htmlString = '\\u00a0';\r\n // Repeat character 256 (2^8) times\r\n for (let i = 0; i < 8; i++) {\r\n htmlString += htmlString;\r\n }\r\n testElement.innerText = htmlString;\r\n }\r\n else {\r\n let testString = request.chr;\r\n // Repeat character 256 (2^8) times\r\n for (let i = 0; i < 8; i++) {\r\n testString += testString;\r\n }\r\n testElement.textContent = testString;\r\n }\r\n }\r\n _readFromDomElements() {\r\n for (let i = 0, len = this._requests.length; i < len; i++) {\r\n const request = this._requests[i];\r\n const testElement = this._testElements[i];\r\n request.fulfill(testElement.offsetWidth / 256);\r\n }\r\n }\r\n}\r\nfunction readCharWidths(bareFontInfo, requests) {\r\n const reader = new DomCharWidthReader(bareFontInfo, requests);\r\n reader.read();\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/configuration.js": /*!**********************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/configuration.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clearAllFontInfos\": () => (/* binding */ clearAllFontInfos),\n/* harmony export */ \"Configuration\": () => (/* binding */ Configuration)\n/* harmony export */ });\n/* harmony import */ var _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _charWidthReader_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./charWidthReader.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js\");\n/* harmony import */ var _elementSizeObserver_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./elementSizeObserver.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js\");\n/* harmony import */ var _common_config_commonEditorConfig_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/config/commonEditorConfig.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/commonEditorConfig.js\");\n/* harmony import */ var _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/config/editorOptions.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js\");\n/* harmony import */ var _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/config/fontInfo.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.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\nclass CSSBasedConfigurationCache {\r\n constructor() {\r\n this._keys = Object.create(null);\r\n this._values = Object.create(null);\r\n }\r\n has(item) {\r\n const itemId = item.getId();\r\n return !!this._values[itemId];\r\n }\r\n get(item) {\r\n const itemId = item.getId();\r\n return this._values[itemId];\r\n }\r\n put(item, value) {\r\n const itemId = item.getId();\r\n this._keys[itemId] = item;\r\n this._values[itemId] = value;\r\n }\r\n remove(item) {\r\n const itemId = item.getId();\r\n delete this._keys[itemId];\r\n delete this._values[itemId];\r\n }\r\n getValues() {\r\n return Object.keys(this._keys).map(id => this._values[id]);\r\n }\r\n}\r\nfunction clearAllFontInfos() {\r\n CSSBasedConfiguration.INSTANCE.clearCache();\r\n}\r\nclass CSSBasedConfiguration extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\r\n constructor() {\r\n super();\r\n this._onDidChange = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());\r\n this.onDidChange = this._onDidChange.event;\r\n this._cache = new CSSBasedConfigurationCache();\r\n this._evictUntrustedReadingsTimeout = -1;\r\n }\r\n dispose() {\r\n if (this._evictUntrustedReadingsTimeout !== -1) {\r\n clearTimeout(this._evictUntrustedReadingsTimeout);\r\n this._evictUntrustedReadingsTimeout = -1;\r\n }\r\n super.dispose();\r\n }\r\n clearCache() {\r\n this._cache = new CSSBasedConfigurationCache();\r\n this._onDidChange.fire();\r\n }\r\n _writeToCache(item, value) {\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(() => {\r\n this._evictUntrustedReadingsTimeout = -1;\r\n this._evictUntrustedReadings();\r\n }, 5000);\r\n }\r\n }\r\n _evictUntrustedReadings() {\r\n const values = this._cache.getValues();\r\n let somethingRemoved = false;\r\n for (const item of values) {\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 readConfiguration(bareFontInfo) {\r\n if (!this._cache.has(bareFontInfo)) {\r\n let 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 _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_8__.FontInfo({\r\n zoomLevel: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getZoomLevel(),\r\n pixelRatio: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getPixelRatio(),\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 wsmiddotWidth: Math.max(readConfig.wsmiddotWidth, 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 static createRequest(chr, type, all, monospace) {\r\n const result = new _charWidthReader_js__WEBPACK_IMPORTED_MODULE_4__.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 static _actualReadConfiguration(bareFontInfo) {\r\n const all = [];\r\n const monospace = [];\r\n const typicalHalfwidthCharacter = this.createRequest('n', 0 /* Regular */, all, monospace);\r\n const typicalFullwidthCharacter = this.createRequest('\\uff4d', 0 /* Regular */, all, null);\r\n const space = this.createRequest(' ', 0 /* Regular */, all, monospace);\r\n const digit0 = this.createRequest('0', 0 /* Regular */, all, monospace);\r\n const digit1 = this.createRequest('1', 0 /* Regular */, all, monospace);\r\n const digit2 = this.createRequest('2', 0 /* Regular */, all, monospace);\r\n const digit3 = this.createRequest('3', 0 /* Regular */, all, monospace);\r\n const digit4 = this.createRequest('4', 0 /* Regular */, all, monospace);\r\n const digit5 = this.createRequest('5', 0 /* Regular */, all, monospace);\r\n const digit6 = this.createRequest('6', 0 /* Regular */, all, monospace);\r\n const digit7 = this.createRequest('7', 0 /* Regular */, all, monospace);\r\n const digit8 = this.createRequest('8', 0 /* Regular */, all, monospace);\r\n const digit9 = this.createRequest('9', 0 /* Regular */, all, monospace);\r\n // monospace test: used for whitespace rendering\r\n const rightwardsArrow = this.createRequest('→', 0 /* Regular */, all, monospace);\r\n const halfwidthRightwardsArrow = this.createRequest('→', 0 /* Regular */, all, null);\r\n // U+00B7 - MIDDLE DOT\r\n const middot = this.createRequest('·', 0 /* Regular */, all, monospace);\r\n // U+2E31 - WORD SEPARATOR MIDDLE DOT\r\n const wsmiddotWidth = this.createRequest(String.fromCharCode(0x2E31), 0 /* Regular */, all, null);\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 (0,_charWidthReader_js__WEBPACK_IMPORTED_MODULE_4__.readCharWidths)(bareFontInfo, all);\r\n const 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 let isMonospace = (bareFontInfo.fontFeatureSettings === _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_7__.EditorFontLigatures.OFF);\r\n const referenceWidth = monospace[0].width;\r\n for (let i = 1, len = monospace.length; isMonospace && i < len; i++) {\r\n const 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 let 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 const canTrustBrowserZoomLevel = (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getTimeSinceLastZoomLevelChanged() > 2000);\r\n return new _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_8__.FontInfo({\r\n zoomLevel: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getZoomLevel(),\r\n pixelRatio: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getPixelRatio(),\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 wsmiddotWidth: wsmiddotWidth.width,\r\n maxDigitWidth: maxDigitWidth\r\n }, canTrustBrowserZoomLevel);\r\n }\r\n}\r\nCSSBasedConfiguration.INSTANCE = new CSSBasedConfiguration();\r\nclass Configuration extends _common_config_commonEditorConfig_js__WEBPACK_IMPORTED_MODULE_6__.CommonEditorConfiguration {\r\n constructor(isSimpleWidget, options, referenceDomElement = null, accessibilityService) {\r\n super(isSimpleWidget, options);\r\n this.accessibilityService = accessibilityService;\r\n this._elementSizeObserver = this._register(new _elementSizeObserver_js__WEBPACK_IMPORTED_MODULE_5__.ElementSizeObserver(referenceDomElement, options.dimension, () => this._recomputeOptions()));\r\n this._register(CSSBasedConfiguration.INSTANCE.onDidChange(() => this._recomputeOptions()));\r\n if (this._validatedOptions.get(9 /* automaticLayout */)) {\r\n this._elementSizeObserver.startObserving();\r\n }\r\n this._register(_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.onDidChangeZoomLevel(_ => this._recomputeOptions()));\r\n this._register(this.accessibilityService.onDidChangeScreenReaderOptimized(() => this._recomputeOptions()));\r\n this._recomputeOptions();\r\n }\r\n static applyFontInfoSlow(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 static applyFontInfo(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 observeReferenceElement(dimension) {\r\n this._elementSizeObserver.observe(dimension);\r\n }\r\n updatePixelRatio() {\r\n this._recomputeOptions();\r\n }\r\n static _getExtraEditorClassName() {\r\n let extra = '';\r\n if (!_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari && !_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.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 (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari) {\r\n // See https://github.com/microsoft/vscode/issues/108822\r\n extra += 'no-minimap-shadow ';\r\n }\r\n if (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isMacintosh) {\r\n extra += 'mac ';\r\n }\r\n return extra;\r\n }\r\n _getEnvConfiguration() {\r\n return {\r\n extraEditorClassName: Configuration._getExtraEditorClassName(),\r\n outerWidth: this._elementSizeObserver.getWidth(),\r\n outerHeight: this._elementSizeObserver.getHeight(),\r\n emptySelectionClipboard: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit || _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox,\r\n pixelRatio: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getPixelRatio(),\r\n zoomLevel: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.getZoomLevel(),\r\n accessibilitySupport: (this.accessibilityService.isScreenReaderOptimized()\r\n ? 2 /* Enabled */\r\n : this.accessibilityService.getAccessibilitySupport())\r\n };\r\n }\r\n readConfiguration(bareFontInfo) {\r\n return CSSBasedConfiguration.INSTANCE.readConfiguration(bareFontInfo);\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/config/configuration.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js": /*!****************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js ***! \****************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ElementSizeObserver\": () => (/* binding */ ElementSizeObserver)\n/* harmony export */ });\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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\nclass ElementSizeObserver extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__.Disposable {\r\n constructor(referenceDomElement, dimension, changeCallback) {\r\n super();\r\n this.referenceDomElement = referenceDomElement;\r\n this.changeCallback = changeCallback;\r\n this.width = -1;\r\n this.height = -1;\r\n this.resizeObserver = null;\r\n this.measureReferenceDomElementToken = -1;\r\n this.measureReferenceDomElement(false, dimension);\r\n }\r\n dispose() {\r\n this.stopObserving();\r\n super.dispose();\r\n }\r\n getWidth() {\r\n return this.width;\r\n }\r\n getHeight() {\r\n return this.height;\r\n }\r\n startObserving() {\r\n if (typeof ResizeObserver !== 'undefined') {\r\n if (!this.resizeObserver && this.referenceDomElement) {\r\n this.resizeObserver = new ResizeObserver((entries) => {\r\n if (entries && entries[0] && entries[0].contentRect) {\r\n this.observe({ width: entries[0].contentRect.width, height: entries[0].contentRect.height });\r\n }\r\n else {\r\n this.observe();\r\n }\r\n });\r\n this.resizeObserver.observe(this.referenceDomElement);\r\n }\r\n }\r\n else {\r\n if (this.measureReferenceDomElementToken === -1) {\r\n // setInterval type defaults to NodeJS.Timeout instead of number, so specify it as a number\r\n this.measureReferenceDomElementToken = setInterval(() => this.observe(), 100);\r\n }\r\n }\r\n }\r\n stopObserving() {\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n this.resizeObserver = null;\r\n }\r\n if (this.measureReferenceDomElementToken !== -1) {\r\n clearInterval(this.measureReferenceDomElementToken);\r\n this.measureReferenceDomElementToken = -1;\r\n }\r\n }\r\n observe(dimension) {\r\n this.measureReferenceDomElement(true, dimension);\r\n }\r\n measureReferenceDomElement(callChangeCallback, dimension) {\r\n let observedWidth = 0;\r\n let observedHeight = 0;\r\n if (dimension) {\r\n observedWidth = dimension.width;\r\n observedHeight = dimension.height;\r\n }\r\n else if (this.referenceDomElement) {\r\n observedWidth = this.referenceDomElement.clientWidth;\r\n observedHeight = this.referenceDomElement.clientHeight;\r\n }\r\n observedWidth = Math.max(5, observedWidth);\r\n observedHeight = Math.max(5, observedHeight);\r\n if (this.width !== observedWidth || this.height !== observedHeight) {\r\n this.width = observedWidth;\r\n this.height = observedHeight;\r\n if (callChangeCallback) {\r\n this.changeCallback();\r\n }\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/coreCommands.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/coreCommands.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CoreEditorCommand\": () => (/* binding */ CoreEditorCommand),\n/* harmony export */ \"EditorScroll_\": () => (/* binding */ EditorScroll_),\n/* harmony export */ \"RevealLine_\": () => (/* binding */ RevealLine_),\n/* harmony export */ \"CoreNavigationCommands\": () => (/* binding */ CoreNavigationCommands),\n/* harmony export */ \"CoreEditingCommands\": () => (/* binding */ CoreEditingCommands)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/browser/browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _base_common_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../editorExtensions.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.js\");\n/* harmony import */ var _services_codeEditorService_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/codeEditorService.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/services/codeEditorService.js\");\n/* harmony import */ var _common_controller_cursorColumnSelection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/controller/cursorColumnSelection.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorColumnSelection.js\");\n/* harmony import */ var _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/controller/cursorCommon.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorCommon.js\");\n/* harmony import */ var _common_controller_cursorDeleteOperations_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/controller/cursorDeleteOperations.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorDeleteOperations.js\");\n/* harmony import */ var _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/controller/cursorMoveCommands.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorMoveCommands.js\");\n/* harmony import */ var _common_controller_cursorTypeOperations_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/controller/cursorTypeOperations.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorTypeOperations.js\");\n/* harmony import */ var _common_core_position_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/core/position.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\");\n/* harmony import */ var _common_core_range_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../common/core/range.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\");\n/* harmony import */ var _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../common/editorContextKeys.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/editorContextKeys.js\");\n/* harmony import */ var _platform_contextkey_common_contextkey_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../platform/contextkey/common/contextkey.js */ \"./node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkey.js\");\n/* harmony import */ var _platform_keybinding_common_keybindingsRegistry_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../platform/keybinding/common/keybindingsRegistry.js */ \"./node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.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\nconst CORE_WEIGHT = 0 /* EditorCore */;\r\nclass CoreEditorCommand extends _editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.EditorCommand {\r\n runEditorCommand(accessor, editor, args) {\r\n const viewModel = editor._getViewModel();\r\n if (!viewModel) {\r\n // the editor has no view => has no cursors\r\n return;\r\n }\r\n this.runCoreEditorCommand(viewModel, args || {});\r\n }\r\n}\r\nvar EditorScroll_;\r\n(function (EditorScroll_) {\r\n const isEditorScrollArgs = function (arg) {\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isObject(arg)) {\r\n return false;\r\n }\r\n const scrollArg = arg;\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isString(scrollArg.to)) {\r\n return false;\r\n }\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isUndefined(scrollArg.by) && !_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isString(scrollArg.by)) {\r\n return false;\r\n }\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isUndefined(scrollArg.value) && !_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumber(scrollArg.value)) {\r\n return false;\r\n }\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isUndefined(scrollArg.revealCursor) && !_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.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 let 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 let 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 const value = Math.floor(args.value || 1);\r\n const 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})(EditorScroll_ || (EditorScroll_ = {}));\r\nvar RevealLine_;\r\n(function (RevealLine_) {\r\n const isRevealLineArgs = function (arg) {\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isObject(arg)) {\r\n return false;\r\n }\r\n const reveaLineArg = arg;\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumber(reveaLineArg.lineNumber) && !_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isString(reveaLineArg.lineNumber)) {\r\n return false;\r\n }\r\n if (!_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isUndefined(reveaLineArg.at) && !_base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.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', 'string'],\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})(RevealLine_ || (RevealLine_ = {}));\r\nclass EditorOrNativeTextInputCommand {\r\n constructor(target) {\r\n // 1. handle case when focus is in editor.\r\n target.addImplementation(10000, (accessor, args) => {\r\n // Only if editor text focus (i.e. not if editor has widget focus).\r\n const focusedEditor = accessor.get(_services_codeEditorService_js__WEBPACK_IMPORTED_MODULE_4__.ICodeEditorService).getFocusedCodeEditor();\r\n if (focusedEditor && focusedEditor.hasTextFocus()) {\r\n return this._runEditorCommand(accessor, focusedEditor, args);\r\n }\r\n return false;\r\n });\r\n // 2. handle case when focus is in some other `input` / `textarea`.\r\n target.addImplementation(1000, (accessor, args) => {\r\n // Only if focused on an element that allows for entering text\r\n const activeElement = document.activeElement;\r\n if (activeElement && ['input', 'textarea'].indexOf(activeElement.tagName.toLowerCase()) >= 0) {\r\n this.runDOMCommand();\r\n return true;\r\n }\r\n return false;\r\n });\r\n // 3. (default) handle case when focus is somewhere else.\r\n target.addImplementation(0, (accessor, args) => {\r\n // Redirecting to active editor\r\n const activeEditor = accessor.get(_services_codeEditorService_js__WEBPACK_IMPORTED_MODULE_4__.ICodeEditorService).getActiveCodeEditor();\r\n if (activeEditor) {\r\n activeEditor.focus();\r\n return this._runEditorCommand(accessor, activeEditor, args);\r\n }\r\n return false;\r\n });\r\n }\r\n _runEditorCommand(accessor, editor, args) {\r\n const result = this.runEditorCommand(accessor, editor, args);\r\n if (result) {\r\n return result;\r\n }\r\n return true;\r\n }\r\n}\r\nvar CoreNavigationCommands;\r\n(function (CoreNavigationCommands) {\r\n class BaseMoveToCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, [\r\n _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveTo(viewModel, viewModel.getPrimaryCursorState(), this._inSelectionMode, args.position, args.viewPosition)\r\n ]);\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.MoveTo = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new BaseMoveToCommand({\r\n id: '_moveTo',\r\n inSelectionMode: false,\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.MoveToSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new BaseMoveToCommand({\r\n id: '_moveToSelect',\r\n inSelectionMode: true,\r\n precondition: undefined\r\n }));\r\n class ColumnSelectCommand extends CoreEditorCommand {\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n const result = this._getColumnSelectResult(viewModel, viewModel.getPrimaryCursorState(), viewModel.getCursorColumnSelectData(), args);\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, result.viewStates.map((viewState) => _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_6__.CursorState.fromViewState(viewState)));\r\n viewModel.setCursorColumnSelectData({\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 if (result.reversed) {\r\n viewModel.revealTopMostCursor(args.source);\r\n }\r\n else {\r\n viewModel.revealBottomMostCursor(args.source);\r\n }\r\n }\r\n }\r\n CoreNavigationCommands.ColumnSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends ColumnSelectCommand {\r\n constructor() {\r\n super({\r\n id: 'columnSelect',\r\n precondition: undefined\r\n });\r\n }\r\n _getColumnSelectResult(viewModel, primary, prevColumnSelectData, args) {\r\n // validate `args`\r\n const validatedPosition = viewModel.model.validatePosition(args.position);\r\n const validatedViewPosition = viewModel.coordinatesConverter.validateViewPosition(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_10__.Position(args.viewPosition.lineNumber, args.viewPosition.column), validatedPosition);\r\n let fromViewLineNumber = args.doColumnSelect ? prevColumnSelectData.fromViewLineNumber : validatedViewPosition.lineNumber;\r\n let fromViewVisualColumn = args.doColumnSelect ? prevColumnSelectData.fromViewVisualColumn : args.mouseColumn - 1;\r\n return _common_controller_cursorColumnSelection_js__WEBPACK_IMPORTED_MODULE_5__.ColumnSelection.columnSelect(viewModel.cursorConfig, viewModel, fromViewLineNumber, fromViewVisualColumn, validatedViewPosition.lineNumber, args.mouseColumn - 1);\r\n }\r\n });\r\n CoreNavigationCommands.CursorColumnSelectLeft = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends ColumnSelectCommand {\r\n constructor() {\r\n super({\r\n id: 'cursorColumnSelectLeft',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 15 /* LeftArrow */,\r\n linux: { primary: 0 }\r\n }\r\n });\r\n }\r\n _getColumnSelectResult(viewModel, primary, prevColumnSelectData, args) {\r\n return _common_controller_cursorColumnSelection_js__WEBPACK_IMPORTED_MODULE_5__.ColumnSelection.columnSelectLeft(viewModel.cursorConfig, viewModel, prevColumnSelectData);\r\n }\r\n });\r\n CoreNavigationCommands.CursorColumnSelectRight = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends ColumnSelectCommand {\r\n constructor() {\r\n super({\r\n id: 'cursorColumnSelectRight',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 17 /* RightArrow */,\r\n linux: { primary: 0 }\r\n }\r\n });\r\n }\r\n _getColumnSelectResult(viewModel, primary, prevColumnSelectData, args) {\r\n return _common_controller_cursorColumnSelection_js__WEBPACK_IMPORTED_MODULE_5__.ColumnSelection.columnSelectRight(viewModel.cursorConfig, viewModel, prevColumnSelectData);\r\n }\r\n });\r\n class ColumnSelectUpCommand extends ColumnSelectCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._isPaged = opts.isPaged;\r\n }\r\n _getColumnSelectResult(viewModel, primary, prevColumnSelectData, args) {\r\n return _common_controller_cursorColumnSelection_js__WEBPACK_IMPORTED_MODULE_5__.ColumnSelection.columnSelectUp(viewModel.cursorConfig, viewModel, prevColumnSelectData, this._isPaged);\r\n }\r\n }\r\n CoreNavigationCommands.CursorColumnSelectUp = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 11 /* PageUp */,\r\n linux: { primary: 0 }\r\n }\r\n }));\r\n class ColumnSelectDownCommand extends ColumnSelectCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._isPaged = opts.isPaged;\r\n }\r\n _getColumnSelectResult(viewModel, primary, prevColumnSelectData, args) {\r\n return _common_controller_cursorColumnSelection_js__WEBPACK_IMPORTED_MODULE_5__.ColumnSelection.columnSelectDown(viewModel.cursorConfig, viewModel, prevColumnSelectData, this._isPaged);\r\n }\r\n }\r\n CoreNavigationCommands.CursorColumnSelectDown = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 512 /* Alt */ | 12 /* PageDown */,\r\n linux: { primary: 0 }\r\n }\r\n }));\r\n class CursorMoveImpl extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'cursorMove',\r\n precondition: undefined,\r\n description: _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMove.description\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n const parsed = _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMove.parse(args);\r\n if (!parsed) {\r\n // illegal arguments\r\n return;\r\n }\r\n this._runCursorMove(viewModel, args.source, parsed);\r\n }\r\n _runCursorMove(viewModel, source, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(source, 3 /* Explicit */, CursorMoveImpl._move(viewModel, viewModel.getCursorStates(), args));\r\n viewModel.revealPrimaryCursor(source, true);\r\n }\r\n static _move(viewModel, cursors, args) {\r\n const inSelectionMode = args.select;\r\n const value = args.value;\r\n switch (args.direction) {\r\n case 0 /* Left */:\r\n case 1 /* Right */:\r\n case 2 /* Up */:\r\n case 3 /* Down */:\r\n case 4 /* PrevBlankLine */:\r\n case 5 /* NextBlankLine */:\r\n case 6 /* WrappedLineStart */:\r\n case 7 /* WrappedLineFirstNonWhitespaceCharacter */:\r\n case 8 /* WrappedLineColumnCenter */:\r\n case 9 /* WrappedLineEnd */:\r\n case 10 /* WrappedLineLastNonWhitespaceCharacter */:\r\n return _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.simpleMove(viewModel, cursors, args.direction, inSelectionMode, value, args.unit);\r\n case 11 /* ViewPortTop */:\r\n case 13 /* ViewPortBottom */:\r\n case 12 /* ViewPortCenter */:\r\n case 14 /* ViewPortIfOutside */:\r\n return _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.viewportMove(viewModel, cursors, args.direction, inSelectionMode, value);\r\n default:\r\n return null;\r\n }\r\n }\r\n }\r\n CoreNavigationCommands.CursorMoveImpl = CursorMoveImpl;\r\n CoreNavigationCommands.CursorMove = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new CursorMoveImpl());\r\n class CursorMoveBasedCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._staticArgs = opts.args;\r\n }\r\n runCoreEditorCommand(viewModel, dynamicArgs) {\r\n let 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: viewModel.cursorConfig.pageSize\r\n };\r\n }\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(dynamicArgs.source, 3 /* Explicit */, _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.simpleMove(viewModel, viewModel.getCursorStates(), args.direction, args.select, args.value, args.unit));\r\n viewModel.revealPrimaryCursor(dynamicArgs.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.CursorLeft = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 1024 /* Shift */ | 15 /* LeftArrow */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorRight = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 1024 /* Shift */ | 17 /* RightArrow */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorUp = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 11 /* PageUp */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorPageUpSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 1024 /* Shift */ | 11 /* PageUp */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorDown = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 12 /* PageDown */\r\n }\r\n }));\r\n CoreNavigationCommands.CursorPageDownSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 1024 /* Shift */ | 12 /* PageDown */\r\n }\r\n }));\r\n CoreNavigationCommands.CreateCursor = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'createCursor',\r\n precondition: undefined\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n let newState;\r\n if (args.wholeLine) {\r\n newState = _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.line(viewModel, viewModel.getPrimaryCursorState(), false, args.position, args.viewPosition);\r\n }\r\n else {\r\n newState = _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveTo(viewModel, viewModel.getPrimaryCursorState(), false, args.position, args.viewPosition);\r\n }\r\n const states = viewModel.getCursorStates();\r\n // Check if we should remove a cursor (sort of like a toggle)\r\n if (states.length > 1) {\r\n const newModelPosition = (newState.modelState ? newState.modelState.position : null);\r\n const newViewPosition = (newState.viewState ? newState.viewState.position : null);\r\n for (let i = 0, len = states.length; i < len; i++) {\r\n const 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 viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(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 viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, states);\r\n }\r\n });\r\n CoreNavigationCommands.LastCursorMoveToSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: '_lastCursorMoveToSelect',\r\n precondition: undefined\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n const lastAddedCursorIndex = viewModel.getLastAddedCursorIndex();\r\n const states = viewModel.getCursorStates();\r\n const newStates = states.slice(0);\r\n newStates[lastAddedCursorIndex] = _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveTo(viewModel, states[lastAddedCursorIndex], true, args.position, args.viewPosition);\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, newStates);\r\n }\r\n });\r\n class HomeCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveToBeginningOfLine(viewModel, viewModel.getCursorStates(), this._inSelectionMode));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.CursorHome = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 class LineStartCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, this._exec(viewModel.getCursorStates()));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n _exec(cursors) {\r\n const result = [];\r\n for (let i = 0, len = cursors.length; i < len; i++) {\r\n const cursor = cursors[i];\r\n const lineNumber = cursor.modelState.position.lineNumber;\r\n result[i] = _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_6__.CursorState.fromModelState(cursor.modelState.move(this._inSelectionMode, lineNumber, 1, 0));\r\n }\r\n return result;\r\n }\r\n }\r\n CoreNavigationCommands.CursorLineStart = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LineStartCommand({\r\n inSelectionMode: false,\r\n id: 'cursorLineStart',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 31 /* KEY_A */ }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorLineStartSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LineStartCommand({\r\n inSelectionMode: true,\r\n id: 'cursorLineStartSelect',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 1024 /* Shift */ | 31 /* KEY_A */ }\r\n }\r\n }));\r\n class EndCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveToEndOfLine(viewModel, viewModel.getCursorStates(), this._inSelectionMode, args.sticky || false));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.CursorEnd = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new EndCommand({\r\n inSelectionMode: false,\r\n id: 'cursorEnd',\r\n precondition: undefined,\r\n kbOpts: {\r\n args: { sticky: false },\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 13 /* End */,\r\n mac: { primary: 13 /* End */, secondary: [2048 /* CtrlCmd */ | 17 /* RightArrow */] }\r\n },\r\n description: {\r\n description: `Go to End`,\r\n args: [{\r\n name: 'args',\r\n schema: {\r\n type: 'object',\r\n properties: {\r\n 'sticky': {\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('stickydesc', \"Stick to the end even when going to longer lines\"),\r\n type: 'boolean',\r\n default: false\r\n }\r\n }\r\n }\r\n }]\r\n }\r\n }));\r\n CoreNavigationCommands.CursorEndSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new EndCommand({\r\n inSelectionMode: true,\r\n id: 'cursorEndSelect',\r\n precondition: undefined,\r\n kbOpts: {\r\n args: { sticky: false },\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 description: {\r\n description: `Select to End`,\r\n args: [{\r\n name: 'args',\r\n schema: {\r\n type: 'object',\r\n properties: {\r\n 'sticky': {\r\n description: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize('stickydesc', \"Stick to the end even when going to longer lines\"),\r\n type: 'boolean',\r\n default: false\r\n }\r\n }\r\n }\r\n }]\r\n }\r\n }));\r\n class LineEndCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, this._exec(viewModel, viewModel.getCursorStates()));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n _exec(viewModel, cursors) {\r\n const result = [];\r\n for (let i = 0, len = cursors.length; i < len; i++) {\r\n const cursor = cursors[i];\r\n const lineNumber = cursor.modelState.position.lineNumber;\r\n const maxColumn = viewModel.model.getLineMaxColumn(lineNumber);\r\n result[i] = _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_6__.CursorState.fromModelState(cursor.modelState.move(this._inSelectionMode, lineNumber, maxColumn, 0));\r\n }\r\n return result;\r\n }\r\n }\r\n CoreNavigationCommands.CursorLineEnd = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LineEndCommand({\r\n inSelectionMode: false,\r\n id: 'cursorLineEnd',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 35 /* KEY_E */ }\r\n }\r\n }));\r\n CoreNavigationCommands.CursorLineEndSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LineEndCommand({\r\n inSelectionMode: true,\r\n id: 'cursorLineEndSelect',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 1024 /* Shift */ | 35 /* KEY_E */ }\r\n }\r\n }));\r\n class TopCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveToBeginningOfBuffer(viewModel, viewModel.getCursorStates(), this._inSelectionMode));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.CursorTop = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 class BottomCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.moveToEndOfBuffer(viewModel, viewModel.getCursorStates(), this._inSelectionMode));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.CursorBottom = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.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: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 class EditorScrollImpl extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'editorScroll',\r\n precondition: undefined,\r\n description: EditorScroll_.description\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n const parsed = EditorScroll_.parse(args);\r\n if (!parsed) {\r\n // illegal arguments\r\n return;\r\n }\r\n this._runEditorScroll(viewModel, args.source, parsed);\r\n }\r\n _runEditorScroll(viewModel, source, args) {\r\n const desiredScrollTop = this._computeDesiredScrollTop(viewModel, args);\r\n if (args.revealCursor) {\r\n // must ensure cursor is in new visible range\r\n const desiredVisibleViewRange = viewModel.getCompletelyVisibleViewRangeAtScrollTop(desiredScrollTop);\r\n viewModel.setCursorStates(source, 3 /* Explicit */, [\r\n _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.findPositionInViewportIfOutside(viewModel, viewModel.getPrimaryCursorState(), desiredVisibleViewRange, args.select)\r\n ]);\r\n }\r\n viewModel.setScrollTop(desiredScrollTop, 0 /* Smooth */);\r\n }\r\n _computeDesiredScrollTop(viewModel, args) {\r\n if (args.unit === 1 /* Line */) {\r\n // scrolling by model lines\r\n const visibleViewRange = viewModel.getCompletelyVisibleViewRange();\r\n const visibleModelRange = viewModel.coordinatesConverter.convertViewRangeToModelRange(visibleViewRange);\r\n let desiredTopModelLineNumber;\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(viewModel.model.getLineCount(), visibleModelRange.startLineNumber + args.value);\r\n }\r\n const viewPosition = viewModel.coordinatesConverter.convertModelPositionToViewPosition(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_10__.Position(desiredTopModelLineNumber, 1));\r\n return viewModel.getVerticalOffsetForLineNumber(viewPosition.lineNumber);\r\n }\r\n let noOfLines;\r\n if (args.unit === 3 /* Page */) {\r\n noOfLines = viewModel.cursorConfig.pageSize * args.value;\r\n }\r\n else if (args.unit === 4 /* HalfPage */) {\r\n noOfLines = Math.round(viewModel.cursorConfig.pageSize / 2) * args.value;\r\n }\r\n else {\r\n noOfLines = args.value;\r\n }\r\n const deltaLines = (args.direction === 1 /* Up */ ? -1 : 1) * noOfLines;\r\n return viewModel.getScrollTop() + deltaLines * viewModel.cursorConfig.lineHeight;\r\n }\r\n }\r\n CoreNavigationCommands.EditorScrollImpl = EditorScrollImpl;\r\n CoreNavigationCommands.EditorScroll = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new EditorScrollImpl());\r\n CoreNavigationCommands.ScrollLineUp = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'scrollLineUp',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 16 /* UpArrow */,\r\n mac: { primary: 256 /* WinCtrl */ | 11 /* PageUp */ }\r\n }\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(viewModel, 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 });\r\n CoreNavigationCommands.ScrollPageUp = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'scrollPageUp',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(viewModel, 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 });\r\n CoreNavigationCommands.ScrollLineDown = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'scrollLineDown',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 18 /* DownArrow */,\r\n mac: { primary: 256 /* WinCtrl */ | 12 /* PageDown */ }\r\n }\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(viewModel, 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 });\r\n CoreNavigationCommands.ScrollPageDown = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'scrollPageDown',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n CoreNavigationCommands.EditorScroll._runEditorScroll(viewModel, 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 });\r\n class WordCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, [\r\n _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.word(viewModel, viewModel.getPrimaryCursorState(), this._inSelectionMode, args.position)\r\n ]);\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n }\r\n CoreNavigationCommands.WordSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new WordCommand({\r\n inSelectionMode: false,\r\n id: '_wordSelect',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.WordSelectDrag = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new WordCommand({\r\n inSelectionMode: true,\r\n id: '_wordSelectDrag',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.LastCursorWordSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'lastCursorWordSelect',\r\n precondition: undefined\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n const lastAddedCursorIndex = viewModel.getLastAddedCursorIndex();\r\n const states = viewModel.getCursorStates();\r\n const newStates = states.slice(0);\r\n const lastAddedState = states[lastAddedCursorIndex];\r\n newStates[lastAddedCursorIndex] = _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.word(viewModel, lastAddedState, lastAddedState.modelState.hasSelection(), args.position);\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, newStates);\r\n }\r\n });\r\n class LineCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, [\r\n _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.line(viewModel, viewModel.getPrimaryCursorState(), this._inSelectionMode, args.position, args.viewPosition)\r\n ]);\r\n viewModel.revealPrimaryCursor(args.source, false);\r\n }\r\n }\r\n CoreNavigationCommands.LineSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LineCommand({\r\n inSelectionMode: false,\r\n id: '_lineSelect',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.LineSelectDrag = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LineCommand({\r\n inSelectionMode: true,\r\n id: '_lineSelectDrag',\r\n precondition: undefined\r\n }));\r\n class LastCursorLineCommand extends CoreEditorCommand {\r\n constructor(opts) {\r\n super(opts);\r\n this._inSelectionMode = opts.inSelectionMode;\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n const lastAddedCursorIndex = viewModel.getLastAddedCursorIndex();\r\n const states = viewModel.getCursorStates();\r\n const newStates = states.slice(0);\r\n newStates[lastAddedCursorIndex] = _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.line(viewModel, states[lastAddedCursorIndex], this._inSelectionMode, args.position, args.viewPosition);\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, newStates);\r\n }\r\n }\r\n CoreNavigationCommands.LastCursorLineSelect = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LastCursorLineCommand({\r\n inSelectionMode: false,\r\n id: 'lastCursorLineSelect',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.LastCursorLineSelectDrag = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new LastCursorLineCommand({\r\n inSelectionMode: true,\r\n id: 'lastCursorLineSelectDrag',\r\n precondition: undefined\r\n }));\r\n CoreNavigationCommands.ExpandLineSelection = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'expandLineSelection',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 2048 /* CtrlCmd */ | 42 /* KEY_L */\r\n }\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.expandLineSelection(viewModel, viewModel.getCursorStates()));\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n });\r\n CoreNavigationCommands.CancelSelection = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'cancelSelection',\r\n precondition: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.hasNonEmptySelection,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 9 /* Escape */,\r\n secondary: [1024 /* Shift */ | 9 /* Escape */]\r\n }\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, [\r\n _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.cancelSelection(viewModel, viewModel.getPrimaryCursorState())\r\n ]);\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n });\r\n CoreNavigationCommands.RemoveSecondaryCursors = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'removeSecondaryCursors',\r\n precondition: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.hasMultipleSelections,\r\n kbOpts: {\r\n weight: CORE_WEIGHT + 1,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 9 /* Escape */,\r\n secondary: [1024 /* Shift */ | 9 /* Escape */]\r\n }\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, [\r\n viewModel.getPrimaryCursorState()\r\n ]);\r\n viewModel.revealPrimaryCursor(args.source, true);\r\n }\r\n });\r\n CoreNavigationCommands.RevealLine = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'revealLine',\r\n precondition: undefined,\r\n description: RevealLine_.description\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n const revealLineArg = args;\r\n const lineNumberArg = revealLineArg.lineNumber || 0;\r\n let lineNumber = typeof lineNumberArg === 'number' ? (lineNumberArg + 1) : (parseInt(lineNumberArg) + 1);\r\n if (lineNumber < 1) {\r\n lineNumber = 1;\r\n }\r\n const lineCount = viewModel.model.getLineCount();\r\n if (lineNumber > lineCount) {\r\n lineNumber = lineCount;\r\n }\r\n const range = new _common_core_range_js__WEBPACK_IMPORTED_MODULE_11__.Range(lineNumber, 1, lineNumber, viewModel.model.getLineMaxColumn(lineNumber));\r\n let revealAt = 0 /* Simple */;\r\n if (revealLineArg.at) {\r\n switch (revealLineArg.at) {\r\n case RevealLine_.RawAtArgument.Top:\r\n revealAt = 3 /* Top */;\r\n break;\r\n case RevealLine_.RawAtArgument.Center:\r\n revealAt = 1 /* Center */;\r\n break;\r\n case RevealLine_.RawAtArgument.Bottom:\r\n revealAt = 4 /* Bottom */;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n const viewRange = viewModel.coordinatesConverter.convertModelRangeToViewRange(range);\r\n viewModel.revealRange(args.source, false, viewRange, revealAt, 0 /* Smooth */);\r\n }\r\n });\r\n CoreNavigationCommands.SelectAll = new class extends EditorOrNativeTextInputCommand {\r\n constructor() {\r\n super(_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.SelectAllCommand);\r\n }\r\n runDOMCommand() {\r\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_1__.isFirefox) {\r\n document.activeElement.focus();\r\n document.activeElement.select();\r\n }\r\n document.execCommand('selectAll');\r\n }\r\n runEditorCommand(accessor, editor, args) {\r\n const viewModel = editor._getViewModel();\r\n if (!viewModel) {\r\n // the editor has no view => has no cursors\r\n return;\r\n }\r\n this.runCoreEditorCommand(viewModel, args);\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates('keyboard', 3 /* Explicit */, [\r\n _common_controller_cursorMoveCommands_js__WEBPACK_IMPORTED_MODULE_8__.CursorMoveCommands.selectAll(viewModel, viewModel.getPrimaryCursorState())\r\n ]);\r\n }\r\n }();\r\n CoreNavigationCommands.SetSelection = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditorCommand {\r\n constructor() {\r\n super({\r\n id: 'setSelection',\r\n precondition: undefined\r\n });\r\n }\r\n runCoreEditorCommand(viewModel, args) {\r\n viewModel.model.pushStackElement();\r\n viewModel.setCursorStates(args.source, 3 /* Explicit */, [\r\n _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_6__.CursorState.fromModelSelection(args.selection)\r\n ]);\r\n }\r\n });\r\n})(CoreNavigationCommands || (CoreNavigationCommands = {}));\r\nconst columnSelectionCondition = _platform_contextkey_common_contextkey_js__WEBPACK_IMPORTED_MODULE_13__.ContextKeyExpr.and(_common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus, _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.columnSelection);\r\nfunction registerColumnSelection(id, keybinding) {\r\n _platform_keybinding_common_keybindingsRegistry_js__WEBPACK_IMPORTED_MODULE_14__.KeybindingsRegistry.registerKeybindingRule({\r\n id: id,\r\n primary: keybinding,\r\n when: columnSelectionCondition,\r\n weight: CORE_WEIGHT + 1\r\n });\r\n}\r\nregisterColumnSelection(CoreNavigationCommands.CursorColumnSelectLeft.id, 1024 /* Shift */ | 15 /* LeftArrow */);\r\nregisterColumnSelection(CoreNavigationCommands.CursorColumnSelectRight.id, 1024 /* Shift */ | 17 /* RightArrow */);\r\nregisterColumnSelection(CoreNavigationCommands.CursorColumnSelectUp.id, 1024 /* Shift */ | 16 /* UpArrow */);\r\nregisterColumnSelection(CoreNavigationCommands.CursorColumnSelectPageUp.id, 1024 /* Shift */ | 11 /* PageUp */);\r\nregisterColumnSelection(CoreNavigationCommands.CursorColumnSelectDown.id, 1024 /* Shift */ | 18 /* DownArrow */);\r\nregisterColumnSelection(CoreNavigationCommands.CursorColumnSelectPageDown.id, 1024 /* Shift */ | 12 /* PageDown */);\r\nfunction registerCommand(command) {\r\n command.register();\r\n return command;\r\n}\r\nvar CoreEditingCommands;\r\n(function (CoreEditingCommands) {\r\n class CoreEditingCommand extends _editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.EditorCommand {\r\n runEditorCommand(accessor, editor, args) {\r\n const viewModel = editor._getViewModel();\r\n if (!viewModel) {\r\n // the editor has no view => has no cursors\r\n return;\r\n }\r\n this.runCoreEditingCommand(editor, viewModel, args || {});\r\n }\r\n }\r\n CoreEditingCommands.CoreEditingCommand = CoreEditingCommand;\r\n CoreEditingCommands.LineBreakInsert = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditingCommand {\r\n constructor() {\r\n super({\r\n id: 'lineBreakInsert',\r\n precondition: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.textInputFocus,\r\n primary: 0,\r\n mac: { primary: 256 /* WinCtrl */ | 45 /* KEY_O */ }\r\n }\r\n });\r\n }\r\n runCoreEditingCommand(editor, viewModel, args) {\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, _common_controller_cursorTypeOperations_js__WEBPACK_IMPORTED_MODULE_9__.TypeOperations.lineBreakInsert(viewModel.cursorConfig, viewModel.model, viewModel.getCursorStates().map(s => s.modelState.selection)));\r\n }\r\n });\r\n CoreEditingCommands.Outdent = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditingCommand {\r\n constructor() {\r\n super({\r\n id: 'outdent',\r\n precondition: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _platform_contextkey_common_contextkey_js__WEBPACK_IMPORTED_MODULE_13__.ContextKeyExpr.and(_common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.editorTextFocus, _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.tabDoesNotMoveFocus),\r\n primary: 1024 /* Shift */ | 2 /* Tab */\r\n }\r\n });\r\n }\r\n runCoreEditingCommand(editor, viewModel, args) {\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, _common_controller_cursorTypeOperations_js__WEBPACK_IMPORTED_MODULE_9__.TypeOperations.outdent(viewModel.cursorConfig, viewModel.model, viewModel.getCursorStates().map(s => s.modelState.selection)));\r\n editor.pushUndoStop();\r\n }\r\n });\r\n CoreEditingCommands.Tab = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditingCommand {\r\n constructor() {\r\n super({\r\n id: 'tab',\r\n precondition: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.writable,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _platform_contextkey_common_contextkey_js__WEBPACK_IMPORTED_MODULE_13__.ContextKeyExpr.and(_common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.editorTextFocus, _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.EditorContextKeys.tabDoesNotMoveFocus),\r\n primary: 2 /* Tab */\r\n }\r\n });\r\n }\r\n runCoreEditingCommand(editor, viewModel, args) {\r\n editor.pushUndoStop();\r\n editor.executeCommands(this.id, _common_controller_cursorTypeOperations_js__WEBPACK_IMPORTED_MODULE_9__.TypeOperations.tab(viewModel.cursorConfig, viewModel.model, viewModel.getCursorStates().map(s => s.modelState.selection)));\r\n editor.pushUndoStop();\r\n }\r\n });\r\n CoreEditingCommands.DeleteLeft = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditingCommand {\r\n constructor() {\r\n super({\r\n id: 'deleteLeft',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 });\r\n }\r\n runCoreEditingCommand(editor, viewModel, args) {\r\n const [shouldPushStackElementBefore, commands] = _common_controller_cursorDeleteOperations_js__WEBPACK_IMPORTED_MODULE_7__.DeleteOperations.deleteLeft(viewModel.getPrevEditOperationType(), viewModel.cursorConfig, viewModel.model, viewModel.getCursorStates().map(s => s.modelState.selection));\r\n if (shouldPushStackElementBefore) {\r\n editor.pushUndoStop();\r\n }\r\n editor.executeCommands(this.id, commands);\r\n viewModel.setPrevEditOperationType(2 /* DeletingLeft */);\r\n }\r\n });\r\n CoreEditingCommands.DeleteRight = (0,_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.registerEditorCommand)(new class extends CoreEditingCommand {\r\n constructor() {\r\n super({\r\n id: 'deleteRight',\r\n precondition: undefined,\r\n kbOpts: {\r\n weight: CORE_WEIGHT,\r\n kbExpr: _common_editorContextKeys_js__WEBPACK_IMPORTED_MODULE_12__.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 });\r\n }\r\n runCoreEditingCommand(editor, viewModel, args) {\r\n const [shouldPushStackElementBefore, commands] = _common_controller_cursorDeleteOperations_js__WEBPACK_IMPORTED_MODULE_7__.DeleteOperations.deleteRight(viewModel.getPrevEditOperationType(), viewModel.cursorConfig, viewModel.model, viewModel.getCursorStates().map(s => s.modelState.selection));\r\n if (shouldPushStackElementBefore) {\r\n editor.pushUndoStop();\r\n }\r\n editor.executeCommands(this.id, commands);\r\n viewModel.setPrevEditOperationType(3 /* DeletingRight */);\r\n }\r\n });\r\n CoreEditingCommands.Undo = new class extends EditorOrNativeTextInputCommand {\r\n constructor() {\r\n super(_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.UndoCommand);\r\n }\r\n runDOMCommand() {\r\n document.execCommand('undo');\r\n }\r\n runEditorCommand(accessor, editor, args) {\r\n if (!editor.hasModel() || editor.getOption(75 /* readOnly */) === true) {\r\n return;\r\n }\r\n return editor.getModel().undo();\r\n }\r\n }();\r\n CoreEditingCommands.Redo = new class extends EditorOrNativeTextInputCommand {\r\n constructor() {\r\n super(_editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.RedoCommand);\r\n }\r\n runDOMCommand() {\r\n document.execCommand('redo');\r\n }\r\n runEditorCommand(accessor, editor, args) {\r\n if (!editor.hasModel() || editor.getOption(75 /* readOnly */) === true) {\r\n return;\r\n }\r\n return editor.getModel().redo();\r\n }\r\n }();\r\n})(CoreEditingCommands || (CoreEditingCommands = {}));\r\n/**\r\n * A command that will invoke a command on the focused editor.\r\n */\r\nclass EditorHandlerCommand extends _editorExtensions_js__WEBPACK_IMPORTED_MODULE_3__.Command {\r\n constructor(id, handlerId, description) {\r\n super({\r\n id: id,\r\n precondition: undefined,\r\n description: description\r\n });\r\n this._handlerId = handlerId;\r\n }\r\n runCommand(accessor, args) {\r\n const editor = accessor.get(_services_codeEditorService_js__WEBPACK_IMPORTED_MODULE_4__.ICodeEditorService).getFocusedCodeEditor();\r\n if (!editor) {\r\n return;\r\n }\r\n editor.trigger('keyboard', this._handlerId, args);\r\n }\r\n}\r\nfunction registerOverwritableCommand(handlerId, description) {\r\n registerCommand(new EditorHandlerCommand('default:' + handlerId, handlerId));\r\n registerCommand(new EditorHandlerCommand(handlerId, handlerId, description));\r\n}\r\nregisterOverwritableCommand(\"type\" /* 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(\"replacePreviousChar\" /* ReplacePreviousChar */);\r\nregisterOverwritableCommand(\"compositionType\" /* CompositionType */);\r\nregisterOverwritableCommand(\"compositionStart\" /* CompositionStart */);\r\nregisterOverwritableCommand(\"compositionEnd\" /* CompositionEnd */);\r\nregisterOverwritableCommand(\"paste\" /* Paste */);\r\nregisterOverwritableCommand(\"cut\" /* Cut */);\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/controller/coreCommands.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js": /*!*************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createMouseMoveEventMerger\": () => (/* binding */ createMouseMoveEventMerger),\n/* harmony export */ \"MouseHandler\": () => (/* binding */ MouseHandler)\n/* harmony export */ });\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _base_browser_mouseEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/browser/mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _base_common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../base/common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mouseTarget.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js\");\n/* harmony import */ var _editorDom_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../editorDom.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js\");\n/* harmony import */ var _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/config/editorZoom.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/editorZoom.js\");\n/* harmony import */ var _common_core_position_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/core/position.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\");\n/* harmony import */ var _common_core_selection_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/core/selection.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/selection.js\");\n/* harmony import */ var _common_viewModel_viewEventHandler_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/viewModel/viewEventHandler.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewEventHandler.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 * Merges mouse events when mouse move events are throttled\r\n */\r\nfunction createMouseMoveEventMerger(mouseTargetFactory) {\r\n return function (lastEvent, currentEvent) {\r\n let targetIsWidget = false;\r\n if (mouseTargetFactory) {\r\n targetIsWidget = mouseTargetFactory.mouseTargetIsWidget(currentEvent);\r\n }\r\n if (!targetIsWidget) {\r\n currentEvent.preventDefault();\r\n }\r\n return currentEvent;\r\n };\r\n}\r\nclass MouseHandler extends _common_viewModel_viewEventHandler_js__WEBPACK_IMPORTED_MODULE_10__.ViewEventHandler {\r\n constructor(context, viewController, viewHelper) {\r\n super();\r\n this._context = context;\r\n this.viewController = viewController;\r\n this.viewHelper = viewHelper;\r\n this.mouseTargetFactory = new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTargetFactory(this._context, viewHelper);\r\n this._mouseDownOperation = this._register(new MouseDownOperation(this._context, this.viewController, this.viewHelper, (e, testEventTarget) => this._createMouseTarget(e, testEventTarget), (e) => this._getMouseColumn(e)));\r\n this.lastMouseLeaveTime = -1;\r\n this._height = this._context.configuration.options.get(124 /* layoutInfo */).height;\r\n const mouseEvents = new _editorDom_js__WEBPACK_IMPORTED_MODULE_6__.EditorMouseEventFactory(this.viewHelper.viewDomNode);\r\n this._register(mouseEvents.onContextMenu(this.viewHelper.viewDomNode, (e) => this._onContextMenu(e, true)));\r\n this._register(mouseEvents.onMouseMoveThrottled(this.viewHelper.viewDomNode, (e) => this._onMouseMove(e), createMouseMoveEventMerger(this.mouseTargetFactory), MouseHandler.MOUSE_MOVE_MINIMUM_TIME));\r\n this._register(mouseEvents.onMouseUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e)));\r\n this._register(mouseEvents.onMouseLeave(this.viewHelper.viewDomNode, (e) => this._onMouseLeave(e)));\r\n this._register(mouseEvents.onMouseDown(this.viewHelper.viewDomNode, (e) => this._onMouseDown(e)));\r\n const onMouseWheel = (browserEvent) => {\r\n this.viewController.emitMouseWheel(browserEvent);\r\n if (!this._context.configuration.options.get(62 /* mouseWheelZoom */)) {\r\n return;\r\n }\r\n const e = new _base_browser_mouseEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardWheelEvent(browserEvent);\r\n const doMouseWheelZoom = (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_4__.isMacintosh\r\n // on macOS we support cmd + two fingers scroll (`metaKey` set)\r\n // and also the two fingers pinch gesture (`ctrKey` set)\r\n ? ((browserEvent.metaKey || browserEvent.ctrlKey) && !browserEvent.shiftKey && !browserEvent.altKey)\r\n : (browserEvent.ctrlKey && !browserEvent.metaKey && !browserEvent.shiftKey && !browserEvent.altKey));\r\n if (doMouseWheelZoom) {\r\n const zoomLevel = _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_7__.EditorZoom.getZoomLevel();\r\n const delta = e.deltaY > 0 ? 1 : -1;\r\n _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_7__.EditorZoom.setZoomLevel(zoomLevel + delta);\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.viewDomNode, _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_WHEEL, onMouseWheel, { capture: true, passive: false }));\r\n this._context.addEventHandler(this);\r\n }\r\n dispose() {\r\n this._context.removeEventHandler(this);\r\n super.dispose();\r\n }\r\n // --- begin event handlers\r\n onConfigurationChanged(e) {\r\n if (e.hasChanged(124 /* layoutInfo */)) {\r\n // layout change\r\n const height = this._context.configuration.options.get(124 /* layoutInfo */).height;\r\n if (this._height !== height) {\r\n this._height = height;\r\n this._mouseDownOperation.onHeightChanged();\r\n }\r\n }\r\n return false;\r\n }\r\n onCursorStateChanged(e) {\r\n this._mouseDownOperation.onCursorStateChanged(e);\r\n return false;\r\n }\r\n onFocusChanged(e) {\r\n return false;\r\n }\r\n onScrollChanged(e) {\r\n this._mouseDownOperation.onScrollChanged();\r\n return false;\r\n }\r\n // --- end event handlers\r\n getTargetAtClientPoint(clientX, clientY) {\r\n const clientPos = new _editorDom_js__WEBPACK_IMPORTED_MODULE_6__.ClientCoordinates(clientX, clientY);\r\n const pos = clientPos.toPageCoordinates();\r\n const editorPos = (0,_editorDom_js__WEBPACK_IMPORTED_MODULE_6__.createEditorPagePosition)(this.viewHelper.viewDomNode);\r\n if (pos.y < editorPos.y || pos.y > editorPos.y + editorPos.height || pos.x < editorPos.x || pos.x > editorPos.x + editorPos.width) {\r\n return null;\r\n }\r\n return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(), editorPos, pos, null);\r\n }\r\n _createMouseTarget(e, testEventTarget) {\r\n return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(), e.editorPos, e.pos, testEventTarget ? e.target : null);\r\n }\r\n _getMouseColumn(e) {\r\n return this.mouseTargetFactory.getMouseColumn(e.editorPos, e.pos);\r\n }\r\n _onContextMenu(e, testEventTarget) {\r\n this.viewController.emitContextMenu({\r\n event: e,\r\n target: this._createMouseTarget(e, testEventTarget)\r\n });\r\n }\r\n _onMouseMove(e) {\r\n if (this._mouseDownOperation.isActive()) {\r\n // In selection/drag operation\r\n return;\r\n }\r\n const actualMouseMoveTime = e.timestamp;\r\n if (actualMouseMoveTime < this.lastMouseLeaveTime) {\r\n // Due to throttling, this event occurred before the mouse left the editor, therefore ignore it.\r\n return;\r\n }\r\n this.viewController.emitMouseMove({\r\n event: e,\r\n target: this._createMouseTarget(e, true)\r\n });\r\n }\r\n _onMouseLeave(e) {\r\n this.lastMouseLeaveTime = (new Date()).getTime();\r\n this.viewController.emitMouseLeave({\r\n event: e,\r\n target: null\r\n });\r\n }\r\n _onMouseUp(e) {\r\n this.viewController.emitMouseUp({\r\n event: e,\r\n target: this._createMouseTarget(e, true)\r\n });\r\n }\r\n _onMouseDown(e) {\r\n const t = this._createMouseTarget(e, true);\r\n const targetIsContent = (t.type === 6 /* CONTENT_TEXT */ || t.type === 7 /* CONTENT_EMPTY */);\r\n const targetIsGutter = (t.type === 2 /* GUTTER_GLYPH_MARGIN */ || t.type === 3 /* GUTTER_LINE_NUMBERS */ || t.type === 4 /* GUTTER_LINE_DECORATIONS */);\r\n const targetIsLineNumbers = (t.type === 3 /* GUTTER_LINE_NUMBERS */);\r\n const selectOnLineNumbers = this._context.configuration.options.get(93 /* selectOnLineNumbers */);\r\n const targetIsViewZone = (t.type === 8 /* CONTENT_VIEW_ZONE */ || t.type === 5 /* GUTTER_VIEW_ZONE */);\r\n const targetIsWidget = (t.type === 9 /* CONTENT_WIDGET */);\r\n let shouldHandle = e.leftButton || e.middleButton;\r\n if (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_4__.isMacintosh && e.leftButton && e.ctrlKey) {\r\n shouldHandle = false;\r\n }\r\n const focus = () => {\r\n e.preventDefault();\r\n this.viewHelper.focusTextArea();\r\n };\r\n if (shouldHandle && (targetIsContent || (targetIsLineNumbers && selectOnLineNumbers))) {\r\n focus();\r\n this._mouseDownOperation.start(t.type, e);\r\n }\r\n else if (targetIsGutter) {\r\n // Do not steal focus\r\n e.preventDefault();\r\n }\r\n else if (targetIsViewZone) {\r\n const viewZoneData = t.detail;\r\n if (this.viewHelper.shouldSuppressMouseDownOnViewZone(viewZoneData.viewZoneId)) {\r\n focus();\r\n this._mouseDownOperation.start(t.type, e);\r\n e.preventDefault();\r\n }\r\n }\r\n else if (targetIsWidget && this.viewHelper.shouldSuppressMouseDownOnWidget(t.detail)) {\r\n focus();\r\n e.preventDefault();\r\n }\r\n this.viewController.emitMouseDown({\r\n event: e,\r\n target: t\r\n });\r\n }\r\n}\r\nMouseHandler.MOUSE_MOVE_MINIMUM_TIME = 100; // ms\r\nclass MouseDownOperation extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\r\n constructor(context, viewController, viewHelper, createMouseTarget, getMouseColumn) {\r\n super();\r\n this._context = context;\r\n this._viewController = viewController;\r\n this._viewHelper = viewHelper;\r\n this._createMouseTarget = createMouseTarget;\r\n this._getMouseColumn = getMouseColumn;\r\n this._mouseMoveMonitor = this._register(new _editorDom_js__WEBPACK_IMPORTED_MODULE_6__.GlobalEditorMouseMoveMonitor(this._viewHelper.viewDomNode));\r\n this._onScrollTimeout = this._register(new _base_common_async_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutTimer());\r\n this._mouseState = new MouseDownState();\r\n this._currentSelection = new _common_core_selection_js__WEBPACK_IMPORTED_MODULE_9__.Selection(1, 1, 1, 1);\r\n this._isActive = false;\r\n this._lastMouseEvent = null;\r\n }\r\n dispose() {\r\n super.dispose();\r\n }\r\n isActive() {\r\n return this._isActive;\r\n }\r\n _onMouseDownThenMove(e) {\r\n this._lastMouseEvent = e;\r\n this._mouseState.setModifiers(e);\r\n const position = this._findMousePosition(e, true);\r\n if (!position) {\r\n // Ignoring because position is unknown\r\n return;\r\n }\r\n if (this._mouseState.isDragAndDrop) {\r\n this._viewController.emitMouseDrag({\r\n event: e,\r\n target: position\r\n });\r\n }\r\n else {\r\n this._dispatchMouse(position, true);\r\n }\r\n }\r\n start(targetType, e) {\r\n this._lastMouseEvent = e;\r\n this._mouseState.setStartedOnLineNumbers(targetType === 3 /* GUTTER_LINE_NUMBERS */);\r\n this._mouseState.setStartButtons(e);\r\n this._mouseState.setModifiers(e);\r\n const position = this._findMousePosition(e, true);\r\n if (!position || !position.position) {\r\n // Ignoring because position is unknown\r\n return;\r\n }\r\n this._mouseState.trySetCount(e.detail, position.position);\r\n // Overwrite the detail of the MouseEvent, as it will be sent out in an event and contributions might rely on it.\r\n e.detail = this._mouseState.count;\r\n const options = this._context.configuration.options;\r\n if (!options.get(75 /* readOnly */)\r\n && options.get(27 /* dragAndDrop */)\r\n && !options.get(15 /* columnSelection */)\r\n && !this._mouseState.altKey // we don't support multiple mouse\r\n && e.detail < 2 // only single click on a selection can work\r\n && !this._isActive // the mouse is not down yet\r\n && !this._currentSelection.isEmpty() // we don't drag single cursor\r\n && (position.type === 6 /* CONTENT_TEXT */) // single click on text\r\n && position.position && this._currentSelection.containsPosition(position.position) // single click on a selection\r\n ) {\r\n this._mouseState.isDragAndDrop = true;\r\n this._isActive = true;\r\n this._mouseMoveMonitor.startMonitoring(e.target, e.buttons, createMouseMoveEventMerger(null), (e) => this._onMouseDownThenMove(e), (browserEvent) => {\r\n const position = this._findMousePosition(this._lastMouseEvent, true);\r\n if (browserEvent && browserEvent instanceof KeyboardEvent) {\r\n // cancel\r\n this._viewController.emitMouseDropCanceled();\r\n }\r\n else {\r\n this._viewController.emitMouseDrop({\r\n event: this._lastMouseEvent,\r\n target: (position ? this._createMouseTarget(this._lastMouseEvent, true) : null) // Ignoring because position is unknown, e.g., Content View Zone\r\n });\r\n }\r\n this._stop();\r\n });\r\n return;\r\n }\r\n this._mouseState.isDragAndDrop = false;\r\n this._dispatchMouse(position, e.shiftKey);\r\n if (!this._isActive) {\r\n this._isActive = true;\r\n this._mouseMoveMonitor.startMonitoring(e.target, e.buttons, createMouseMoveEventMerger(null), (e) => this._onMouseDownThenMove(e), () => this._stop());\r\n }\r\n }\r\n _stop() {\r\n this._isActive = false;\r\n this._onScrollTimeout.cancel();\r\n }\r\n onHeightChanged() {\r\n this._mouseMoveMonitor.stopMonitoring();\r\n }\r\n onScrollChanged() {\r\n if (!this._isActive) {\r\n return;\r\n }\r\n this._onScrollTimeout.setIfNotSet(() => {\r\n if (!this._lastMouseEvent) {\r\n return;\r\n }\r\n const position = this._findMousePosition(this._lastMouseEvent, false);\r\n if (!position) {\r\n // Ignoring because position is unknown\r\n return;\r\n }\r\n if (this._mouseState.isDragAndDrop) {\r\n // Ignoring because users are dragging the text\r\n return;\r\n }\r\n this._dispatchMouse(position, true);\r\n }, 10);\r\n }\r\n onCursorStateChanged(e) {\r\n this._currentSelection = e.selections[0];\r\n }\r\n _getPositionOutsideEditor(e) {\r\n const editorContent = e.editorPos;\r\n const model = this._context.model;\r\n const viewLayout = this._context.viewLayout;\r\n const mouseColumn = this._getMouseColumn(e);\r\n if (e.posy < editorContent.y) {\r\n const verticalOffset = Math.max(viewLayout.getCurrentScrollTop() - (editorContent.y - e.posy), 0);\r\n const viewZoneData = _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.HitTestContext.getZoneAtCoord(this._context, verticalOffset);\r\n if (viewZoneData) {\r\n const newPosition = this._helpPositionJumpOverViewZone(viewZoneData);\r\n if (newPosition) {\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(null, 13 /* OUTSIDE_EDITOR */, mouseColumn, newPosition);\r\n }\r\n }\r\n const aboveLineNumber = viewLayout.getLineNumberAtVerticalOffset(verticalOffset);\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(null, 13 /* OUTSIDE_EDITOR */, mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_8__.Position(aboveLineNumber, 1));\r\n }\r\n if (e.posy > editorContent.y + editorContent.height) {\r\n const verticalOffset = viewLayout.getCurrentScrollTop() + (e.posy - editorContent.y);\r\n const viewZoneData = _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.HitTestContext.getZoneAtCoord(this._context, verticalOffset);\r\n if (viewZoneData) {\r\n const newPosition = this._helpPositionJumpOverViewZone(viewZoneData);\r\n if (newPosition) {\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(null, 13 /* OUTSIDE_EDITOR */, mouseColumn, newPosition);\r\n }\r\n }\r\n const belowLineNumber = viewLayout.getLineNumberAtVerticalOffset(verticalOffset);\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(null, 13 /* OUTSIDE_EDITOR */, mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_8__.Position(belowLineNumber, model.getLineMaxColumn(belowLineNumber)));\r\n }\r\n const possibleLineNumber = viewLayout.getLineNumberAtVerticalOffset(viewLayout.getCurrentScrollTop() + (e.posy - editorContent.y));\r\n if (e.posx < editorContent.x) {\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(null, 13 /* OUTSIDE_EDITOR */, mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_8__.Position(possibleLineNumber, 1));\r\n }\r\n if (e.posx > editorContent.x + editorContent.width) {\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(null, 13 /* OUTSIDE_EDITOR */, mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_8__.Position(possibleLineNumber, model.getLineMaxColumn(possibleLineNumber)));\r\n }\r\n return null;\r\n }\r\n _findMousePosition(e, testEventTarget) {\r\n const positionOutsideEditor = this._getPositionOutsideEditor(e);\r\n if (positionOutsideEditor) {\r\n return positionOutsideEditor;\r\n }\r\n const t = this._createMouseTarget(e, testEventTarget);\r\n const hintedPosition = t.position;\r\n if (!hintedPosition) {\r\n return null;\r\n }\r\n if (t.type === 8 /* CONTENT_VIEW_ZONE */ || t.type === 5 /* GUTTER_VIEW_ZONE */) {\r\n const newPosition = this._helpPositionJumpOverViewZone(t.detail);\r\n if (newPosition) {\r\n return new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_5__.MouseTarget(t.element, t.type, t.mouseColumn, newPosition, null, t.detail);\r\n }\r\n }\r\n return t;\r\n }\r\n _helpPositionJumpOverViewZone(viewZoneData) {\r\n // Force position on view zones to go above or below depending on where selection started from\r\n const selectionStart = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_8__.Position(this._currentSelection.selectionStartLineNumber, this._currentSelection.selectionStartColumn);\r\n const positionBefore = viewZoneData.positionBefore;\r\n const positionAfter = viewZoneData.positionAfter;\r\n if (positionBefore && positionAfter) {\r\n if (positionBefore.isBefore(selectionStart)) {\r\n return positionBefore;\r\n }\r\n else {\r\n return positionAfter;\r\n }\r\n }\r\n return null;\r\n }\r\n _dispatchMouse(position, inSelectionMode) {\r\n if (!position.position) {\r\n return;\r\n }\r\n this._viewController.dispatchMouse({\r\n position: position.position,\r\n mouseColumn: position.mouseColumn,\r\n startedOnLineNumbers: this._mouseState.startedOnLineNumbers,\r\n inSelectionMode: inSelectionMode,\r\n mouseDownCount: this._mouseState.count,\r\n altKey: this._mouseState.altKey,\r\n ctrlKey: this._mouseState.ctrlKey,\r\n metaKey: this._mouseState.metaKey,\r\n shiftKey: this._mouseState.shiftKey,\r\n leftButton: this._mouseState.leftButton,\r\n middleButton: this._mouseState.middleButton,\r\n });\r\n }\r\n}\r\nclass MouseDownState {\r\n constructor() {\r\n this._altKey = false;\r\n this._ctrlKey = false;\r\n this._metaKey = false;\r\n this._shiftKey = false;\r\n this._leftButton = false;\r\n this._middleButton = false;\r\n this._startedOnLineNumbers = false;\r\n this._lastMouseDownPosition = null;\r\n this._lastMouseDownPositionEqualCount = 0;\r\n this._lastMouseDownCount = 0;\r\n this._lastSetMouseDownCountTime = 0;\r\n this.isDragAndDrop = false;\r\n }\r\n get altKey() { return this._altKey; }\r\n get ctrlKey() { return this._ctrlKey; }\r\n get metaKey() { return this._metaKey; }\r\n get shiftKey() { return this._shiftKey; }\r\n get leftButton() { return this._leftButton; }\r\n get middleButton() { return this._middleButton; }\r\n get startedOnLineNumbers() { return this._startedOnLineNumbers; }\r\n get count() {\r\n return this._lastMouseDownCount;\r\n }\r\n setModifiers(source) {\r\n this._altKey = source.altKey;\r\n this._ctrlKey = source.ctrlKey;\r\n this._metaKey = source.metaKey;\r\n this._shiftKey = source.shiftKey;\r\n }\r\n setStartButtons(source) {\r\n this._leftButton = source.leftButton;\r\n this._middleButton = source.middleButton;\r\n }\r\n setStartedOnLineNumbers(startedOnLineNumbers) {\r\n this._startedOnLineNumbers = startedOnLineNumbers;\r\n }\r\n trySetCount(setMouseDownCount, newMouseDownPosition) {\r\n // a. Invalidate multiple clicking if too much time has passed (will be hit by IE because the detail field of mouse events contains garbage in IE10)\r\n const currentTime = (new Date()).getTime();\r\n if (currentTime - this._lastSetMouseDownCountTime > MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME) {\r\n setMouseDownCount = 1;\r\n }\r\n this._lastSetMouseDownCountTime = currentTime;\r\n // b. Ensure that we don't jump from single click to triple click in one go (will be hit by IE because the detail field of mouse events contains garbage in IE10)\r\n if (setMouseDownCount > this._lastMouseDownCount + 1) {\r\n setMouseDownCount = this._lastMouseDownCount + 1;\r\n }\r\n // c. Invalidate multiple clicking if the logical position is different\r\n if (this._lastMouseDownPosition && this._lastMouseDownPosition.equals(newMouseDownPosition)) {\r\n this._lastMouseDownPositionEqualCount++;\r\n }\r\n else {\r\n this._lastMouseDownPositionEqualCount = 1;\r\n }\r\n this._lastMouseDownPosition = newMouseDownPosition;\r\n // Finally set the lastMouseDownCount\r\n this._lastMouseDownCount = Math.min(setMouseDownCount, this._lastMouseDownPositionEqualCount);\r\n }\r\n}\r\nMouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME = 400; // ms\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js": /*!************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PointerHandlerLastRenderData\": () => (/* binding */ PointerHandlerLastRenderData),\n/* harmony export */ \"MouseTarget\": () => (/* binding */ MouseTarget),\n/* harmony export */ \"HitTestContext\": () => (/* binding */ HitTestContext),\n/* harmony export */ \"MouseTargetFactory\": () => (/* binding */ MouseTargetFactory),\n/* harmony export */ \"shadowCaretRangeFromPoint\": () => (/* binding */ shadowCaretRangeFromPoint)\n/* harmony export */ });\n/* harmony import */ var _editorDom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editorDom.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js\");\n/* harmony import */ var _view_viewPart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../view/viewPart.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/view/viewPart.js\");\n/* harmony import */ var _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../viewParts/lines/viewLine.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLine.js\");\n/* harmony import */ var _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/core/position.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\");\n/* harmony import */ var _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/core/range.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\");\n/* harmony import */ var _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/controller/cursorCommon.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorCommon.js\");\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_controller_cursorAtomicMoveOperations_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/controller/cursorAtomicMoveOperations.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/controller/cursorAtomicMoveOperations.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\nclass PointerHandlerLastRenderData {\r\n constructor(lastViewCursorsRenderData, lastTextareaPosition) {\r\n this.lastViewCursorsRenderData = lastViewCursorsRenderData;\r\n this.lastTextareaPosition = lastTextareaPosition;\r\n }\r\n}\r\nclass MouseTarget {\r\n constructor(element, type, mouseColumn = 0, position = null, range = null, detail = null) {\r\n this.element = element;\r\n this.type = type;\r\n this.mouseColumn = mouseColumn;\r\n this.position = position;\r\n if (!range && position) {\r\n range = new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(position.lineNumber, position.column, position.lineNumber, position.column);\r\n }\r\n this.range = range;\r\n this.detail = detail;\r\n }\r\n static _typeToString(type) {\r\n if (type === 1 /* TEXTAREA */) {\r\n return 'TEXTAREA';\r\n }\r\n if (type === 2 /* GUTTER_GLYPH_MARGIN */) {\r\n return 'GUTTER_GLYPH_MARGIN';\r\n }\r\n if (type === 3 /* GUTTER_LINE_NUMBERS */) {\r\n return 'GUTTER_LINE_NUMBERS';\r\n }\r\n if (type === 4 /* GUTTER_LINE_DECORATIONS */) {\r\n return 'GUTTER_LINE_DECORATIONS';\r\n }\r\n if (type === 5 /* GUTTER_VIEW_ZONE */) {\r\n return 'GUTTER_VIEW_ZONE';\r\n }\r\n if (type === 6 /* CONTENT_TEXT */) {\r\n return 'CONTENT_TEXT';\r\n }\r\n if (type === 7 /* CONTENT_EMPTY */) {\r\n return 'CONTENT_EMPTY';\r\n }\r\n if (type === 8 /* CONTENT_VIEW_ZONE */) {\r\n return 'CONTENT_VIEW_ZONE';\r\n }\r\n if (type === 9 /* CONTENT_WIDGET */) {\r\n return 'CONTENT_WIDGET';\r\n }\r\n if (type === 10 /* OVERVIEW_RULER */) {\r\n return 'OVERVIEW_RULER';\r\n }\r\n if (type === 11 /* SCROLLBAR */) {\r\n return 'SCROLLBAR';\r\n }\r\n if (type === 12 /* OVERLAY_WIDGET */) {\r\n return 'OVERLAY_WIDGET';\r\n }\r\n return 'UNKNOWN';\r\n }\r\n static toString(target) {\r\n return this._typeToString(target.type) + ': ' + target.position + ' - ' + target.range + ' - ' + target.detail;\r\n }\r\n toString() {\r\n return MouseTarget.toString(this);\r\n }\r\n}\r\nclass ElementPath {\r\n static isTextArea(path) {\r\n return (path.length === 2\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[1] === 6 /* TextArea */);\r\n }\r\n static isChildOfViewLines(path) {\r\n return (path.length >= 4\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[3] === 7 /* ViewLines */);\r\n }\r\n static isStrictChildOfViewLines(path) {\r\n return (path.length > 4\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[3] === 7 /* ViewLines */);\r\n }\r\n static isChildOfScrollableElement(path) {\r\n return (path.length >= 2\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[1] === 5 /* ScrollableElement */);\r\n }\r\n static isChildOfMinimap(path) {\r\n return (path.length >= 2\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[1] === 8 /* Minimap */);\r\n }\r\n static isChildOfContentWidgets(path) {\r\n return (path.length >= 4\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[3] === 1 /* ContentWidgets */);\r\n }\r\n static isChildOfOverflowingContentWidgets(path) {\r\n return (path.length >= 1\r\n && path[0] === 2 /* OverflowingContentWidgets */);\r\n }\r\n static isChildOfOverlayWidgets(path) {\r\n return (path.length >= 2\r\n && path[0] === 3 /* OverflowGuard */\r\n && path[1] === 4 /* OverlayWidgets */);\r\n }\r\n}\r\nclass HitTestContext {\r\n constructor(context, viewHelper, lastRenderData) {\r\n this.model = context.model;\r\n const options = context.configuration.options;\r\n this.layoutInfo = options.get(124 /* layoutInfo */);\r\n this.viewDomNode = viewHelper.viewDomNode;\r\n this.lineHeight = options.get(53 /* lineHeight */);\r\n this.stickyTabStops = options.get(99 /* stickyTabStops */);\r\n this.typicalHalfwidthCharacterWidth = options.get(38 /* fontInfo */).typicalHalfwidthCharacterWidth;\r\n this.lastRenderData = lastRenderData;\r\n this._context = context;\r\n this._viewHelper = viewHelper;\r\n }\r\n getZoneAtCoord(mouseVerticalOffset) {\r\n return HitTestContext.getZoneAtCoord(this._context, mouseVerticalOffset);\r\n }\r\n static getZoneAtCoord(context, mouseVerticalOffset) {\r\n // The target is either a view zone or the empty space after the last view-line\r\n const viewZoneWhitespace = context.viewLayout.getWhitespaceAtVerticalOffset(mouseVerticalOffset);\r\n if (viewZoneWhitespace) {\r\n const viewZoneMiddle = viewZoneWhitespace.verticalOffset + viewZoneWhitespace.height / 2;\r\n const lineCount = context.model.getLineCount();\r\n let positionBefore = null;\r\n let position;\r\n let positionAfter = null;\r\n if (viewZoneWhitespace.afterLineNumber !== lineCount) {\r\n // There are more lines after this view zone\r\n positionAfter = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(viewZoneWhitespace.afterLineNumber + 1, 1);\r\n }\r\n if (viewZoneWhitespace.afterLineNumber > 0) {\r\n // There are more lines above this view zone\r\n positionBefore = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(viewZoneWhitespace.afterLineNumber, context.model.getLineMaxColumn(viewZoneWhitespace.afterLineNumber));\r\n }\r\n if (positionAfter === null) {\r\n position = positionBefore;\r\n }\r\n else if (positionBefore === null) {\r\n position = positionAfter;\r\n }\r\n else if (mouseVerticalOffset < viewZoneMiddle) {\r\n position = positionBefore;\r\n }\r\n else {\r\n position = positionAfter;\r\n }\r\n return {\r\n viewZoneId: viewZoneWhitespace.id,\r\n afterLineNumber: viewZoneWhitespace.afterLineNumber,\r\n positionBefore: positionBefore,\r\n positionAfter: positionAfter,\r\n position: position\r\n };\r\n }\r\n return null;\r\n }\r\n getFullLineRangeAtCoord(mouseVerticalOffset) {\r\n if (this._context.viewLayout.isAfterLines(mouseVerticalOffset)) {\r\n // Below the last line\r\n const lineNumber = this._context.model.getLineCount();\r\n const maxLineColumn = this._context.model.getLineMaxColumn(lineNumber);\r\n return {\r\n range: new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(lineNumber, maxLineColumn, lineNumber, maxLineColumn),\r\n isAfterLines: true\r\n };\r\n }\r\n const lineNumber = this._context.viewLayout.getLineNumberAtVerticalOffset(mouseVerticalOffset);\r\n const maxLineColumn = this._context.model.getLineMaxColumn(lineNumber);\r\n return {\r\n range: new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(lineNumber, 1, lineNumber, maxLineColumn),\r\n isAfterLines: false\r\n };\r\n }\r\n getLineNumberAtVerticalOffset(mouseVerticalOffset) {\r\n return this._context.viewLayout.getLineNumberAtVerticalOffset(mouseVerticalOffset);\r\n }\r\n isAfterLines(mouseVerticalOffset) {\r\n return this._context.viewLayout.isAfterLines(mouseVerticalOffset);\r\n }\r\n isInTopPadding(mouseVerticalOffset) {\r\n return this._context.viewLayout.isInTopPadding(mouseVerticalOffset);\r\n }\r\n isInBottomPadding(mouseVerticalOffset) {\r\n return this._context.viewLayout.isInBottomPadding(mouseVerticalOffset);\r\n }\r\n getVerticalOffsetForLineNumber(lineNumber) {\r\n return this._context.viewLayout.getVerticalOffsetForLineNumber(lineNumber);\r\n }\r\n findAttribute(element, attr) {\r\n return HitTestContext._findAttribute(element, attr, this._viewHelper.viewDomNode);\r\n }\r\n static _findAttribute(element, attr, stopAt) {\r\n while (element && element !== document.body) {\r\n if (element.hasAttribute && element.hasAttribute(attr)) {\r\n return element.getAttribute(attr);\r\n }\r\n if (element === stopAt) {\r\n return null;\r\n }\r\n element = element.parentNode;\r\n }\r\n return null;\r\n }\r\n getLineWidth(lineNumber) {\r\n return this._viewHelper.getLineWidth(lineNumber);\r\n }\r\n visibleRangeForPosition(lineNumber, column) {\r\n return this._viewHelper.visibleRangeForPosition(lineNumber, column);\r\n }\r\n getPositionFromDOMInfo(spanNode, offset) {\r\n return this._viewHelper.getPositionFromDOMInfo(spanNode, offset);\r\n }\r\n getCurrentScrollTop() {\r\n return this._context.viewLayout.getCurrentScrollTop();\r\n }\r\n getCurrentScrollLeft() {\r\n return this._context.viewLayout.getCurrentScrollLeft();\r\n }\r\n}\r\nclass BareHitTestRequest {\r\n constructor(ctx, editorPos, pos) {\r\n this.editorPos = editorPos;\r\n this.pos = pos;\r\n this.mouseVerticalOffset = Math.max(0, ctx.getCurrentScrollTop() + pos.y - editorPos.y);\r\n this.mouseContentHorizontalOffset = ctx.getCurrentScrollLeft() + pos.x - editorPos.x - ctx.layoutInfo.contentLeft;\r\n this.isInMarginArea = (pos.x - editorPos.x < ctx.layoutInfo.contentLeft && pos.x - editorPos.x >= ctx.layoutInfo.glyphMarginLeft);\r\n this.isInContentArea = !this.isInMarginArea;\r\n this.mouseColumn = Math.max(0, MouseTargetFactory._getMouseColumn(this.mouseContentHorizontalOffset, ctx.typicalHalfwidthCharacterWidth));\r\n }\r\n}\r\nclass HitTestRequest extends BareHitTestRequest {\r\n constructor(ctx, editorPos, pos, target) {\r\n super(ctx, editorPos, pos);\r\n this._ctx = ctx;\r\n if (target) {\r\n this.target = target;\r\n this.targetPath = _view_viewPart_js__WEBPACK_IMPORTED_MODULE_1__.PartFingerprints.collect(target, ctx.viewDomNode);\r\n }\r\n else {\r\n this.target = null;\r\n this.targetPath = new Uint8Array(0);\r\n }\r\n }\r\n toString() {\r\n return `pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\\n\\ttarget: ${this.target ? this.target.outerHTML : null}`;\r\n }\r\n fulfill(type, position = null, range = null, detail = null) {\r\n let mouseColumn = this.mouseColumn;\r\n if (position && position.column < this._ctx.model.getLineMaxColumn(position.lineNumber)) {\r\n // Most likely, the line contains foreign decorations...\r\n mouseColumn = _common_controller_cursorCommon_js__WEBPACK_IMPORTED_MODULE_5__.CursorColumns.visibleColumnFromColumn(this._ctx.model.getLineContent(position.lineNumber), position.column, this._ctx.model.getTextModelOptions().tabSize) + 1;\r\n }\r\n return new MouseTarget(this.target, type, mouseColumn, position, range, detail);\r\n }\r\n withTarget(target) {\r\n return new HitTestRequest(this._ctx, this.editorPos, this.pos, target);\r\n }\r\n}\r\nconst EMPTY_CONTENT_AFTER_LINES = { isAfterLines: true };\r\nfunction createEmptyContentDataInLines(horizontalDistanceToText) {\r\n return {\r\n isAfterLines: false,\r\n horizontalDistanceToText: horizontalDistanceToText\r\n };\r\n}\r\nclass MouseTargetFactory {\r\n constructor(context, viewHelper) {\r\n this._context = context;\r\n this._viewHelper = viewHelper;\r\n }\r\n mouseTargetIsWidget(e) {\r\n const t = e.target;\r\n const path = _view_viewPart_js__WEBPACK_IMPORTED_MODULE_1__.PartFingerprints.collect(t, this._viewHelper.viewDomNode);\r\n // Is it a content widget?\r\n if (ElementPath.isChildOfContentWidgets(path) || ElementPath.isChildOfOverflowingContentWidgets(path)) {\r\n return true;\r\n }\r\n // Is it an overlay widget?\r\n if (ElementPath.isChildOfOverlayWidgets(path)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n createMouseTarget(lastRenderData, editorPos, pos, target) {\r\n const ctx = new HitTestContext(this._context, this._viewHelper, lastRenderData);\r\n const request = new HitTestRequest(ctx, editorPos, pos, target);\r\n try {\r\n const r = MouseTargetFactory._createMouseTarget(ctx, request, false);\r\n // console.log(r.toString());\r\n return r;\r\n }\r\n catch (err) {\r\n // console.log(err);\r\n return request.fulfill(0 /* UNKNOWN */);\r\n }\r\n }\r\n static _createMouseTarget(ctx, request, domHitTestExecuted) {\r\n // console.log(`${domHitTestExecuted ? '=>' : ''}CAME IN REQUEST: ${request}`);\r\n // First ensure the request has a target\r\n if (request.target === null) {\r\n if (domHitTestExecuted) {\r\n // Still no target... and we have already executed hit test...\r\n return request.fulfill(0 /* UNKNOWN */);\r\n }\r\n const hitTestResult = MouseTargetFactory._doHitTest(ctx, request);\r\n if (hitTestResult.position) {\r\n return MouseTargetFactory.createMouseTargetFromHitTestPosition(ctx, request, hitTestResult.position.lineNumber, hitTestResult.position.column);\r\n }\r\n return this._createMouseTarget(ctx, request.withTarget(hitTestResult.hitTarget), true);\r\n }\r\n // we know for a fact that request.target is not null\r\n const resolvedRequest = request;\r\n let result = null;\r\n result = result || MouseTargetFactory._hitTestContentWidget(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestOverlayWidget(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestMinimap(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestScrollbarSlider(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestViewZone(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestMargin(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestViewCursor(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestTextArea(ctx, resolvedRequest);\r\n result = result || MouseTargetFactory._hitTestViewLines(ctx, resolvedRequest, domHitTestExecuted);\r\n result = result || MouseTargetFactory._hitTestScrollbar(ctx, resolvedRequest);\r\n return (result || request.fulfill(0 /* UNKNOWN */));\r\n }\r\n static _hitTestContentWidget(ctx, request) {\r\n // Is it a content widget?\r\n if (ElementPath.isChildOfContentWidgets(request.targetPath) || ElementPath.isChildOfOverflowingContentWidgets(request.targetPath)) {\r\n const widgetId = ctx.findAttribute(request.target, 'widgetId');\r\n if (widgetId) {\r\n return request.fulfill(9 /* CONTENT_WIDGET */, null, null, widgetId);\r\n }\r\n else {\r\n return request.fulfill(0 /* UNKNOWN */);\r\n }\r\n }\r\n return null;\r\n }\r\n static _hitTestOverlayWidget(ctx, request) {\r\n // Is it an overlay widget?\r\n if (ElementPath.isChildOfOverlayWidgets(request.targetPath)) {\r\n const widgetId = ctx.findAttribute(request.target, 'widgetId');\r\n if (widgetId) {\r\n return request.fulfill(12 /* OVERLAY_WIDGET */, null, null, widgetId);\r\n }\r\n else {\r\n return request.fulfill(0 /* UNKNOWN */);\r\n }\r\n }\r\n return null;\r\n }\r\n static _hitTestViewCursor(ctx, request) {\r\n if (request.target) {\r\n // Check if we've hit a painted cursor\r\n const lastViewCursorsRenderData = ctx.lastRenderData.lastViewCursorsRenderData;\r\n for (const d of lastViewCursorsRenderData) {\r\n if (request.target === d.domNode) {\r\n return request.fulfill(6 /* CONTENT_TEXT */, d.position);\r\n }\r\n }\r\n }\r\n if (request.isInContentArea) {\r\n // Edge has a bug when hit-testing the exact position of a cursor,\r\n // instead of returning the correct dom node, it returns the\r\n // first or last rendered view line dom node, therefore help it out\r\n // and first check if we are on top of a cursor\r\n const lastViewCursorsRenderData = ctx.lastRenderData.lastViewCursorsRenderData;\r\n const mouseContentHorizontalOffset = request.mouseContentHorizontalOffset;\r\n const mouseVerticalOffset = request.mouseVerticalOffset;\r\n for (const d of lastViewCursorsRenderData) {\r\n if (mouseContentHorizontalOffset < d.contentLeft) {\r\n // mouse position is to the left of the cursor\r\n continue;\r\n }\r\n if (mouseContentHorizontalOffset > d.contentLeft + d.width) {\r\n // mouse position is to the right of the cursor\r\n continue;\r\n }\r\n const cursorVerticalOffset = ctx.getVerticalOffsetForLineNumber(d.position.lineNumber);\r\n if (cursorVerticalOffset <= mouseVerticalOffset\r\n && mouseVerticalOffset <= cursorVerticalOffset + d.height) {\r\n return request.fulfill(6 /* CONTENT_TEXT */, d.position);\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n static _hitTestViewZone(ctx, request) {\r\n const viewZoneData = ctx.getZoneAtCoord(request.mouseVerticalOffset);\r\n if (viewZoneData) {\r\n const mouseTargetType = (request.isInContentArea ? 8 /* CONTENT_VIEW_ZONE */ : 5 /* GUTTER_VIEW_ZONE */);\r\n return request.fulfill(mouseTargetType, viewZoneData.position, null, viewZoneData);\r\n }\r\n return null;\r\n }\r\n static _hitTestTextArea(ctx, request) {\r\n // Is it the textarea?\r\n if (ElementPath.isTextArea(request.targetPath)) {\r\n if (ctx.lastRenderData.lastTextareaPosition) {\r\n return request.fulfill(6 /* CONTENT_TEXT */, ctx.lastRenderData.lastTextareaPosition);\r\n }\r\n return request.fulfill(1 /* TEXTAREA */, ctx.lastRenderData.lastTextareaPosition);\r\n }\r\n return null;\r\n }\r\n static _hitTestMargin(ctx, request) {\r\n if (request.isInMarginArea) {\r\n const res = ctx.getFullLineRangeAtCoord(request.mouseVerticalOffset);\r\n const pos = res.range.getStartPosition();\r\n let offset = Math.abs(request.pos.x - request.editorPos.x);\r\n const detail = {\r\n isAfterLines: res.isAfterLines,\r\n glyphMarginLeft: ctx.layoutInfo.glyphMarginLeft,\r\n glyphMarginWidth: ctx.layoutInfo.glyphMarginWidth,\r\n lineNumbersWidth: ctx.layoutInfo.lineNumbersWidth,\r\n offsetX: offset\r\n };\r\n offset -= ctx.layoutInfo.glyphMarginLeft;\r\n if (offset <= ctx.layoutInfo.glyphMarginWidth) {\r\n // On the glyph margin\r\n return request.fulfill(2 /* GUTTER_GLYPH_MARGIN */, pos, res.range, detail);\r\n }\r\n offset -= ctx.layoutInfo.glyphMarginWidth;\r\n if (offset <= ctx.layoutInfo.lineNumbersWidth) {\r\n // On the line numbers\r\n return request.fulfill(3 /* GUTTER_LINE_NUMBERS */, pos, res.range, detail);\r\n }\r\n offset -= ctx.layoutInfo.lineNumbersWidth;\r\n // On the line decorations\r\n return request.fulfill(4 /* GUTTER_LINE_DECORATIONS */, pos, res.range, detail);\r\n }\r\n return null;\r\n }\r\n static _hitTestViewLines(ctx, request, domHitTestExecuted) {\r\n if (!ElementPath.isChildOfViewLines(request.targetPath)) {\r\n return null;\r\n }\r\n if (ctx.isInTopPadding(request.mouseVerticalOffset)) {\r\n return request.fulfill(7 /* CONTENT_EMPTY */, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(1, 1), undefined, EMPTY_CONTENT_AFTER_LINES);\r\n }\r\n // Check if it is below any lines and any view zones\r\n if (ctx.isAfterLines(request.mouseVerticalOffset) || ctx.isInBottomPadding(request.mouseVerticalOffset)) {\r\n // This most likely indicates it happened after the last view-line\r\n const lineCount = ctx.model.getLineCount();\r\n const maxLineColumn = ctx.model.getLineMaxColumn(lineCount);\r\n return request.fulfill(7 /* CONTENT_EMPTY */, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineCount, maxLineColumn), undefined, EMPTY_CONTENT_AFTER_LINES);\r\n }\r\n if (domHitTestExecuted) {\r\n // Check if we are hitting a view-line (can happen in the case of inline decorations on empty lines)\r\n // See https://github.com/microsoft/vscode/issues/46942\r\n if (ElementPath.isStrictChildOfViewLines(request.targetPath)) {\r\n const lineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\r\n if (ctx.model.getLineLength(lineNumber) === 0) {\r\n const lineWidth = ctx.getLineWidth(lineNumber);\r\n const detail = createEmptyContentDataInLines(request.mouseContentHorizontalOffset - lineWidth);\r\n return request.fulfill(7 /* CONTENT_EMPTY */, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, 1), undefined, detail);\r\n }\r\n const lineWidth = ctx.getLineWidth(lineNumber);\r\n if (request.mouseContentHorizontalOffset >= lineWidth) {\r\n const detail = createEmptyContentDataInLines(request.mouseContentHorizontalOffset - lineWidth);\r\n const pos = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, ctx.model.getLineMaxColumn(lineNumber));\r\n return request.fulfill(7 /* CONTENT_EMPTY */, pos, undefined, detail);\r\n }\r\n }\r\n // We have already executed hit test...\r\n return request.fulfill(0 /* UNKNOWN */);\r\n }\r\n const hitTestResult = MouseTargetFactory._doHitTest(ctx, request);\r\n if (hitTestResult.position) {\r\n return MouseTargetFactory.createMouseTargetFromHitTestPosition(ctx, request, hitTestResult.position.lineNumber, hitTestResult.position.column);\r\n }\r\n return this._createMouseTarget(ctx, request.withTarget(hitTestResult.hitTarget), true);\r\n }\r\n static _hitTestMinimap(ctx, request) {\r\n if (ElementPath.isChildOfMinimap(request.targetPath)) {\r\n const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\r\n const maxColumn = ctx.model.getLineMaxColumn(possibleLineNumber);\r\n return request.fulfill(11 /* SCROLLBAR */, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(possibleLineNumber, maxColumn));\r\n }\r\n return null;\r\n }\r\n static _hitTestScrollbarSlider(ctx, request) {\r\n if (ElementPath.isChildOfScrollableElement(request.targetPath)) {\r\n if (request.target && request.target.nodeType === 1) {\r\n const className = request.target.className;\r\n if (className && /\\b(slider|scrollbar)\\b/.test(className)) {\r\n const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\r\n const maxColumn = ctx.model.getLineMaxColumn(possibleLineNumber);\r\n return request.fulfill(11 /* SCROLLBAR */, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(possibleLineNumber, maxColumn));\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n static _hitTestScrollbar(ctx, request) {\r\n // Is it the overview ruler?\r\n // Is it a child of the scrollable element?\r\n if (ElementPath.isChildOfScrollableElement(request.targetPath)) {\r\n const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\r\n const maxColumn = ctx.model.getLineMaxColumn(possibleLineNumber);\r\n return request.fulfill(11 /* SCROLLBAR */, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(possibleLineNumber, maxColumn));\r\n }\r\n return null;\r\n }\r\n getMouseColumn(editorPos, pos) {\r\n const options = this._context.configuration.options;\r\n const layoutInfo = options.get(124 /* layoutInfo */);\r\n const mouseContentHorizontalOffset = this._context.viewLayout.getCurrentScrollLeft() + pos.x - editorPos.x - layoutInfo.contentLeft;\r\n return MouseTargetFactory._getMouseColumn(mouseContentHorizontalOffset, options.get(38 /* fontInfo */).typicalHalfwidthCharacterWidth);\r\n }\r\n static _getMouseColumn(mouseContentHorizontalOffset, typicalHalfwidthCharacterWidth) {\r\n if (mouseContentHorizontalOffset < 0) {\r\n return 1;\r\n }\r\n const chars = Math.round(mouseContentHorizontalOffset / typicalHalfwidthCharacterWidth);\r\n return (chars + 1);\r\n }\r\n static createMouseTargetFromHitTestPosition(ctx, request, lineNumber, column) {\r\n const pos = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, column);\r\n const lineWidth = ctx.getLineWidth(lineNumber);\r\n if (request.mouseContentHorizontalOffset > lineWidth) {\r\n const detail = createEmptyContentDataInLines(request.mouseContentHorizontalOffset - lineWidth);\r\n return request.fulfill(7 /* CONTENT_EMPTY */, pos, undefined, detail);\r\n }\r\n const visibleRange = ctx.visibleRangeForPosition(lineNumber, column);\r\n if (!visibleRange) {\r\n return request.fulfill(0 /* UNKNOWN */, pos);\r\n }\r\n const columnHorizontalOffset = visibleRange.left;\r\n if (request.mouseContentHorizontalOffset === columnHorizontalOffset) {\r\n return request.fulfill(6 /* CONTENT_TEXT */, pos);\r\n }\r\n const points = [];\r\n points.push({ offset: visibleRange.left, column: column });\r\n if (column > 1) {\r\n const visibleRange = ctx.visibleRangeForPosition(lineNumber, column - 1);\r\n if (visibleRange) {\r\n points.push({ offset: visibleRange.left, column: column - 1 });\r\n }\r\n }\r\n const lineMaxColumn = ctx.model.getLineMaxColumn(lineNumber);\r\n if (column < lineMaxColumn) {\r\n const visibleRange = ctx.visibleRangeForPosition(lineNumber, column + 1);\r\n if (visibleRange) {\r\n points.push({ offset: visibleRange.left, column: column + 1 });\r\n }\r\n }\r\n points.sort((a, b) => a.offset - b.offset);\r\n for (let i = 1; i < points.length; i++) {\r\n const prev = points[i - 1];\r\n const curr = points[i];\r\n if (prev.offset <= request.mouseContentHorizontalOffset && request.mouseContentHorizontalOffset <= curr.offset) {\r\n const rng = new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(lineNumber, prev.column, lineNumber, curr.column);\r\n return request.fulfill(6 /* CONTENT_TEXT */, pos, rng);\r\n }\r\n }\r\n return request.fulfill(6 /* CONTENT_TEXT */, pos);\r\n }\r\n /**\r\n * Most probably WebKit browsers and Edge\r\n */\r\n static _doHitTestWithCaretRangeFromPoint(ctx, request) {\r\n // In Chrome, especially on Linux it is possible to click between lines,\r\n // so try to adjust the `hity` below so that it lands in the center of a line\r\n const lineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\r\n const lineVerticalOffset = ctx.getVerticalOffsetForLineNumber(lineNumber);\r\n const lineCenteredVerticalOffset = lineVerticalOffset + Math.floor(ctx.lineHeight / 2);\r\n let adjustedPageY = request.pos.y + (lineCenteredVerticalOffset - request.mouseVerticalOffset);\r\n if (adjustedPageY <= request.editorPos.y) {\r\n adjustedPageY = request.editorPos.y + 1;\r\n }\r\n if (adjustedPageY >= request.editorPos.y + ctx.layoutInfo.height) {\r\n adjustedPageY = request.editorPos.y + ctx.layoutInfo.height - 1;\r\n }\r\n const adjustedPage = new _editorDom_js__WEBPACK_IMPORTED_MODULE_0__.PageCoordinates(request.pos.x, adjustedPageY);\r\n const r = this._actualDoHitTestWithCaretRangeFromPoint(ctx, adjustedPage.toClientCoordinates());\r\n if (r.position) {\r\n return r;\r\n }\r\n // Also try to hit test without the adjustment (for the edge cases that we are near the top or bottom)\r\n return this._actualDoHitTestWithCaretRangeFromPoint(ctx, request.pos.toClientCoordinates());\r\n }\r\n static _actualDoHitTestWithCaretRangeFromPoint(ctx, coords) {\r\n const shadowRoot = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_6__.getShadowRoot(ctx.viewDomNode);\r\n let range;\r\n if (shadowRoot) {\r\n if (typeof shadowRoot.caretRangeFromPoint === 'undefined') {\r\n range = shadowCaretRangeFromPoint(shadowRoot, coords.clientX, coords.clientY);\r\n }\r\n else {\r\n range = shadowRoot.caretRangeFromPoint(coords.clientX, coords.clientY);\r\n }\r\n }\r\n else {\r\n range = document.caretRangeFromPoint(coords.clientX, coords.clientY);\r\n }\r\n if (!range || !range.startContainer) {\r\n return {\r\n position: null,\r\n hitTarget: null\r\n };\r\n }\r\n // Chrome always hits a TEXT_NODE, while Edge sometimes hits a token span\r\n const startContainer = range.startContainer;\r\n let hitTarget = null;\r\n if (startContainer.nodeType === startContainer.TEXT_NODE) {\r\n // startContainer is expected to be the token text\r\n const parent1 = startContainer.parentNode; // expected to be the token span\r\n const parent2 = parent1 ? parent1.parentNode : null; // expected to be the view line container span\r\n const parent3 = parent2 ? parent2.parentNode : null; // expected to be the view line div\r\n const parent3ClassName = parent3 && parent3.nodeType === parent3.ELEMENT_NODE ? parent3.className : null;\r\n if (parent3ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\r\n const p = ctx.getPositionFromDOMInfo(parent1, range.startOffset);\r\n return {\r\n position: p,\r\n hitTarget: null\r\n };\r\n }\r\n else {\r\n hitTarget = startContainer.parentNode;\r\n }\r\n }\r\n else if (startContainer.nodeType === startContainer.ELEMENT_NODE) {\r\n // startContainer is expected to be the token span\r\n const parent1 = startContainer.parentNode; // expected to be the view line container span\r\n const parent2 = parent1 ? parent1.parentNode : null; // expected to be the view line div\r\n const parent2ClassName = parent2 && parent2.nodeType === parent2.ELEMENT_NODE ? parent2.className : null;\r\n if (parent2ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\r\n const p = ctx.getPositionFromDOMInfo(startContainer, startContainer.textContent.length);\r\n return {\r\n position: p,\r\n hitTarget: null\r\n };\r\n }\r\n else {\r\n hitTarget = startContainer;\r\n }\r\n }\r\n return {\r\n position: null,\r\n hitTarget: hitTarget\r\n };\r\n }\r\n /**\r\n * Most probably Gecko\r\n */\r\n static _doHitTestWithCaretPositionFromPoint(ctx, coords) {\r\n const hitResult = document.caretPositionFromPoint(coords.clientX, coords.clientY);\r\n if (hitResult.offsetNode.nodeType === hitResult.offsetNode.TEXT_NODE) {\r\n // offsetNode is expected to be the token text\r\n const parent1 = hitResult.offsetNode.parentNode; // expected to be the token span\r\n const parent2 = parent1 ? parent1.parentNode : null; // expected to be the view line container span\r\n const parent3 = parent2 ? parent2.parentNode : null; // expected to be the view line div\r\n const parent3ClassName = parent3 && parent3.nodeType === parent3.ELEMENT_NODE ? parent3.className : null;\r\n if (parent3ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\r\n const p = ctx.getPositionFromDOMInfo(hitResult.offsetNode.parentNode, hitResult.offset);\r\n return {\r\n position: p,\r\n hitTarget: null\r\n };\r\n }\r\n else {\r\n return {\r\n position: null,\r\n hitTarget: hitResult.offsetNode.parentNode\r\n };\r\n }\r\n }\r\n // For inline decorations, Gecko sometimes returns the `` of the line and the offset is the `` with the inline decoration\r\n // Some other times, it returns the `` with the inline decoration\r\n if (hitResult.offsetNode.nodeType === hitResult.offsetNode.ELEMENT_NODE) {\r\n const parent1 = hitResult.offsetNode.parentNode;\r\n const parent1ClassName = parent1 && parent1.nodeType === parent1.ELEMENT_NODE ? parent1.className : null;\r\n const parent2 = parent1 ? parent1.parentNode : null;\r\n const parent2ClassName = parent2 && parent2.nodeType === parent2.ELEMENT_NODE ? parent2.className : null;\r\n if (parent1ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\r\n // it returned the `` of the line and the offset is the `` with the inline decoration\r\n const tokenSpan = hitResult.offsetNode.childNodes[Math.min(hitResult.offset, hitResult.offsetNode.childNodes.length - 1)];\r\n if (tokenSpan) {\r\n const p = ctx.getPositionFromDOMInfo(tokenSpan, 0);\r\n return {\r\n position: p,\r\n hitTarget: null\r\n };\r\n }\r\n }\r\n else if (parent2ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\r\n // it returned the `` with the inline decoration\r\n const p = ctx.getPositionFromDOMInfo(hitResult.offsetNode, 0);\r\n return {\r\n position: p,\r\n hitTarget: null\r\n };\r\n }\r\n }\r\n return {\r\n position: null,\r\n hitTarget: hitResult.offsetNode\r\n };\r\n }\r\n static _snapToSoftTabBoundary(position, viewModel) {\r\n const lineContent = viewModel.getLineContent(position.lineNumber);\r\n const { tabSize } = viewModel.getTextModelOptions();\r\n const newPosition = _common_controller_cursorAtomicMoveOperations_js__WEBPACK_IMPORTED_MODULE_7__.AtomicTabMoveOperations.atomicPosition(lineContent, position.column - 1, tabSize, 2 /* Nearest */);\r\n if (newPosition !== -1) {\r\n return new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(position.lineNumber, newPosition + 1);\r\n }\r\n return position;\r\n }\r\n static _doHitTest(ctx, request) {\r\n let result;\r\n if (typeof document.caretRangeFromPoint === 'function') {\r\n result = this._doHitTestWithCaretRangeFromPoint(ctx, request);\r\n }\r\n else if (document.caretPositionFromPoint) {\r\n result = this._doHitTestWithCaretPositionFromPoint(ctx, request.pos.toClientCoordinates());\r\n }\r\n else {\r\n result = {\r\n position: null,\r\n hitTarget: null\r\n };\r\n }\r\n // Snap to the nearest soft tab boundary if atomic soft tabs are enabled.\r\n if (result.position && ctx.stickyTabStops) {\r\n result.position = this._snapToSoftTabBoundary(result.position, ctx.model);\r\n }\r\n return result;\r\n }\r\n}\r\nfunction shadowCaretRangeFromPoint(shadowRoot, x, y) {\r\n const range = document.createRange();\r\n // Get the element under the point\r\n let el = shadowRoot.elementFromPoint(x, y);\r\n if (el !== null) {\r\n // Get the last child of the element until its firstChild is a text node\r\n // This assumes that the pointer is on the right of the line, out of the tokens\r\n // and that we want to get the offset of the last token of the line\r\n while (el && el.firstChild && el.firstChild.nodeType !== el.firstChild.TEXT_NODE && el.lastChild && el.lastChild.firstChild) {\r\n el = el.lastChild;\r\n }\r\n // Grab its rect\r\n const rect = el.getBoundingClientRect();\r\n // And its font\r\n const font = window.getComputedStyle(el, null).getPropertyValue('font');\r\n // And also its txt content\r\n const text = el.innerText;\r\n // Position the pixel cursor at the left of the element\r\n let pixelCursor = rect.left;\r\n let offset = 0;\r\n let step;\r\n // If the point is on the right of the box put the cursor after the last character\r\n if (x > rect.left + rect.width) {\r\n offset = text.length;\r\n }\r\n else {\r\n const charWidthReader = CharWidthReader.getInstance();\r\n // Goes through all the characters of the innerText, and checks if the x of the point\r\n // belongs to the character.\r\n for (let i = 0; i < text.length + 1; i++) {\r\n // The step is half the width of the character\r\n step = charWidthReader.getCharWidth(text.charAt(i), font) / 2;\r\n // Move to the center of the character\r\n pixelCursor += step;\r\n // If the x of the point is smaller that the position of the cursor, the point is over that character\r\n if (x < pixelCursor) {\r\n offset = i;\r\n break;\r\n }\r\n // Move between the current character and the next\r\n pixelCursor += step;\r\n }\r\n }\r\n // Creates a range with the text node of the element and set the offset found\r\n range.setStart(el.firstChild, offset);\r\n range.setEnd(el.firstChild, offset);\r\n }\r\n return range;\r\n}\r\nclass CharWidthReader {\r\n constructor() {\r\n this._cache = {};\r\n this._canvas = document.createElement('canvas');\r\n }\r\n static getInstance() {\r\n if (!CharWidthReader._INSTANCE) {\r\n CharWidthReader._INSTANCE = new CharWidthReader();\r\n }\r\n return CharWidthReader._INSTANCE;\r\n }\r\n getCharWidth(char, font) {\r\n const cacheKey = char + font;\r\n if (this._cache[cacheKey]) {\r\n return this._cache[cacheKey];\r\n }\r\n const context = this._canvas.getContext('2d');\r\n context.font = font;\r\n const metrics = context.measureText(char);\r\n const width = metrics.width;\r\n this._cache[cacheKey] = width;\r\n return width;\r\n }\r\n}\r\nCharWidthReader._INSTANCE = null;\r\n\n\n//# sourceURL=webpack://browser-esm-webpack/./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js?"); /***/ }), /***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/pointerHandler.js": /*!***************************************************************************************!*\ !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/pointerHandler.js ***! \***************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PointerEventHandler\": () => (/* binding */ PointerEventHandler),\n/* harmony export */ \"PointerHandler\": () => (/* binding */ PointerHandler)\n/* harmony export */ });\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/browser/touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mouseHandler.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js\");\n/* harmony import */ var _editorDom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../editorDom.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js\");\n/* harmony import */ var _base_browser_canIUse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/browser/canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js\");\n/* harmony import */ var _textAreaInput_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textAreaInput.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.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 * Currently only tested on iOS 13/ iPadOS.\r\n */\r\nclass PointerEventHandler extends _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__.MouseHandler {\r\n constructor(context, viewController, viewHelper) {\r\n super(context, viewController, viewHelper);\r\n this._register(_base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.viewHelper.linesContentDomNode));\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap, (e) => this.onTap(e)));\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change, (e) => this.onChange(e)));\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Contextmenu, (e) => this._onContextMenu(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(e, this.viewHelper.viewDomNode), false)));\r\n this._lastPointerType = 'mouse';\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, 'pointerdown', (e) => {\r\n const pointerType = e.pointerType;\r\n if (pointerType === 'mouse') {\r\n this._lastPointerType = 'mouse';\r\n return;\r\n }\r\n else if (pointerType === 'touch') {\r\n this._lastPointerType = 'touch';\r\n }\r\n else {\r\n this._lastPointerType = 'pen';\r\n }\r\n }));\r\n // PonterEvents\r\n const pointerEvents = new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorPointerEventFactory(this.viewHelper.viewDomNode);\r\n this._register(pointerEvents.onPointerMoveThrottled(this.viewHelper.viewDomNode, (e) => this._onMouseMove(e), (0,_mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__.createMouseMoveEventMerger)(this.mouseTargetFactory), _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__.MouseHandler.MOUSE_MOVE_MINIMUM_TIME));\r\n this._register(pointerEvents.onPointerUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e)));\r\n this._register(pointerEvents.onPointerLeave(this.viewHelper.viewDomNode, (e) => this._onMouseLeave(e)));\r\n this._register(pointerEvents.onPointerDown(this.viewHelper.viewDomNode, (e) => this._onMouseDown(e)));\r\n }\r\n onTap(event) {\r\n if (!event.initialTarget || !this.viewHelper.linesContentDomNode.contains(event.initialTarget)) {\r\n return;\r\n }\r\n event.preventDefault();\r\n this.viewHelper.focusTextArea();\r\n const target = this._createMouseTarget(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(event, this.viewHelper.viewDomNode), false);\r\n if (target.position) {\r\n // this.viewController.moveTo(target.position);\r\n this.viewController.dispatchMouse({\r\n position: target.position,\r\n mouseColumn: target.position.column,\r\n startedOnLineNumbers: false,\r\n mouseDownCount: event.tapCount,\r\n inSelectionMode: false,\r\n altKey: false,\r\n ctrlKey: false,\r\n metaKey: false,\r\n shiftKey: false,\r\n leftButton: false,\r\n middleButton: false,\r\n });\r\n }\r\n }\r\n onChange(e) {\r\n if (this._lastPointerType === 'touch') {\r\n this._context.model.deltaScrollNow(-e.translationX, -e.translationY);\r\n }\r\n }\r\n _onMouseDown(e) {\r\n if (e.browserEvent.pointerType === 'touch') {\r\n return;\r\n }\r\n super._onMouseDown(e);\r\n }\r\n}\r\nclass TouchHandler extends _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__.MouseHandler {\r\n constructor(context, viewController, viewHelper) {\r\n super(context, viewController, viewHelper);\r\n this._register(_base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.viewHelper.linesContentDomNode));\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap, (e) => this.onTap(e)));\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change, (e) => this.onChange(e)));\r\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Contextmenu, (e) => this._onContextMenu(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(e, this.viewHelper.viewDomNode), false)));\r\n }\r\n onTap(event) {\r\n event.preventDefault();\r\n this.viewHelper.focusTextArea();\r\n const target = this._createMouseTarget(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(event, this.viewHelper.viewDomNode), false);\r\n if (target.position) {\r\n // Send the tap event also to the