@k8slens/extensions 5.2.1-git.936927af98.0 → 5.2.1-git.ab5eb356c4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/dist/src/common/catalog/catalog-entity.d.ts +18 -0
  2. package/dist/src/common/catalog-entities/__tests__/kubernetes-cluster.test.d.ts +1 -0
  3. package/dist/src/common/catalog-entities/kubernetes-cluster.d.ts +1 -0
  4. package/dist/src/extensions/extension-api.js +46 -136
  5. package/dist/src/extensions/main-api/k8s-api.d.ts +1 -1
  6. package/dist/src/extensions/registries/command-registry.d.ts +2 -2
  7. package/dist/src/extensions/renderer-api/k8s-api.d.ts +1 -1
  8. package/dist/src/renderer/api/catalog-entity-registry.d.ts +3 -1
  9. package/dist/src/renderer/api/terminal-api.d.ts +0 -2
  10. package/dist/src/renderer/components/+add-cluster/add-cluster.d.ts +1 -1
  11. package/dist/src/renderer/components/+apps-helm-charts/helm-charts.d.ts +1 -0
  12. package/dist/src/renderer/components/+apps-releases/releases.d.ts +1 -0
  13. package/dist/src/renderer/components/+catalog/__tests__/catalog-add-button.test.d.ts +1 -0
  14. package/dist/src/renderer/components/+entity-settings/entity-settings.d.ts +0 -1
  15. package/dist/src/renderer/components/activate-entity-command/activate-entity-command.d.ts +30 -0
  16. package/dist/src/renderer/components/activate-entity-command/index.d.ts +21 -0
  17. package/dist/src/renderer/components/delete-cluster-dialog/save-config.d.ts +1 -1
  18. package/dist/src/renderer/components/input/input.d.ts +1 -1
  19. package/dist/src/renderer/components/kube-detail-params/params.d.ts +1 -0
  20. package/dist/src/renderer/components/layout/sidebar.d.ts +1 -1
  21. package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
  22. package/package.json +1 -1
@@ -16113,7 +16113,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _css
16113
16113
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16114
16114
 
16115
16115
  "use strict";
16116
- eval("__webpack_require__.r(__webpack_exports__);\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.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/*---------------------------------------------------------------------------------------------\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n:root {\\n --sash-size: 4px;\\n}\\n\\n.monaco-sash {\\n position: absolute;\\n z-index: 35;\\n touch-action: none;\\n}\\n\\n.monaco-sash.disabled {\\n pointer-events: none;\\n}\\n\\n.monaco-sash.mac.vertical {\\n cursor: col-resize;\\n}\\n\\n.monaco-sash.vertical.minimum {\\n cursor: e-resize;\\n}\\n\\n.monaco-sash.vertical.maximum {\\n cursor: w-resize;\\n}\\n\\n.monaco-sash.mac.horizontal {\\n cursor: row-resize;\\n}\\n\\n.monaco-sash.horizontal.minimum {\\n cursor: s-resize;\\n}\\n\\n.monaco-sash.horizontal.maximum {\\n cursor: n-resize;\\n}\\n\\n.monaco-sash.disabled {\\n cursor: default !important;\\n pointer-events: none !important;\\n}\\n\\n.monaco-sash.vertical {\\n cursor: ew-resize;\\n top: 0;\\n width: var(--sash-size);\\n height: 100%;\\n}\\n\\n.monaco-sash.horizontal {\\n cursor: ns-resize;\\n left: 0;\\n width: 100%;\\n height: var(--sash-size);\\n}\\n\\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\\n content: \\\" \\\";\\n height: calc(var(--sash-size) * 2);\\n width: calc(var(--sash-size) * 2);\\n z-index: 100;\\n display: block;\\n cursor: all-scroll;\\n position: absolute;\\n}\\n\\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.start,\\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.end {\\n cursor: nwse-resize;\\n}\\n\\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.end,\\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.start {\\n cursor: nesw-resize;\\n}\\n\\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\\n left: calc(var(--sash-size) * -0.5);\\n top: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\\n left: calc(var(--sash-size) * -0.5);\\n bottom: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\\n top: calc(var(--sash-size) * -0.5);\\n left: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\\n top: calc(var(--sash-size) * -0.5);\\n right: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash:before {\\n content: \\\"\\\";\\n pointer-events: none;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n transition: background-color 0.1s ease-out;\\n background: transparent;\\n}\\n\\n.monaco-sash.vertical:before {\\n width: var(--sash-hover-size);\\n left: calc(50% - (var(--sash-hover-size) / 2));\\n}\\n\\n.monaco-sash.horizontal:before {\\n height: var(--sash-hover-size);\\n top: calc(50% - (var(--sash-hover-size) / 2));\\n}\\n\\n/** Debug **/\\n.monaco-sash.debug {\\n background: cyan;\\n}\\n\\n.monaco-sash.debug.disabled {\\n background: rgba(0, 255, 255, 0.2);\\n}\\n\\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\\n background: red;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16116
+ eval("__webpack_require__.r(__webpack_exports__);\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.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/*---------------------------------------------------------------------------------------------\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n:root {\\n --sash-size: 4px;\\n}\\n\\n.monaco-sash {\\n position: absolute;\\n z-index: 35;\\n touch-action: none;\\n}\\n\\n.monaco-sash.disabled {\\n pointer-events: none;\\n}\\n\\n.monaco-sash.mac.vertical {\\n cursor: col-resize;\\n}\\n\\n.monaco-sash.vertical.minimum {\\n cursor: e-resize;\\n}\\n\\n.monaco-sash.vertical.maximum {\\n cursor: w-resize;\\n}\\n\\n.monaco-sash.mac.horizontal {\\n cursor: row-resize;\\n}\\n\\n.monaco-sash.horizontal.minimum {\\n cursor: s-resize;\\n}\\n\\n.monaco-sash.horizontal.maximum {\\n cursor: n-resize;\\n}\\n\\n.monaco-sash.disabled {\\n cursor: default !important;\\n pointer-events: none !important;\\n}\\n\\n.monaco-sash.vertical {\\n cursor: ew-resize;\\n top: 0;\\n width: var(--sash-size);\\n height: 100%;\\n}\\n\\n.monaco-sash.horizontal {\\n cursor: ns-resize;\\n left: 0;\\n width: 100%;\\n height: var(--sash-size);\\n}\\n\\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\\n content: \\\" \\\";\\n height: calc(var(--sash-size) * 2);\\n width: calc(var(--sash-size) * 2);\\n z-index: 100;\\n display: block;\\n cursor: all-scroll;\\n position: absolute;\\n}\\n\\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.start,\\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.end {\\n cursor: nwse-resize;\\n}\\n\\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled) > .orthogonal-drag-handle.end,\\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled) > .orthogonal-drag-handle.start {\\n cursor: nesw-resize;\\n}\\n\\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\\n left: calc(var(--sash-size) * -0.5);\\n top: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\\n left: calc(var(--sash-size) * -0.5);\\n bottom: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\\n top: calc(var(--sash-size) * -0.5);\\n left: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\\n top: calc(var(--sash-size) * -0.5);\\n right: calc(var(--sash-size) * -1);\\n}\\n\\n.monaco-sash:before {\\n content: \\\"\\\";\\n pointer-events: none;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n transition: background-color 0.1s ease-out;\\n background: transparent;\\n}\\n\\n.monaco-sash.vertical:before {\\n width: var(--sash-hover-size);\\n left: calc(50% - var(--sash-hover-size) / 2);\\n}\\n\\n.monaco-sash.horizontal:before {\\n height: var(--sash-hover-size);\\n top: calc(50% - var(--sash-hover-size) / 2);\\n}\\n\\n/** Debug **/\\n.monaco-sash.debug {\\n background: cyan;\\n}\\n\\n.monaco-sash.debug.disabled {\\n background: rgba(0, 255, 255, 0.2);\\n}\\n\\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\\n background: red;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16117
16117
 
16118
16118
  /***/ }),
16119
16119
 
@@ -16173,7 +16173,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _css
16173
16173
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16174
16174
 
16175
16175
  "use strict";
16176
- eval("__webpack_require__.r(__webpack_exports__);\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.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/*---------------------------------------------------------------------------------------------\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.quick-input-widget {\\n position: absolute;\\n width: 600px;\\n z-index: 2000;\\n padding: 0 1px 6px 1px;\\n left: 50%;\\n margin-left: -300px;\\n}\\n\\n.quick-input-titlebar {\\n display: flex;\\n align-items: center;\\n}\\n\\n.quick-input-left-action-bar {\\n display: flex;\\n margin-left: 4px;\\n flex: 1;\\n}\\n\\n.quick-input-title {\\n padding: 3px 0px;\\n text-align: center;\\n}\\n\\n.quick-input-right-action-bar {\\n display: flex;\\n margin-right: 4px;\\n flex: 1;\\n}\\n\\n.quick-input-right-action-bar > .actions-container {\\n justify-content: flex-end;\\n}\\n\\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\\n background-position: center;\\n background-repeat: no-repeat;\\n padding: 2px;\\n}\\n\\n.quick-input-description {\\n margin: 6px;\\n}\\n\\n.quick-input-header .quick-input-description {\\n margin: 4px 2px;\\n}\\n\\n.quick-input-header {\\n display: flex;\\n padding: 6px 6px 0px 6px;\\n margin-bottom: -2px;\\n}\\n\\n.quick-input-widget.hidden-input .quick-input-header {\\n /* reduce margins and paddings when input box hidden */\\n padding: 0;\\n margin-bottom: 0;\\n}\\n\\n.quick-input-and-message {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n position: relative;\\n}\\n\\n.quick-input-check-all {\\n align-self: center;\\n margin: 0;\\n}\\n\\n.quick-input-filter {\\n flex-grow: 1;\\n display: flex;\\n position: relative;\\n}\\n\\n.quick-input-box {\\n flex-grow: 1;\\n}\\n\\n.quick-input-widget.show-checkboxes .quick-input-box,\\n.quick-input-widget.show-checkboxes .quick-input-message {\\n margin-left: 5px;\\n}\\n\\n.quick-input-visible-count {\\n position: absolute;\\n left: -10000px;\\n}\\n\\n.quick-input-count {\\n align-self: center;\\n position: absolute;\\n right: 4px;\\n display: flex;\\n align-items: center;\\n}\\n\\n.quick-input-count .monaco-count-badge {\\n vertical-align: middle;\\n padding: 2px 4px;\\n border-radius: 2px;\\n min-height: auto;\\n line-height: normal;\\n}\\n\\n.quick-input-action {\\n margin-left: 6px;\\n}\\n\\n.quick-input-action .monaco-text-button {\\n font-size: 11px;\\n padding: 0 6px;\\n display: flex;\\n height: 27.5px;\\n align-items: center;\\n}\\n\\n.quick-input-message {\\n margin-top: -1px;\\n padding: 5px 5px 2px 5px;\\n}\\n\\n.quick-input-message > .codicon {\\n margin: 0 0.2em;\\n vertical-align: text-bottom;\\n}\\n\\n.quick-input-progress.monaco-progress-container {\\n position: relative;\\n}\\n\\n.quick-input-progress.monaco-progress-container,\\n.quick-input-progress.monaco-progress-container .progress-bit {\\n height: 2px;\\n}\\n\\n.quick-input-list {\\n line-height: 22px;\\n margin-top: 6px;\\n}\\n\\n.quick-input-widget.hidden-input .quick-input-list {\\n margin-top: 0;\\n /* reduce margins when input box hidden */\\n}\\n\\n.quick-input-list .monaco-list {\\n overflow: hidden;\\n max-height: calc(20 * 22px);\\n}\\n\\n.quick-input-list .quick-input-list-entry {\\n box-sizing: border-box;\\n overflow: hidden;\\n display: flex;\\n height: 100%;\\n padding: 0 6px;\\n}\\n\\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\\n border-top-width: 1px;\\n border-top-style: solid;\\n}\\n\\n.quick-input-list .monaco-list-row[data-index=\\\"0\\\"] .quick-input-list-entry.quick-input-list-separator-border {\\n border-top-style: none;\\n}\\n\\n.quick-input-list .quick-input-list-label {\\n overflow: hidden;\\n display: flex;\\n height: 100%;\\n flex: 1;\\n}\\n\\n.quick-input-list .quick-input-list-checkbox {\\n align-self: center;\\n margin: 0;\\n}\\n\\n.quick-input-list .quick-input-list-rows {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n flex: 1;\\n margin-left: 5px;\\n}\\n\\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\\n margin-left: 10px;\\n}\\n\\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\\n display: none;\\n}\\n\\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\\n display: inline;\\n}\\n\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\\n display: flex;\\n align-items: center;\\n}\\n\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\\n flex: 1;\\n /* make sure the icon label grows within the row */\\n}\\n\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*=codicon-] {\\n vertical-align: sub;\\n}\\n\\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label span {\\n opacity: 1;\\n}\\n\\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\\n margin-right: 8px;\\n /* separate from the separator label or scrollbar if any */\\n}\\n\\n.quick-input-list .quick-input-list-label-meta {\\n opacity: 0.7;\\n line-height: normal;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n}\\n\\n.quick-input-list .monaco-highlighted-label .highlight {\\n font-weight: bold;\\n}\\n\\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\\n margin-right: 8px;\\n /* separate from keybindings or actions */\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar {\\n display: flex;\\n flex: 0;\\n overflow: visible;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\\n /*\\n * By default, actions in the quick input action bar are hidden\\n * until hovered over them or selected.\\n */\\n display: none;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\\n margin-right: 4px;\\n padding: 2px;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar {\\n margin-top: 1px;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar {\\n margin-right: 4px;\\n /* separate from scrollbar */\\n}\\n\\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label {\\n display: flex;\\n}\\n\\n/* focused items in quick pick */\\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,\\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {\\n color: inherit;\\n}\\n\\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {\\n background: none;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16176
+ eval("__webpack_require__.r(__webpack_exports__);\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.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/*---------------------------------------------------------------------------------------------\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License. See License.txt in the project root for license information.\\n *--------------------------------------------------------------------------------------------*/\\n.quick-input-widget {\\n position: absolute;\\n width: 600px;\\n z-index: 2000;\\n padding: 0 1px 6px 1px;\\n left: 50%;\\n margin-left: -300px;\\n}\\n\\n.quick-input-titlebar {\\n display: flex;\\n align-items: center;\\n}\\n\\n.quick-input-left-action-bar {\\n display: flex;\\n margin-left: 4px;\\n flex: 1;\\n}\\n\\n.quick-input-title {\\n padding: 3px 0px;\\n text-align: center;\\n}\\n\\n.quick-input-right-action-bar {\\n display: flex;\\n margin-right: 4px;\\n flex: 1;\\n}\\n\\n.quick-input-right-action-bar > .actions-container {\\n justify-content: flex-end;\\n}\\n\\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\\n background-position: center;\\n background-repeat: no-repeat;\\n padding: 2px;\\n}\\n\\n.quick-input-description {\\n margin: 6px;\\n}\\n\\n.quick-input-header .quick-input-description {\\n margin: 4px 2px;\\n}\\n\\n.quick-input-header {\\n display: flex;\\n padding: 6px 6px 0px 6px;\\n margin-bottom: -2px;\\n}\\n\\n.quick-input-widget.hidden-input .quick-input-header {\\n /* reduce margins and paddings when input box hidden */\\n padding: 0;\\n margin-bottom: 0;\\n}\\n\\n.quick-input-and-message {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n position: relative;\\n}\\n\\n.quick-input-check-all {\\n align-self: center;\\n margin: 0;\\n}\\n\\n.quick-input-filter {\\n flex-grow: 1;\\n display: flex;\\n position: relative;\\n}\\n\\n.quick-input-box {\\n flex-grow: 1;\\n}\\n\\n.quick-input-widget.show-checkboxes .quick-input-box,\\n.quick-input-widget.show-checkboxes .quick-input-message {\\n margin-left: 5px;\\n}\\n\\n.quick-input-visible-count {\\n position: absolute;\\n left: -10000px;\\n}\\n\\n.quick-input-count {\\n align-self: center;\\n position: absolute;\\n right: 4px;\\n display: flex;\\n align-items: center;\\n}\\n\\n.quick-input-count .monaco-count-badge {\\n vertical-align: middle;\\n padding: 2px 4px;\\n border-radius: 2px;\\n min-height: auto;\\n line-height: normal;\\n}\\n\\n.quick-input-action {\\n margin-left: 6px;\\n}\\n\\n.quick-input-action .monaco-text-button {\\n font-size: 11px;\\n padding: 0 6px;\\n display: flex;\\n height: 27.5px;\\n align-items: center;\\n}\\n\\n.quick-input-message {\\n margin-top: -1px;\\n padding: 5px 5px 2px 5px;\\n}\\n\\n.quick-input-message > .codicon {\\n margin: 0 0.2em;\\n vertical-align: text-bottom;\\n}\\n\\n.quick-input-progress.monaco-progress-container {\\n position: relative;\\n}\\n\\n.quick-input-progress.monaco-progress-container,\\n.quick-input-progress.monaco-progress-container .progress-bit {\\n height: 2px;\\n}\\n\\n.quick-input-list {\\n line-height: 22px;\\n margin-top: 6px;\\n}\\n\\n.quick-input-widget.hidden-input .quick-input-list {\\n margin-top: 0;\\n /* reduce margins when input box hidden */\\n}\\n\\n.quick-input-list .monaco-list {\\n overflow: hidden;\\n max-height: 440px;\\n}\\n\\n.quick-input-list .quick-input-list-entry {\\n box-sizing: border-box;\\n overflow: hidden;\\n display: flex;\\n height: 100%;\\n padding: 0 6px;\\n}\\n\\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\\n border-top-width: 1px;\\n border-top-style: solid;\\n}\\n\\n.quick-input-list .monaco-list-row[data-index=\\\"0\\\"] .quick-input-list-entry.quick-input-list-separator-border {\\n border-top-style: none;\\n}\\n\\n.quick-input-list .quick-input-list-label {\\n overflow: hidden;\\n display: flex;\\n height: 100%;\\n flex: 1;\\n}\\n\\n.quick-input-list .quick-input-list-checkbox {\\n align-self: center;\\n margin: 0;\\n}\\n\\n.quick-input-list .quick-input-list-rows {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n flex: 1;\\n margin-left: 5px;\\n}\\n\\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\\n margin-left: 10px;\\n}\\n\\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\\n display: none;\\n}\\n\\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\\n display: inline;\\n}\\n\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\\n display: flex;\\n align-items: center;\\n}\\n\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\\n flex: 1;\\n /* make sure the icon label grows within the row */\\n}\\n\\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*=codicon-] {\\n vertical-align: sub;\\n}\\n\\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label span {\\n opacity: 1;\\n}\\n\\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\\n margin-right: 8px;\\n /* separate from the separator label or scrollbar if any */\\n}\\n\\n.quick-input-list .quick-input-list-label-meta {\\n opacity: 0.7;\\n line-height: normal;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n}\\n\\n.quick-input-list .monaco-highlighted-label .highlight {\\n font-weight: bold;\\n}\\n\\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\\n margin-right: 8px;\\n /* separate from keybindings or actions */\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar {\\n display: flex;\\n flex: 0;\\n overflow: visible;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\\n /*\\n * By default, actions in the quick input action bar are hidden\\n * until hovered over them or selected.\\n */\\n display: none;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\\n margin-right: 4px;\\n padding: 2px;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar {\\n margin-top: 1px;\\n}\\n\\n.quick-input-list .quick-input-list-entry-action-bar {\\n margin-right: 4px;\\n /* separate from scrollbar */\\n}\\n\\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label {\\n display: flex;\\n}\\n\\n/* focused items in quick pick */\\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,\\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {\\n color: inherit;\\n}\\n\\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {\\n background: none;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./node_modules/monaco-editor/esm/vs/base/parts/quickinput/browser/media/quickInput.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16177
16177
 
16178
16178
  /***/ }),
16179
16179
 
@@ -16737,7 +16737,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
16737
16737
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16738
16738
 
16739
16739
  "use strict";
16740
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n.Input {\\n position: relative;\\n text-align: left;\\n}\\n.Input.invalid.dirty:not(.validating) label:after {\\n width: 100%;\\n background: var(--colorError);\\n}\\n.Input.focused:not(.validating) label:after {\\n width: 100%;\\n}\\n.Input.validatingLine label:after {\\n width: 100%;\\n background: repeating-linear-gradient(-45deg, transparent, transparent, 1rem, #ccc 1rem, #ccc 2rem);\\n background-size: 200% 200%;\\n animation: stripeLines 10s linear infinite;\\n}\\n@keyframes stripeLines {\\n 100% {\\n background-position: 100% 100%;\\n }\\n}\\n.Input label {\\n --flex-gap: 5.3333333333px;\\n position: relative;\\n padding: 6px 0;\\n border-bottom: 1px solid var(--halfGray);\\n line-height: 1;\\n}\\n.Input label:after {\\n content: \\\"\\\";\\n position: absolute;\\n top: calc(100% - 1px);\\n left: 50%;\\n transform: translateX(-50%);\\n width: 0;\\n height: 2px;\\n background: var(--primary);\\n}\\n.Input input, .Input textarea {\\n background: none;\\n color: inherit;\\n font: inherit;\\n text-align: inherit;\\n text-transform: inherit;\\n}\\n.Input input:invalid, .Input textarea:invalid {\\n box-shadow: none;\\n}\\n.Input input::placeholder, .Input textarea::placeholder {\\n color: inherit;\\n opacity: 0.75;\\n}\\n.Input textarea {\\n overflow: auto;\\n line-height: 1.2;\\n resize: none;\\n}\\n.Input textarea::-webkit-scrollbar {\\n width: 0;\\n height: 0;\\n background: transparent;\\n}\\nfieldset:disabled .Input, .Input.disabled {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n.Input .input-info .errors {\\n color: var(--colorError);\\n font-size: var(--font-size-small);\\n}\\n.Input .input-info .maxLengthIndicator {\\n text-align: right;\\n font-size: 80%;\\n padding: 2.6666666667px;\\n}\\n.Input.theme.round.invalid.dirty label {\\n border-color: var(--colorSoftError);\\n}\\n.Input.theme.round label {\\n border-radius: var(--border-radius);\\n border: 1px solid var(--halfGray);\\n color: inherit;\\n padding: 6px 6px;\\n}\\n.Input.theme.round label:focus-within {\\n border-color: var(--colorInfo);\\n}\\n.Input.theme.round label:after {\\n display: none;\\n}\\n.Input.theme.round.black label {\\n background: var(--inputControlBackground);\\n border-color: var(--inputControlBorder);\\n color: var(--textColorTertiary);\\n padding: 8px;\\n transition: border-color 0.1s;\\n}\\n.Input.theme.round.black label:hover {\\n border-color: var(--inputControlHoverBorder);\\n}\\n.Input.theme.round.black label:focus-within {\\n border-color: var(--colorInfo);\\n}\\n\\n.Tooltip.InputTooltipError {\\n --bgc: var(--colorError);\\n --border: none;\\n --color: white;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/input/input.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16740
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n.Input {\\n position: relative;\\n text-align: left;\\n}\\n.Input.invalid.dirty:not(.validating) label:after {\\n width: 100%;\\n background: var(--colorError);\\n}\\n.Input.focused:not(.validating) label:after {\\n width: 100%;\\n}\\n.Input.validatingLine label:after {\\n width: 100%;\\n background: repeating-linear-gradient(-45deg, transparent, transparent, 1rem, #ccc 1rem, #ccc 2rem);\\n background-size: 200% 200%;\\n animation: stripeLines 10s linear infinite;\\n}\\n@keyframes stripeLines {\\n 100% {\\n background-position: 100% 100%;\\n }\\n}\\n.Input label {\\n --flex-gap: $padding * 0.6667;\\n position: relative;\\n padding: 6px 0;\\n border-bottom: 1px solid var(--halfGray);\\n line-height: 1;\\n}\\n.Input label:after {\\n content: \\\"\\\";\\n position: absolute;\\n top: calc(100% - 1px);\\n left: 50%;\\n transform: translateX(-50%);\\n width: 0;\\n height: 2px;\\n background: var(--primary);\\n}\\n.Input input, .Input textarea {\\n background: none;\\n color: inherit;\\n font: inherit;\\n text-align: inherit;\\n text-transform: inherit;\\n}\\n.Input input:invalid, .Input textarea:invalid {\\n box-shadow: none;\\n}\\n.Input input::placeholder, .Input textarea::placeholder {\\n color: inherit;\\n opacity: 0.75;\\n}\\n.Input textarea {\\n overflow: auto;\\n line-height: 1.2;\\n resize: none;\\n}\\n.Input textarea::-webkit-scrollbar {\\n width: 0;\\n height: 0;\\n background: transparent;\\n}\\nfieldset:disabled .Input, .Input.disabled {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n.Input .input-info .errors {\\n color: var(--colorError);\\n font-size: var(--font-size-small);\\n}\\n.Input .input-info .maxLengthIndicator {\\n text-align: right;\\n font-size: 80%;\\n padding: 2.66664px;\\n}\\n.Input.theme.round.invalid.dirty label {\\n border-color: var(--colorSoftError);\\n}\\n.Input.theme.round label {\\n border-radius: var(--border-radius);\\n border: 1px solid var(--halfGray);\\n color: inherit;\\n padding: 6px 6px;\\n}\\n.Input.theme.round label:focus-within {\\n border-color: var(--colorInfo);\\n}\\n.Input.theme.round label:after {\\n display: none;\\n}\\n.Input.theme.round.black label {\\n background: var(--inputControlBackground);\\n border-color: var(--inputControlBorder);\\n color: var(--textColorTertiary);\\n padding: 8px;\\n transition: border-color 0.1s;\\n}\\n.Input.theme.round.black label:hover {\\n border-color: var(--inputControlHoverBorder);\\n}\\n.Input.theme.round.black label:focus-within {\\n border-color: var(--colorInfo);\\n}\\n\\n.Tooltip.InputTooltipError {\\n --bgc: var(--colorError);\\n --border: none;\\n --color: white;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/input/input.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16741
16741
 
16742
16742
  /***/ }),
16743
16743
 
@@ -16773,7 +16773,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
16773
16773
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16774
16774
 
16775
16775
  "use strict";
16776
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n.PageFiltersList {\\n position: relative;\\n top: 1px;\\n border-top: 1px solid var(--borderFaintColor);\\n background: var(--filterAreaBackground);\\n padding: 12px 16px;\\n font-size: var(--font-size-small);\\n}\\n.PageFiltersList:empty {\\n background: none;\\n padding: 0;\\n}\\n.PageFiltersList:not(:empty) {\\n border-bottom: 1px solid var(--borderFaintColor);\\n}\\n.PageFiltersList > .header {\\n --flex-gap: 8px;\\n margin-bottom: 4px;\\n text-transform: uppercase;\\n}\\n.PageFiltersList > .labels {\\n margin-left: -2.6666666667px;\\n margin-right: -2.6666666667px;\\n}\\n.PageFiltersList > .labels > .Badge {\\n --flex-gap: .25em;\\n display: inline-flex;\\n margin: 2.6666666667px;\\n padding: 2.6666666667px;\\n vertical-align: middle;\\n overflow: visible;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/item-object-list/page-filters-list.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16776
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n.PageFiltersList {\\n position: relative;\\n top: 1px;\\n border-top: 1px solid var(--borderFaintColor);\\n background: var(--filterAreaBackground);\\n padding: 12px 16px;\\n font-size: var(--font-size-small);\\n}\\n.PageFiltersList:empty {\\n background: none;\\n padding: 0;\\n}\\n.PageFiltersList:not(:empty) {\\n border-bottom: 1px solid var(--borderFaintColor);\\n}\\n.PageFiltersList > .header {\\n --flex-gap: 8px;\\n margin-bottom: 4px;\\n text-transform: uppercase;\\n}\\n.PageFiltersList > .labels {\\n margin-left: -2.66664px;\\n margin-right: -2.66664px;\\n}\\n.PageFiltersList > .labels > .Badge {\\n --flex-gap: .25em;\\n display: inline-flex;\\n margin: 2.66664px;\\n padding: 2.66664px;\\n vertical-align: middle;\\n overflow: visible;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/item-object-list/page-filters-list.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16777
16777
 
16778
16778
  /***/ }),
16779
16779
 
@@ -16929,7 +16929,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
16929
16929
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16930
16930
 
16931
16931
  "use strict";
16932
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n.RadioGroup.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.RadioGroup.buttonsView {\\n display: inline-flex;\\n}\\n.RadioGroup.buttonsView .Radio {\\n display: inline-block;\\n border: 1px solid var(--borderFaintColor);\\n border-radius: var(--border-radius);\\n text-align: center;\\n padding: 6px 8px;\\n white-space: nowrap;\\n transition: 250ms color;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled) {\\n cursor: pointer;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled):not(:active):focus {\\n position: relative;\\n border-color: var(--primary);\\n box-shadow: inset 0 0 0 1px var(--primary);\\n}\\n.RadioGroup.buttonsView .Radio.checked {\\n background-color: var(--radioActiveBackground);\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio.checked * {\\n cursor: default;\\n}\\n.RadioGroup.buttonsView .Radio:hover {\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio + .Radio {\\n margin-left: -1px;\\n}\\n.RadioGroup.buttonsView .Radio .tick {\\n display: none;\\n}\\n.RadioGroup.buttonsView .Radio .tick + * {\\n margin-left: 0;\\n}\\n\\n.Radio input[type=radio] {\\n display: none;\\n}\\n.Radio input[type=radio]:checked ~ .tick {\\n color: var(--colorInfo);\\n}\\n.Radio input[type=radio]:checked ~ .tick:after {\\n content: \\\"radio_button_checked\\\";\\n}\\n.Radio input[type=radio]:disabled ~ .tick {\\n color: currentColor;\\n}\\n.Radio input[type=radio]:disabled ~ * {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n.Radio input[type=radio]:not(:disabled) ~ * {\\n cursor: pointer;\\n}\\n.Radio:focus .tick {\\n color: var(--colorInfo);\\n}\\n.Radio.checked .label {\\n color: var(--textColorAccent);\\n}\\n.Radio .tick {\\n color: currentColor;\\n font: calc($font-size * 1.3) \\\"Material Icons\\\";\\n}\\n.Radio .tick:after {\\n content: \\\"radio_button_unchecked\\\";\\n}\\n.Radio .tick + * {\\n margin-left: 0.5em;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/radio/radio.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16932
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n.RadioGroup.disabled {\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.RadioGroup.buttonsView {\\n display: inline-flex;\\n}\\n.RadioGroup.buttonsView .Radio {\\n display: inline-block;\\n border: 1px solid var(--borderFaintColor);\\n border-radius: var(--border-radius);\\n text-align: center;\\n padding: 6px 8px;\\n white-space: nowrap;\\n transition: 250ms color;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled) {\\n cursor: pointer;\\n}\\n.RadioGroup.buttonsView .Radio:not(.checked):not(.disabled):not(:active):focus {\\n position: relative;\\n border-color: var(--primary);\\n box-shadow: inset 0 0 0 1px var(--primary);\\n}\\n.RadioGroup.buttonsView .Radio.checked {\\n background-color: var(--radioActiveBackground);\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio.checked * {\\n cursor: default;\\n}\\n.RadioGroup.buttonsView .Radio:hover {\\n color: var(--textColorAccent);\\n}\\n.RadioGroup.buttonsView .Radio + .Radio {\\n margin-left: -1px;\\n}\\n.RadioGroup.buttonsView .Radio .tick {\\n display: none;\\n}\\n.RadioGroup.buttonsView .Radio .tick + * {\\n margin-left: 0;\\n}\\n\\n.Radio input[type=radio] {\\n display: none;\\n}\\n.Radio input[type=radio]:checked ~ .tick {\\n color: var(--colorInfo);\\n}\\n.Radio input[type=radio]:checked ~ .tick:after {\\n content: \\\"radio_button_checked\\\";\\n}\\n.Radio input[type=radio]:disabled ~ .tick {\\n color: currentColor;\\n}\\n.Radio input[type=radio]:disabled ~ * {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n.Radio input[type=radio]:not(:disabled) ~ * {\\n cursor: pointer;\\n}\\n.Radio:focus .tick {\\n color: var(--colorInfo);\\n}\\n.Radio.checked .label {\\n color: var(--textColorAccent);\\n}\\n.Radio .tick {\\n color: currentColor;\\n font: calc(var(--font-size) * 1.3) \\\"Material Icons\\\";\\n}\\n.Radio .tick:after {\\n content: \\\"radio_button_unchecked\\\";\\n}\\n.Radio .tick + * {\\n margin-left: 0.5em;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/radio/radio.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16933
16933
 
16934
16934
  /***/ }),
16935
16935
 
@@ -16953,7 +16953,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
16953
16953
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16954
16954
 
16955
16955
  "use strict";
16956
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\nhtml {\\n --select-menu-bgc: var(--contentColor);\\n --select-menu-border-color: var(--halfGray);\\n --select-option-selected-color: var(--inputOptionHoverColor);\\n --select-option-focused-bgc: var(--colorInfo);\\n --select-option-focused-color: var(--textColorAccent);\\n}\\nhtml .Select {\\n position: relative;\\n min-width: 220px;\\n}\\nhtml .Select * {\\n color: inherit;\\n}\\nhtml .Select--is-disabled {\\n opacity: 0.75;\\n cursor: not-allowed;\\n pointer-events: none;\\n}\\nhtml .Select__control {\\n border: none;\\n border-radius: var(--border-radius);\\n background: var(--select-menu-bgc);\\n min-height: 0;\\n box-shadow: 0 0 0 1px var(--halfGray);\\n cursor: pointer;\\n line-height: 1;\\n}\\nhtml .Select__control--is-focused {\\n box-shadow: 0 0 0 1px var(--primary);\\n}\\nhtml .Select__value-container {\\n margin-bottom: 1px;\\n}\\nhtml .Select__single-value {\\n color: var(--textColorSecondary);\\n}\\nhtml .Select__indicator {\\n padding: 4px;\\n opacity: 0.55;\\n}\\nhtml .Select__indicator:hover {\\n color: inherit;\\n opacity: 1;\\n}\\nhtml .Select__indicator-separator {\\n display: none;\\n}\\nhtml .Select__dropdown-indicator {\\n color: inherit !important;\\n padding: 4px;\\n}\\nhtml .Select__menu {\\n background: var(--select-menu-bgc);\\n box-shadow: inset 0 0 0 1px var(--select-menu-border-color);\\n width: max-content;\\n min-width: 100%;\\n}\\nhtml .Select__menu-list {\\n padding: 6px;\\n width: max-content;\\n min-width: 100%;\\n}\\nhtml .Select__menu-notice {\\n padding: 2.6666666667px;\\n}\\nhtml .Select__option {\\n white-space: nowrap;\\n cursor: pointer;\\n}\\nhtml .Select__option:active {\\n background: var(--primary);\\n}\\nhtml .Select__option--is-selected {\\n background: var(--menuSelectedOptionBgc);\\n color: var(--select-option-selected-color);\\n}\\nhtml .Select__option--is-focused {\\n color: var(--select-option-focused-color);\\n background: var(--select-option-focused-bgc);\\n}\\nhtml .Select__option--is-disabled {\\n cursor: not-allowed;\\n background: none !important;\\n color: inherit;\\n opacity: 0.75;\\n}\\nhtml .Select__option .Icon {\\n transition: none;\\n}\\nhtml .Select__multi-value {\\n background: var(--layoutBackground);\\n}\\nhtml .Select__multi-value__remove {\\n background: inherit;\\n}\\nhtml .Select__multi-value__remove:hover {\\n background: var(--colorError);\\n color: var(--textColorAccent);\\n}\\nhtml .Select__menu {\\n z-index: 300;\\n}\\nhtml .Select.theme-light, html .Select__menu.theme-light {\\n --select-menu-bgc: white;\\n --select-option-selected-color: $textColorSecondary;\\n}\\nhtml .Select.theme-light .Select__multi-value, html .Select__menu.theme-light .Select__multi-value {\\n background: none;\\n box-shadow: 0 0 0 1px var(--textColorSecondary);\\n}\\nhtml .Select.theme-light .Select__option:active, html .Select__menu.theme-light .Select__option:active {\\n color: white;\\n}\\nhtml .Select.theme-light .Select__option:hover, html .Select__menu.theme-light .Select__option:hover {\\n color: white;\\n}\\nhtml .Select.theme-light .Select__option--is-focused, html .Select__menu.theme-light .Select__option--is-focused {\\n color: white;\\n}\\nhtml .Select.theme-light .Select__option--is-disabled:hover, html .Select__menu.theme-light .Select__option--is-disabled:hover {\\n color: inherit;\\n}\\nhtml .Select.theme-outlined .Select__control, html .Select__menu.theme-outlined .Select__control {\\n box-shadow: 0 0 0 1px var(--colorVague);\\n color: var(--primary);\\n}\\nhtml .Select.theme-outlined .Select__control .Select__value-container, html .Select__menu.theme-outlined .Select__control .Select__value-container {\\n padding: 0 4px;\\n}\\nhtml .Select.theme-outlined .Select__control .Select__dropdown-indicator, html .Select__menu.theme-outlined .Select__control .Select__dropdown-indicator {\\n padding: 3px;\\n}\\nhtml .Select.theme-lens :hover.Select__control, html .Select__menu.theme-lens :hover.Select__control {\\n box-shadow: 0 0 0 1px var(--inputControlHoverBorder);\\n transition: box-shadow 0.1s;\\n}\\nhtml .Select.theme-lens :focus-within.Select__control, html .Select__menu.theme-lens :focus-within.Select__control {\\n box-shadow: 0 0 0 1px var(--colorInfo);\\n}\\nhtml .Select.theme-lens.Select__menu, html .Select__menu.theme-lens.Select__menu {\\n box-shadow: inset 0 0 0 1px var(--inputControlBorder);\\n}\\nhtml .Select.theme-lens .Select__control, html .Select__menu.theme-lens .Select__control {\\n box-shadow: 0 0 0 1px var(--inputControlBorder);\\n background: var(--inputControlBackground);\\n border-radius: 5px;\\n}\\nhtml .Select.theme-lens .Select__single-value, html .Select__menu.theme-lens .Select__single-value {\\n color: var(--textColorTertiary);\\n}\\nhtml .Select.theme-lens .Select__menu-list, html .Select__menu.theme-lens .Select__menu-list {\\n padding: 6px;\\n}\\nhtml .Select.theme-lens .Select__option, html .Select__menu.theme-lens .Select__option {\\n border-radius: 4px;\\n}\\nhtml .Select.theme-lens .Select__option:active, html .Select__menu.theme-lens .Select__option:active {\\n background: var(--inputControlBackground);\\n}\\nhtml .Select.theme-lens .Select__option--is-selected, html .Select__menu.theme-lens .Select__option--is-selected {\\n background: var(--inputControlBackground);\\n color: var(--textColorAccent);\\n}\\nhtml .Select.theme-lens .Select__option--is-focused, html .Select__menu.theme-lens .Select__option--is-focused {\\n color: var(--textColorPrimary);\\n background: var(--inputControlBackground);\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/select/select.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16956
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\n/**\\n * Copyright (c) 2021 OpenLens Authors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\\n * this software and associated documentation files (the \\\"Software\\\"), to deal in\\n * the Software without restriction, including without limitation the rights to\\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\\n * the Software, and to permit persons to whom the Software is furnished to do so,\\n * subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\\n */\\nhtml {\\n --select-menu-bgc: var(--contentColor);\\n --select-menu-border-color: var(--halfGray);\\n --select-option-selected-color: var(--inputOptionHoverColor);\\n --select-option-focused-bgc: var(--colorInfo);\\n --select-option-focused-color: var(--textColorAccent);\\n}\\nhtml .Select {\\n position: relative;\\n min-width: 220px;\\n}\\nhtml .Select * {\\n color: inherit;\\n}\\nhtml .Select--is-disabled {\\n opacity: 0.75;\\n cursor: not-allowed;\\n pointer-events: none;\\n}\\nhtml .Select__control {\\n border: none;\\n border-radius: var(--border-radius);\\n background: var(--select-menu-bgc);\\n min-height: 0;\\n box-shadow: 0 0 0 1px var(--halfGray);\\n cursor: pointer;\\n line-height: 1;\\n}\\nhtml .Select__control--is-focused {\\n box-shadow: 0 0 0 1px var(--primary);\\n}\\nhtml .Select__value-container {\\n margin-bottom: 1px;\\n}\\nhtml .Select__single-value {\\n color: var(--textColorSecondary);\\n}\\nhtml .Select__indicator {\\n padding: 4px;\\n opacity: 0.55;\\n}\\nhtml .Select__indicator:hover {\\n color: inherit;\\n opacity: 1;\\n}\\nhtml .Select__indicator-separator {\\n display: none;\\n}\\nhtml .Select__dropdown-indicator {\\n color: inherit !important;\\n padding: 4px;\\n}\\nhtml .Select__menu {\\n background: var(--select-menu-bgc);\\n box-shadow: inset 0 0 0 1px var(--select-menu-border-color);\\n width: max-content;\\n min-width: 100%;\\n}\\nhtml .Select__menu-list {\\n padding: 6px;\\n width: max-content;\\n min-width: 100%;\\n}\\nhtml .Select__menu-notice {\\n padding: 2.6664px;\\n}\\nhtml .Select__option {\\n white-space: nowrap;\\n cursor: pointer;\\n}\\nhtml .Select__option:active {\\n background: var(--primary);\\n}\\nhtml .Select__option--is-selected {\\n background: var(--menuSelectedOptionBgc);\\n color: var(--select-option-selected-color);\\n}\\nhtml .Select__option--is-focused {\\n color: var(--select-option-focused-color);\\n background: var(--select-option-focused-bgc);\\n}\\nhtml .Select__option--is-disabled {\\n cursor: not-allowed;\\n background: none !important;\\n color: inherit;\\n opacity: 0.75;\\n}\\nhtml .Select__option .Icon {\\n transition: none;\\n}\\nhtml .Select__multi-value {\\n background: var(--layoutBackground);\\n}\\nhtml .Select__multi-value__remove {\\n background: inherit;\\n}\\nhtml .Select__multi-value__remove:hover {\\n background: var(--colorError);\\n color: var(--textColorAccent);\\n}\\nhtml .Select__menu {\\n z-index: 300;\\n}\\nhtml .Select.theme-light, html .Select__menu.theme-light {\\n --select-menu-bgc: white;\\n --select-option-selected-color: $textColorSecondary;\\n}\\nhtml .Select.theme-light .Select__multi-value, html .Select__menu.theme-light .Select__multi-value {\\n background: none;\\n box-shadow: 0 0 0 1px var(--textColorSecondary);\\n}\\nhtml .Select.theme-light .Select__option:active, html .Select__menu.theme-light .Select__option:active {\\n color: white;\\n}\\nhtml .Select.theme-light .Select__option:hover, html .Select__menu.theme-light .Select__option:hover {\\n color: white;\\n}\\nhtml .Select.theme-light .Select__option--is-focused, html .Select__menu.theme-light .Select__option--is-focused {\\n color: white;\\n}\\nhtml .Select.theme-light .Select__option--is-disabled:hover, html .Select__menu.theme-light .Select__option--is-disabled:hover {\\n color: inherit;\\n}\\nhtml .Select.theme-outlined .Select__control, html .Select__menu.theme-outlined .Select__control {\\n box-shadow: 0 0 0 1px var(--colorVague);\\n color: var(--primary);\\n}\\nhtml .Select.theme-outlined .Select__control .Select__value-container, html .Select__menu.theme-outlined .Select__control .Select__value-container {\\n padding: 0 4px;\\n}\\nhtml .Select.theme-outlined .Select__control .Select__dropdown-indicator, html .Select__menu.theme-outlined .Select__control .Select__dropdown-indicator {\\n padding: 3px;\\n}\\nhtml .Select.theme-lens :hover.Select__control, html .Select__menu.theme-lens :hover.Select__control {\\n box-shadow: 0 0 0 1px var(--inputControlHoverBorder);\\n transition: box-shadow 0.1s;\\n}\\nhtml .Select.theme-lens :focus-within.Select__control, html .Select__menu.theme-lens :focus-within.Select__control {\\n box-shadow: 0 0 0 1px var(--colorInfo);\\n}\\nhtml .Select.theme-lens.Select__menu, html .Select__menu.theme-lens.Select__menu {\\n box-shadow: inset 0 0 0 1px var(--inputControlBorder);\\n}\\nhtml .Select.theme-lens .Select__control, html .Select__menu.theme-lens .Select__control {\\n box-shadow: 0 0 0 1px var(--inputControlBorder);\\n background: var(--inputControlBackground);\\n border-radius: 5px;\\n}\\nhtml .Select.theme-lens .Select__single-value, html .Select__menu.theme-lens .Select__single-value {\\n color: var(--textColorTertiary);\\n}\\nhtml .Select.theme-lens .Select__menu-list, html .Select__menu.theme-lens .Select__menu-list {\\n padding: 6px;\\n}\\nhtml .Select.theme-lens .Select__option, html .Select__menu.theme-lens .Select__option {\\n border-radius: 4px;\\n}\\nhtml .Select.theme-lens .Select__option:active, html .Select__menu.theme-lens .Select__option:active {\\n background: var(--inputControlBackground);\\n}\\nhtml .Select.theme-lens .Select__option--is-selected, html .Select__menu.theme-lens .Select__option--is-selected {\\n background: var(--inputControlBackground);\\n color: var(--textColorAccent);\\n}\\nhtml .Select.theme-lens .Select__option--is-focused, html .Select__menu.theme-lens .Select__option--is-focused {\\n color: var(--textColorPrimary);\\n background: var(--inputControlBackground);\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/renderer/components/select/select.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ref--7-2");
16957
16957
 
16958
16958
  /***/ }),
16959
16959
 
@@ -17527,7 +17527,7 @@ eval("module.exports = ForeverAgent\nForeverAgent.SSL = ForeverAgentSSL\n\nvar u
17527
17527
  /***/ (function(module, exports, __webpack_require__) {
17528
17528
 
17529
17529
  "use strict";
17530
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdirsSync = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirsSync\nconst utimesMillisSync = __webpack_require__(/*! ../util/utimes */ \"./node_modules/fs-extra/lib/util/utimes.js\").utimesMillisSync\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return startCopy(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n if (destStat && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')\n return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/copy-sync/copy-sync.js?");
17530
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdirsSync = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirsSync\nconst utimesMillisSync = __webpack_require__(/*! ../util/utimes */ \"./node_modules/fs-extra/lib/util/utimes.js\").utimesMillisSync\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return startCopy(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n if (destStat && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')\n return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/copy-sync/copy-sync.js?");
17531
17531
 
17532
17532
  /***/ }),
17533
17533
 
@@ -17551,7 +17551,7 @@ eval("\n\nmodule.exports = {\n copySync: __webpack_require__(/*! ./copy-sync */
17551
17551
  /***/ (function(module, exports, __webpack_require__) {
17552
17552
 
17553
17553
  "use strict";
17554
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdirs = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirs\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\nconst utimesMillis = __webpack_require__(/*! ../util/utimes */ \"./node_modules/fs-extra/lib/util/utimes.js\").utimesMillis\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n stat.checkPaths(src, dest, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n return checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return startCopy(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return startCopy(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n Promise.resolve(opts.filter(src, dest)).then(include => {\n if (include) return onInclude(destStat, src, dest, opts, cb)\n return cb()\n }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n if (destStat && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n startCopy(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/copy/copy.js?");
17554
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdirs = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirs\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\nconst utimesMillis = __webpack_require__(/*! ../util/utimes */ \"./node_modules/fs-extra/lib/util/utimes.js\").utimesMillis\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n stat.checkPaths(src, dest, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n return checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return startCopy(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return startCopy(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n Promise.resolve(opts.filter(src, dest)).then(include => {\n if (include) return onInclude(destStat, src, dest, opts, cb)\n return cb()\n }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n if (destStat && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n startCopy(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/copy/copy.js?");
17555
17555
 
17556
17556
  /***/ }),
17557
17557
 
@@ -17575,7 +17575,7 @@ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/uni
17575
17575
  /***/ (function(module, exports, __webpack_require__) {
17576
17576
 
17577
17577
  "use strict";
17578
- eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst remove = __webpack_require__(/*! ../remove */ \"./node_modules/fs-extra/lib/remove/index.js\")\n\nconst emptyDir = u(function emptyDir (dir, callback) {\n callback = callback || function () {}\n fs.readdir(dir, (err, items) => {\n if (err) return mkdir.mkdirs(dir, callback)\n\n items = items.map(item => path.join(dir, item))\n\n deleteItem()\n\n function deleteItem () {\n const item = items.pop()\n if (!item) return callback()\n remove.remove(item, err => {\n if (err) return callback(err)\n deleteItem()\n })\n }\n })\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/empty/index.js?");
17578
+ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst remove = __webpack_require__(/*! ../remove */ \"./node_modules/fs-extra/lib/remove/index.js\")\n\nconst emptyDir = u(function emptyDir (dir, callback) {\n callback = callback || function () {}\n fs.readdir(dir, (err, items) => {\n if (err) return mkdir.mkdirs(dir, callback)\n\n items = items.map(item => path.join(dir, item))\n\n deleteItem()\n\n function deleteItem () {\n const item = items.pop()\n if (!item) return callback()\n remove.remove(item, err => {\n if (err) return callback(err)\n deleteItem()\n })\n }\n })\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/empty/index.js?");
17579
17579
 
17580
17580
  /***/ }),
17581
17581
 
@@ -17587,7 +17587,7 @@ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/uni
17587
17587
  /***/ (function(module, exports, __webpack_require__) {
17588
17588
 
17589
17589
  "use strict";
17590
- eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/file.js?");
17590
+ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/file.js?");
17591
17591
 
17592
17592
  /***/ }),
17593
17593
 
@@ -17611,7 +17611,7 @@ eval("\n\nconst file = __webpack_require__(/*! ./file */ \"./node_modules/fs-ext
17611
17611
  /***/ (function(module, exports, __webpack_require__) {
17612
17612
 
17613
17613
  "use strict";
17614
- eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n try {\n fs.lstatSync(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/link.js?");
17614
+ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n try {\n fs.lstatSync(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/link.js?");
17615
17615
 
17616
17616
  /***/ }),
17617
17617
 
@@ -17623,7 +17623,7 @@ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/uni
17623
17623
  /***/ (function(module, exports, __webpack_require__) {
17624
17624
 
17625
17625
  "use strict";
17626
- eval("\n\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/symlink-paths.js?");
17626
+ eval("\n\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/symlink-paths.js?");
17627
17627
 
17628
17628
  /***/ }),
17629
17629
 
@@ -17635,7 +17635,7 @@ eval("\n\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __w
17635
17635
  /***/ (function(module, exports, __webpack_require__) {
17636
17636
 
17637
17637
  "use strict";
17638
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/symlink-type.js?");
17638
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/symlink-type.js?");
17639
17639
 
17640
17640
  /***/ }),
17641
17641
 
@@ -17647,7 +17647,7 @@ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-
17647
17647
  /***/ (function(module, exports, __webpack_require__) {
17648
17648
 
17649
17649
  "use strict";
17650
- eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst _mkdirs = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = __webpack_require__(/*! ./symlink-paths */ \"./node_modules/fs-extra/lib/ensure/symlink-paths.js\")\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = __webpack_require__(/*! ./symlink-type */ \"./node_modules/fs-extra/lib/ensure/symlink-type.js\")\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/symlink.js?");
17650
+ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst _mkdirs = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = __webpack_require__(/*! ./symlink-paths */ \"./node_modules/fs-extra/lib/ensure/symlink-paths.js\")\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = __webpack_require__(/*! ./symlink-type */ \"./node_modules/fs-extra/lib/ensure/symlink-type.js\")\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/ensure/symlink.js?");
17651
17651
 
17652
17652
  /***/ }),
17653
17653
 
@@ -17659,7 +17659,7 @@ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/uni
17659
17659
  /***/ (function(module, exports, __webpack_require__) {
17660
17660
 
17661
17661
  "use strict";
17662
- eval("\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rm',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.opendir was added in Node.js v12.12.0\n // fs.rm was added in Node.js v14.14.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export all keys:\nObject.keys(fs).forEach(key => {\n if (key === 'promises') {\n // fs.promises is a getter property that triggers ExperimentalWarning\n // Don't re-export it here, the getter is defined in \"lib/index.js\"\n return\n }\n exports[key] = fs[key]\n})\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// fs.writev only available in Node v12.9.0+\nif (typeof fs.writev === 'function') {\n // Function signature is\n // s.writev(fd, buffers[, position], callback)\n // We need to handle the optional arg, so we use ...args\n exports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n }\n}\n\n// fs.realpath.native only available in Node v9.2+\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/fs/index.js?");
17662
+ eval("\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rm',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.opendir was added in Node.js v12.12.0\n // fs.rm was added in Node.js v14.14.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export all keys:\nObject.keys(fs).forEach(key => {\n if (key === 'promises') {\n // fs.promises is a getter property that triggers ExperimentalWarning\n // Don't re-export it here, the getter is defined in \"lib/index.js\"\n return\n }\n exports[key] = fs[key]\n})\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// fs.writev only available in Node v12.9.0+\nif (typeof fs.writev === 'function') {\n // Function signature is\n // s.writev(fd, buffers[, position], callback)\n // We need to handle the optional arg, so we use ...args\n exports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n }\n}\n\n// fs.realpath.native only available in Node v9.2+\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/fs/index.js?");
17663
17663
 
17664
17664
  /***/ }),
17665
17665
 
@@ -17767,7 +17767,7 @@ eval("\n\nmodule.exports = {\n moveSync: __webpack_require__(/*! ./move-sync */
17767
17767
  /***/ (function(module, exports, __webpack_require__) {
17768
17768
 
17769
17769
  "use strict";
17770
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst copySync = __webpack_require__(/*! ../copy-sync */ \"./node_modules/fs-extra/lib/copy-sync/index.js\").copySync\nconst removeSync = __webpack_require__(/*! ../remove */ \"./node_modules/fs-extra/lib/remove/index.js\").removeSync\nconst mkdirpSync = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirpSync\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat } = stat.checkPathsSync(src, dest, 'move')\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite)\n}\n\nfunction doRename (src, dest, overwrite) {\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/move-sync/move-sync.js?");
17770
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst copySync = __webpack_require__(/*! ../copy-sync */ \"./node_modules/fs-extra/lib/copy-sync/index.js\").copySync\nconst removeSync = __webpack_require__(/*! ../remove */ \"./node_modules/fs-extra/lib/remove/index.js\").removeSync\nconst mkdirpSync = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirpSync\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat } = stat.checkPathsSync(src, dest, 'move')\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite)\n}\n\nfunction doRename (src, dest, overwrite) {\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/move-sync/move-sync.js?");
17771
17771
 
17772
17772
  /***/ }),
17773
17773
 
@@ -17791,7 +17791,7 @@ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/uni
17791
17791
  /***/ (function(module, exports, __webpack_require__) {
17792
17792
 
17793
17793
  "use strict";
17794
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst copy = __webpack_require__(/*! ../copy */ \"./node_modules/fs-extra/lib/copy/index.js\").copy\nconst remove = __webpack_require__(/*! ../remove */ \"./node_modules/fs-extra/lib/remove/index.js\").remove\nconst mkdirp = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirp\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', (err, stats) => {\n if (err) return cb(err)\n const { srcStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, cb)\n })\n })\n })\n}\n\nfunction doRename (src, dest, overwrite, cb) {\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/move/move.js?");
17794
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst copy = __webpack_require__(/*! ../copy */ \"./node_modules/fs-extra/lib/copy/index.js\").copy\nconst remove = __webpack_require__(/*! ../remove */ \"./node_modules/fs-extra/lib/remove/index.js\").remove\nconst mkdirp = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\").mkdirp\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/fs-extra/lib/util/stat.js\")\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', (err, stats) => {\n if (err) return cb(err)\n const { srcStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, cb)\n })\n })\n })\n}\n\nfunction doRename (src, dest, overwrite, cb) {\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/move/move.js?");
17795
17795
 
17796
17796
  /***/ }),
17797
17797
 
@@ -17803,7 +17803,7 @@ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-
17803
17803
  /***/ (function(module, exports, __webpack_require__) {
17804
17804
 
17805
17805
  "use strict";
17806
- eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/output/index.js?");
17806
+ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/fs-extra/lib/mkdirs/index.js\")\nconst pathExists = __webpack_require__(/*! ../path-exists */ \"./node_modules/fs-extra/lib/path-exists/index.js\").pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/output/index.js?");
17807
17807
 
17808
17808
  /***/ }),
17809
17809
 
@@ -17839,7 +17839,7 @@ eval("\n\nconst u = __webpack_require__(/*! universalify */ \"./node_modules/uni
17839
17839
  /***/ (function(module, exports, __webpack_require__) {
17840
17840
 
17841
17841
  "use strict";
17842
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst assert = __webpack_require__(/*! assert */ \"assert\")\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n const methods = [\n 'unlink',\n 'chmod',\n 'stat',\n 'lstat',\n 'rmdir',\n 'readdir'\n ]\n methods.forEach(m => {\n options[m] = options[m] || fs[m]\n m = m + 'Sync'\n options[m] = options[m] || fs[m]\n })\n\n options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n let busyTries = 0\n\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n assert(options, 'rimraf: invalid options argument provided')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n defaults(options)\n\n rimraf_(p, options, function CB (er) {\n if (er) {\n if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n busyTries < options.maxBusyTries) {\n busyTries++\n const time = busyTries * 100\n // try again, with the same exact callback as this one.\n return setTimeout(() => rimraf_(p, options, CB), time)\n }\n\n // already gone\n if (er.code === 'ENOENT') er = null\n }\n\n cb(er)\n })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong. However, there\n// are likely far more normal files in the world than directories. This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow. But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // sunos lets the root user unlink directories, which is... weird.\n // so we have to lstat here and make sure it's not a dir.\n options.lstat(p, (er, st) => {\n if (er && er.code === 'ENOENT') {\n return cb(null)\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er && er.code === 'EPERM' && isWindows) {\n return fixWinEPERM(p, options, er, cb)\n }\n\n if (st && st.isDirectory()) {\n return rmdir(p, options, er, cb)\n }\n\n options.unlink(p, er => {\n if (er) {\n if (er.code === 'ENOENT') {\n return cb(null)\n }\n if (er.code === 'EPERM') {\n return (isWindows)\n ? fixWinEPERM(p, options, er, cb)\n : rmdir(p, options, er, cb)\n }\n if (er.code === 'EISDIR') {\n return rmdir(p, options, er, cb)\n }\n }\n return cb(er)\n })\n })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.chmod(p, 0o666, er2 => {\n if (er2) {\n cb(er2.code === 'ENOENT' ? null : er)\n } else {\n options.stat(p, (er3, stats) => {\n if (er3) {\n cb(er3.code === 'ENOENT' ? null : er)\n } else if (stats.isDirectory()) {\n rmdir(p, options, er, cb)\n } else {\n options.unlink(p, cb)\n }\n })\n }\n })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n let stats\n\n assert(p)\n assert(options)\n\n try {\n options.chmodSync(p, 0o666)\n } catch (er2) {\n if (er2.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n try {\n stats = options.statSync(p)\n } catch (er3) {\n if (er3.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n if (stats.isDirectory()) {\n rmdirSync(p, options, er)\n } else {\n options.unlinkSync(p)\n }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n // if we guessed wrong, and it's not a directory, then\n // raise the original error.\n options.rmdir(p, er => {\n if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n rmkids(p, options, cb)\n } else if (er && er.code === 'ENOTDIR') {\n cb(originalEr)\n } else {\n cb(er)\n }\n })\n}\n\nfunction rmkids (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.readdir(p, (er, files) => {\n if (er) return cb(er)\n\n let n = files.length\n let errState\n\n if (n === 0) return options.rmdir(p, cb)\n\n files.forEach(f => {\n rimraf(path.join(p, f), options, er => {\n if (errState) {\n return\n }\n if (er) return cb(errState = er)\n if (--n === 0) {\n options.rmdir(p, cb)\n }\n })\n })\n })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n let st\n\n options = options || {}\n defaults(options)\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert(options, 'rimraf: missing options')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n try {\n st = options.lstatSync(p)\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er.code === 'EPERM' && isWindows) {\n fixWinEPERMSync(p, options, er)\n }\n }\n\n try {\n // sunos lets the root user unlink directories, which is... weird.\n if (st && st.isDirectory()) {\n rmdirSync(p, options, null)\n } else {\n options.unlinkSync(p)\n }\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n } else if (er.code === 'EPERM') {\n return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n } else if (er.code !== 'EISDIR') {\n throw er\n }\n rmdirSync(p, options, er)\n }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n assert(p)\n assert(options)\n\n try {\n options.rmdirSync(p)\n } catch (er) {\n if (er.code === 'ENOTDIR') {\n throw originalEr\n } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n rmkidsSync(p, options)\n } else if (er.code !== 'ENOENT') {\n throw er\n }\n }\n}\n\nfunction rmkidsSync (p, options) {\n assert(p)\n assert(options)\n options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n if (isWindows) {\n // We only end up here once we got ENOTEMPTY at least once, and\n // at this point, we are guaranteed to have removed all the kids.\n // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n // try really hard to delete stuff on windows, because it has a\n // PROFOUNDLY annoying habit of not closing handles promptly when\n // files are deleted, resulting in spurious ENOTEMPTY errors.\n const startTime = Date.now()\n do {\n try {\n const ret = options.rmdirSync(p, options)\n return ret\n } catch {}\n } while (Date.now() - startTime < 500) // give up after 500ms\n } else {\n const ret = options.rmdirSync(p, options)\n return ret\n }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/remove/rimraf.js?");
17842
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst assert = __webpack_require__(/*! assert */ \"assert\")\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n const methods = [\n 'unlink',\n 'chmod',\n 'stat',\n 'lstat',\n 'rmdir',\n 'readdir'\n ]\n methods.forEach(m => {\n options[m] = options[m] || fs[m]\n m = m + 'Sync'\n options[m] = options[m] || fs[m]\n })\n\n options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n let busyTries = 0\n\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n assert(options, 'rimraf: invalid options argument provided')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n defaults(options)\n\n rimraf_(p, options, function CB (er) {\n if (er) {\n if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n busyTries < options.maxBusyTries) {\n busyTries++\n const time = busyTries * 100\n // try again, with the same exact callback as this one.\n return setTimeout(() => rimraf_(p, options, CB), time)\n }\n\n // already gone\n if (er.code === 'ENOENT') er = null\n }\n\n cb(er)\n })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong. However, there\n// are likely far more normal files in the world than directories. This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow. But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // sunos lets the root user unlink directories, which is... weird.\n // so we have to lstat here and make sure it's not a dir.\n options.lstat(p, (er, st) => {\n if (er && er.code === 'ENOENT') {\n return cb(null)\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er && er.code === 'EPERM' && isWindows) {\n return fixWinEPERM(p, options, er, cb)\n }\n\n if (st && st.isDirectory()) {\n return rmdir(p, options, er, cb)\n }\n\n options.unlink(p, er => {\n if (er) {\n if (er.code === 'ENOENT') {\n return cb(null)\n }\n if (er.code === 'EPERM') {\n return (isWindows)\n ? fixWinEPERM(p, options, er, cb)\n : rmdir(p, options, er, cb)\n }\n if (er.code === 'EISDIR') {\n return rmdir(p, options, er, cb)\n }\n }\n return cb(er)\n })\n })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.chmod(p, 0o666, er2 => {\n if (er2) {\n cb(er2.code === 'ENOENT' ? null : er)\n } else {\n options.stat(p, (er3, stats) => {\n if (er3) {\n cb(er3.code === 'ENOENT' ? null : er)\n } else if (stats.isDirectory()) {\n rmdir(p, options, er, cb)\n } else {\n options.unlink(p, cb)\n }\n })\n }\n })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n let stats\n\n assert(p)\n assert(options)\n\n try {\n options.chmodSync(p, 0o666)\n } catch (er2) {\n if (er2.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n try {\n stats = options.statSync(p)\n } catch (er3) {\n if (er3.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n if (stats.isDirectory()) {\n rmdirSync(p, options, er)\n } else {\n options.unlinkSync(p)\n }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n // if we guessed wrong, and it's not a directory, then\n // raise the original error.\n options.rmdir(p, er => {\n if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n rmkids(p, options, cb)\n } else if (er && er.code === 'ENOTDIR') {\n cb(originalEr)\n } else {\n cb(er)\n }\n })\n}\n\nfunction rmkids (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.readdir(p, (er, files) => {\n if (er) return cb(er)\n\n let n = files.length\n let errState\n\n if (n === 0) return options.rmdir(p, cb)\n\n files.forEach(f => {\n rimraf(path.join(p, f), options, er => {\n if (errState) {\n return\n }\n if (er) return cb(errState = er)\n if (--n === 0) {\n options.rmdir(p, cb)\n }\n })\n })\n })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n let st\n\n options = options || {}\n defaults(options)\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert(options, 'rimraf: missing options')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n try {\n st = options.lstatSync(p)\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er.code === 'EPERM' && isWindows) {\n fixWinEPERMSync(p, options, er)\n }\n }\n\n try {\n // sunos lets the root user unlink directories, which is... weird.\n if (st && st.isDirectory()) {\n rmdirSync(p, options, null)\n } else {\n options.unlinkSync(p)\n }\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n } else if (er.code === 'EPERM') {\n return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n } else if (er.code !== 'EISDIR') {\n throw er\n }\n rmdirSync(p, options, er)\n }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n assert(p)\n assert(options)\n\n try {\n options.rmdirSync(p)\n } catch (er) {\n if (er.code === 'ENOTDIR') {\n throw originalEr\n } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n rmkidsSync(p, options)\n } else if (er.code !== 'ENOENT') {\n throw er\n }\n }\n}\n\nfunction rmkidsSync (p, options) {\n assert(p)\n assert(options)\n options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n if (isWindows) {\n // We only end up here once we got ENOTEMPTY at least once, and\n // at this point, we are guaranteed to have removed all the kids.\n // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n // try really hard to delete stuff on windows, because it has a\n // PROFOUNDLY annoying habit of not closing handles promptly when\n // files are deleted, resulting in spurious ENOTEMPTY errors.\n const startTime = Date.now()\n do {\n try {\n const ret = options.rmdirSync(p, options)\n return ret\n } catch {}\n } while (Date.now() - startTime < 500) // give up after 500ms\n } else {\n const ret = options.rmdirSync(p, options)\n return ret\n }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/remove/rimraf.js?");
17843
17843
 
17844
17844
  /***/ }),
17845
17845
 
@@ -17863,52 +17863,7 @@ eval("\n\nconst fs = __webpack_require__(/*! ../fs */ \"./node_modules/fs-extra/
17863
17863
  /***/ (function(module, exports, __webpack_require__) {
17864
17864
 
17865
17865
  "use strict";
17866
- eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/util/utimes.js?");
17867
-
17868
- /***/ }),
17869
-
17870
- /***/ "./node_modules/fs-extra/node_modules/graceful-fs/clone.js":
17871
- /*!*****************************************************************!*\
17872
- !*** ./node_modules/fs-extra/node_modules/graceful-fs/clone.js ***!
17873
- \*****************************************************************/
17874
- /*! no static exports found */
17875
- /***/ (function(module, exports, __webpack_require__) {
17876
-
17877
- "use strict";
17878
- eval("\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/node_modules/graceful-fs/clone.js?");
17879
-
17880
- /***/ }),
17881
-
17882
- /***/ "./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js":
17883
- /*!***********************************************************************!*\
17884
- !*** ./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js ***!
17885
- \***********************************************************************/
17886
- /*! no static exports found */
17887
- /***/ (function(module, exports, __webpack_require__) {
17888
-
17889
- eval("var fs = __webpack_require__(/*! fs */ \"fs\")\nvar polyfills = __webpack_require__(/*! ./polyfills.js */ \"./node_modules/fs-extra/node_modules/graceful-fs/polyfills.js\")\nvar legacy = __webpack_require__(/*! ./legacy-streams.js */ \"./node_modules/fs-extra/node_modules/graceful-fs/legacy-streams.js\")\nvar clone = __webpack_require__(/*! ./clone.js */ \"./node_modules/fs-extra/node_modules/graceful-fs/clone.js\")\n\nvar util = __webpack_require__(/*! util */ \"util\")\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n __webpack_require__(/*! assert */ \"assert\").equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readdir(path, options, cb)\n\n function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n })\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js?");
17890
-
17891
- /***/ }),
17892
-
17893
- /***/ "./node_modules/fs-extra/node_modules/graceful-fs/legacy-streams.js":
17894
- /*!**************************************************************************!*\
17895
- !*** ./node_modules/fs-extra/node_modules/graceful-fs/legacy-streams.js ***!
17896
- \**************************************************************************/
17897
- /*! no static exports found */
17898
- /***/ (function(module, exports, __webpack_require__) {
17899
-
17900
- eval("var Stream = __webpack_require__(/*! stream */ \"stream\").Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/node_modules/graceful-fs/legacy-streams.js?");
17901
-
17902
- /***/ }),
17903
-
17904
- /***/ "./node_modules/fs-extra/node_modules/graceful-fs/polyfills.js":
17905
- /*!*********************************************************************!*\
17906
- !*** ./node_modules/fs-extra/node_modules/graceful-fs/polyfills.js ***!
17907
- \*********************************************************************/
17908
- /*! no static exports found */
17909
- /***/ (function(module, exports, __webpack_require__) {
17910
-
17911
- eval("var constants = __webpack_require__(/*! constants */ \"constants\")\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/node_modules/graceful-fs/polyfills.js?");
17866
+ eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/lib/util/utimes.js?");
17912
17867
 
17913
17868
  /***/ }),
17914
17869
 
@@ -17919,7 +17874,7 @@ eval("var constants = __webpack_require__(/*! constants */ \"constants\")\n\nvar
17919
17874
  /*! no static exports found */
17920
17875
  /***/ (function(module, exports, __webpack_require__) {
17921
17876
 
17922
- eval("let _fs\ntry {\n _fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js\")\n} catch (_) {\n _fs = __webpack_require__(/*! fs */ \"fs\")\n}\nconst universalify = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\")\nconst { stringify, stripBom } = __webpack_require__(/*! ./utils */ \"./node_modules/fs-extra/node_modules/jsonfile/utils.js\")\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/node_modules/jsonfile/index.js?");
17877
+ eval("let _fs\ntry {\n _fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n} catch (_) {\n _fs = __webpack_require__(/*! fs */ \"fs\")\n}\nconst universalify = __webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\")\nconst { stringify, stripBom } = __webpack_require__(/*! ./utils */ \"./node_modules/fs-extra/node_modules/jsonfile/utils.js\")\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n\n\n//# sourceURL=webpack:///./node_modules/fs-extra/node_modules/jsonfile/index.js?");
17923
17878
 
17924
17879
  /***/ }),
17925
17880
 
@@ -18032,7 +17987,7 @@ eval("\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf |
18032
17987
  /*! no static exports found */
18033
17988
  /***/ (function(module, exports, __webpack_require__) {
18034
17989
 
18035
- eval("var fs = __webpack_require__(/*! fs */ \"fs\")\nvar polyfills = __webpack_require__(/*! ./polyfills.js */ \"./node_modules/graceful-fs/polyfills.js\")\nvar legacy = __webpack_require__(/*! ./legacy-streams.js */ \"./node_modules/graceful-fs/legacy-streams.js\")\nvar clone = __webpack_require__(/*! ./clone.js */ \"./node_modules/graceful-fs/clone.js\")\n\nvar util = __webpack_require__(/*! util */ \"util\")\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n retry()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n retry()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n __webpack_require__(/*! assert */ \"assert\").equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([fs$copyFile, [src, dest, flags, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n var args = [path]\n if (typeof options !== 'function') {\n args.push(options)\n } else {\n cb = options\n }\n args.push(go$readdir$cb)\n\n return go$readdir(args)\n\n function go$readdir$cb (err, files) {\n if (files && files.sort)\n files.sort()\n\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [args]])\n\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n }\n }\n\n function go$readdir (args) {\n return fs$readdir.apply(fs, args)\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n}\n\nfunction retry () {\n var elem = fs[gracefulQueue].shift()\n if (elem) {\n debug('RETRY', elem[0].name, elem[1])\n elem[0].apply(null, elem[1])\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/graceful-fs/graceful-fs.js?");
17990
+ eval("var fs = __webpack_require__(/*! fs */ \"fs\")\nvar polyfills = __webpack_require__(/*! ./polyfills.js */ \"./node_modules/graceful-fs/polyfills.js\")\nvar legacy = __webpack_require__(/*! ./legacy-streams.js */ \"./node_modules/graceful-fs/legacy-streams.js\")\nvar clone = __webpack_require__(/*! ./clone.js */ \"./node_modules/graceful-fs/clone.js\")\n\nvar util = __webpack_require__(/*! util */ \"util\")\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n __webpack_require__(/*! assert */ \"assert\").equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readdir(path, options, cb)\n\n function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n })\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/graceful-fs/graceful-fs.js?");
18036
17991
 
18037
17992
  /***/ }),
18038
17993
 
@@ -19934,52 +19889,7 @@ eval("exports = module.exports = stringify\nexports.getSerialize = serializer\n\
19934
19889
  /*! no static exports found */
19935
19890
  /***/ (function(module, exports, __webpack_require__) {
19936
19891
 
19937
- eval("var _fs\ntry {\n _fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/jsonfile/node_modules/graceful-fs/graceful-fs.js\")\n} catch (_) {\n _fs = __webpack_require__(/*! fs */ \"fs\")\n}\n\nfunction readFile (file, options, callback) {\n if (callback == null) {\n callback = options\n options = {}\n }\n\n if (typeof options === 'string') {\n options = {encoding: options}\n }\n\n options = options || {}\n var fs = options.fs || _fs\n\n var shouldThrow = true\n if ('throws' in options) {\n shouldThrow = options.throws\n }\n\n fs.readFile(file, options, function (err, data) {\n if (err) return callback(err)\n\n data = stripBom(data)\n\n var obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err2) {\n if (shouldThrow) {\n err2.message = file + ': ' + err2.message\n return callback(err2)\n } else {\n return callback(null, null)\n }\n }\n\n callback(null, obj)\n })\n}\n\nfunction readFileSync (file, options) {\n options = options || {}\n if (typeof options === 'string') {\n options = {encoding: options}\n }\n\n var fs = options.fs || _fs\n\n var shouldThrow = true\n if ('throws' in options) {\n shouldThrow = options.throws\n }\n\n try {\n var content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = file + ': ' + err.message\n throw err\n } else {\n return null\n }\n }\n}\n\nfunction stringify (obj, options) {\n var spaces\n var EOL = '\\n'\n if (typeof options === 'object' && options !== null) {\n if (options.spaces) {\n spaces = options.spaces\n }\n if (options.EOL) {\n EOL = options.EOL\n }\n }\n\n var str = JSON.stringify(obj, options ? options.replacer : null, spaces)\n\n return str.replace(/\\n/g, EOL) + EOL\n}\n\nfunction writeFile (file, obj, options, callback) {\n if (callback == null) {\n callback = options\n options = {}\n }\n options = options || {}\n var fs = options.fs || _fs\n\n var str = ''\n try {\n str = stringify(obj, options)\n } catch (err) {\n // Need to return whether a callback was passed or not\n if (callback) callback(err, null)\n return\n }\n\n fs.writeFile(file, str, options, callback)\n}\n\nfunction writeFileSync (file, obj, options) {\n options = options || {}\n var fs = options.fs || _fs\n\n var str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n content = content.replace(/^\\uFEFF/, '')\n return content\n}\n\nvar jsonfile = {\n readFile: readFile,\n readFileSync: readFileSync,\n writeFile: writeFile,\n writeFileSync: writeFileSync\n}\n\nmodule.exports = jsonfile\n\n\n//# sourceURL=webpack:///./node_modules/jsonfile/index.js?");
19938
-
19939
- /***/ }),
19940
-
19941
- /***/ "./node_modules/jsonfile/node_modules/graceful-fs/clone.js":
19942
- /*!*****************************************************************!*\
19943
- !*** ./node_modules/jsonfile/node_modules/graceful-fs/clone.js ***!
19944
- \*****************************************************************/
19945
- /*! no static exports found */
19946
- /***/ (function(module, exports, __webpack_require__) {
19947
-
19948
- "use strict";
19949
- eval("\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n\n\n//# sourceURL=webpack:///./node_modules/jsonfile/node_modules/graceful-fs/clone.js?");
19950
-
19951
- /***/ }),
19952
-
19953
- /***/ "./node_modules/jsonfile/node_modules/graceful-fs/graceful-fs.js":
19954
- /*!***********************************************************************!*\
19955
- !*** ./node_modules/jsonfile/node_modules/graceful-fs/graceful-fs.js ***!
19956
- \***********************************************************************/
19957
- /*! no static exports found */
19958
- /***/ (function(module, exports, __webpack_require__) {
19959
-
19960
- eval("var fs = __webpack_require__(/*! fs */ \"fs\")\nvar polyfills = __webpack_require__(/*! ./polyfills.js */ \"./node_modules/jsonfile/node_modules/graceful-fs/polyfills.js\")\nvar legacy = __webpack_require__(/*! ./legacy-streams.js */ \"./node_modules/jsonfile/node_modules/graceful-fs/legacy-streams.js\")\nvar clone = __webpack_require__(/*! ./clone.js */ \"./node_modules/jsonfile/node_modules/graceful-fs/clone.js\")\n\nvar util = __webpack_require__(/*! util */ \"util\")\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n __webpack_require__(/*! assert */ \"assert\").equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readdir(path, options, cb)\n\n function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n })\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/jsonfile/node_modules/graceful-fs/graceful-fs.js?");
19961
-
19962
- /***/ }),
19963
-
19964
- /***/ "./node_modules/jsonfile/node_modules/graceful-fs/legacy-streams.js":
19965
- /*!**************************************************************************!*\
19966
- !*** ./node_modules/jsonfile/node_modules/graceful-fs/legacy-streams.js ***!
19967
- \**************************************************************************/
19968
- /*! no static exports found */
19969
- /***/ (function(module, exports, __webpack_require__) {
19970
-
19971
- eval("var Stream = __webpack_require__(/*! stream */ \"stream\").Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/jsonfile/node_modules/graceful-fs/legacy-streams.js?");
19972
-
19973
- /***/ }),
19974
-
19975
- /***/ "./node_modules/jsonfile/node_modules/graceful-fs/polyfills.js":
19976
- /*!*********************************************************************!*\
19977
- !*** ./node_modules/jsonfile/node_modules/graceful-fs/polyfills.js ***!
19978
- \*********************************************************************/
19979
- /*! no static exports found */
19980
- /***/ (function(module, exports, __webpack_require__) {
19981
-
19982
- eval("var constants = __webpack_require__(/*! constants */ \"constants\")\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/jsonfile/node_modules/graceful-fs/polyfills.js?");
19892
+ eval("var _fs\ntry {\n _fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n} catch (_) {\n _fs = __webpack_require__(/*! fs */ \"fs\")\n}\n\nfunction readFile (file, options, callback) {\n if (callback == null) {\n callback = options\n options = {}\n }\n\n if (typeof options === 'string') {\n options = {encoding: options}\n }\n\n options = options || {}\n var fs = options.fs || _fs\n\n var shouldThrow = true\n if ('throws' in options) {\n shouldThrow = options.throws\n }\n\n fs.readFile(file, options, function (err, data) {\n if (err) return callback(err)\n\n data = stripBom(data)\n\n var obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err2) {\n if (shouldThrow) {\n err2.message = file + ': ' + err2.message\n return callback(err2)\n } else {\n return callback(null, null)\n }\n }\n\n callback(null, obj)\n })\n}\n\nfunction readFileSync (file, options) {\n options = options || {}\n if (typeof options === 'string') {\n options = {encoding: options}\n }\n\n var fs = options.fs || _fs\n\n var shouldThrow = true\n if ('throws' in options) {\n shouldThrow = options.throws\n }\n\n try {\n var content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = file + ': ' + err.message\n throw err\n } else {\n return null\n }\n }\n}\n\nfunction stringify (obj, options) {\n var spaces\n var EOL = '\\n'\n if (typeof options === 'object' && options !== null) {\n if (options.spaces) {\n spaces = options.spaces\n }\n if (options.EOL) {\n EOL = options.EOL\n }\n }\n\n var str = JSON.stringify(obj, options ? options.replacer : null, spaces)\n\n return str.replace(/\\n/g, EOL) + EOL\n}\n\nfunction writeFile (file, obj, options, callback) {\n if (callback == null) {\n callback = options\n options = {}\n }\n options = options || {}\n var fs = options.fs || _fs\n\n var str = ''\n try {\n str = stringify(obj, options)\n } catch (err) {\n // Need to return whether a callback was passed or not\n if (callback) callback(err, null)\n return\n }\n\n fs.writeFile(file, str, options, callback)\n}\n\nfunction writeFileSync (file, obj, options) {\n options = options || {}\n var fs = options.fs || _fs\n\n var str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n content = content.replace(/^\\uFEFF/, '')\n return content\n}\n\nvar jsonfile = {\n readFile: readFile,\n readFileSync: readFileSync,\n writeFile: writeFile,\n writeFileSync: writeFileSync\n}\n\nmodule.exports = jsonfile\n\n\n//# sourceURL=webpack:///./node_modules/jsonfile/index.js?");
19983
19893
 
19984
19894
  /***/ }),
19985
19895
 
@@ -22869,7 +22779,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
22869
22779
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22870
22780
 
22871
22781
  "use strict";
22872
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MobXProviderContext\", function() { return MobXProviderContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return PropTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Provider\", function() { return Provider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disposeOnUnmount\", function() { return disposeOnUnmount; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inject\", function() { return inject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"observer\", function() { return observer; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx-react-lite */ \"./node_modules/mobx-react-lite/es/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Observer\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"Observer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"enableStaticRendering\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"enableStaticRendering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isUsingStaticRendering\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"observerBatching\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"observerBatching\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useAsObservableSource\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useAsObservableSource\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useLocalObservable\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useLocalObservable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useLocalStore\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useLocalStore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useObserver\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useObserver\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useStaticRendering\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useStaticRendering\"]; });\n\n\n\n\n\n\nvar symbolId = 0;\n\nfunction createSymbol(name) {\n if (typeof Symbol === \"function\") {\n return Symbol(name);\n }\n\n var symbol = \"__$mobx-react \" + name + \" (\" + symbolId + \")\";\n symbolId++;\n return symbol;\n}\n\nvar createdSymbols = {};\nfunction newSymbol(name) {\n if (!createdSymbols[name]) {\n createdSymbols[name] = createSymbol(name);\n }\n\n return createdSymbols[name];\n}\nfunction shallowEqual(objA, objB) {\n //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (is(objA, objB)) return true;\n\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n} // based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\n\n\nvar hoistBlackList = {\n $$typeof: 1,\n render: 1,\n compare: 1,\n type: 1,\n childContextTypes: 1,\n contextType: 1,\n contextTypes: 1,\n defaultProps: 1,\n getDefaultProps: 1,\n getDerivedStateFromError: 1,\n getDerivedStateFromProps: 1,\n mixins: 1,\n propTypes: 1\n};\nfunction copyStaticProperties(base, target) {\n var protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base));\n Object.getOwnPropertyNames(base).forEach(function (key) {\n if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key));\n }\n });\n}\n/**\r\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\r\n * @param target\r\n * @param prop\r\n * @param value\r\n */\n\nfunction setHiddenProp(target, prop, value) {\n if (!Object.hasOwnProperty.call(target, prop)) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n target[prop] = value;\n }\n}\n/**\r\n * Utilities for patching componentWillUnmount, to make sure @disposeOnUnmount works correctly icm with user defined hooks\r\n * and the handler provided by mobx-react\r\n */\n\nvar mobxMixins = /*#__PURE__*/newSymbol(\"patchMixins\");\nvar mobxPatchedDefinition = /*#__PURE__*/newSymbol(\"patchedDefinition\");\n\nfunction getMixins(target, methodName) {\n var mixins = target[mobxMixins] = target[mobxMixins] || {};\n var methodMixins = mixins[methodName] = mixins[methodName] || {};\n methodMixins.locks = methodMixins.locks || 0;\n methodMixins.methods = methodMixins.methods || [];\n return methodMixins;\n}\n\nfunction wrapper(realMethod, mixins) {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n mixins.locks++;\n\n try {\n var retVal;\n\n if (realMethod !== undefined && realMethod !== null) {\n retVal = realMethod.apply(this, args);\n }\n\n return retVal;\n } finally {\n mixins.locks--;\n\n if (mixins.locks === 0) {\n mixins.methods.forEach(function (mx) {\n mx.apply(_this, args);\n });\n }\n }\n}\n\nfunction wrapFunction(realMethod, mixins) {\n var fn = function fn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));\n };\n\n return fn;\n}\n\nfunction patch(target, methodName, mixinMethod) {\n var mixins = getMixins(target, methodName);\n\n if (mixins.methods.indexOf(mixinMethod) < 0) {\n mixins.methods.push(mixinMethod);\n }\n\n var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);\n\n if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n // already patched definition, do not repatch\n return;\n }\n\n var originalMethod = target[methodName];\n var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);\n Object.defineProperty(target, methodName, newDefinition);\n}\n\nfunction createDefinition(target, methodName, enumerable, mixins, originalMethod) {\n var _ref;\n\n var wrappedFunc = wrapFunction(originalMethod, mixins);\n return _ref = {}, _ref[mobxPatchedDefinition] = true, _ref.get = function get() {\n return wrappedFunc;\n }, _ref.set = function set(value) {\n if (this === target) {\n wrappedFunc = wrapFunction(value, mixins);\n } else {\n // when it is an instance of the prototype/a child prototype patch that particular case again separately\n // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n // as the method for the instance\n var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);\n Object.defineProperty(this, methodName, newDefinition);\n }\n }, _ref.configurable = true, _ref.enumerable = enumerable, _ref;\n}\n\nvar mobxAdminProperty = mobx__WEBPACK_IMPORTED_MODULE_0__[\"$mobx\"] || \"$mobx\";\nvar mobxObserverProperty = /*#__PURE__*/newSymbol(\"isMobXReactObserver\");\nvar mobxIsUnmounted = /*#__PURE__*/newSymbol(\"isUnmounted\");\nvar skipRenderKey = /*#__PURE__*/newSymbol(\"skipRender\");\nvar isForcingUpdateKey = /*#__PURE__*/newSymbol(\"isForcingUpdate\");\nfunction makeClassComponentObserver(componentClass) {\n var target = componentClass.prototype;\n\n if (componentClass[mobxObserverProperty]) {\n var displayName = getDisplayName(target);\n console.warn(\"The provided component class (\" + displayName + \") \\n has already been declared as an observer component.\");\n } else {\n componentClass[mobxObserverProperty] = true;\n }\n\n if (target.componentWillReact) throw new Error(\"The componentWillReact life-cycle event is no longer supported\");\n\n if (componentClass[\"__proto__\"] !== react__WEBPACK_IMPORTED_MODULE_1__[\"PureComponent\"]) {\n if (!target.shouldComponentUpdate) target.shouldComponentUpdate = observerSCU;else if (target.shouldComponentUpdate !== observerSCU) // n.b. unequal check, instead of existence check, as @observer might be on superclass as well\n throw new Error(\"It is not allowed to use shouldComponentUpdate in observer based components.\");\n } // this.props and this.state are made observable, just to make sure @computed fields that\n // are defined inside the component, and which rely on state or props, re-compute if state or props change\n // (otherwise the computed wouldn't update and become stale on props change, since props are not observable)\n // However, this solution is not without it's own problems: https://github.com/mobxjs/mobx-react/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aobservable-props-or-not+\n\n\n makeObservableProp(target, \"props\");\n makeObservableProp(target, \"state\");\n var baseRender = target.render;\n\n target.render = function () {\n return makeComponentReactive.call(this, baseRender);\n };\n\n patch(target, \"componentWillUnmount\", function () {\n var _this$render$mobxAdmi;\n\n if (Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"])() === true) return;\n (_this$render$mobxAdmi = this.render[mobxAdminProperty]) == null ? void 0 : _this$render$mobxAdmi.dispose();\n this[mobxIsUnmounted] = true;\n\n if (!this.render[mobxAdminProperty]) {\n // Render may have been hot-swapped and/or overriden by a subclass.\n var _displayName = getDisplayName(this);\n\n console.warn(\"The reactive render of an observer class component (\" + _displayName + \") \\n was overriden after MobX attached. This may result in a memory leak if the \\n overriden reactive render was not properly disposed.\");\n }\n });\n return componentClass;\n} // Generates a friendly name for debugging\n\nfunction getDisplayName(comp) {\n return comp.displayName || comp.name || comp.constructor && (comp.constructor.displayName || comp.constructor.name) || \"<component>\";\n}\n\nfunction makeComponentReactive(render) {\n var _this = this;\n\n if (Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"])() === true) return render.call(this);\n /**\r\n * If props are shallowly modified, react will render anyway,\r\n * so atom.reportChanged() should not result in yet another re-render\r\n */\n\n setHiddenProp(this, skipRenderKey, false);\n /**\r\n * forceUpdate will re-assign this.props. We don't want that to cause a loop,\r\n * so detect these changes\r\n */\n\n setHiddenProp(this, isForcingUpdateKey, false);\n var initialName = getDisplayName(this);\n var baseRender = render.bind(this);\n var isRenderingPending = false;\n var reaction = new mobx__WEBPACK_IMPORTED_MODULE_0__[\"Reaction\"](initialName + \".render()\", function () {\n if (!isRenderingPending) {\n // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n // See #85 / Pull #44\n isRenderingPending = true;\n\n if (_this[mobxIsUnmounted] !== true) {\n var hasError = true;\n\n try {\n setHiddenProp(_this, isForcingUpdateKey, true);\n if (!_this[skipRenderKey]) react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"].prototype.forceUpdate.call(_this);\n hasError = false;\n } finally {\n setHiddenProp(_this, isForcingUpdateKey, false);\n if (hasError) reaction.dispose();\n }\n }\n }\n });\n reaction[\"reactComponent\"] = this;\n reactiveRender[mobxAdminProperty] = reaction;\n this.render = reactiveRender;\n\n function reactiveRender() {\n isRenderingPending = false;\n var exception = undefined;\n var rendering = undefined;\n reaction.track(function () {\n try {\n rendering = Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateChanges\"])(false, baseRender);\n } catch (e) {\n exception = e;\n }\n });\n\n if (exception) {\n throw exception;\n }\n\n return rendering;\n }\n\n return reactiveRender.call(this);\n}\n\nfunction observerSCU(nextProps, nextState) {\n if (Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"])()) {\n console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\");\n } // update on any state changes (as is the default)\n\n\n if (this.state !== nextState) {\n return true;\n } // update if props are shallowly not equal, inspired by PureRenderMixin\n // we could return just 'false' here, and avoid the `skipRender` checks etc\n // however, it is nicer if lifecycle events are triggered like usually,\n // so we return true here if props are shallowly modified.\n\n\n return !shallowEqual(this.props, nextProps);\n}\n\nfunction makeObservableProp(target, propName) {\n var valueHolderKey = newSymbol(\"reactProp_\" + propName + \"_valueHolder\");\n var atomHolderKey = newSymbol(\"reactProp_\" + propName + \"_atomHolder\");\n\n function getAtom() {\n if (!this[atomHolderKey]) {\n setHiddenProp(this, atomHolderKey, Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"createAtom\"])(\"reactive \" + propName));\n }\n\n return this[atomHolderKey];\n }\n\n Object.defineProperty(target, propName, {\n configurable: true,\n enumerable: true,\n get: function get() {\n var prevReadState = false;\n\n if (mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsStart\"] && mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsEnd\"]) {\n prevReadState = Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsStart\"])(true);\n }\n\n getAtom.call(this).reportObserved();\n\n if (mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsStart\"] && mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsEnd\"]) {\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsEnd\"])(prevReadState);\n }\n\n return this[valueHolderKey];\n },\n set: function set(v) {\n if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n setHiddenProp(this, valueHolderKey, v);\n setHiddenProp(this, skipRenderKey, true);\n getAtom.call(this).reportChanged();\n setHiddenProp(this, skipRenderKey, false);\n } else {\n setHiddenProp(this, valueHolderKey, v);\n }\n }\n });\n}\n\nvar hasSymbol = typeof Symbol === \"function\" && Symbol[\"for\"]; // Using react-is had some issues (and operates on elements, not on types), see #608 / #609\n\nvar ReactForwardRefSymbol = hasSymbol ? /*#__PURE__*/Symbol[\"for\"](\"react.forward_ref\") : typeof react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"] === \"function\" && /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"])(function (props) {\n return null;\n})[\"$$typeof\"];\nvar ReactMemoSymbol = hasSymbol ? /*#__PURE__*/Symbol[\"for\"](\"react.memo\") : typeof react__WEBPACK_IMPORTED_MODULE_1__[\"memo\"] === \"function\" && /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__[\"memo\"])(function (props) {\n return null;\n})[\"$$typeof\"];\n/**\r\n * Observer function / decorator\r\n */\n\nfunction observer(component) {\n if (component[\"isMobxInjector\"] === true) {\n console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\");\n }\n\n if (ReactMemoSymbol && component[\"$$typeof\"] === ReactMemoSymbol) {\n throw new Error(\"Mobx observer: You are trying to use 'observer' on a function component wrapped in either another observer or 'React.memo'. The observer already applies 'React.memo' for you.\");\n } // Unwrap forward refs into `<Observer>` component\n // we need to unwrap the render, because it is the inner render that needs to be tracked,\n // not the ForwardRef HoC\n\n\n if (ReactForwardRefSymbol && component[\"$$typeof\"] === ReactForwardRefSymbol) {\n var baseRender = component[\"render\"];\n if (typeof baseRender !== \"function\") throw new Error(\"render property of ForwardRef was not a function\");\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"])(function ObserverForwardRef() {\n var args = arguments;\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"Observer\"], null, function () {\n return baseRender.apply(undefined, args);\n });\n });\n } // Function component\n\n\n if (typeof component === \"function\" && (!component.prototype || !component.prototype.render) && !component[\"isReactClass\"] && !Object.prototype.isPrototypeOf.call(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"], component)) {\n return Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"observer\"])(component);\n }\n\n return makeClassComponentObserver(component);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar MobXProviderContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createContext({});\nfunction Provider(props) {\n var children = props.children,\n stores = _objectWithoutPropertiesLoose(props, [\"children\"]);\n\n var parentValue = react__WEBPACK_IMPORTED_MODULE_1___default.a.useContext(MobXProviderContext);\n var mutableProviderRef = react__WEBPACK_IMPORTED_MODULE_1___default.a.useRef(_extends({}, parentValue, stores));\n var value = mutableProviderRef.current;\n\n if (true) {\n var newValue = _extends({}, value, stores); // spread in previous state for the context based stores\n\n\n if (!shallowEqual(value, newValue)) {\n throw new Error(\"MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.\");\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(MobXProviderContext.Provider, {\n value: value\n }, children);\n}\nProvider.displayName = \"MobXProvider\";\n\n/**\r\n * Store Injection\r\n */\n\nfunction createStoreInjector(grabStoresFn, component, injectNames, makeReactive) {\n // Support forward refs\n var Injector = react__WEBPACK_IMPORTED_MODULE_1___default.a.forwardRef(function (props, ref) {\n var newProps = _extends({}, props);\n\n var context = react__WEBPACK_IMPORTED_MODULE_1___default.a.useContext(MobXProviderContext);\n Object.assign(newProps, grabStoresFn(context || {}, newProps) || {});\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(component, newProps);\n });\n if (makeReactive) Injector = observer(Injector);\n Injector[\"isMobxInjector\"] = true; // assigned late to suppress observer warning\n // Static fields from component should be visible on the generated Injector\n\n copyStaticProperties(component, Injector);\n Injector[\"wrappedComponent\"] = component;\n Injector.displayName = getInjectName(component, injectNames);\n return Injector;\n}\n\nfunction getInjectName(component, injectNames) {\n var displayName;\n var componentName = component.displayName || component.name || component.constructor && component.constructor.name || \"Component\";\n if (injectNames) displayName = \"inject-with-\" + injectNames + \"(\" + componentName + \")\";else displayName = \"inject(\" + componentName + \")\";\n return displayName;\n}\n\nfunction grabStoresByName(storeNames) {\n return function (baseStores, nextProps) {\n storeNames.forEach(function (storeName) {\n if (storeName in nextProps // prefer props over stores\n ) return;\n if (!(storeName in baseStores)) throw new Error(\"MobX injector: Store '\" + storeName + \"' is not available! Make sure it is provided by some Provider\");\n nextProps[storeName] = baseStores[storeName];\n });\n return nextProps;\n };\n}\n/**\r\n * higher order component that injects stores to a child.\r\n * takes either a varargs list of strings, which are stores read from the context,\r\n * or a function that manually maps the available stores from the context to props:\r\n * storesToProps(mobxStores, props, context) => newProps\r\n */\n\n\nfunction inject() {\n for (var _len = arguments.length, storeNames = new Array(_len), _key = 0; _key < _len; _key++) {\n storeNames[_key] = arguments[_key];\n }\n\n if (typeof arguments[0] === \"function\") {\n var grabStoresFn = arguments[0];\n return function (componentClass) {\n return createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true);\n };\n } else {\n return function (componentClass) {\n return createStoreInjector(grabStoresByName(storeNames), componentClass, storeNames.join(\"-\"), false);\n };\n }\n}\n\nvar protoStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountProto\");\nvar instStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountInst\");\n\nfunction runDisposersOnWillUnmount() {\n var _this = this;\n [].concat(this[protoStoreKey] || [], this[instStoreKey] || []).forEach(function (propKeyOrFunction) {\n var prop = typeof propKeyOrFunction === \"string\" ? _this[propKeyOrFunction] : propKeyOrFunction;\n\n if (prop !== undefined && prop !== null) {\n if (Array.isArray(prop)) prop.map(function (f) {\n return f();\n });else prop();\n }\n });\n}\n\nfunction disposeOnUnmount(target, propertyKeyOrFunction) {\n if (Array.isArray(propertyKeyOrFunction)) {\n return propertyKeyOrFunction.map(function (fn) {\n return disposeOnUnmount(target, fn);\n });\n }\n\n var c = Object.getPrototypeOf(target).constructor;\n var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader\n\n var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));\n\n if (!(c === react__WEBPACK_IMPORTED_MODULE_1___default.a.Component || c === react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent || c2 === react__WEBPACK_IMPORTED_MODULE_1___default.a.Component || c2 === react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent || c3 === react__WEBPACK_IMPORTED_MODULE_1___default.a.Component || c3 === react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent)) {\n throw new Error(\"[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.\");\n }\n\n if (typeof propertyKeyOrFunction !== \"string\" && typeof propertyKeyOrFunction !== \"function\" && !Array.isArray(propertyKeyOrFunction)) {\n throw new Error(\"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\");\n } // decorator's target is the prototype, so it doesn't have any instance properties like props\n\n\n var isDecorator = typeof propertyKeyOrFunction === \"string\"; // add property key / function we want run (disposed) to the store\n\n var componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey];\n var store = isDecorator ? // decorators are added to the prototype store\n target[protoStoreKey] || (target[protoStoreKey] = []) : // functions are added to the instance store\n target[instStoreKey] || (target[instStoreKey] = []);\n store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already\n\n if (!componentWasAlreadyModified) {\n patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount);\n } // return the disposer as is if invoked as a non decorator\n\n\n if (typeof propertyKeyOrFunction !== \"string\") {\n return propertyKeyOrFunction;\n }\n}\n\nfunction createChainableTypeChecker(validator) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n rest[_key - 6] = arguments[_key];\n }\n\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"untracked\"])(function () {\n componentName = componentName || \"<<anonymous>>\";\n propFullName = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n var actual = props[propName] === null ? \"null\" : \"undefined\";\n return new Error(\"The \" + location + \" `\" + propFullName + \"` is marked as required \" + \"in `\" + componentName + \"`, but its value is `\" + actual + \"`.\");\n }\n\n return null;\n } else {\n // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise\n return validator.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));\n }\n });\n }\n\n var chainedCheckType = checkType.bind(null, false); // Add isRequired to satisfy Requirable\n\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n} // Copied from React.PropTypes\n\n\nfunction isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === \"symbol\") {\n return true;\n } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n return true;\n } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n} // Copied from React.PropTypes\n\n\nfunction getPropType(propValue) {\n var propType = typeof propValue;\n\n if (Array.isArray(propValue)) {\n return \"array\";\n }\n\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\";\n }\n\n if (isSymbol(propType, propValue)) {\n return \"symbol\";\n }\n\n return propType;\n} // This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\n\n\nfunction getPreciseType(propValue) {\n var propType = getPropType(propValue);\n\n if (propType === \"object\") {\n if (propValue instanceof Date) {\n return \"date\";\n } else if (propValue instanceof RegExp) {\n return \"regexp\";\n }\n }\n\n return propType;\n}\n\nfunction createObservableTypeCheckerCreator(allowNativeType, mobxType) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"untracked\"])(function () {\n if (allowNativeType) {\n if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;\n }\n\n var mobxChecker;\n\n switch (mobxType) {\n case \"Array\":\n mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_0__[\"isObservableArray\"];\n break;\n\n case \"Object\":\n mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_0__[\"isObservableObject\"];\n break;\n\n case \"Map\":\n mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_0__[\"isObservableMap\"];\n break;\n\n default:\n throw new Error(\"Unexpected mobxType: \" + mobxType);\n }\n\n var propValue = props[propName];\n\n if (!mobxChecker(propValue)) {\n var preciseType = getPreciseType(propValue);\n var nativeTypeExpectationMessage = allowNativeType ? \" or javascript `\" + mobxType.toLowerCase() + \"`\" : \"\";\n return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + preciseType + \"` supplied to\" + \" `\" + componentName + \"`, expected `mobx.Observable\" + mobxType + \"`\" + nativeTypeExpectationMessage + \".\");\n }\n\n return null;\n });\n });\n}\n\nfunction createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {\n rest[_key2 - 5] = arguments[_key2];\n }\n\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"untracked\"])(function () {\n if (typeof typeChecker !== \"function\") {\n return new Error(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has \" + \"invalid PropType notation.\");\n } else {\n var error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(props, propName, componentName, location, propFullName);\n if (error instanceof Error) return error;\n var propValue = props[propName];\n\n for (var i = 0; i < propValue.length; i++) {\n error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + \"[\" + i + \"]\"].concat(rest));\n if (error instanceof Error) return error;\n }\n\n return null;\n }\n });\n });\n}\n\nvar observableArray = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Array\");\nvar observableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, false);\nvar observableMap = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Map\");\nvar observableObject = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Object\");\nvar arrayOrObservableArray = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Array\");\nvar arrayOrObservableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, true);\nvar objectOrObservableObject = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Object\");\nvar PropTypes = {\n observableArray: observableArray,\n observableArrayOf: observableArrayOf,\n observableMap: observableMap,\n observableObject: observableObject,\n arrayOrObservableArray: arrayOrObservableArray,\n arrayOrObservableArrayOf: arrayOrObservableArrayOf,\n objectOrObservableObject: objectOrObservableObject\n};\n\nif (!react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]) throw new Error(\"mobx-react requires React to be available\");\nif (!mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"]) throw new Error(\"mobx-react requires mobx to be available\");\n\n\n//# sourceMappingURL=mobxreact.esm.js.map\n\n\n//# sourceURL=webpack:///./node_modules/mobx-react/dist/mobxreact.esm.js?");
22782
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MobXProviderContext\", function() { return MobXProviderContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return PropTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Provider\", function() { return Provider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disposeOnUnmount\", function() { return disposeOnUnmount; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inject\", function() { return inject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"observer\", function() { return observer; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx-react-lite */ \"./node_modules/mobx-react-lite/es/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Observer\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"Observer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"enableStaticRendering\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"enableStaticRendering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isUsingStaticRendering\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"observerBatching\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"observerBatching\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useAsObservableSource\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useAsObservableSource\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useLocalObservable\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useLocalObservable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useLocalStore\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useLocalStore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useObserver\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useObserver\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useStaticRendering\", function() { return mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"useStaticRendering\"]; });\n\n\n\n\n\n\nvar symbolId = 0;\n\nfunction createSymbol(name) {\n if (typeof Symbol === \"function\") {\n return Symbol(name);\n }\n\n var symbol = \"__$mobx-react \" + name + \" (\" + symbolId + \")\";\n symbolId++;\n return symbol;\n}\n\nvar createdSymbols = {};\nfunction newSymbol(name) {\n if (!createdSymbols[name]) {\n createdSymbols[name] = createSymbol(name);\n }\n\n return createdSymbols[name];\n}\nfunction shallowEqual(objA, objB) {\n //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (is(objA, objB)) return true;\n\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n} // based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\n\n\nvar hoistBlackList = {\n $$typeof: 1,\n render: 1,\n compare: 1,\n type: 1,\n childContextTypes: 1,\n contextType: 1,\n contextTypes: 1,\n defaultProps: 1,\n getDefaultProps: 1,\n getDerivedStateFromError: 1,\n getDerivedStateFromProps: 1,\n mixins: 1,\n displayName: 1,\n propTypes: 1\n};\nfunction copyStaticProperties(base, target) {\n var protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base));\n Object.getOwnPropertyNames(base).forEach(function (key) {\n if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key));\n }\n });\n}\n/**\r\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\r\n * @param target\r\n * @param prop\r\n * @param value\r\n */\n\nfunction setHiddenProp(target, prop, value) {\n if (!Object.hasOwnProperty.call(target, prop)) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n target[prop] = value;\n }\n}\n/**\r\n * Utilities for patching componentWillUnmount, to make sure @disposeOnUnmount works correctly icm with user defined hooks\r\n * and the handler provided by mobx-react\r\n */\n\nvar mobxMixins = /*#__PURE__*/newSymbol(\"patchMixins\");\nvar mobxPatchedDefinition = /*#__PURE__*/newSymbol(\"patchedDefinition\");\n\nfunction getMixins(target, methodName) {\n var mixins = target[mobxMixins] = target[mobxMixins] || {};\n var methodMixins = mixins[methodName] = mixins[methodName] || {};\n methodMixins.locks = methodMixins.locks || 0;\n methodMixins.methods = methodMixins.methods || [];\n return methodMixins;\n}\n\nfunction wrapper(realMethod, mixins) {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n mixins.locks++;\n\n try {\n var retVal;\n\n if (realMethod !== undefined && realMethod !== null) {\n retVal = realMethod.apply(this, args);\n }\n\n return retVal;\n } finally {\n mixins.locks--;\n\n if (mixins.locks === 0) {\n mixins.methods.forEach(function (mx) {\n mx.apply(_this, args);\n });\n }\n }\n}\n\nfunction wrapFunction(realMethod, mixins) {\n var fn = function fn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));\n };\n\n return fn;\n}\n\nfunction patch(target, methodName, mixinMethod) {\n var mixins = getMixins(target, methodName);\n\n if (mixins.methods.indexOf(mixinMethod) < 0) {\n mixins.methods.push(mixinMethod);\n }\n\n var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);\n\n if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n // already patched definition, do not repatch\n return;\n }\n\n var originalMethod = target[methodName];\n var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);\n Object.defineProperty(target, methodName, newDefinition);\n}\n\nfunction createDefinition(target, methodName, enumerable, mixins, originalMethod) {\n var _ref;\n\n var wrappedFunc = wrapFunction(originalMethod, mixins);\n return _ref = {}, _ref[mobxPatchedDefinition] = true, _ref.get = function get() {\n return wrappedFunc;\n }, _ref.set = function set(value) {\n if (this === target) {\n wrappedFunc = wrapFunction(value, mixins);\n } else {\n // when it is an instance of the prototype/a child prototype patch that particular case again separately\n // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n // as the method for the instance\n var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);\n Object.defineProperty(this, methodName, newDefinition);\n }\n }, _ref.configurable = true, _ref.enumerable = enumerable, _ref;\n}\n\nvar mobxAdminProperty = mobx__WEBPACK_IMPORTED_MODULE_0__[\"$mobx\"] || \"$mobx\";\nvar mobxObserverProperty = /*#__PURE__*/newSymbol(\"isMobXReactObserver\");\nvar mobxIsUnmounted = /*#__PURE__*/newSymbol(\"isUnmounted\");\nvar skipRenderKey = /*#__PURE__*/newSymbol(\"skipRender\");\nvar isForcingUpdateKey = /*#__PURE__*/newSymbol(\"isForcingUpdate\");\nfunction makeClassComponentObserver(componentClass) {\n var target = componentClass.prototype;\n\n if (componentClass[mobxObserverProperty]) {\n var displayName = getDisplayName(target);\n console.warn(\"The provided component class (\" + displayName + \") \\n has already been declared as an observer component.\");\n } else {\n componentClass[mobxObserverProperty] = true;\n }\n\n if (target.componentWillReact) throw new Error(\"The componentWillReact life-cycle event is no longer supported\");\n\n if (componentClass[\"__proto__\"] !== react__WEBPACK_IMPORTED_MODULE_1__[\"PureComponent\"]) {\n if (!target.shouldComponentUpdate) target.shouldComponentUpdate = observerSCU;else if (target.shouldComponentUpdate !== observerSCU) // n.b. unequal check, instead of existence check, as @observer might be on superclass as well\n throw new Error(\"It is not allowed to use shouldComponentUpdate in observer based components.\");\n } // this.props and this.state are made observable, just to make sure @computed fields that\n // are defined inside the component, and which rely on state or props, re-compute if state or props change\n // (otherwise the computed wouldn't update and become stale on props change, since props are not observable)\n // However, this solution is not without it's own problems: https://github.com/mobxjs/mobx-react/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aobservable-props-or-not+\n\n\n makeObservableProp(target, \"props\");\n makeObservableProp(target, \"state\");\n var baseRender = target.render;\n\n target.render = function () {\n return makeComponentReactive.call(this, baseRender);\n };\n\n patch(target, \"componentWillUnmount\", function () {\n var _this$render$mobxAdmi;\n\n if (Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"])() === true) return;\n (_this$render$mobxAdmi = this.render[mobxAdminProperty]) == null ? void 0 : _this$render$mobxAdmi.dispose();\n this[mobxIsUnmounted] = true;\n\n if (!this.render[mobxAdminProperty]) {\n // Render may have been hot-swapped and/or overriden by a subclass.\n var _displayName = getDisplayName(this);\n\n console.warn(\"The reactive render of an observer class component (\" + _displayName + \") \\n was overriden after MobX attached. This may result in a memory leak if the \\n overriden reactive render was not properly disposed.\");\n }\n });\n return componentClass;\n} // Generates a friendly name for debugging\n\nfunction getDisplayName(comp) {\n return comp.displayName || comp.name || comp.constructor && (comp.constructor.displayName || comp.constructor.name) || \"<component>\";\n}\n\nfunction makeComponentReactive(render) {\n var _this = this;\n\n if (Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"])() === true) return render.call(this);\n /**\r\n * If props are shallowly modified, react will render anyway,\r\n * so atom.reportChanged() should not result in yet another re-render\r\n */\n\n setHiddenProp(this, skipRenderKey, false);\n /**\r\n * forceUpdate will re-assign this.props. We don't want that to cause a loop,\r\n * so detect these changes\r\n */\n\n setHiddenProp(this, isForcingUpdateKey, false);\n var initialName = getDisplayName(this);\n var baseRender = render.bind(this);\n var isRenderingPending = false;\n var reaction = new mobx__WEBPACK_IMPORTED_MODULE_0__[\"Reaction\"](initialName + \".render()\", function () {\n if (!isRenderingPending) {\n // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n // See #85 / Pull #44\n isRenderingPending = true;\n\n if (_this[mobxIsUnmounted] !== true) {\n var hasError = true;\n\n try {\n setHiddenProp(_this, isForcingUpdateKey, true);\n if (!_this[skipRenderKey]) react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"].prototype.forceUpdate.call(_this);\n hasError = false;\n } finally {\n setHiddenProp(_this, isForcingUpdateKey, false);\n if (hasError) reaction.dispose();\n }\n }\n }\n });\n reaction[\"reactComponent\"] = this;\n reactiveRender[mobxAdminProperty] = reaction;\n this.render = reactiveRender;\n\n function reactiveRender() {\n isRenderingPending = false;\n var exception = undefined;\n var rendering = undefined;\n reaction.track(function () {\n try {\n rendering = Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateChanges\"])(false, baseRender);\n } catch (e) {\n exception = e;\n }\n });\n\n if (exception) {\n throw exception;\n }\n\n return rendering;\n }\n\n return reactiveRender.call(this);\n}\n\nfunction observerSCU(nextProps, nextState) {\n if (Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"isUsingStaticRendering\"])()) {\n console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\");\n } // update on any state changes (as is the default)\n\n\n if (this.state !== nextState) {\n return true;\n } // update if props are shallowly not equal, inspired by PureRenderMixin\n // we could return just 'false' here, and avoid the `skipRender` checks etc\n // however, it is nicer if lifecycle events are triggered like usually,\n // so we return true here if props are shallowly modified.\n\n\n return !shallowEqual(this.props, nextProps);\n}\n\nfunction makeObservableProp(target, propName) {\n var valueHolderKey = newSymbol(\"reactProp_\" + propName + \"_valueHolder\");\n var atomHolderKey = newSymbol(\"reactProp_\" + propName + \"_atomHolder\");\n\n function getAtom() {\n if (!this[atomHolderKey]) {\n setHiddenProp(this, atomHolderKey, Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"createAtom\"])(\"reactive \" + propName));\n }\n\n return this[atomHolderKey];\n }\n\n Object.defineProperty(target, propName, {\n configurable: true,\n enumerable: true,\n get: function get() {\n var prevReadState = false;\n\n if (mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsStart\"] && mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsEnd\"]) {\n prevReadState = Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsStart\"])(true);\n }\n\n getAtom.call(this).reportObserved();\n\n if (mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsStart\"] && mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsEnd\"]) {\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"_allowStateReadsEnd\"])(prevReadState);\n }\n\n return this[valueHolderKey];\n },\n set: function set(v) {\n if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n setHiddenProp(this, valueHolderKey, v);\n setHiddenProp(this, skipRenderKey, true);\n getAtom.call(this).reportChanged();\n setHiddenProp(this, skipRenderKey, false);\n } else {\n setHiddenProp(this, valueHolderKey, v);\n }\n }\n });\n}\n\nvar hasSymbol = typeof Symbol === \"function\" && Symbol[\"for\"]; // Using react-is had some issues (and operates on elements, not on types), see #608 / #609\n\nvar ReactForwardRefSymbol = hasSymbol ? /*#__PURE__*/Symbol[\"for\"](\"react.forward_ref\") : typeof react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"] === \"function\" && /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"])(function (props) {\n return null;\n})[\"$$typeof\"];\nvar ReactMemoSymbol = hasSymbol ? /*#__PURE__*/Symbol[\"for\"](\"react.memo\") : typeof react__WEBPACK_IMPORTED_MODULE_1__[\"memo\"] === \"function\" && /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_1__[\"memo\"])(function (props) {\n return null;\n})[\"$$typeof\"];\n/**\r\n * Observer function / decorator\r\n */\n\nfunction observer(component) {\n if (component[\"isMobxInjector\"] === true) {\n console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\");\n }\n\n if (ReactMemoSymbol && component[\"$$typeof\"] === ReactMemoSymbol) {\n throw new Error(\"Mobx observer: You are trying to use 'observer' on a function component wrapped in either another observer or 'React.memo'. The observer already applies 'React.memo' for you.\");\n } // Unwrap forward refs into `<Observer>` component\n // we need to unwrap the render, because it is the inner render that needs to be tracked,\n // not the ForwardRef HoC\n\n\n if (ReactForwardRefSymbol && component[\"$$typeof\"] === ReactForwardRefSymbol) {\n var baseRender = component[\"render\"];\n if (typeof baseRender !== \"function\") throw new Error(\"render property of ForwardRef was not a function\");\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"])(function ObserverForwardRef() {\n var args = arguments;\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"Observer\"], null, function () {\n return baseRender.apply(undefined, args);\n });\n });\n } // Function component\n\n\n if (typeof component === \"function\" && (!component.prototype || !component.prototype.render) && !component[\"isReactClass\"] && !Object.prototype.isPrototypeOf.call(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"], component)) {\n return Object(mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__[\"observer\"])(component);\n }\n\n return makeClassComponentObserver(component);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar MobXProviderContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createContext({});\nfunction Provider(props) {\n var children = props.children,\n stores = _objectWithoutPropertiesLoose(props, [\"children\"]);\n\n var parentValue = react__WEBPACK_IMPORTED_MODULE_1___default.a.useContext(MobXProviderContext);\n var mutableProviderRef = react__WEBPACK_IMPORTED_MODULE_1___default.a.useRef(_extends({}, parentValue, stores));\n var value = mutableProviderRef.current;\n\n if (true) {\n var newValue = _extends({}, value, stores); // spread in previous state for the context based stores\n\n\n if (!shallowEqual(value, newValue)) {\n throw new Error(\"MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.\");\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(MobXProviderContext.Provider, {\n value: value\n }, children);\n}\nProvider.displayName = \"MobXProvider\";\n\n/**\r\n * Store Injection\r\n */\n\nfunction createStoreInjector(grabStoresFn, component, injectNames, makeReactive) {\n // Support forward refs\n var Injector = react__WEBPACK_IMPORTED_MODULE_1___default.a.forwardRef(function (props, ref) {\n var newProps = _extends({}, props);\n\n var context = react__WEBPACK_IMPORTED_MODULE_1___default.a.useContext(MobXProviderContext);\n Object.assign(newProps, grabStoresFn(context || {}, newProps) || {});\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(component, newProps);\n });\n if (makeReactive) Injector = observer(Injector);\n Injector[\"isMobxInjector\"] = true; // assigned late to suppress observer warning\n // Static fields from component should be visible on the generated Injector\n\n copyStaticProperties(component, Injector);\n Injector[\"wrappedComponent\"] = component;\n Injector.displayName = getInjectName(component, injectNames);\n return Injector;\n}\n\nfunction getInjectName(component, injectNames) {\n var displayName;\n var componentName = component.displayName || component.name || component.constructor && component.constructor.name || \"Component\";\n if (injectNames) displayName = \"inject-with-\" + injectNames + \"(\" + componentName + \")\";else displayName = \"inject(\" + componentName + \")\";\n return displayName;\n}\n\nfunction grabStoresByName(storeNames) {\n return function (baseStores, nextProps) {\n storeNames.forEach(function (storeName) {\n if (storeName in nextProps // prefer props over stores\n ) return;\n if (!(storeName in baseStores)) throw new Error(\"MobX injector: Store '\" + storeName + \"' is not available! Make sure it is provided by some Provider\");\n nextProps[storeName] = baseStores[storeName];\n });\n return nextProps;\n };\n}\n/**\r\n * higher order component that injects stores to a child.\r\n * takes either a varargs list of strings, which are stores read from the context,\r\n * or a function that manually maps the available stores from the context to props:\r\n * storesToProps(mobxStores, props, context) => newProps\r\n */\n\n\nfunction inject() {\n for (var _len = arguments.length, storeNames = new Array(_len), _key = 0; _key < _len; _key++) {\n storeNames[_key] = arguments[_key];\n }\n\n if (typeof arguments[0] === \"function\") {\n var grabStoresFn = arguments[0];\n return function (componentClass) {\n return createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true);\n };\n } else {\n return function (componentClass) {\n return createStoreInjector(grabStoresByName(storeNames), componentClass, storeNames.join(\"-\"), false);\n };\n }\n}\n\nvar protoStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountProto\");\nvar instStoreKey = /*#__PURE__*/newSymbol(\"disposeOnUnmountInst\");\n\nfunction runDisposersOnWillUnmount() {\n var _this = this;\n [].concat(this[protoStoreKey] || [], this[instStoreKey] || []).forEach(function (propKeyOrFunction) {\n var prop = typeof propKeyOrFunction === \"string\" ? _this[propKeyOrFunction] : propKeyOrFunction;\n\n if (prop !== undefined && prop !== null) {\n if (Array.isArray(prop)) prop.map(function (f) {\n return f();\n });else prop();\n }\n });\n}\n\nfunction disposeOnUnmount(target, propertyKeyOrFunction) {\n if (Array.isArray(propertyKeyOrFunction)) {\n return propertyKeyOrFunction.map(function (fn) {\n return disposeOnUnmount(target, fn);\n });\n }\n\n var c = Object.getPrototypeOf(target).constructor;\n var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader\n\n var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));\n\n if (!(c === react__WEBPACK_IMPORTED_MODULE_1___default.a.Component || c === react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent || c2 === react__WEBPACK_IMPORTED_MODULE_1___default.a.Component || c2 === react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent || c3 === react__WEBPACK_IMPORTED_MODULE_1___default.a.Component || c3 === react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent)) {\n throw new Error(\"[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.\");\n }\n\n if (typeof propertyKeyOrFunction !== \"string\" && typeof propertyKeyOrFunction !== \"function\" && !Array.isArray(propertyKeyOrFunction)) {\n throw new Error(\"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\");\n } // decorator's target is the prototype, so it doesn't have any instance properties like props\n\n\n var isDecorator = typeof propertyKeyOrFunction === \"string\"; // add property key / function we want run (disposed) to the store\n\n var componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey];\n var store = isDecorator ? // decorators are added to the prototype store\n target[protoStoreKey] || (target[protoStoreKey] = []) : // functions are added to the instance store\n target[instStoreKey] || (target[instStoreKey] = []);\n store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already\n\n if (!componentWasAlreadyModified) {\n patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount);\n } // return the disposer as is if invoked as a non decorator\n\n\n if (typeof propertyKeyOrFunction !== \"string\") {\n return propertyKeyOrFunction;\n }\n}\n\nfunction createChainableTypeChecker(validator) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n rest[_key - 6] = arguments[_key];\n }\n\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"untracked\"])(function () {\n componentName = componentName || \"<<anonymous>>\";\n propFullName = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n var actual = props[propName] === null ? \"null\" : \"undefined\";\n return new Error(\"The \" + location + \" `\" + propFullName + \"` is marked as required \" + \"in `\" + componentName + \"`, but its value is `\" + actual + \"`.\");\n }\n\n return null;\n } else {\n // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise\n return validator.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));\n }\n });\n }\n\n var chainedCheckType = checkType.bind(null, false); // Add isRequired to satisfy Requirable\n\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n} // Copied from React.PropTypes\n\n\nfunction isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === \"symbol\") {\n return true;\n } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n return true;\n } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n} // Copied from React.PropTypes\n\n\nfunction getPropType(propValue) {\n var propType = typeof propValue;\n\n if (Array.isArray(propValue)) {\n return \"array\";\n }\n\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\";\n }\n\n if (isSymbol(propType, propValue)) {\n return \"symbol\";\n }\n\n return propType;\n} // This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\n\n\nfunction getPreciseType(propValue) {\n var propType = getPropType(propValue);\n\n if (propType === \"object\") {\n if (propValue instanceof Date) {\n return \"date\";\n } else if (propValue instanceof RegExp) {\n return \"regexp\";\n }\n }\n\n return propType;\n}\n\nfunction createObservableTypeCheckerCreator(allowNativeType, mobxType) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"untracked\"])(function () {\n if (allowNativeType) {\n if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;\n }\n\n var mobxChecker;\n\n switch (mobxType) {\n case \"Array\":\n mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_0__[\"isObservableArray\"];\n break;\n\n case \"Object\":\n mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_0__[\"isObservableObject\"];\n break;\n\n case \"Map\":\n mobxChecker = mobx__WEBPACK_IMPORTED_MODULE_0__[\"isObservableMap\"];\n break;\n\n default:\n throw new Error(\"Unexpected mobxType: \" + mobxType);\n }\n\n var propValue = props[propName];\n\n if (!mobxChecker(propValue)) {\n var preciseType = getPreciseType(propValue);\n var nativeTypeExpectationMessage = allowNativeType ? \" or javascript `\" + mobxType.toLowerCase() + \"`\" : \"\";\n return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + preciseType + \"` supplied to\" + \" `\" + componentName + \"`, expected `mobx.Observable\" + mobxType + \"`\" + nativeTypeExpectationMessage + \".\");\n }\n\n return null;\n });\n });\n}\n\nfunction createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {\n rest[_key2 - 5] = arguments[_key2];\n }\n\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"untracked\"])(function () {\n if (typeof typeChecker !== \"function\") {\n return new Error(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has \" + \"invalid PropType notation.\");\n } else {\n var error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(props, propName, componentName, location, propFullName);\n if (error instanceof Error) return error;\n var propValue = props[propName];\n\n for (var i = 0; i < propValue.length; i++) {\n error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + \"[\" + i + \"]\"].concat(rest));\n if (error instanceof Error) return error;\n }\n\n return null;\n }\n });\n });\n}\n\nvar observableArray = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Array\");\nvar observableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, false);\nvar observableMap = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Map\");\nvar observableObject = /*#__PURE__*/createObservableTypeCheckerCreator(false, \"Object\");\nvar arrayOrObservableArray = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Array\");\nvar arrayOrObservableArrayOf = /*#__PURE__*/createObservableArrayOfTypeChecker.bind(null, true);\nvar objectOrObservableObject = /*#__PURE__*/createObservableTypeCheckerCreator(true, \"Object\");\nvar PropTypes = {\n observableArray: observableArray,\n observableArrayOf: observableArrayOf,\n observableMap: observableMap,\n observableObject: observableObject,\n arrayOrObservableArray: arrayOrObservableArray,\n arrayOrObservableArrayOf: arrayOrObservableArrayOf,\n objectOrObservableObject: objectOrObservableObject\n};\n\nif (!react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]) throw new Error(\"mobx-react requires React to be available\");\nif (!mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"]) throw new Error(\"mobx-react requires mobx to be available\");\n\n\n//# sourceMappingURL=mobxreact.esm.js.map\n\n\n//# sourceURL=webpack:///./node_modules/mobx-react/dist/mobxreact.esm.js?");
22873
22783
 
22874
22784
  /***/ }),
22875
22785
 
@@ -34035,7 +33945,7 @@ eval("class Node {\n\t/// value;\n\t/// next;\n\n\tconstructor(value) {\n\t\tthi
34035
33945
  /*! exports provided: name, productName, description, homepage, version, main, copyright, license, author, scripts, config, engines, jest, build, dependencies, devDependencies, default */
34036
33946
  /***/ (function(module) {
34037
33947
 
34038
- eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"open-lens\\\",\\\"productName\\\":\\\"OpenLens\\\",\\\"description\\\":\\\"OpenLens - Open Source IDE for Kubernetes\\\",\\\"homepage\\\":\\\"https://github.com/lensapp/lens\\\",\\\"version\\\":\\\"5.2.0\\\",\\\"main\\\":\\\"static/build/main.js\\\",\\\"copyright\\\":\\\"© 2021 OpenLens Authors\\\",\\\"license\\\":\\\"MIT\\\",\\\"author\\\":{\\\"name\\\":\\\"OpenLens Authors\\\",\\\"email\\\":\\\"info@k8slens.dev\\\"},\\\"scripts\\\":{\\\"dev\\\":\\\"concurrently -i -k \\\\\\\"yarn run dev-run -C\\\\\\\" yarn:dev:*\\\",\\\"dev-build\\\":\\\"concurrently yarn:compile:*\\\",\\\"debug-build\\\":\\\"concurrently yarn:compile:main yarn:compile:extension-types\\\",\\\"dev-run\\\":\\\"nodemon --watch static/build/main.js --exec \\\\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\\\"\\\",\\\"dev:main\\\":\\\"yarn run compile:main --watch\\\",\\\"dev:renderer\\\":\\\"yarn run webpack-dev-server --config webpack.renderer.ts\\\",\\\"dev:extension-types\\\":\\\"yarn run compile:extension-types --watch\\\",\\\"compile\\\":\\\"env NODE_ENV=production concurrently yarn:compile:*\\\",\\\"compile:main\\\":\\\"yarn run webpack --config webpack.main.ts\\\",\\\"compile:renderer\\\":\\\"yarn run webpack --config webpack.renderer.ts\\\",\\\"compile:extension-types\\\":\\\"yarn run webpack --config webpack.extensions.ts\\\",\\\"npm:fix-build-version\\\":\\\"yarn run ts-node build/set_build_version.ts\\\",\\\"npm:fix-package-version\\\":\\\"yarn run ts-node build/set_npm_version.ts\\\",\\\"build:linux\\\":\\\"yarn run compile && electron-builder --linux --dir\\\",\\\"build:mac\\\":\\\"yarn run compile && electron-builder --mac --dir\\\",\\\"build:win\\\":\\\"yarn run compile && electron-builder --win --dir\\\",\\\"integration\\\":\\\"jest --runInBand --detectOpenHandles --forceExit integration\\\",\\\"dist\\\":\\\"yarn run compile && electron-builder --publish onTag\\\",\\\"dist:dir\\\":\\\"yarn run dist --dir -c.compression=store -c.mac.identity=null\\\",\\\"download-bins\\\":\\\"concurrently yarn:download:*\\\",\\\"download:kubectl\\\":\\\"yarn run ts-node build/download_kubectl.ts\\\",\\\"download:helm\\\":\\\"yarn run ts-node build/download_helm.ts\\\",\\\"build:tray-icons\\\":\\\"yarn run ts-node build/build_tray_icon.ts\\\",\\\"lint\\\":\\\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\\\",\\\"lint:fix\\\":\\\"yarn run lint --fix\\\",\\\"mkdocs-serve-local\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\\\",\\\"verify-docs\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\\\",\\\"typedocs-extensions-api\\\":\\\"yarn run typedoc src/extensions/extension-api.ts\\\",\\\"version-checkout\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release/v%s\\\\\\\" | xargs git checkout -b\\\",\\\"version-commit\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release v%s\\\\\\\" | git commit --no-edit -s -F -\\\",\\\"version\\\":\\\"yarn run version-checkout && git add package.json && yarn run version-commit\\\",\\\"postversion\\\":\\\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\\\"},\\\"config\\\":{\\\"bundledKubectlVersion\\\":\\\"1.21.2\\\",\\\"bundledHelmVersion\\\":\\\"3.6.3\\\",\\\"sentryDsn\\\":\\\"\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14 <15\\\"},\\\"jest\\\":{\\\"collectCoverage\\\":false,\\\"verbose\\\":true,\\\"transform\\\":{\\\"^.+\\\\\\\\.tsx?$\\\":\\\"ts-jest\\\"},\\\"moduleNameMapper\\\":{\\\"\\\\\\\\.(css|scss)$\\\":\\\"<rootDir>/__mocks__/styleMock.ts\\\",\\\"\\\\\\\\.(svg)$\\\":\\\"<rootDir>/__mocks__/imageMock.ts\\\",\\\"src/(.*)\\\":\\\"<rootDir>/__mocks__/windowMock.ts\\\"},\\\"modulePathIgnorePatterns\\\":[\\\"<rootDir>/dist\\\",\\\"<rootDir>/src/extensions/npm\\\"],\\\"setupFiles\\\":[\\\"<rootDir>/src/jest.setup.ts\\\",\\\"jest-canvas-mock\\\"]},\\\"build\\\":{\\\"generateUpdatesFilesForAllChannels\\\":true,\\\"files\\\":[\\\"static/build/main.js\\\"],\\\"afterSign\\\":\\\"build/notarize.js\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"locales/\\\",\\\"to\\\":\\\"locales/\\\",\\\"filter\\\":\\\"**/*.js\\\"},{\\\"from\\\":\\\"static/\\\",\\\"to\\\":\\\"static/\\\",\\\"filter\\\":\\\"!**/main.js\\\"},{\\\"from\\\":\\\"build/tray\\\",\\\"to\\\":\\\"static/icons\\\",\\\"filter\\\":\\\"*.png\\\"},{\\\"from\\\":\\\"extensions/\\\",\\\"to\\\":\\\"./extensions/\\\",\\\"filter\\\":[\\\"**/*.tgz\\\",\\\"**/package.json\\\",\\\"!**/node_modules\\\"]},{\\\"from\\\":\\\"templates/\\\",\\\"to\\\":\\\"./templates/\\\",\\\"filter\\\":\\\"**/*.yaml\\\"},\\\"LICENSE\\\"],\\\"linux\\\":{\\\"category\\\":\\\"Network\\\",\\\"artifactName\\\":\\\"${productName}-${version}.${arch}.${ext}\\\",\\\"target\\\":[\\\"deb\\\",\\\"rpm\\\",\\\"AppImage\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/linux/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"mac\\\":{\\\"hardenedRuntime\\\":true,\\\"gatekeeperAssess\\\":false,\\\"entitlements\\\":\\\"build/entitlements.mac.plist\\\",\\\"entitlementsInherit\\\":\\\"build/entitlements.mac.plist\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/darwin/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"win\\\":{\\\"target\\\":[\\\"nsis\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/windows/x64/kubectl.exe\\\",\\\"to\\\":\\\"./x64/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/windows/ia32/kubectl.exe\\\",\\\"to\\\":\\\"./ia32/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/x64/helm3/helm3.exe\\\",\\\"to\\\":\\\"./helm3/helm3.exe\\\"}]},\\\"nsis\\\":{\\\"include\\\":\\\"build/installer.nsh\\\",\\\"oneClick\\\":false,\\\"allowToChangeInstallationDirectory\\\":true},\\\"protocols\\\":{\\\"name\\\":\\\"Lens Protocol Handler\\\",\\\"schemes\\\":[\\\"lens\\\"],\\\"role\\\":\\\"Viewer\\\"}},\\\"dependencies\\\":{\\\"@electron/remote\\\":\\\"^1.2.1\\\",\\\"@hapi/call\\\":\\\"^8.0.1\\\",\\\"@hapi/subtext\\\":\\\"^7.0.3\\\",\\\"@kubernetes/client-node\\\":\\\"^0.15.1\\\",\\\"@sentry/electron\\\":\\\"^2.5.0\\\",\\\"@sentry/integrations\\\":\\\"^6.10.0\\\",\\\"abort-controller\\\":\\\"^3.0.0\\\",\\\"array-move\\\":\\\"^3.0.1\\\",\\\"auto-bind\\\":\\\"^4.0.0\\\",\\\"autobind-decorator\\\":\\\"^2.4.0\\\",\\\"await-lock\\\":\\\"^2.1.0\\\",\\\"byline\\\":\\\"^5.0.0\\\",\\\"chalk\\\":\\\"^4.1.0\\\",\\\"chokidar\\\":\\\"^3.4.3\\\",\\\"command-exists\\\":\\\"1.2.9\\\",\\\"conf\\\":\\\"^7.0.1\\\",\\\"crypto-js\\\":\\\"^4.1.1\\\",\\\"electron-devtools-installer\\\":\\\"^3.2.0\\\",\\\"electron-updater\\\":\\\"^4.4.3\\\",\\\"electron-window-state\\\":\\\"^5.0.3\\\",\\\"filehound\\\":\\\"^1.17.4\\\",\\\"fs-extra\\\":\\\"^9.0.1\\\",\\\"glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"grapheme-splitter\\\":\\\"^1.0.4\\\",\\\"handlebars\\\":\\\"^4.7.7\\\",\\\"http-proxy\\\":\\\"^1.18.1\\\",\\\"immer\\\":\\\"^8.0.4\\\",\\\"joi\\\":\\\"^17.4.2\\\",\\\"js-yaml\\\":\\\"^3.14.0\\\",\\\"jsdom\\\":\\\"^16.7.0\\\",\\\"jsonpath\\\":\\\"^1.0.2\\\",\\\"lodash\\\":\\\"^4.17.15\\\",\\\"mac-ca\\\":\\\"^1.0.6\\\",\\\"marked\\\":\\\"^2.0.3\\\",\\\"md5-file\\\":\\\"^5.0.0\\\",\\\"mobx\\\":\\\"^6.3.0\\\",\\\"mobx-observable-history\\\":\\\"^2.0.1\\\",\\\"mobx-react\\\":\\\"^7.1.0\\\",\\\"mock-fs\\\":\\\"^4.14.0\\\",\\\"moment\\\":\\\"^2.29.1\\\",\\\"moment-timezone\\\":\\\"^0.5.33\\\",\\\"monaco-editor\\\":\\\"^0.26.1\\\",\\\"node-fetch\\\":\\\"^2.6.1\\\",\\\"node-pty\\\":\\\"^0.10.1\\\",\\\"npm\\\":\\\"^6.14.8\\\",\\\"openid-client\\\":\\\"^3.15.2\\\",\\\"p-limit\\\":\\\"^3.1.0\\\",\\\"path-to-regexp\\\":\\\"^6.1.0\\\",\\\"proper-lockfile\\\":\\\"^4.1.2\\\",\\\"react\\\":\\\"^17.0.2\\\",\\\"react-dom\\\":\\\"^17.0.2\\\",\\\"react-material-ui-carousel\\\":\\\"^2.3.1\\\",\\\"react-monaco-editor\\\":\\\"^0.44.0\\\",\\\"react-router\\\":\\\"^5.2.0\\\",\\\"react-virtualized-auto-sizer\\\":\\\"^1.0.6\\\",\\\"readable-stream\\\":\\\"^3.6.0\\\",\\\"request\\\":\\\"^2.88.2\\\",\\\"request-promise-native\\\":\\\"^1.0.9\\\",\\\"semver\\\":\\\"^7.3.2\\\",\\\"serializr\\\":\\\"^2.0.5\\\",\\\"shell-env\\\":\\\"^3.0.1\\\",\\\"spdy\\\":\\\"^4.0.2\\\",\\\"tar\\\":\\\"^6.1.10\\\",\\\"tcp-port-used\\\":\\\"^1.0.1\\\",\\\"tempy\\\":\\\"^0.5.0\\\",\\\"url-parse\\\":\\\"^1.5.1\\\",\\\"uuid\\\":\\\"^8.3.2\\\",\\\"win-ca\\\":\\\"^3.2.0\\\",\\\"winston\\\":\\\"^3.3.3\\\",\\\"winston-console-format\\\":\\\"^1.0.8\\\",\\\"winston-transport-browserconsole\\\":\\\"^1.0.5\\\",\\\"ws\\\":\\\"^7.4.6\\\"},\\\"devDependencies\\\":{\\\"@emeraldpay/hashicon-react\\\":\\\"^0.4.0\\\",\\\"@material-ui/core\\\":\\\"^4.12.3\\\",\\\"@material-ui/icons\\\":\\\"^4.11.2\\\",\\\"@material-ui/lab\\\":\\\"^4.0.0-alpha.60\\\",\\\"@pmmmwh/react-refresh-webpack-plugin\\\":\\\"^0.4.3\\\",\\\"@sentry/react\\\":\\\"^6.8.0\\\",\\\"@sentry/types\\\":\\\"^6.8.0\\\",\\\"@testing-library/jest-dom\\\":\\\"^5.14.1\\\",\\\"@testing-library/react\\\":\\\"^11.2.6\\\",\\\"@types/byline\\\":\\\"^4.2.32\\\",\\\"@types/chart.js\\\":\\\"^2.9.34\\\",\\\"@types/color\\\":\\\"^3.0.2\\\",\\\"@types/crypto-js\\\":\\\"^3.1.47\\\",\\\"@types/dompurify\\\":\\\"^2.0.2\\\",\\\"@types/electron-devtools-installer\\\":\\\"^2.2.0\\\",\\\"@types/fs-extra\\\":\\\"^9.0.1\\\",\\\"@types/glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"@types/hapi\\\":\\\"^18.0.6\\\",\\\"@types/hoist-non-react-statics\\\":\\\"^3.3.1\\\",\\\"@types/html-webpack-plugin\\\":\\\"^3.2.3\\\",\\\"@types/http-proxy\\\":\\\"^1.17.7\\\",\\\"@types/jest\\\":\\\"^26.0.22\\\",\\\"@types/js-yaml\\\":\\\"^3.12.4\\\",\\\"@types/jsdom\\\":\\\"^16.2.4\\\",\\\"@types/jsonpath\\\":\\\"^0.2.0\\\",\\\"@types/lodash\\\":\\\"^4.14.155\\\",\\\"@types/marked\\\":\\\"^2.0.4\\\",\\\"@types/md5-file\\\":\\\"^4.0.2\\\",\\\"@types/mini-css-extract-plugin\\\":\\\"^0.9.1\\\",\\\"@types/mock-fs\\\":\\\"^4.13.1\\\",\\\"@types/module-alias\\\":\\\"^2.0.1\\\",\\\"@types/node\\\":\\\"14.17.14\\\",\\\"@types/node-fetch\\\":\\\"^2.5.12\\\",\\\"@types/npm\\\":\\\"^2.0.32\\\",\\\"@types/progress-bar-webpack-plugin\\\":\\\"^2.1.2\\\",\\\"@types/proper-lockfile\\\":\\\"^4.1.1\\\",\\\"@types/randomcolor\\\":\\\"^0.5.6\\\",\\\"@types/react\\\":\\\"^17.0.0\\\",\\\"@types/react-beautiful-dnd\\\":\\\"^13.1.1\\\",\\\"@types/react-dom\\\":\\\"^17.0.9\\\",\\\"@types/react-router-dom\\\":\\\"^5.1.6\\\",\\\"@types/react-select\\\":\\\"3.1.2\\\",\\\"@types/react-table\\\":\\\"^7.7.0\\\",\\\"@types/react-virtualized-auto-sizer\\\":\\\"^1.0.1\\\",\\\"@types/react-window\\\":\\\"^1.8.5\\\",\\\"@types/readable-stream\\\":\\\"^2.3.9\\\",\\\"@types/request\\\":\\\"^2.48.7\\\",\\\"@types/request-promise-native\\\":\\\"^1.0.17\\\",\\\"@types/semver\\\":\\\"^7.2.0\\\",\\\"@types/sharp\\\":\\\"^0.28.3\\\",\\\"@types/spdy\\\":\\\"^3.4.4\\\",\\\"@types/tar\\\":\\\"^4.0.5\\\",\\\"@types/tcp-port-used\\\":\\\"^1.0.0\\\",\\\"@types/tempy\\\":\\\"^0.3.0\\\",\\\"@types/triple-beam\\\":\\\"^1.3.2\\\",\\\"@types/url-parse\\\":\\\"^1.4.3\\\",\\\"@types/uuid\\\":\\\"^8.3.1\\\",\\\"@types/webdriverio\\\":\\\"^4.13.0\\\",\\\"@types/webpack\\\":\\\"^4.41.17\\\",\\\"@types/webpack-dev-server\\\":\\\"^3.11.1\\\",\\\"@types/webpack-env\\\":\\\"^1.15.2\\\",\\\"@types/webpack-node-externals\\\":\\\"^1.7.1\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^4.29.0\\\",\\\"@typescript-eslint/parser\\\":\\\"^4.29.1\\\",\\\"ansi_up\\\":\\\"^5.0.1\\\",\\\"chart.js\\\":\\\"^2.9.4\\\",\\\"circular-dependency-plugin\\\":\\\"^5.2.2\\\",\\\"color\\\":\\\"^3.1.2\\\",\\\"concurrently\\\":\\\"^5.2.0\\\",\\\"css-loader\\\":\\\"^5.2.6\\\",\\\"deepdash\\\":\\\"^5.3.5\\\",\\\"dompurify\\\":\\\"^2.3.1\\\",\\\"electron\\\":\\\"^12.0.17\\\",\\\"electron-builder\\\":\\\"^22.11.11\\\",\\\"electron-notarize\\\":\\\"^0.3.0\\\",\\\"esbuild\\\":\\\"^0.12.24\\\",\\\"esbuild-loader\\\":\\\"^2.13.1\\\",\\\"eslint\\\":\\\"^7.7.0\\\",\\\"eslint-plugin-header\\\":\\\"^3.1.1\\\",\\\"eslint-plugin-react\\\":\\\"^7.24.0\\\",\\\"eslint-plugin-react-hooks\\\":\\\"^4.2.0\\\",\\\"eslint-plugin-unused-imports\\\":\\\"^1.0.1\\\",\\\"file-loader\\\":\\\"^6.2.0\\\",\\\"flex.box\\\":\\\"^3.4.4\\\",\\\"fork-ts-checker-webpack-plugin\\\":\\\"^5.2.1\\\",\\\"hoist-non-react-statics\\\":\\\"^3.3.2\\\",\\\"html-webpack-plugin\\\":\\\"^4.5.2\\\",\\\"identity-obj-proxy\\\":\\\"^3.0.0\\\",\\\"include-media\\\":\\\"^1.4.9\\\",\\\"jest\\\":\\\"26.6.3\\\",\\\"jest-canvas-mock\\\":\\\"^2.3.1\\\",\\\"jest-fetch-mock\\\":\\\"^3.0.3\\\",\\\"jest-mock-extended\\\":\\\"^1.0.16\\\",\\\"json-to-pretty-yaml\\\":\\\"^1.2.2\\\",\\\"make-plural\\\":\\\"^6.2.2\\\",\\\"mini-css-extract-plugin\\\":\\\"^1.6.0\\\",\\\"node-gyp\\\":\\\"7.1.2\\\",\\\"node-loader\\\":\\\"^1.0.3\\\",\\\"nodemon\\\":\\\"^2.0.12\\\",\\\"playwright\\\":\\\"^1.14.0\\\",\\\"postcss\\\":\\\"^8.3.6\\\",\\\"postcss-loader\\\":\\\"4.3.0\\\",\\\"postinstall-postinstall\\\":\\\"^2.1.0\\\",\\\"progress-bar-webpack-plugin\\\":\\\"^2.1.0\\\",\\\"randomcolor\\\":\\\"^0.6.2\\\",\\\"raw-loader\\\":\\\"^4.0.2\\\",\\\"react-beautiful-dnd\\\":\\\"^13.1.0\\\",\\\"react-refresh\\\":\\\"^0.9.0\\\",\\\"react-router-dom\\\":\\\"^5.2.0\\\",\\\"react-select\\\":\\\"3.2.0\\\",\\\"react-select-event\\\":\\\"^5.1.0\\\",\\\"react-table\\\":\\\"^7.7.0\\\",\\\"react-window\\\":\\\"^1.8.5\\\",\\\"sass\\\":\\\"^1.39.0\\\",\\\"sass-loader\\\":\\\"^8.0.2\\\",\\\"sharp\\\":\\\"^0.29.0\\\",\\\"style-loader\\\":\\\"^2.0.0\\\",\\\"tailwindcss\\\":\\\"^2.2.4\\\",\\\"ts-jest\\\":\\\"26.5.6\\\",\\\"ts-loader\\\":\\\"^7.0.5\\\",\\\"ts-node\\\":\\\"^10.1.0\\\",\\\"type-fest\\\":\\\"^1.0.2\\\",\\\"typed-emitter\\\":\\\"^1.3.1\\\",\\\"typedoc\\\":\\\"0.21.0-beta.2\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.9.0\\\",\\\"typeface-roboto\\\":\\\"^1.1.13\\\",\\\"typescript\\\":\\\"^4.3.2\\\",\\\"typescript-plugin-css-modules\\\":\\\"^3.4.0\\\",\\\"url-loader\\\":\\\"^4.1.1\\\",\\\"webpack\\\":\\\"^4.46.0\\\",\\\"webpack-cli\\\":\\\"^3.3.12\\\",\\\"webpack-dev-server\\\":\\\"^3.11.2\\\",\\\"webpack-node-externals\\\":\\\"^1.7.2\\\",\\\"what-input\\\":\\\"^5.2.10\\\",\\\"xterm\\\":\\\"^4.12.0\\\",\\\"xterm-addon-fit\\\":\\\"^0.5.0\\\"}}\");\n\n//# sourceURL=webpack:///./package.json?");
33948
+ eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"open-lens\\\",\\\"productName\\\":\\\"OpenLens\\\",\\\"description\\\":\\\"OpenLens - Open Source IDE for Kubernetes\\\",\\\"homepage\\\":\\\"https://github.com/lensapp/lens\\\",\\\"version\\\":\\\"5.2.0\\\",\\\"main\\\":\\\"static/build/main.js\\\",\\\"copyright\\\":\\\"© 2021 OpenLens Authors\\\",\\\"license\\\":\\\"MIT\\\",\\\"author\\\":{\\\"name\\\":\\\"OpenLens Authors\\\",\\\"email\\\":\\\"info@k8slens.dev\\\"},\\\"scripts\\\":{\\\"dev\\\":\\\"concurrently -i -k \\\\\\\"yarn run dev-run -C\\\\\\\" yarn:dev:*\\\",\\\"dev-build\\\":\\\"concurrently yarn:compile:*\\\",\\\"debug-build\\\":\\\"concurrently yarn:compile:main yarn:compile:extension-types\\\",\\\"dev-run\\\":\\\"nodemon --watch static/build/main.js --exec \\\\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\\\"\\\",\\\"dev:main\\\":\\\"yarn run compile:main --watch\\\",\\\"dev:renderer\\\":\\\"yarn run webpack-dev-server --config webpack.renderer.ts\\\",\\\"dev:extension-types\\\":\\\"yarn run compile:extension-types --watch\\\",\\\"compile\\\":\\\"env NODE_ENV=production concurrently yarn:compile:*\\\",\\\"compile:main\\\":\\\"yarn run webpack --config webpack.main.ts\\\",\\\"compile:renderer\\\":\\\"yarn run webpack --config webpack.renderer.ts\\\",\\\"compile:extension-types\\\":\\\"yarn run webpack --config webpack.extensions.ts\\\",\\\"npm:fix-build-version\\\":\\\"yarn run ts-node build/set_build_version.ts\\\",\\\"npm:fix-package-version\\\":\\\"yarn run ts-node build/set_npm_version.ts\\\",\\\"build:linux\\\":\\\"yarn run compile && electron-builder --linux --dir\\\",\\\"build:mac\\\":\\\"yarn run compile && electron-builder --mac --dir\\\",\\\"build:win\\\":\\\"yarn run compile && electron-builder --win --dir\\\",\\\"integration\\\":\\\"jest --runInBand --detectOpenHandles --forceExit integration\\\",\\\"dist\\\":\\\"yarn run compile && electron-builder --publish onTag\\\",\\\"dist:dir\\\":\\\"yarn run dist --dir -c.compression=store -c.mac.identity=null\\\",\\\"download-bins\\\":\\\"concurrently yarn:download:*\\\",\\\"download:kubectl\\\":\\\"yarn run ts-node build/download_kubectl.ts\\\",\\\"download:helm\\\":\\\"yarn run ts-node build/download_helm.ts\\\",\\\"build:tray-icons\\\":\\\"yarn run ts-node build/build_tray_icon.ts\\\",\\\"lint\\\":\\\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\\\",\\\"lint:fix\\\":\\\"yarn run lint --fix\\\",\\\"mkdocs-serve-local\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\\\",\\\"verify-docs\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\\\",\\\"typedocs-extensions-api\\\":\\\"yarn run typedoc src/extensions/extension-api.ts\\\",\\\"version-checkout\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release/v%s\\\\\\\" | xargs git checkout -b\\\",\\\"version-commit\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release v%s\\\\\\\" | git commit --no-edit -s -F -\\\",\\\"version\\\":\\\"yarn run version-checkout && git add package.json && yarn run version-commit\\\",\\\"postversion\\\":\\\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\\\"},\\\"config\\\":{\\\"bundledKubectlVersion\\\":\\\"1.21.2\\\",\\\"bundledHelmVersion\\\":\\\"3.6.3\\\",\\\"sentryDsn\\\":\\\"\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14 <15\\\"},\\\"jest\\\":{\\\"collectCoverage\\\":false,\\\"verbose\\\":true,\\\"transform\\\":{\\\"^.+\\\\\\\\.tsx?$\\\":\\\"ts-jest\\\"},\\\"moduleNameMapper\\\":{\\\"\\\\\\\\.(css|scss)$\\\":\\\"<rootDir>/__mocks__/styleMock.ts\\\",\\\"\\\\\\\\.(svg)$\\\":\\\"<rootDir>/__mocks__/imageMock.ts\\\",\\\"src/(.*)\\\":\\\"<rootDir>/__mocks__/windowMock.ts\\\"},\\\"modulePathIgnorePatterns\\\":[\\\"<rootDir>/dist\\\",\\\"<rootDir>/src/extensions/npm\\\"],\\\"setupFiles\\\":[\\\"<rootDir>/src/jest.setup.ts\\\",\\\"jest-canvas-mock\\\"]},\\\"build\\\":{\\\"generateUpdatesFilesForAllChannels\\\":true,\\\"files\\\":[\\\"static/build/main.js\\\"],\\\"afterSign\\\":\\\"build/notarize.js\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"locales/\\\",\\\"to\\\":\\\"locales/\\\",\\\"filter\\\":\\\"**/*.js\\\"},{\\\"from\\\":\\\"static/\\\",\\\"to\\\":\\\"static/\\\",\\\"filter\\\":\\\"!**/main.js\\\"},{\\\"from\\\":\\\"build/tray\\\",\\\"to\\\":\\\"static/icons\\\",\\\"filter\\\":\\\"*.png\\\"},{\\\"from\\\":\\\"extensions/\\\",\\\"to\\\":\\\"./extensions/\\\",\\\"filter\\\":[\\\"**/*.tgz\\\",\\\"**/package.json\\\",\\\"!**/node_modules\\\"]},{\\\"from\\\":\\\"templates/\\\",\\\"to\\\":\\\"./templates/\\\",\\\"filter\\\":\\\"**/*.yaml\\\"},\\\"LICENSE\\\"],\\\"linux\\\":{\\\"category\\\":\\\"Network\\\",\\\"artifactName\\\":\\\"${productName}-${version}.${arch}.${ext}\\\",\\\"target\\\":[\\\"deb\\\",\\\"rpm\\\",\\\"AppImage\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/linux/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"mac\\\":{\\\"hardenedRuntime\\\":true,\\\"gatekeeperAssess\\\":false,\\\"entitlements\\\":\\\"build/entitlements.mac.plist\\\",\\\"entitlementsInherit\\\":\\\"build/entitlements.mac.plist\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/darwin/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"win\\\":{\\\"target\\\":[\\\"nsis\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/windows/x64/kubectl.exe\\\",\\\"to\\\":\\\"./x64/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/windows/ia32/kubectl.exe\\\",\\\"to\\\":\\\"./ia32/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/x64/helm3/helm3.exe\\\",\\\"to\\\":\\\"./helm3/helm3.exe\\\"}]},\\\"nsis\\\":{\\\"include\\\":\\\"build/installer.nsh\\\",\\\"oneClick\\\":false,\\\"allowToChangeInstallationDirectory\\\":true},\\\"protocols\\\":{\\\"name\\\":\\\"Lens Protocol Handler\\\",\\\"schemes\\\":[\\\"lens\\\"],\\\"role\\\":\\\"Viewer\\\"}},\\\"dependencies\\\":{\\\"@electron/remote\\\":\\\"^1.2.1\\\",\\\"@hapi/call\\\":\\\"^8.0.1\\\",\\\"@hapi/subtext\\\":\\\"^7.0.3\\\",\\\"@kubernetes/client-node\\\":\\\"^0.15.1\\\",\\\"@sentry/electron\\\":\\\"^2.5.0\\\",\\\"@sentry/integrations\\\":\\\"^6.10.0\\\",\\\"abort-controller\\\":\\\"^3.0.0\\\",\\\"array-move\\\":\\\"^3.0.1\\\",\\\"auto-bind\\\":\\\"^4.0.0\\\",\\\"autobind-decorator\\\":\\\"^2.4.0\\\",\\\"await-lock\\\":\\\"^2.1.0\\\",\\\"byline\\\":\\\"^5.0.0\\\",\\\"chalk\\\":\\\"^4.1.0\\\",\\\"chokidar\\\":\\\"^3.4.3\\\",\\\"command-exists\\\":\\\"1.2.9\\\",\\\"conf\\\":\\\"^7.0.1\\\",\\\"crypto-js\\\":\\\"^4.1.1\\\",\\\"electron-devtools-installer\\\":\\\"^3.2.0\\\",\\\"electron-updater\\\":\\\"^4.4.3\\\",\\\"electron-window-state\\\":\\\"^5.0.3\\\",\\\"filehound\\\":\\\"^1.17.4\\\",\\\"fs-extra\\\":\\\"^9.0.1\\\",\\\"glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"grapheme-splitter\\\":\\\"^1.0.4\\\",\\\"handlebars\\\":\\\"^4.7.7\\\",\\\"http-proxy\\\":\\\"^1.18.1\\\",\\\"immer\\\":\\\"^8.0.4\\\",\\\"joi\\\":\\\"^17.4.2\\\",\\\"js-yaml\\\":\\\"^3.14.0\\\",\\\"jsdom\\\":\\\"^16.7.0\\\",\\\"jsonpath\\\":\\\"^1.0.2\\\",\\\"lodash\\\":\\\"^4.17.15\\\",\\\"mac-ca\\\":\\\"^1.0.6\\\",\\\"marked\\\":\\\"^2.0.3\\\",\\\"md5-file\\\":\\\"^5.0.0\\\",\\\"mobx\\\":\\\"^6.3.0\\\",\\\"mobx-observable-history\\\":\\\"^2.0.1\\\",\\\"mobx-react\\\":\\\"^7.2.0\\\",\\\"mock-fs\\\":\\\"^4.14.0\\\",\\\"moment\\\":\\\"^2.29.1\\\",\\\"moment-timezone\\\":\\\"^0.5.33\\\",\\\"monaco-editor\\\":\\\"^0.26.1\\\",\\\"node-fetch\\\":\\\"^2.6.1\\\",\\\"node-pty\\\":\\\"^0.10.1\\\",\\\"npm\\\":\\\"^6.14.15\\\",\\\"openid-client\\\":\\\"^3.15.2\\\",\\\"p-limit\\\":\\\"^3.1.0\\\",\\\"path-to-regexp\\\":\\\"^6.1.0\\\",\\\"proper-lockfile\\\":\\\"^4.1.2\\\",\\\"react\\\":\\\"^17.0.2\\\",\\\"react-dom\\\":\\\"^17.0.2\\\",\\\"react-material-ui-carousel\\\":\\\"^2.3.1\\\",\\\"react-monaco-editor\\\":\\\"^0.44.0\\\",\\\"react-router\\\":\\\"^5.2.0\\\",\\\"react-virtualized-auto-sizer\\\":\\\"^1.0.6\\\",\\\"readable-stream\\\":\\\"^3.6.0\\\",\\\"request\\\":\\\"^2.88.2\\\",\\\"request-promise-native\\\":\\\"^1.0.9\\\",\\\"semver\\\":\\\"^7.3.2\\\",\\\"serializr\\\":\\\"^2.0.5\\\",\\\"shell-env\\\":\\\"^3.0.1\\\",\\\"spdy\\\":\\\"^4.0.2\\\",\\\"tar\\\":\\\"^6.1.10\\\",\\\"tcp-port-used\\\":\\\"^1.0.1\\\",\\\"tempy\\\":\\\"^0.5.0\\\",\\\"url-parse\\\":\\\"^1.5.1\\\",\\\"uuid\\\":\\\"^8.3.2\\\",\\\"win-ca\\\":\\\"^3.2.0\\\",\\\"winston\\\":\\\"^3.3.3\\\",\\\"winston-console-format\\\":\\\"^1.0.8\\\",\\\"winston-transport-browserconsole\\\":\\\"^1.0.5\\\",\\\"ws\\\":\\\"^7.4.6\\\"},\\\"devDependencies\\\":{\\\"@emeraldpay/hashicon-react\\\":\\\"^0.4.0\\\",\\\"@material-ui/core\\\":\\\"^4.12.3\\\",\\\"@material-ui/icons\\\":\\\"^4.11.2\\\",\\\"@material-ui/lab\\\":\\\"^4.0.0-alpha.60\\\",\\\"@pmmmwh/react-refresh-webpack-plugin\\\":\\\"^0.4.3\\\",\\\"@sentry/react\\\":\\\"^6.8.0\\\",\\\"@sentry/types\\\":\\\"^6.8.0\\\",\\\"@testing-library/dom\\\":\\\"^8.2.0\\\",\\\"@testing-library/jest-dom\\\":\\\"^5.14.1\\\",\\\"@testing-library/react\\\":\\\"^11.2.6\\\",\\\"@testing-library/user-event\\\":\\\"^13.2.1\\\",\\\"@types/byline\\\":\\\"^4.2.32\\\",\\\"@types/chart.js\\\":\\\"^2.9.34\\\",\\\"@types/color\\\":\\\"^3.0.2\\\",\\\"@types/crypto-js\\\":\\\"^3.1.47\\\",\\\"@types/dompurify\\\":\\\"^2.0.2\\\",\\\"@types/electron-devtools-installer\\\":\\\"^2.2.0\\\",\\\"@types/fs-extra\\\":\\\"^9.0.1\\\",\\\"@types/glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"@types/hapi\\\":\\\"^18.0.6\\\",\\\"@types/hoist-non-react-statics\\\":\\\"^3.3.1\\\",\\\"@types/html-webpack-plugin\\\":\\\"^3.2.3\\\",\\\"@types/http-proxy\\\":\\\"^1.17.7\\\",\\\"@types/jest\\\":\\\"^26.0.22\\\",\\\"@types/js-yaml\\\":\\\"^3.12.4\\\",\\\"@types/jsdom\\\":\\\"^16.2.4\\\",\\\"@types/jsonpath\\\":\\\"^0.2.0\\\",\\\"@types/lodash\\\":\\\"^4.14.155\\\",\\\"@types/marked\\\":\\\"^2.0.4\\\",\\\"@types/md5-file\\\":\\\"^4.0.2\\\",\\\"@types/mini-css-extract-plugin\\\":\\\"^0.9.1\\\",\\\"@types/mock-fs\\\":\\\"^4.13.1\\\",\\\"@types/module-alias\\\":\\\"^2.0.1\\\",\\\"@types/node\\\":\\\"14.17.14\\\",\\\"@types/node-fetch\\\":\\\"^2.5.12\\\",\\\"@types/npm\\\":\\\"^2.0.32\\\",\\\"@types/progress-bar-webpack-plugin\\\":\\\"^2.1.2\\\",\\\"@types/proper-lockfile\\\":\\\"^4.1.1\\\",\\\"@types/randomcolor\\\":\\\"^0.5.6\\\",\\\"@types/react\\\":\\\"^17.0.0\\\",\\\"@types/react-beautiful-dnd\\\":\\\"^13.1.1\\\",\\\"@types/react-dom\\\":\\\"^17.0.9\\\",\\\"@types/react-router-dom\\\":\\\"^5.1.6\\\",\\\"@types/react-select\\\":\\\"3.1.2\\\",\\\"@types/react-table\\\":\\\"^7.7.0\\\",\\\"@types/react-virtualized-auto-sizer\\\":\\\"^1.0.1\\\",\\\"@types/react-window\\\":\\\"^1.8.5\\\",\\\"@types/readable-stream\\\":\\\"^2.3.9\\\",\\\"@types/request\\\":\\\"^2.48.7\\\",\\\"@types/request-promise-native\\\":\\\"^1.0.17\\\",\\\"@types/semver\\\":\\\"^7.2.0\\\",\\\"@types/sharp\\\":\\\"^0.28.3\\\",\\\"@types/spdy\\\":\\\"^3.4.4\\\",\\\"@types/tar\\\":\\\"^4.0.5\\\",\\\"@types/tcp-port-used\\\":\\\"^1.0.0\\\",\\\"@types/tempy\\\":\\\"^0.3.0\\\",\\\"@types/triple-beam\\\":\\\"^1.3.2\\\",\\\"@types/url-parse\\\":\\\"^1.4.3\\\",\\\"@types/uuid\\\":\\\"^8.3.1\\\",\\\"@types/webdriverio\\\":\\\"^4.13.0\\\",\\\"@types/webpack\\\":\\\"^4.41.17\\\",\\\"@types/webpack-dev-server\\\":\\\"^3.11.1\\\",\\\"@types/webpack-env\\\":\\\"^1.15.2\\\",\\\"@types/webpack-node-externals\\\":\\\"^1.7.1\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^4.29.0\\\",\\\"@typescript-eslint/parser\\\":\\\"^4.29.1\\\",\\\"ansi_up\\\":\\\"^5.0.1\\\",\\\"chart.js\\\":\\\"^2.9.4\\\",\\\"circular-dependency-plugin\\\":\\\"^5.2.2\\\",\\\"color\\\":\\\"^3.1.2\\\",\\\"concurrently\\\":\\\"^5.2.0\\\",\\\"css-loader\\\":\\\"^5.2.6\\\",\\\"deepdash\\\":\\\"^5.3.5\\\",\\\"dompurify\\\":\\\"^2.3.1\\\",\\\"electron\\\":\\\"^13.4.0\\\",\\\"electron-builder\\\":\\\"^22.11.11\\\",\\\"electron-notarize\\\":\\\"^0.3.0\\\",\\\"esbuild\\\":\\\"^0.12.24\\\",\\\"esbuild-loader\\\":\\\"^2.13.1\\\",\\\"eslint\\\":\\\"^7.7.0\\\",\\\"eslint-plugin-header\\\":\\\"^3.1.1\\\",\\\"eslint-plugin-react\\\":\\\"^7.24.0\\\",\\\"eslint-plugin-react-hooks\\\":\\\"^4.2.0\\\",\\\"eslint-plugin-unused-imports\\\":\\\"^1.0.1\\\",\\\"file-loader\\\":\\\"^6.2.0\\\",\\\"flex.box\\\":\\\"^3.4.4\\\",\\\"fork-ts-checker-webpack-plugin\\\":\\\"^5.2.1\\\",\\\"hoist-non-react-statics\\\":\\\"^3.3.2\\\",\\\"html-webpack-plugin\\\":\\\"^4.5.2\\\",\\\"identity-obj-proxy\\\":\\\"^3.0.0\\\",\\\"include-media\\\":\\\"^1.4.9\\\",\\\"jest\\\":\\\"26.6.3\\\",\\\"jest-canvas-mock\\\":\\\"^2.3.1\\\",\\\"jest-fetch-mock\\\":\\\"^3.0.3\\\",\\\"jest-mock-extended\\\":\\\"^1.0.16\\\",\\\"make-plural\\\":\\\"^6.2.2\\\",\\\"mini-css-extract-plugin\\\":\\\"^1.6.0\\\",\\\"node-gyp\\\":\\\"7.1.2\\\",\\\"node-loader\\\":\\\"^1.0.3\\\",\\\"nodemon\\\":\\\"^2.0.12\\\",\\\"playwright\\\":\\\"^1.14.0\\\",\\\"postcss\\\":\\\"^8.3.6\\\",\\\"postcss-loader\\\":\\\"4.3.0\\\",\\\"postinstall-postinstall\\\":\\\"^2.1.0\\\",\\\"progress-bar-webpack-plugin\\\":\\\"^2.1.0\\\",\\\"randomcolor\\\":\\\"^0.6.2\\\",\\\"raw-loader\\\":\\\"^4.0.2\\\",\\\"react-beautiful-dnd\\\":\\\"^13.1.0\\\",\\\"react-refresh\\\":\\\"^0.9.0\\\",\\\"react-router-dom\\\":\\\"^5.2.0\\\",\\\"react-select\\\":\\\"3.2.0\\\",\\\"react-select-event\\\":\\\"^5.1.0\\\",\\\"react-table\\\":\\\"^7.7.0\\\",\\\"react-window\\\":\\\"^1.8.5\\\",\\\"sass\\\":\\\"^1.41.1\\\",\\\"sass-loader\\\":\\\"^8.0.2\\\",\\\"sharp\\\":\\\"^0.29.0\\\",\\\"style-loader\\\":\\\"^2.0.0\\\",\\\"tailwindcss\\\":\\\"^2.2.4\\\",\\\"ts-jest\\\":\\\"26.5.6\\\",\\\"ts-loader\\\":\\\"^7.0.5\\\",\\\"ts-node\\\":\\\"^10.1.0\\\",\\\"type-fest\\\":\\\"^1.0.2\\\",\\\"typed-emitter\\\":\\\"^1.3.1\\\",\\\"typedoc\\\":\\\"0.21.0-beta.2\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.9.0\\\",\\\"typeface-roboto\\\":\\\"^1.1.13\\\",\\\"typescript\\\":\\\"^4.3.2\\\",\\\"typescript-plugin-css-modules\\\":\\\"^3.4.0\\\",\\\"url-loader\\\":\\\"^4.1.1\\\",\\\"webpack\\\":\\\"^4.46.0\\\",\\\"webpack-cli\\\":\\\"^3.3.12\\\",\\\"webpack-dev-server\\\":\\\"^3.11.2\\\",\\\"webpack-node-externals\\\":\\\"^1.7.2\\\",\\\"what-input\\\":\\\"^5.2.10\\\",\\\"xterm\\\":\\\"^4.12.0\\\",\\\"xterm-addon-fit\\\":\\\"^0.5.0\\\"}}\");\n\n//# sourceURL=webpack:///./package.json?");
34039
33949
 
34040
33950
  /***/ }),
34041
33951
 
@@ -34095,7 +34005,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
34095
34005
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
34096
34006
 
34097
34007
  "use strict";
34098
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebLink\", function() { return WebLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebLinkCategory\", function() { return WebLinkCategory; });\n/* harmony import */ var _catalog__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../catalog */ \"./src/common/catalog/index.ts\");\n/* harmony import */ var _catalog_catalog_category_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../catalog/catalog-category-registry */ \"./src/common/catalog/catalog-category-registry.ts\");\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _weblink_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../weblink-store */ \"./src/common/weblink-store.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\nclass WebLink extends _catalog__WEBPACK_IMPORTED_MODULE_0__[\"CatalogEntity\"] {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"apiVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"entity.k8slens.dev/v1alpha1\"\n });\n Object.defineProperty(this, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"WebLink\"\n });\n }\n async onRun() {\n window.open(this.spec.url, \"_blank\");\n }\n onSettingsOpen() {\n return;\n }\n async onContextMenuOpen(context) {\n if (this.metadata.source === \"local\") {\n context.menuItems.push({\n title: \"Delete\",\n icon: \"delete\",\n onClick: async () => _weblink_store__WEBPACK_IMPORTED_MODULE_3__[\"WeblinkStore\"].getInstance().removeById(this.metadata.uid),\n confirm: {\n message: `Remove Web Link \"${this.metadata.name}\" from ${_vars__WEBPACK_IMPORTED_MODULE_2__[\"productName\"]}?`\n }\n });\n }\n }\n}\nclass WebLinkCategory extends _catalog__WEBPACK_IMPORTED_MODULE_0__[\"CatalogCategory\"] {\n constructor() {\n super();\n Object.defineProperty(this, \"apiVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"catalog.k8slens.dev/v1alpha1\"\n });\n Object.defineProperty(this, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"CatalogCategory\"\n });\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n name: \"Web Links\",\n icon: \"public\"\n }\n });\n Object.defineProperty(this, \"spec\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n group: \"entity.k8slens.dev\",\n versions: [\n {\n name: \"v1alpha1\",\n entityClass: WebLink\n }\n ],\n names: {\n kind: \"WebLink\"\n }\n }\n });\n this.on(\"catalogAddMenu\", (ctx) => {\n ctx.menuItems.push({\n icon: \"public\",\n title: \"Add web link\",\n onClick: () => {\n WebLinkCategory.onAdd();\n }\n });\n });\n }\n}\n_catalog_catalog_category_registry__WEBPACK_IMPORTED_MODULE_1__[\"catalogCategoryRegistry\"].add(new WebLinkCategory());\n\n\n//# sourceURL=webpack:///./src/common/catalog-entities/web-link.ts?");
34008
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebLink\", function() { return WebLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebLinkCategory\", function() { return WebLinkCategory; });\n/* harmony import */ var _catalog__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../catalog */ \"./src/common/catalog/index.ts\");\n/* harmony import */ var _catalog_catalog_category_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../catalog/catalog-category-registry */ \"./src/common/catalog/catalog-category-registry.ts\");\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _weblink_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../weblink-store */ \"./src/common/weblink-store.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\nclass WebLink extends _catalog__WEBPACK_IMPORTED_MODULE_0__[\"CatalogEntity\"] {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"apiVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"entity.k8slens.dev/v1alpha1\"\n });\n Object.defineProperty(this, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"WebLink\"\n });\n }\n async onRun() {\n window.open(this.spec.url, \"_blank\");\n }\n onSettingsOpen() {\n return;\n }\n async onContextMenuOpen(context) {\n var _a;\n if (this.metadata.source === \"local\") {\n context.menuItems.push({\n title: \"Delete\",\n icon: \"delete\",\n onClick: async () => _weblink_store__WEBPACK_IMPORTED_MODULE_3__[\"WeblinkStore\"].getInstance().removeById(this.metadata.uid),\n confirm: {\n message: `Remove Web Link \"${this.metadata.name}\" from ${_vars__WEBPACK_IMPORTED_MODULE_2__[\"productName\"]}?`\n }\n });\n }\n (_a = _catalog_catalog_category_registry__WEBPACK_IMPORTED_MODULE_1__[\"catalogCategoryRegistry\"]\n .getCategoryForEntity(this)) === null || _a === void 0 ? void 0 : _a.emit(\"contextMenuOpen\", this, context);\n }\n}\nclass WebLinkCategory extends _catalog__WEBPACK_IMPORTED_MODULE_0__[\"CatalogCategory\"] {\n constructor() {\n super();\n Object.defineProperty(this, \"apiVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"catalog.k8slens.dev/v1alpha1\"\n });\n Object.defineProperty(this, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"CatalogCategory\"\n });\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n name: \"Web Links\",\n icon: \"public\"\n }\n });\n Object.defineProperty(this, \"spec\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n group: \"entity.k8slens.dev\",\n versions: [\n {\n name: \"v1alpha1\",\n entityClass: WebLink\n }\n ],\n names: {\n kind: \"WebLink\"\n }\n }\n });\n this.on(\"catalogAddMenu\", (ctx) => {\n ctx.menuItems.push({\n icon: \"public\",\n title: \"Add web link\",\n onClick: () => {\n WebLinkCategory.onAdd();\n }\n });\n });\n }\n}\n_catalog_catalog_category_registry__WEBPACK_IMPORTED_MODULE_1__[\"catalogCategoryRegistry\"].add(new WebLinkCategory());\n\n\n//# sourceURL=webpack:///./src/common/catalog-entities/web-link.ts?");
34099
34009
 
34100
34010
  /***/ }),
34101
34011
 
@@ -34119,7 +34029,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
34119
34029
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
34120
34030
 
34121
34031
  "use strict";
34122
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CatalogCategory\", function() { return CatalogCategory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CatalogEntity\", function() { return CatalogEntity; });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\nclass CatalogCategory extends events__WEBPACK_IMPORTED_MODULE_0___default.a {\n static parseId(id = \"\") {\n var _a;\n const [group, kind] = (_a = id.split(\"/\")) !== null && _a !== void 0 ? _a : [];\n return { group, kind };\n }\n getId() {\n return `${this.spec.group}/${this.spec.names.kind}`;\n }\n}\nclass CatalogEntity {\n constructor(data) {\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"spec\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_1__[\"makeObservable\"])(this);\n this.metadata = data.metadata;\n this.status = data.status;\n this.spec = data.spec;\n }\n getId() {\n return this.metadata.uid;\n }\n getName() {\n return this.metadata.name;\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"],\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"metadata\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"],\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"status\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"],\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"spec\", void 0);\n\n\n//# sourceURL=webpack:///./src/common/catalog/catalog-entity.ts?");
34032
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CatalogCategory\", function() { return CatalogCategory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CatalogEntity\", function() { return CatalogEntity; });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\nclass CatalogCategory extends events__WEBPACK_IMPORTED_MODULE_0___default.a {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"].set([], {\n deep: false,\n })\n });\n }\n static parseId(id = \"\") {\n var _a;\n const [group, kind] = (_a = id.split(\"/\")) !== null && _a !== void 0 ? _a : [];\n return { group, kind };\n }\n getId() {\n return `${this.spec.group}/${this.spec.names.kind}`;\n }\n /**\n * Add a filter for menu items of catalogAddMenu\n * @param fn The function that should return a truthy value if that menu item should be displayed\n * @returns A function to remove that filter\n */\n addMenuFilter(fn) {\n this.filters.add(fn);\n return Object(lodash__WEBPACK_IMPORTED_MODULE_2__[\"once\"])(() => void this.filters.delete(fn));\n }\n /**\n * Filter menuItems according to the Category's set filters\n * @param menuItems menu items to filter\n * @returns filtered menu items\n */\n filteredItems(menuItems) {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_3__[\"iter\"].reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_3__[\"iter\"].filter, menuItems));\n }\n}\nclass CatalogEntity {\n constructor(data) {\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"spec\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_1__[\"makeObservable\"])(this);\n this.metadata = data.metadata;\n this.status = data.status;\n this.spec = data.spec;\n }\n getId() {\n return this.metadata.uid;\n }\n getName() {\n return this.metadata.name;\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"],\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"metadata\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"],\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"status\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"observable\"],\n __metadata(\"design:type\", Object)\n], CatalogEntity.prototype, \"spec\", void 0);\n\n\n//# sourceURL=webpack:///./src/common/catalog/catalog-entity.ts?");
34123
34033
 
34124
34034
  /***/ }),
34125
34035
 
@@ -34827,7 +34737,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
34827
34737
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
34828
34738
 
34829
34739
  "use strict";
34830
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStore\", function() { return KubeObjectStore; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _item_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../item.store */ \"./src/common/item.store.ts\");\n/* harmony import */ var _api_manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _kube_api_parse__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kube-api-parse */ \"./src/common/k8s-api/kube-api-parse.ts\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! abort-controller */ \"./node_modules/abort-controller/browser.js\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(abort_controller__WEBPACK_IMPORTED_MODULE_7__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\nclass KubeObjectStore extends _item_store__WEBPACK_IMPORTED_MODULE_3__[\"ItemStore\"] {\n constructor(api) {\n super();\n Object.defineProperty(this, \"api\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"limit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"bufferSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 50000\n });\n Object.defineProperty(this, \"loadedNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // collect items from watch-api events to avoid UI blowing up with huge streams of data\n Object.defineProperty(this, \"eventsBuffer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].array([], { deep: false })\n });\n if (api)\n this.api = api;\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"autoBind\"])(this);\n this.bindWatchEventsUpdater();\n }\n get contextReady() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => Boolean(this.context));\n }\n get namespacesReady() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => Boolean(this.loadedNamespaces));\n }\n get context() {\n return KubeObjectStore.defaultContext.get();\n }\n get contextItems() {\n var _a, _b;\n const namespaces = (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.contextNamespaces) !== null && _b !== void 0 ? _b : [];\n return this.items.filter(item => {\n const itemNamespace = item.getNs();\n return !itemNamespace /* cluster-wide */ || namespaces.includes(itemNamespace);\n });\n }\n getTotalCount() {\n return this.contextItems.length;\n }\n get query() {\n const { limit } = this;\n if (!limit) {\n return {};\n }\n return { limit };\n }\n getAllByNs(namespace, strict = false) {\n const namespaces = [].concat(namespace);\n if (namespaces.length) {\n return this.items.filter(item => namespaces.includes(item.getNs()));\n }\n if (!strict) {\n return this.items;\n }\n return [];\n }\n getById(id) {\n return this.items.find(item => item.getId() === id);\n }\n getByName(name, namespace) {\n return this.items.find(item => {\n return item.getName() === name && (namespace ? item.getNs() === namespace : true);\n });\n }\n getByPath(path) {\n return this.items.find(item => item.selfLink === path);\n }\n getByLabel(labels) {\n if (Array.isArray(labels)) {\n return this.items.filter((item) => {\n const itemLabels = item.getLabels();\n return labels.every(label => itemLabels.includes(label));\n });\n }\n else {\n return this.items.filter((item) => {\n const itemLabels = item.metadata.labels || {};\n return Object.entries(labels)\n .every(([key, value]) => itemLabels[key] === value);\n });\n }\n }\n async loadItems({ namespaces, api, reqInit }) {\n var _a, _b;\n if ((_a = this.context) === null || _a === void 0 ? void 0 : _a.cluster.isAllowedResource(api.kind)) {\n if (!api.isNamespaced) {\n return api.list({ reqInit }, this.query);\n }\n const isLoadingAll = ((_b = this.context.allNamespaces) === null || _b === void 0 ? void 0 : _b.length) > 1\n && this.context.cluster.accessibleNamespaces.length === 0\n && this.context.allNamespaces.every(ns => namespaces.includes(ns));\n if (isLoadingAll) {\n this.loadedNamespaces = [];\n return api.list({ reqInit }, this.query);\n }\n else {\n this.loadedNamespaces = namespaces;\n return Promise // load resources per namespace\n .all(namespaces.map(namespace => api.list({ namespace, reqInit })))\n .then(items => items.flat().filter(Boolean));\n }\n }\n return [];\n }\n filterItemsOnLoad(items) {\n return items;\n }\n async loadAll(options = {}) {\n await this.contextReady;\n this.isLoading = true;\n try {\n const { namespaces = this.context.allNamespaces, // load all namespaces by default\n merge = true, // merge loaded items or return as result\n reqInit, } = options;\n const items = await this.loadItems({ namespaces, api: this.api, reqInit });\n if (merge) {\n this.mergeItems(items, { replace: false });\n }\n else {\n this.mergeItems(items, { replace: true });\n }\n this.isLoaded = true;\n this.failedLoading = false;\n return items;\n }\n catch (error) {\n console.warn(\"[KubeObjectStore] loadAll failed\", this.api.apiBase, error);\n this.resetOnError(error);\n this.failedLoading = true;\n }\n finally {\n this.isLoading = false;\n }\n }\n async reloadAll(opts = {}) {\n const { force = false } = opts, loadingOptions = __rest(opts, [\"force\"]);\n if (this.isLoading || (this.isLoaded && !force)) {\n return;\n }\n return this.loadAll(loadingOptions);\n }\n mergeItems(partialItems, { replace = false, updateStore = true, sort = true, filter = true } = {}) {\n let items = partialItems;\n // update existing items\n if (!replace) {\n const namespaces = partialItems.map(item => item.getNs());\n items = [\n ...this.items.filter(existingItem => !namespaces.includes(existingItem.getNs())),\n ...partialItems,\n ];\n }\n if (filter)\n items = this.filterItemsOnLoad(items);\n if (sort)\n items = this.sortItems(items);\n if (updateStore)\n this.items.replace(items);\n return items;\n }\n resetOnError(error) {\n if (error)\n this.reset();\n }\n async loadItem(params) {\n return this.api.get(params);\n }\n async load(params) {\n const { name, namespace } = params;\n let item = this.getByName(name, namespace);\n if (!item) {\n item = await this.loadItem(params);\n const newItems = this.sortItems([...this.items, item]);\n this.items.replace(newItems);\n }\n return item;\n }\n async loadFromPath(resourcePath) {\n const { namespace, name } = Object(_kube_api_parse__WEBPACK_IMPORTED_MODULE_6__[\"parseKubeApi\"])(resourcePath);\n return this.load({ name, namespace });\n }\n async createItem(params, data) {\n return this.api.create(params, data);\n }\n async create(params, data) {\n const newItem = await this.createItem(params, data);\n const items = this.sortItems([...this.items, newItem]);\n this.items.replace(items);\n return newItem;\n }\n async update(item, data) {\n const rawItem = await item.update(data);\n const newItem = new this.api.objectConstructor(rawItem);\n Object(_kube_api__WEBPACK_IMPORTED_MODULE_5__[\"ensureObjectSelfLink\"])(this.api, newItem);\n const index = this.items.findIndex(item => item.getId() === newItem.getId());\n this.items.splice(index, 1, newItem);\n return newItem;\n }\n async remove(item) {\n await item.delete();\n this.items.remove(item);\n this.selectedItemsIds.delete(item.getId());\n }\n async removeSelectedItems() {\n return Promise.all(this.selectedItems.map(this.remove));\n }\n bindWatchEventsUpdater(delay = 1000) {\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"reaction\"])(() => this.eventsBuffer.length, this.updateFromEventsBuffer, {\n delay\n });\n }\n subscribe() {\n const abortController = new abort_controller__WEBPACK_IMPORTED_MODULE_7___default.a();\n if (this.api.isNamespaced) {\n Promise.race([Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"rejectPromiseBy\"])(abortController.signal), Promise.all([this.contextReady, this.namespacesReady])])\n .then(() => {\n if (this.context.cluster.isGlobalWatchEnabled && this.loadedNamespaces.length === 0) {\n return this.watchNamespace(\"\", abortController);\n }\n for (const namespace of this.loadedNamespaces) {\n this.watchNamespace(namespace, abortController);\n }\n })\n .catch(_utils__WEBPACK_IMPORTED_MODULE_1__[\"noop\"]); // ignore DOMExceptions\n }\n else {\n this.watchNamespace(\"\", abortController);\n }\n return () => abortController.abort();\n }\n watchNamespace(namespace, abortController) {\n if (!this.api.getResourceVersion(namespace)) {\n return;\n }\n let timedRetry;\n const watch = () => this.api.watch({\n namespace,\n abortController,\n callback\n });\n const { signal } = abortController;\n const callback = (data, error) => {\n if (!this.isLoaded || (error === null || error === void 0 ? void 0 : error.type) === \"aborted\")\n return;\n if (error instanceof Response) {\n if (error.status === 404 || error.status === 401) {\n // api has gone, or credentials are not permitted, let's not retry\n return;\n }\n // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n else if (error instanceof _kube_object__WEBPACK_IMPORTED_MODULE_2__[\"KubeStatus\"] && error.code === 410) {\n clearTimeout(timedRetry);\n // resourceVersion has gone, let's try to reload\n timedRetry = setTimeout(() => {\n (namespace\n ? this.loadAll({ namespaces: [namespace], reqInit: { signal } })\n : this.loadAll({ merge: false, reqInit: { signal } })).then(watch);\n }, 1000);\n }\n else if (error) { // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n if (data) {\n this.eventsBuffer.push(data);\n }\n };\n signal.addEventListener(\"abort\", () => clearTimeout(timedRetry));\n watch();\n }\n updateFromEventsBuffer() {\n const items = this.getItems();\n for (const { type, object } of this.eventsBuffer.clear()) {\n const index = items.findIndex(item => { var _a; return item.getId() === ((_a = object.metadata) === null || _a === void 0 ? void 0 : _a.uid); });\n const item = items[index];\n const api = _api_manager__WEBPACK_IMPORTED_MODULE_4__[\"apiManager\"].getApiByKind(object.kind, object.apiVersion);\n switch (type) {\n case \"ADDED\":\n case \"MODIFIED\":\n const newItem = new api.objectConstructor(object);\n if (!item) {\n items.push(newItem);\n }\n else {\n items[index] = newItem;\n }\n break;\n case \"DELETED\":\n if (item) {\n items.splice(index, 1);\n }\n break;\n }\n }\n // update items\n this.items.replace(this.sortItems(items.slice(-this.bufferSize)));\n }\n}\nObject.defineProperty(KubeObjectStore, \"defaultContext\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].box()\n}); // TODO: support multiple cluster contexts\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", Array)\n], KubeObjectStore.prototype, \"loadedNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], KubeObjectStore.prototype, \"contextItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"reloadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array, Object]),\n __metadata(\"design:returntype\", Array)\n], KubeObjectStore.prototype, \"mergeItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"load\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadFromPath\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], KubeObjectStore.prototype, \"updateFromEventsBuffer\", null);\n\n\n//# sourceURL=webpack:///./src/common/k8s-api/kube-object.store.ts?");
34740
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStore\", function() { return KubeObjectStore; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _item_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../item.store */ \"./src/common/item.store.ts\");\n/* harmony import */ var _api_manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _kube_api_parse__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./kube-api-parse */ \"./src/common/k8s-api/kube-api-parse.ts\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! abort-controller */ \"./node_modules/abort-controller/browser.js\");\n/* harmony import */ var abort_controller__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(abort_controller__WEBPACK_IMPORTED_MODULE_7__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\nclass KubeObjectStore extends _item_store__WEBPACK_IMPORTED_MODULE_3__[\"ItemStore\"] {\n constructor(api) {\n super();\n Object.defineProperty(this, \"api\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"limit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"bufferSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 50000\n });\n Object.defineProperty(this, \"loadedNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // collect items from watch-api events to avoid UI blowing up with huge streams of data\n Object.defineProperty(this, \"eventsBuffer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].array([], { deep: false })\n });\n if (api)\n this.api = api;\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"autoBind\"])(this);\n this.bindWatchEventsUpdater();\n }\n get contextReady() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => Boolean(this.context));\n }\n get namespacesReady() {\n return Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => Boolean(this.loadedNamespaces));\n }\n get context() {\n return KubeObjectStore.defaultContext.get();\n }\n get contextItems() {\n var _a, _b;\n const namespaces = (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.contextNamespaces) !== null && _b !== void 0 ? _b : [];\n return this.items.filter(item => {\n const itemNamespace = item.getNs();\n return !itemNamespace /* cluster-wide */ || namespaces.includes(itemNamespace);\n });\n }\n getTotalCount() {\n return this.contextItems.length;\n }\n get query() {\n const { limit } = this;\n if (!limit) {\n return {};\n }\n return { limit };\n }\n getAllByNs(namespace, strict = false) {\n const namespaces = [].concat(namespace);\n if (namespaces.length) {\n return this.items.filter(item => namespaces.includes(item.getNs()));\n }\n if (!strict) {\n return this.items;\n }\n return [];\n }\n getById(id) {\n return this.items.find(item => item.getId() === id);\n }\n getByName(name, namespace) {\n return this.items.find(item => {\n return item.getName() === name && (namespace ? item.getNs() === namespace : true);\n });\n }\n getByPath(path) {\n return this.items.find(item => item.selfLink === path);\n }\n getByLabel(labels) {\n if (Array.isArray(labels)) {\n return this.items.filter((item) => {\n const itemLabels = item.getLabels();\n return labels.every(label => itemLabels.includes(label));\n });\n }\n else {\n return this.items.filter((item) => {\n const itemLabels = item.metadata.labels || {};\n return Object.entries(labels)\n .every(([key, value]) => itemLabels[key] === value);\n });\n }\n }\n async loadItems({ namespaces, api, reqInit }) {\n var _a, _b;\n if ((_a = this.context) === null || _a === void 0 ? void 0 : _a.cluster.isAllowedResource(api.kind)) {\n if (!api.isNamespaced) {\n return api.list({ reqInit }, this.query);\n }\n const isLoadingAll = ((_b = this.context.allNamespaces) === null || _b === void 0 ? void 0 : _b.length) > 1\n && this.context.cluster.accessibleNamespaces.length === 0\n && this.context.allNamespaces.every(ns => namespaces.includes(ns));\n if (isLoadingAll) {\n this.loadedNamespaces = [];\n return api.list({ reqInit }, this.query);\n }\n else {\n this.loadedNamespaces = namespaces;\n return Promise // load resources per namespace\n .all(namespaces.map(namespace => api.list({ namespace, reqInit }, this.query)))\n .then(items => items.flat().filter(Boolean));\n }\n }\n return [];\n }\n filterItemsOnLoad(items) {\n return items;\n }\n async loadAll(options = {}) {\n await this.contextReady;\n this.isLoading = true;\n try {\n const { namespaces = this.context.allNamespaces, // load all namespaces by default\n merge = true, // merge loaded items or return as result\n reqInit, } = options;\n const items = await this.loadItems({ namespaces, api: this.api, reqInit });\n if (merge) {\n this.mergeItems(items, { replace: false });\n }\n else {\n this.mergeItems(items, { replace: true });\n }\n this.isLoaded = true;\n this.failedLoading = false;\n return items;\n }\n catch (error) {\n console.warn(\"[KubeObjectStore] loadAll failed\", this.api.apiBase, error);\n this.resetOnError(error);\n this.failedLoading = true;\n }\n finally {\n this.isLoading = false;\n }\n }\n async reloadAll(opts = {}) {\n const { force = false } = opts, loadingOptions = __rest(opts, [\"force\"]);\n if (this.isLoading || (this.isLoaded && !force)) {\n return;\n }\n return this.loadAll(loadingOptions);\n }\n mergeItems(partialItems, { replace = false, updateStore = true, sort = true, filter = true } = {}) {\n let items = partialItems;\n // update existing items\n if (!replace) {\n const namespaces = partialItems.map(item => item.getNs());\n items = [\n ...this.items.filter(existingItem => !namespaces.includes(existingItem.getNs())),\n ...partialItems,\n ];\n }\n if (filter)\n items = this.filterItemsOnLoad(items);\n if (sort)\n items = this.sortItems(items);\n if (updateStore)\n this.items.replace(items);\n return items;\n }\n resetOnError(error) {\n if (error)\n this.reset();\n }\n async loadItem(params) {\n return this.api.get(params);\n }\n async load(params) {\n const { name, namespace } = params;\n let item = this.getByName(name, namespace);\n if (!item) {\n item = await this.loadItem(params);\n const newItems = this.sortItems([...this.items, item]);\n this.items.replace(newItems);\n }\n return item;\n }\n async loadFromPath(resourcePath) {\n const { namespace, name } = Object(_kube_api_parse__WEBPACK_IMPORTED_MODULE_6__[\"parseKubeApi\"])(resourcePath);\n return this.load({ name, namespace });\n }\n async createItem(params, data) {\n return this.api.create(params, data);\n }\n async create(params, data) {\n const newItem = await this.createItem(params, data);\n const items = this.sortItems([...this.items, newItem]);\n this.items.replace(items);\n return newItem;\n }\n async update(item, data) {\n const rawItem = await item.update(data);\n const newItem = new this.api.objectConstructor(rawItem);\n Object(_kube_api__WEBPACK_IMPORTED_MODULE_5__[\"ensureObjectSelfLink\"])(this.api, newItem);\n const index = this.items.findIndex(item => item.getId() === newItem.getId());\n this.items.splice(index, 1, newItem);\n return newItem;\n }\n async remove(item) {\n await item.delete();\n this.items.remove(item);\n this.selectedItemsIds.delete(item.getId());\n }\n async removeSelectedItems() {\n return Promise.all(this.selectedItems.map(this.remove));\n }\n bindWatchEventsUpdater(delay = 1000) {\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"reaction\"])(() => this.eventsBuffer.length, this.updateFromEventsBuffer, {\n delay\n });\n }\n subscribe() {\n const abortController = new abort_controller__WEBPACK_IMPORTED_MODULE_7___default.a();\n if (this.api.isNamespaced) {\n Promise.race([Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"rejectPromiseBy\"])(abortController.signal), Promise.all([this.contextReady, this.namespacesReady])])\n .then(() => {\n if (this.context.cluster.isGlobalWatchEnabled && this.loadedNamespaces.length === 0) {\n return this.watchNamespace(\"\", abortController);\n }\n for (const namespace of this.loadedNamespaces) {\n this.watchNamespace(namespace, abortController);\n }\n })\n .catch(_utils__WEBPACK_IMPORTED_MODULE_1__[\"noop\"]); // ignore DOMExceptions\n }\n else {\n this.watchNamespace(\"\", abortController);\n }\n return () => abortController.abort();\n }\n watchNamespace(namespace, abortController) {\n if (!this.api.getResourceVersion(namespace)) {\n return;\n }\n let timedRetry;\n const watch = () => this.api.watch({\n namespace,\n abortController,\n callback\n });\n const { signal } = abortController;\n const callback = (data, error) => {\n if (!this.isLoaded || (error === null || error === void 0 ? void 0 : error.type) === \"aborted\")\n return;\n if (error instanceof Response) {\n if (error.status === 404 || error.status === 401) {\n // api has gone, or credentials are not permitted, let's not retry\n return;\n }\n // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n else if (error instanceof _kube_object__WEBPACK_IMPORTED_MODULE_2__[\"KubeStatus\"] && error.code === 410) {\n clearTimeout(timedRetry);\n // resourceVersion has gone, let's try to reload\n timedRetry = setTimeout(() => {\n (namespace\n ? this.loadAll({ namespaces: [namespace], reqInit: { signal } })\n : this.loadAll({ merge: false, reqInit: { signal } })).then(watch);\n }, 1000);\n }\n else if (error) { // not sure what to do, best to retry\n clearTimeout(timedRetry);\n timedRetry = setTimeout(watch, 5000);\n }\n if (data) {\n this.eventsBuffer.push(data);\n }\n };\n signal.addEventListener(\"abort\", () => clearTimeout(timedRetry));\n watch();\n }\n updateFromEventsBuffer() {\n const items = this.getItems();\n for (const { type, object } of this.eventsBuffer.clear()) {\n const index = items.findIndex(item => { var _a; return item.getId() === ((_a = object.metadata) === null || _a === void 0 ? void 0 : _a.uid); });\n const item = items[index];\n const api = _api_manager__WEBPACK_IMPORTED_MODULE_4__[\"apiManager\"].getApiByKind(object.kind, object.apiVersion);\n switch (type) {\n case \"ADDED\":\n case \"MODIFIED\":\n const newItem = new api.objectConstructor(object);\n if (!item) {\n items.push(newItem);\n }\n else {\n items[index] = newItem;\n }\n break;\n case \"DELETED\":\n if (item) {\n items.splice(index, 1);\n }\n break;\n }\n }\n // update items\n this.items.replace(this.sortItems(items.slice(-this.bufferSize)));\n }\n}\nObject.defineProperty(KubeObjectStore, \"defaultContext\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].box()\n}); // TODO: support multiple cluster contexts\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", Array)\n], KubeObjectStore.prototype, \"loadedNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], KubeObjectStore.prototype, \"contextItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"reloadAll\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array, Object]),\n __metadata(\"design:returntype\", Array)\n], KubeObjectStore.prototype, \"mergeItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"load\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", Promise)\n], KubeObjectStore.prototype, \"loadFromPath\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], KubeObjectStore.prototype, \"updateFromEventsBuffer\", null);\n\n\n//# sourceURL=webpack:///./src/common/k8s-api/kube-object.store.ts?");
34831
34741
 
34832
34742
  /***/ }),
34833
34743
 
@@ -34899,7 +34809,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
34899
34809
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
34900
34810
 
34901
34811
  "use strict";
34902
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! winston */ \"./node_modules/winston/dist/winston.js\");\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(winston__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! winston-console-format */ \"./node_modules/winston-console-format/dist/index.js\");\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(winston_console_format__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./vars */ \"./src/common/vars.ts\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! winston-transport-browserconsole */ \"./node_modules/winston-transport-browserconsole/dist/BrowserConsole.js\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_getPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/getPath */ \"./src/common/utils/getPath.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\nconst logLevel = process.env.LOG_LEVEL\n ? process.env.LOG_LEVEL\n : _vars__WEBPACK_IMPORTED_MODULE_3__[\"isDebugging\"]\n ? \"debug\"\n : _vars__WEBPACK_IMPORTED_MODULE_3__[\"isTestEnv\"]\n ? \"error\"\n : \"info\";\nconst transports = [];\nif (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcMain\"]) {\n transports.push(new winston__WEBPACK_IMPORTED_MODULE_1___default.a.transports.Console({\n handleExceptions: false,\n level: logLevel,\n format: winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].combine(winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].colorize({ level: true, message: false }), winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].padLevels(), winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].ms(), Object(winston_console_format__WEBPACK_IMPORTED_MODULE_2__[\"consoleFormat\"])({\n showMeta: true,\n inspectOptions: {\n depth: 4,\n colors: true,\n maxArrayLength: 10,\n breakLength: 120,\n compact: Infinity,\n },\n })),\n }));\n}\nelse {\n transports.push(new winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default.a());\n}\nif (!_vars__WEBPACK_IMPORTED_MODULE_3__[\"isTestEnv\"]) {\n transports.push(new winston__WEBPACK_IMPORTED_MODULE_1___default.a.transports.File({\n handleExceptions: false,\n level: logLevel,\n filename: \"lens.log\",\n dirname: Object(_utils_getPath__WEBPACK_IMPORTED_MODULE_5__[\"getPath\"])(\"logs\"),\n maxsize: 16 * 1024,\n maxFiles: 16,\n tailable: true,\n }));\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (winston__WEBPACK_IMPORTED_MODULE_1___default.a.createLogger({\n format: winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].simple(),\n transports,\n}));\n\n\n//# sourceURL=webpack:///./src/common/logger.ts?");
34812
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! winston */ \"./node_modules/winston/dist/winston.js\");\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(winston__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! winston-console-format */ \"./node_modules/winston-console-format/dist/index.js\");\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(winston_console_format__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./vars */ \"./src/common/vars.ts\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! winston-transport-browserconsole */ \"./node_modules/winston-transport-browserconsole/dist/BrowserConsole.js\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_getPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/getPath */ \"./src/common/utils/getPath.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\nconst logLevel = process.env.LOG_LEVEL\n ? process.env.LOG_LEVEL\n : _vars__WEBPACK_IMPORTED_MODULE_3__[\"isDebugging\"]\n ? \"debug\"\n : _vars__WEBPACK_IMPORTED_MODULE_3__[\"isTestEnv\"]\n ? \"error\"\n : \"info\";\nconst transports = [];\nif (electron__WEBPACK_IMPORTED_MODULE_0__[\"ipcMain\"]) {\n transports.push(new winston__WEBPACK_IMPORTED_MODULE_1___default.a.transports.Console({\n handleExceptions: false,\n level: logLevel,\n format: winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].combine(winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].colorize({ level: true, message: false }), winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].padLevels(), winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].ms(), Object(winston_console_format__WEBPACK_IMPORTED_MODULE_2__[\"consoleFormat\"])({\n showMeta: true,\n inspectOptions: {\n depth: 4,\n colors: true,\n maxArrayLength: 10,\n breakLength: 120,\n compact: Infinity,\n },\n })),\n }));\n if (!_vars__WEBPACK_IMPORTED_MODULE_3__[\"isTestEnv\"]) {\n transports.push(new winston__WEBPACK_IMPORTED_MODULE_1___default.a.transports.File({\n handleExceptions: false,\n level: logLevel,\n filename: \"lens.log\",\n dirname: Object(_utils_getPath__WEBPACK_IMPORTED_MODULE_5__[\"getPath\"])(\"logs\"),\n maxsize: 16 * 1024,\n maxFiles: 16,\n tailable: true,\n }));\n }\n}\nelse {\n transports.push(new winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default.a());\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (winston__WEBPACK_IMPORTED_MODULE_1___default.a.createLogger({\n format: winston__WEBPACK_IMPORTED_MODULE_1__[\"format\"].simple(),\n transports,\n}));\n\n\n//# sourceURL=webpack:///./src/common/logger.ts?");
34903
34813
 
34904
34814
  /***/ }),
34905
34815
 
@@ -36059,11 +35969,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cat
36059
35969
  /*!********************************************!*\
36060
35970
  !*** ./src/extensions/main-api/k8s-api.ts ***!
36061
35971
  \********************************************/
36062
- /*! exports provided: isAllowedResource, ResourceStack, apiManager, KubeApi, forCluster, KubeObject, KubeObjectStore, Pod, podsApi, PodsApi, Node, nodesApi, NodesApi, Deployment, deploymentApi, DeploymentApi, DaemonSet, daemonSetApi, StatefulSet, statefulSetApi, Job, jobApi, CronJob, cronJobApi, ConfigMap, configMapApi, Secret, secretsApi, ReplicaSet, replicaSetApi, ResourceQuota, resourceQuotaApi, LimitRange, limitRangeApi, HorizontalPodAutoscaler, hpaApi, PodDisruptionBudget, pdbApi, Service, serviceApi, Endpoint, endpointApi, Ingress, ingressApi, IngressApi, NetworkPolicy, networkPolicyApi, PersistentVolume, persistentVolumeApi, PersistentVolumeClaim, pvcApi, PersistentVolumeClaimsApi, StorageClass, storageClassApi, Namespace, namespacesApi, KubeEvent, eventApi, ServiceAccount, serviceAccountsApi, Role, roleApi, RoleBinding, roleBindingApi, ClusterRole, clusterRoleApi, ClusterRoleBinding, clusterRoleBindingApi, CustomResourceDefinition, crdApi */
35972
+ /*! exports provided: isAllowedResource, ResourceStack, apiManager, KubeApi, forCluster, forRemoteCluster, KubeObject, KubeObjectStore, Pod, podsApi, PodsApi, Node, nodesApi, NodesApi, Deployment, deploymentApi, DeploymentApi, DaemonSet, daemonSetApi, StatefulSet, statefulSetApi, Job, jobApi, CronJob, cronJobApi, ConfigMap, configMapApi, Secret, secretsApi, ReplicaSet, replicaSetApi, ResourceQuota, resourceQuotaApi, LimitRange, limitRangeApi, HorizontalPodAutoscaler, hpaApi, PodDisruptionBudget, pdbApi, Service, serviceApi, Endpoint, endpointApi, Ingress, ingressApi, IngressApi, NetworkPolicy, networkPolicyApi, PersistentVolume, persistentVolumeApi, PersistentVolumeClaim, pvcApi, PersistentVolumeClaimsApi, StorageClass, storageClassApi, Namespace, namespacesApi, KubeEvent, eventApi, ServiceAccount, serviceAccountsApi, Role, roleApi, RoleBinding, roleBindingApi, ClusterRole, clusterRoleApi, ClusterRoleBinding, clusterRoleBindingApi, CustomResourceDefinition, crdApi */
36063
35973
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36064
35974
 
36065
35975
  "use strict";
36066
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/allowed-resource */ \"./src/common/utils/allowed-resource.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isAllowedResource\", function() { return _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__[\"isAllowedResource\"]; });\n\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceStack\", function() { return _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__[\"ResourceStack\"]; });\n\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"apiManager\", function() { return _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__[\"apiManager\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeApi\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__[\"KubeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forCluster\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__[\"forCluster\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObject\", function() { return _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_4__[\"KubeObject\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStore\", function() { return _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__[\"KubeObjectStore\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/pods.api */ \"./src/common/k8s-api/endpoints/pods.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Pod\", function() { return _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__[\"Pod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"podsApi\", function() { return _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__[\"podsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodsApi\", function() { return _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__[\"PodsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/nodes.api */ \"./src/common/k8s-api/endpoints/nodes.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__[\"Node\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nodesApi\", function() { return _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__[\"nodesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NodesApi\", function() { return _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__[\"NodesApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/deployment.api */ \"./src/common/k8s-api/endpoints/deployment.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Deployment\", function() { return _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__[\"Deployment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deploymentApi\", function() { return _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__[\"deploymentApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeploymentApi\", function() { return _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__[\"DeploymentApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_daemon_set_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/daemon-set.api */ \"./src/common/k8s-api/endpoints/daemon-set.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DaemonSet\", function() { return _common_k8s_api_endpoints_daemon_set_api__WEBPACK_IMPORTED_MODULE_9__[\"DaemonSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"daemonSetApi\", function() { return _common_k8s_api_endpoints_daemon_set_api__WEBPACK_IMPORTED_MODULE_9__[\"daemonSetApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_stateful_set_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/stateful-set.api */ \"./src/common/k8s-api/endpoints/stateful-set.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatefulSet\", function() { return _common_k8s_api_endpoints_stateful_set_api__WEBPACK_IMPORTED_MODULE_10__[\"StatefulSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"statefulSetApi\", function() { return _common_k8s_api_endpoints_stateful_set_api__WEBPACK_IMPORTED_MODULE_10__[\"statefulSetApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_job_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/job.api */ \"./src/common/k8s-api/endpoints/job.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Job\", function() { return _common_k8s_api_endpoints_job_api__WEBPACK_IMPORTED_MODULE_11__[\"Job\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"jobApi\", function() { return _common_k8s_api_endpoints_job_api__WEBPACK_IMPORTED_MODULE_11__[\"jobApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_cron_job_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cron-job.api */ \"./src/common/k8s-api/endpoints/cron-job.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CronJob\", function() { return _common_k8s_api_endpoints_cron_job_api__WEBPACK_IMPORTED_MODULE_12__[\"CronJob\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cronJobApi\", function() { return _common_k8s_api_endpoints_cron_job_api__WEBPACK_IMPORTED_MODULE_12__[\"cronJobApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_configmap_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/configmap.api */ \"./src/common/k8s-api/endpoints/configmap.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConfigMap\", function() { return _common_k8s_api_endpoints_configmap_api__WEBPACK_IMPORTED_MODULE_13__[\"ConfigMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"configMapApi\", function() { return _common_k8s_api_endpoints_configmap_api__WEBPACK_IMPORTED_MODULE_13__[\"configMapApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_secret_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/secret.api */ \"./src/common/k8s-api/endpoints/secret.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Secret\", function() { return _common_k8s_api_endpoints_secret_api__WEBPACK_IMPORTED_MODULE_14__[\"Secret\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"secretsApi\", function() { return _common_k8s_api_endpoints_secret_api__WEBPACK_IMPORTED_MODULE_14__[\"secretsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_replica_set_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/replica-set.api */ \"./src/common/k8s-api/endpoints/replica-set.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReplicaSet\", function() { return _common_k8s_api_endpoints_replica_set_api__WEBPACK_IMPORTED_MODULE_15__[\"ReplicaSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replicaSetApi\", function() { return _common_k8s_api_endpoints_replica_set_api__WEBPACK_IMPORTED_MODULE_15__[\"replicaSetApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_resource_quota_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/resource-quota.api */ \"./src/common/k8s-api/endpoints/resource-quota.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceQuota\", function() { return _common_k8s_api_endpoints_resource_quota_api__WEBPACK_IMPORTED_MODULE_16__[\"ResourceQuota\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resourceQuotaApi\", function() { return _common_k8s_api_endpoints_resource_quota_api__WEBPACK_IMPORTED_MODULE_16__[\"resourceQuotaApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_limit_range_api__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/limit-range.api */ \"./src/common/k8s-api/endpoints/limit-range.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LimitRange\", function() { return _common_k8s_api_endpoints_limit_range_api__WEBPACK_IMPORTED_MODULE_17__[\"LimitRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"limitRangeApi\", function() { return _common_k8s_api_endpoints_limit_range_api__WEBPACK_IMPORTED_MODULE_17__[\"limitRangeApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_hpa_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/hpa.api */ \"./src/common/k8s-api/endpoints/hpa.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HorizontalPodAutoscaler\", function() { return _common_k8s_api_endpoints_hpa_api__WEBPACK_IMPORTED_MODULE_18__[\"HorizontalPodAutoscaler\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hpaApi\", function() { return _common_k8s_api_endpoints_hpa_api__WEBPACK_IMPORTED_MODULE_18__[\"hpaApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/poddisruptionbudget.api */ \"./src/common/k8s-api/endpoints/poddisruptionbudget.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodDisruptionBudget\", function() { return _common_k8s_api_endpoints_poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_19__[\"PodDisruptionBudget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdbApi\", function() { return _common_k8s_api_endpoints_poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_19__[\"pdbApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_service_api__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service.api */ \"./src/common/k8s-api/endpoints/service.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Service\", function() { return _common_k8s_api_endpoints_service_api__WEBPACK_IMPORTED_MODULE_20__[\"Service\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceApi\", function() { return _common_k8s_api_endpoints_service_api__WEBPACK_IMPORTED_MODULE_20__[\"serviceApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_endpoint_api__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/endpoint.api */ \"./src/common/k8s-api/endpoints/endpoint.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Endpoint\", function() { return _common_k8s_api_endpoints_endpoint_api__WEBPACK_IMPORTED_MODULE_21__[\"Endpoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endpointApi\", function() { return _common_k8s_api_endpoints_endpoint_api__WEBPACK_IMPORTED_MODULE_21__[\"endpointApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/ingress.api */ \"./src/common/k8s-api/endpoints/ingress.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ingress\", function() { return _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__[\"Ingress\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ingressApi\", function() { return _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__[\"ingressApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IngressApi\", function() { return _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__[\"IngressApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_network_policy_api__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/network-policy.api */ \"./src/common/k8s-api/endpoints/network-policy.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NetworkPolicy\", function() { return _common_k8s_api_endpoints_network_policy_api__WEBPACK_IMPORTED_MODULE_23__[\"NetworkPolicy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"networkPolicyApi\", function() { return _common_k8s_api_endpoints_network_policy_api__WEBPACK_IMPORTED_MODULE_23__[\"networkPolicyApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_api__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume.api */ \"./src/common/k8s-api/endpoints/persistent-volume.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolume\", function() { return _common_k8s_api_endpoints_persistent_volume_api__WEBPACK_IMPORTED_MODULE_24__[\"PersistentVolume\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"persistentVolumeApi\", function() { return _common_k8s_api_endpoints_persistent_volume_api__WEBPACK_IMPORTED_MODULE_24__[\"persistentVolumeApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume-claims.api */ \"./src/common/k8s-api/endpoints/persistent-volume-claims.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaim\", function() { return _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__[\"PersistentVolumeClaim\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pvcApi\", function() { return _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__[\"pvcApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaimsApi\", function() { return _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__[\"PersistentVolumeClaimsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_storage_class_api__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/storage-class.api */ \"./src/common/k8s-api/endpoints/storage-class.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageClass\", function() { return _common_k8s_api_endpoints_storage_class_api__WEBPACK_IMPORTED_MODULE_26__[\"StorageClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"storageClassApi\", function() { return _common_k8s_api_endpoints_storage_class_api__WEBPACK_IMPORTED_MODULE_26__[\"storageClassApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_namespaces_api__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/namespaces.api */ \"./src/common/k8s-api/endpoints/namespaces.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Namespace\", function() { return _common_k8s_api_endpoints_namespaces_api__WEBPACK_IMPORTED_MODULE_27__[\"Namespace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"namespacesApi\", function() { return _common_k8s_api_endpoints_namespaces_api__WEBPACK_IMPORTED_MODULE_27__[\"namespacesApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_events_api__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/events.api */ \"./src/common/k8s-api/endpoints/events.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeEvent\", function() { return _common_k8s_api_endpoints_events_api__WEBPACK_IMPORTED_MODULE_28__[\"KubeEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventApi\", function() { return _common_k8s_api_endpoints_events_api__WEBPACK_IMPORTED_MODULE_28__[\"eventApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_service_accounts_api__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service-accounts.api */ \"./src/common/k8s-api/endpoints/service-accounts.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ServiceAccount\", function() { return _common_k8s_api_endpoints_service_accounts_api__WEBPACK_IMPORTED_MODULE_29__[\"ServiceAccount\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceAccountsApi\", function() { return _common_k8s_api_endpoints_service_accounts_api__WEBPACK_IMPORTED_MODULE_29__[\"serviceAccountsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_role_api__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role.api */ \"./src/common/k8s-api/endpoints/role.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Role\", function() { return _common_k8s_api_endpoints_role_api__WEBPACK_IMPORTED_MODULE_30__[\"Role\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleApi\", function() { return _common_k8s_api_endpoints_role_api__WEBPACK_IMPORTED_MODULE_30__[\"roleApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_role_binding_api__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role-binding.api */ \"./src/common/k8s-api/endpoints/role-binding.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RoleBinding\", function() { return _common_k8s_api_endpoints_role_binding_api__WEBPACK_IMPORTED_MODULE_31__[\"RoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleBindingApi\", function() { return _common_k8s_api_endpoints_role_binding_api__WEBPACK_IMPORTED_MODULE_31__[\"roleBindingApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_api__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role.api */ \"./src/common/k8s-api/endpoints/cluster-role.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRole\", function() { return _common_k8s_api_endpoints_cluster_role_api__WEBPACK_IMPORTED_MODULE_32__[\"ClusterRole\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleApi\", function() { return _common_k8s_api_endpoints_cluster_role_api__WEBPACK_IMPORTED_MODULE_32__[\"clusterRoleApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role-binding.api */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRoleBinding\", function() { return _common_k8s_api_endpoints_cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_33__[\"ClusterRoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleBindingApi\", function() { return _common_k8s_api_endpoints_cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_33__[\"clusterRoleBindingApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_crd_api__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/crd.api */ \"./src/common/k8s-api/endpoints/crd.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomResourceDefinition\", function() { return _common_k8s_api_endpoints_crd_api__WEBPACK_IMPORTED_MODULE_34__[\"CustomResourceDefinition\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"crdApi\", function() { return _common_k8s_api_endpoints_crd_api__WEBPACK_IMPORTED_MODULE_34__[\"crdApi\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/main-api/k8s-api.ts?");
35976
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/allowed-resource */ \"./src/common/utils/allowed-resource.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isAllowedResource\", function() { return _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__[\"isAllowedResource\"]; });\n\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceStack\", function() { return _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__[\"ResourceStack\"]; });\n\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"apiManager\", function() { return _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__[\"apiManager\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeApi\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__[\"KubeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forCluster\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__[\"forCluster\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forRemoteCluster\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_3__[\"forRemoteCluster\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObject\", function() { return _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_4__[\"KubeObject\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStore\", function() { return _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__[\"KubeObjectStore\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/pods.api */ \"./src/common/k8s-api/endpoints/pods.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Pod\", function() { return _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__[\"Pod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"podsApi\", function() { return _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__[\"podsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodsApi\", function() { return _common_k8s_api_endpoints_pods_api__WEBPACK_IMPORTED_MODULE_6__[\"PodsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/nodes.api */ \"./src/common/k8s-api/endpoints/nodes.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__[\"Node\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nodesApi\", function() { return _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__[\"nodesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NodesApi\", function() { return _common_k8s_api_endpoints_nodes_api__WEBPACK_IMPORTED_MODULE_7__[\"NodesApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/deployment.api */ \"./src/common/k8s-api/endpoints/deployment.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Deployment\", function() { return _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__[\"Deployment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deploymentApi\", function() { return _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__[\"deploymentApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeploymentApi\", function() { return _common_k8s_api_endpoints_deployment_api__WEBPACK_IMPORTED_MODULE_8__[\"DeploymentApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_daemon_set_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/daemon-set.api */ \"./src/common/k8s-api/endpoints/daemon-set.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DaemonSet\", function() { return _common_k8s_api_endpoints_daemon_set_api__WEBPACK_IMPORTED_MODULE_9__[\"DaemonSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"daemonSetApi\", function() { return _common_k8s_api_endpoints_daemon_set_api__WEBPACK_IMPORTED_MODULE_9__[\"daemonSetApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_stateful_set_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/stateful-set.api */ \"./src/common/k8s-api/endpoints/stateful-set.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatefulSet\", function() { return _common_k8s_api_endpoints_stateful_set_api__WEBPACK_IMPORTED_MODULE_10__[\"StatefulSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"statefulSetApi\", function() { return _common_k8s_api_endpoints_stateful_set_api__WEBPACK_IMPORTED_MODULE_10__[\"statefulSetApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_job_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/job.api */ \"./src/common/k8s-api/endpoints/job.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Job\", function() { return _common_k8s_api_endpoints_job_api__WEBPACK_IMPORTED_MODULE_11__[\"Job\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"jobApi\", function() { return _common_k8s_api_endpoints_job_api__WEBPACK_IMPORTED_MODULE_11__[\"jobApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_cron_job_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cron-job.api */ \"./src/common/k8s-api/endpoints/cron-job.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CronJob\", function() { return _common_k8s_api_endpoints_cron_job_api__WEBPACK_IMPORTED_MODULE_12__[\"CronJob\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cronJobApi\", function() { return _common_k8s_api_endpoints_cron_job_api__WEBPACK_IMPORTED_MODULE_12__[\"cronJobApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_configmap_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/configmap.api */ \"./src/common/k8s-api/endpoints/configmap.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConfigMap\", function() { return _common_k8s_api_endpoints_configmap_api__WEBPACK_IMPORTED_MODULE_13__[\"ConfigMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"configMapApi\", function() { return _common_k8s_api_endpoints_configmap_api__WEBPACK_IMPORTED_MODULE_13__[\"configMapApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_secret_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/secret.api */ \"./src/common/k8s-api/endpoints/secret.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Secret\", function() { return _common_k8s_api_endpoints_secret_api__WEBPACK_IMPORTED_MODULE_14__[\"Secret\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"secretsApi\", function() { return _common_k8s_api_endpoints_secret_api__WEBPACK_IMPORTED_MODULE_14__[\"secretsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_replica_set_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/replica-set.api */ \"./src/common/k8s-api/endpoints/replica-set.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReplicaSet\", function() { return _common_k8s_api_endpoints_replica_set_api__WEBPACK_IMPORTED_MODULE_15__[\"ReplicaSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replicaSetApi\", function() { return _common_k8s_api_endpoints_replica_set_api__WEBPACK_IMPORTED_MODULE_15__[\"replicaSetApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_resource_quota_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/resource-quota.api */ \"./src/common/k8s-api/endpoints/resource-quota.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceQuota\", function() { return _common_k8s_api_endpoints_resource_quota_api__WEBPACK_IMPORTED_MODULE_16__[\"ResourceQuota\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resourceQuotaApi\", function() { return _common_k8s_api_endpoints_resource_quota_api__WEBPACK_IMPORTED_MODULE_16__[\"resourceQuotaApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_limit_range_api__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/limit-range.api */ \"./src/common/k8s-api/endpoints/limit-range.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LimitRange\", function() { return _common_k8s_api_endpoints_limit_range_api__WEBPACK_IMPORTED_MODULE_17__[\"LimitRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"limitRangeApi\", function() { return _common_k8s_api_endpoints_limit_range_api__WEBPACK_IMPORTED_MODULE_17__[\"limitRangeApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_hpa_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/hpa.api */ \"./src/common/k8s-api/endpoints/hpa.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HorizontalPodAutoscaler\", function() { return _common_k8s_api_endpoints_hpa_api__WEBPACK_IMPORTED_MODULE_18__[\"HorizontalPodAutoscaler\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hpaApi\", function() { return _common_k8s_api_endpoints_hpa_api__WEBPACK_IMPORTED_MODULE_18__[\"hpaApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/poddisruptionbudget.api */ \"./src/common/k8s-api/endpoints/poddisruptionbudget.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodDisruptionBudget\", function() { return _common_k8s_api_endpoints_poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_19__[\"PodDisruptionBudget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdbApi\", function() { return _common_k8s_api_endpoints_poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_19__[\"pdbApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_service_api__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service.api */ \"./src/common/k8s-api/endpoints/service.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Service\", function() { return _common_k8s_api_endpoints_service_api__WEBPACK_IMPORTED_MODULE_20__[\"Service\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceApi\", function() { return _common_k8s_api_endpoints_service_api__WEBPACK_IMPORTED_MODULE_20__[\"serviceApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_endpoint_api__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/endpoint.api */ \"./src/common/k8s-api/endpoints/endpoint.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Endpoint\", function() { return _common_k8s_api_endpoints_endpoint_api__WEBPACK_IMPORTED_MODULE_21__[\"Endpoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endpointApi\", function() { return _common_k8s_api_endpoints_endpoint_api__WEBPACK_IMPORTED_MODULE_21__[\"endpointApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/ingress.api */ \"./src/common/k8s-api/endpoints/ingress.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ingress\", function() { return _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__[\"Ingress\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ingressApi\", function() { return _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__[\"ingressApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IngressApi\", function() { return _common_k8s_api_endpoints_ingress_api__WEBPACK_IMPORTED_MODULE_22__[\"IngressApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_network_policy_api__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/network-policy.api */ \"./src/common/k8s-api/endpoints/network-policy.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NetworkPolicy\", function() { return _common_k8s_api_endpoints_network_policy_api__WEBPACK_IMPORTED_MODULE_23__[\"NetworkPolicy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"networkPolicyApi\", function() { return _common_k8s_api_endpoints_network_policy_api__WEBPACK_IMPORTED_MODULE_23__[\"networkPolicyApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_api__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume.api */ \"./src/common/k8s-api/endpoints/persistent-volume.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolume\", function() { return _common_k8s_api_endpoints_persistent_volume_api__WEBPACK_IMPORTED_MODULE_24__[\"PersistentVolume\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"persistentVolumeApi\", function() { return _common_k8s_api_endpoints_persistent_volume_api__WEBPACK_IMPORTED_MODULE_24__[\"persistentVolumeApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume-claims.api */ \"./src/common/k8s-api/endpoints/persistent-volume-claims.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaim\", function() { return _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__[\"PersistentVolumeClaim\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pvcApi\", function() { return _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__[\"pvcApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaimsApi\", function() { return _common_k8s_api_endpoints_persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_25__[\"PersistentVolumeClaimsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_storage_class_api__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/storage-class.api */ \"./src/common/k8s-api/endpoints/storage-class.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageClass\", function() { return _common_k8s_api_endpoints_storage_class_api__WEBPACK_IMPORTED_MODULE_26__[\"StorageClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"storageClassApi\", function() { return _common_k8s_api_endpoints_storage_class_api__WEBPACK_IMPORTED_MODULE_26__[\"storageClassApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_namespaces_api__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/namespaces.api */ \"./src/common/k8s-api/endpoints/namespaces.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Namespace\", function() { return _common_k8s_api_endpoints_namespaces_api__WEBPACK_IMPORTED_MODULE_27__[\"Namespace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"namespacesApi\", function() { return _common_k8s_api_endpoints_namespaces_api__WEBPACK_IMPORTED_MODULE_27__[\"namespacesApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_events_api__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/events.api */ \"./src/common/k8s-api/endpoints/events.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeEvent\", function() { return _common_k8s_api_endpoints_events_api__WEBPACK_IMPORTED_MODULE_28__[\"KubeEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventApi\", function() { return _common_k8s_api_endpoints_events_api__WEBPACK_IMPORTED_MODULE_28__[\"eventApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_service_accounts_api__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service-accounts.api */ \"./src/common/k8s-api/endpoints/service-accounts.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ServiceAccount\", function() { return _common_k8s_api_endpoints_service_accounts_api__WEBPACK_IMPORTED_MODULE_29__[\"ServiceAccount\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceAccountsApi\", function() { return _common_k8s_api_endpoints_service_accounts_api__WEBPACK_IMPORTED_MODULE_29__[\"serviceAccountsApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_role_api__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role.api */ \"./src/common/k8s-api/endpoints/role.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Role\", function() { return _common_k8s_api_endpoints_role_api__WEBPACK_IMPORTED_MODULE_30__[\"Role\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleApi\", function() { return _common_k8s_api_endpoints_role_api__WEBPACK_IMPORTED_MODULE_30__[\"roleApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_role_binding_api__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role-binding.api */ \"./src/common/k8s-api/endpoints/role-binding.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RoleBinding\", function() { return _common_k8s_api_endpoints_role_binding_api__WEBPACK_IMPORTED_MODULE_31__[\"RoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleBindingApi\", function() { return _common_k8s_api_endpoints_role_binding_api__WEBPACK_IMPORTED_MODULE_31__[\"roleBindingApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_api__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role.api */ \"./src/common/k8s-api/endpoints/cluster-role.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRole\", function() { return _common_k8s_api_endpoints_cluster_role_api__WEBPACK_IMPORTED_MODULE_32__[\"ClusterRole\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleApi\", function() { return _common_k8s_api_endpoints_cluster_role_api__WEBPACK_IMPORTED_MODULE_32__[\"clusterRoleApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role-binding.api */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRoleBinding\", function() { return _common_k8s_api_endpoints_cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_33__[\"ClusterRoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleBindingApi\", function() { return _common_k8s_api_endpoints_cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_33__[\"clusterRoleBindingApi\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints_crd_api__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/crd.api */ \"./src/common/k8s-api/endpoints/crd.api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomResourceDefinition\", function() { return _common_k8s_api_endpoints_crd_api__WEBPACK_IMPORTED_MODULE_34__[\"CustomResourceDefinition\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"crdApi\", function() { return _common_k8s_api_endpoints_crd_api__WEBPACK_IMPORTED_MODULE_34__[\"crdApi\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/main-api/k8s-api.ts?");
36067
35977
 
36068
35978
  /***/ }),
36069
35979
 
@@ -36311,11 +36221,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
36311
36221
  /*!***************************************************!*\
36312
36222
  !*** ./src/extensions/renderer-api/components.ts ***!
36313
36223
  \***************************************************/
36314
- /*! exports provided: MainLayout, SettingLayout, PageLayout, WizardLayout, TabLayout, Button, Checkbox, RadioGroup, Radio, Select, Slider, Switcher, FormSwitch, InputValidators, Input, CommandOverlay, Icon, TooltipPosition, Tooltip, withTooltip, Tabs, Tab, sortByUrlParam, orderByUrlParam, Table, TableHead, TableRow, TableCell, Badge, Drawer, DrawerTitle, DrawerItem, DrawerItemLabels, DrawerParamToggler, Dialog, ConfirmDialog, LineProgress, MenuContext, Menu, SubMenu, MenuItem, MenuActions, Notifications, NotificationStatus, NotificationsStore, notificationsStore, Spinner, Stepper, Wizard, WizardStep, PodDetailsList, NamespaceSelect, NamespaceSelectFilter, SubTitle, SearchInput, BarChart, memoryOptions, cpuOptions, PieChart, kubeDetailsUrlParam, kubeSelectedUrlParam, showDetails, hideDetails, getDetailsUrl, KubeObjectDetails, KubeObjectListLayout, KubeObjectMenu, KubeObjectMeta, KubeEventDetails, StatusBrick, terminalStore, createTerminalTab, TerminalStore, logTabStore */
36224
+ /*! exports provided: MainLayout, SettingLayout, PageLayout, WizardLayout, TabLayout, Button, Checkbox, RadioGroup, Radio, Select, Slider, Switcher, FormSwitch, InputValidators, Input, CommandOverlay, Icon, TooltipPosition, Tooltip, withTooltip, Tabs, Tab, sortByUrlParam, orderByUrlParam, Table, TableHead, TableRow, TableCell, Badge, Drawer, DrawerTitle, DrawerItem, DrawerItemLabels, DrawerParamToggler, Dialog, ConfirmDialog, LineProgress, MenuContext, Menu, SubMenu, MenuItem, MenuActions, Notifications, NotificationStatus, NotificationsStore, notificationsStore, Spinner, Stepper, Wizard, WizardStep, PodDetailsList, NamespaceSelect, NamespaceSelectFilter, SubTitle, SearchInput, BarChart, memoryOptions, cpuOptions, PieChart, kubeDetailsUrlParam, kubeSelectedUrlParam, toggleDetails, showDetails, hideDetails, getDetailsUrl, KubeObjectDetails, KubeObjectListLayout, KubeObjectMenu, KubeObjectMeta, KubeEventDetails, StatusBrick, terminalStore, createTerminalTab, TerminalStore, logTabStore */
36315
36225
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36316
36226
 
36317
36227
  "use strict";
36318
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _renderer_components_layout_main_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../renderer/components/layout/main-layout */ \"./src/renderer/components/layout/main-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MainLayout\", function() { return _renderer_components_layout_main_layout__WEBPACK_IMPORTED_MODULE_0__[\"MainLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_setting_layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../renderer/components/layout/setting-layout */ \"./src/renderer/components/layout/setting-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingLayout\", function() { return _renderer_components_layout_setting_layout__WEBPACK_IMPORTED_MODULE_1__[\"SettingLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_page_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../renderer/components/layout/page-layout */ \"./src/renderer/components/layout/page-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageLayout\", function() { return _renderer_components_layout_page_layout__WEBPACK_IMPORTED_MODULE_2__[\"PageLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_wizard_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../renderer/components/layout/wizard-layout */ \"./src/renderer/components/layout/wizard-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WizardLayout\", function() { return _renderer_components_layout_wizard_layout__WEBPACK_IMPORTED_MODULE_3__[\"WizardLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_tab_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../renderer/components/layout/tab-layout */ \"./src/renderer/components/layout/tab-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TabLayout\", function() { return _renderer_components_layout_tab_layout__WEBPACK_IMPORTED_MODULE_4__[\"TabLayout\"]; });\n\n/* harmony import */ var _renderer_components_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../renderer/components/button */ \"./src/renderer/components/button/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return _renderer_components_button__WEBPACK_IMPORTED_MODULE_5__[\"Button\"]; });\n\n/* harmony import */ var _renderer_components_checkbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../renderer/components/checkbox */ \"./src/renderer/components/checkbox/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Checkbox\", function() { return _renderer_components_checkbox__WEBPACK_IMPORTED_MODULE_6__[\"Checkbox\"]; });\n\n/* harmony import */ var _renderer_components_radio__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../renderer/components/radio */ \"./src/renderer/components/radio/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadioGroup\", function() { return _renderer_components_radio__WEBPACK_IMPORTED_MODULE_7__[\"RadioGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Radio\", function() { return _renderer_components_radio__WEBPACK_IMPORTED_MODULE_7__[\"Radio\"]; });\n\n/* harmony import */ var _renderer_components_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../renderer/components/select */ \"./src/renderer/components/select/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Select\", function() { return _renderer_components_select__WEBPACK_IMPORTED_MODULE_8__[\"Select\"]; });\n\n/* harmony import */ var _renderer_components_slider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../renderer/components/slider */ \"./src/renderer/components/slider/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Slider\", function() { return _renderer_components_slider__WEBPACK_IMPORTED_MODULE_9__[\"Slider\"]; });\n\n/* harmony import */ var _renderer_components_switch__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../renderer/components/switch */ \"./src/renderer/components/switch/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Switcher\", function() { return _renderer_components_switch__WEBPACK_IMPORTED_MODULE_10__[\"Switcher\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FormSwitch\", function() { return _renderer_components_switch__WEBPACK_IMPORTED_MODULE_10__[\"FormSwitch\"]; });\n\n/* harmony import */ var _renderer_components_input_input__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../renderer/components/input/input */ \"./src/renderer/components/input/input.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputValidators\", function() { return _renderer_components_input_input__WEBPACK_IMPORTED_MODULE_11__[\"InputValidators\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Input\", function() { return _renderer_components_input_input__WEBPACK_IMPORTED_MODULE_11__[\"Input\"]; });\n\n/* harmony import */ var _renderer_components_command_palette__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../renderer/components/command-palette */ \"./src/renderer/components/command-palette/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CommandOverlay\", function() { return _renderer_components_command_palette__WEBPACK_IMPORTED_MODULE_12__[\"CommandOverlay\"]; });\n\n/* harmony import */ var _renderer_components_icon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../renderer/components/icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Icon\", function() { return _renderer_components_icon__WEBPACK_IMPORTED_MODULE_13__[\"Icon\"]; });\n\n/* harmony import */ var _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../renderer/components/tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TooltipPosition\", function() { return _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__[\"TooltipPosition\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__[\"Tooltip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withTooltip\", function() { return _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__[\"withTooltip\"]; });\n\n/* harmony import */ var _renderer_components_tabs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../renderer/components/tabs */ \"./src/renderer/components/tabs/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tabs\", function() { return _renderer_components_tabs__WEBPACK_IMPORTED_MODULE_15__[\"Tabs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tab\", function() { return _renderer_components_tabs__WEBPACK_IMPORTED_MODULE_15__[\"Tab\"]; });\n\n/* harmony import */ var _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../renderer/components/table */ \"./src/renderer/components/table/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortByUrlParam\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"sortByUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"orderByUrlParam\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"orderByUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Table\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"Table\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TableHead\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"TableHead\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TableRow\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"TableRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TableCell\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"TableCell\"]; });\n\n/* harmony import */ var _renderer_components_badge__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../renderer/components/badge */ \"./src/renderer/components/badge/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Badge\", function() { return _renderer_components_badge__WEBPACK_IMPORTED_MODULE_17__[\"Badge\"]; });\n\n/* harmony import */ var _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../renderer/components/drawer */ \"./src/renderer/components/drawer/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Drawer\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"Drawer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerTitle\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerTitle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerItem\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerItemLabels\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerItemLabels\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerParamToggler\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerParamToggler\"]; });\n\n/* harmony import */ var _renderer_components_dialog__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../renderer/components/dialog */ \"./src/renderer/components/dialog/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Dialog\", function() { return _renderer_components_dialog__WEBPACK_IMPORTED_MODULE_19__[\"Dialog\"]; });\n\n/* harmony import */ var _renderer_components_confirm_dialog__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../renderer/components/confirm-dialog */ \"./src/renderer/components/confirm-dialog/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConfirmDialog\", function() { return _renderer_components_confirm_dialog__WEBPACK_IMPORTED_MODULE_20__[\"ConfirmDialog\"]; });\n\n/* harmony import */ var _renderer_components_line_progress__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../renderer/components/line-progress */ \"./src/renderer/components/line-progress/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineProgress\", function() { return _renderer_components_line_progress__WEBPACK_IMPORTED_MODULE_21__[\"LineProgress\"]; });\n\n/* harmony import */ var _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../renderer/components/menu */ \"./src/renderer/components/menu/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuContext\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"MenuContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Menu\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"Menu\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SubMenu\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"SubMenu\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuItem\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"MenuItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuActions\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"MenuActions\"]; });\n\n/* harmony import */ var _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../renderer/components/notifications */ \"./src/renderer/components/notifications/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifications\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"Notifications\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NotificationStatus\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"NotificationStatus\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NotificationsStore\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"NotificationsStore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"notificationsStore\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"notificationsStore\"]; });\n\n/* harmony import */ var _renderer_components_spinner__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../renderer/components/spinner */ \"./src/renderer/components/spinner/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Spinner\", function() { return _renderer_components_spinner__WEBPACK_IMPORTED_MODULE_24__[\"Spinner\"]; });\n\n/* harmony import */ var _renderer_components_stepper__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../renderer/components/stepper */ \"./src/renderer/components/stepper/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Stepper\", function() { return _renderer_components_stepper__WEBPACK_IMPORTED_MODULE_25__[\"Stepper\"]; });\n\n/* harmony import */ var _renderer_components_wizard__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../renderer/components/wizard */ \"./src/renderer/components/wizard/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Wizard\", function() { return _renderer_components_wizard__WEBPACK_IMPORTED_MODULE_26__[\"Wizard\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WizardStep\", function() { return _renderer_components_wizard__WEBPACK_IMPORTED_MODULE_26__[\"WizardStep\"]; });\n\n/* harmony import */ var _renderer_components_workloads_pods_pod_details_list__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../renderer/components/+workloads-pods/pod-details-list */ \"./src/renderer/components/+workloads-pods/pod-details-list.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodDetailsList\", function() { return _renderer_components_workloads_pods_pod_details_list__WEBPACK_IMPORTED_MODULE_27__[\"PodDetailsList\"]; });\n\n/* harmony import */ var _renderer_components_namespaces_namespace_select__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../renderer/components/+namespaces/namespace-select */ \"./src/renderer/components/+namespaces/namespace-select.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NamespaceSelect\", function() { return _renderer_components_namespaces_namespace_select__WEBPACK_IMPORTED_MODULE_28__[\"NamespaceSelect\"]; });\n\n/* harmony import */ var _renderer_components_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../renderer/components/+namespaces/namespace-select-filter */ \"./src/renderer/components/+namespaces/namespace-select-filter.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NamespaceSelectFilter\", function() { return _renderer_components_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_29__[\"NamespaceSelectFilter\"]; });\n\n/* harmony import */ var _renderer_components_layout_sub_title__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../renderer/components/layout/sub-title */ \"./src/renderer/components/layout/sub-title.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SubTitle\", function() { return _renderer_components_layout_sub_title__WEBPACK_IMPORTED_MODULE_30__[\"SubTitle\"]; });\n\n/* harmony import */ var _renderer_components_input_search_input__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../renderer/components/input/search-input */ \"./src/renderer/components/input/search-input.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SearchInput\", function() { return _renderer_components_input_search_input__WEBPACK_IMPORTED_MODULE_31__[\"SearchInput\"]; });\n\n/* harmony import */ var _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../renderer/components/chart/bar-chart */ \"./src/renderer/components/chart/bar-chart.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BarChart\", function() { return _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__[\"BarChart\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoryOptions\", function() { return _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__[\"memoryOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuOptions\", function() { return _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__[\"cpuOptions\"]; });\n\n/* harmony import */ var _renderer_components_chart_pie_chart__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../renderer/components/chart/pie-chart */ \"./src/renderer/components/chart/pie-chart.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PieChart\", function() { return _renderer_components_chart_pie_chart__WEBPACK_IMPORTED_MODULE_33__[\"PieChart\"]; });\n\n/* harmony import */ var _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../renderer/components/kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeDetailsUrlParam\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"kubeDetailsUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeSelectedUrlParam\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"kubeSelectedUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showDetails\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"showDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hideDetails\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"hideDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDetailsUrl\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"getDetailsUrl\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_details__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../renderer/components/kube-object-details */ \"./src/renderer/components/kube-object-details/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectDetails\", function() { return _renderer_components_kube_object_details__WEBPACK_IMPORTED_MODULE_35__[\"KubeObjectDetails\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../../renderer/components/kube-object-list-layout */ \"./src/renderer/components/kube-object-list-layout/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectListLayout\", function() { return _renderer_components_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_36__[\"KubeObjectListLayout\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_menu__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../renderer/components/kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectMenu\", function() { return _renderer_components_kube_object_menu__WEBPACK_IMPORTED_MODULE_37__[\"KubeObjectMenu\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_meta__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../renderer/components/kube-object-meta */ \"./src/renderer/components/kube-object-meta/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectMeta\", function() { return _renderer_components_kube_object_meta__WEBPACK_IMPORTED_MODULE_38__[\"KubeObjectMeta\"]; });\n\n/* harmony import */ var _renderer_components_events_kube_event_details__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../../renderer/components/+events/kube-event-details */ \"./src/renderer/components/+events/kube-event-details.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeEventDetails\", function() { return _renderer_components_events_kube_event_details__WEBPACK_IMPORTED_MODULE_39__[\"KubeEventDetails\"]; });\n\n/* harmony import */ var _renderer_components_status_brick__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../../renderer/components/status-brick */ \"./src/renderer/components/status-brick/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatusBrick\", function() { return _renderer_components_status_brick__WEBPACK_IMPORTED_MODULE_40__[\"StatusBrick\"]; });\n\n/* harmony import */ var _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../../renderer/components/dock/terminal.store */ \"./src/renderer/components/dock/terminal.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"terminalStore\", function() { return _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__[\"terminalStore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTerminalTab\", function() { return _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__[\"createTerminalTab\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TerminalStore\", function() { return _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__[\"TerminalStore\"]; });\n\n/* harmony import */ var _renderer_components_dock_log_tab_store__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../../renderer/components/dock/log-tab.store */ \"./src/renderer/components/dock/log-tab.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"logTabStore\", function() { return _renderer_components_dock_log_tab_store__WEBPACK_IMPORTED_MODULE_42__[\"logTabStore\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// layouts\n\n\n\n\n\n// form-controls\n\n\n\n\n\n\n\n// command-overlay\n\n// other components\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// kube helpers\n\n\n\n\n\n\n// specific exports\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/renderer-api/components.ts?");
36228
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _renderer_components_layout_main_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../renderer/components/layout/main-layout */ \"./src/renderer/components/layout/main-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MainLayout\", function() { return _renderer_components_layout_main_layout__WEBPACK_IMPORTED_MODULE_0__[\"MainLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_setting_layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../renderer/components/layout/setting-layout */ \"./src/renderer/components/layout/setting-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingLayout\", function() { return _renderer_components_layout_setting_layout__WEBPACK_IMPORTED_MODULE_1__[\"SettingLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_page_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../renderer/components/layout/page-layout */ \"./src/renderer/components/layout/page-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageLayout\", function() { return _renderer_components_layout_page_layout__WEBPACK_IMPORTED_MODULE_2__[\"PageLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_wizard_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../renderer/components/layout/wizard-layout */ \"./src/renderer/components/layout/wizard-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WizardLayout\", function() { return _renderer_components_layout_wizard_layout__WEBPACK_IMPORTED_MODULE_3__[\"WizardLayout\"]; });\n\n/* harmony import */ var _renderer_components_layout_tab_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../renderer/components/layout/tab-layout */ \"./src/renderer/components/layout/tab-layout.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TabLayout\", function() { return _renderer_components_layout_tab_layout__WEBPACK_IMPORTED_MODULE_4__[\"TabLayout\"]; });\n\n/* harmony import */ var _renderer_components_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../renderer/components/button */ \"./src/renderer/components/button/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return _renderer_components_button__WEBPACK_IMPORTED_MODULE_5__[\"Button\"]; });\n\n/* harmony import */ var _renderer_components_checkbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../renderer/components/checkbox */ \"./src/renderer/components/checkbox/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Checkbox\", function() { return _renderer_components_checkbox__WEBPACK_IMPORTED_MODULE_6__[\"Checkbox\"]; });\n\n/* harmony import */ var _renderer_components_radio__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../renderer/components/radio */ \"./src/renderer/components/radio/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadioGroup\", function() { return _renderer_components_radio__WEBPACK_IMPORTED_MODULE_7__[\"RadioGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Radio\", function() { return _renderer_components_radio__WEBPACK_IMPORTED_MODULE_7__[\"Radio\"]; });\n\n/* harmony import */ var _renderer_components_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../renderer/components/select */ \"./src/renderer/components/select/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Select\", function() { return _renderer_components_select__WEBPACK_IMPORTED_MODULE_8__[\"Select\"]; });\n\n/* harmony import */ var _renderer_components_slider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../renderer/components/slider */ \"./src/renderer/components/slider/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Slider\", function() { return _renderer_components_slider__WEBPACK_IMPORTED_MODULE_9__[\"Slider\"]; });\n\n/* harmony import */ var _renderer_components_switch__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../renderer/components/switch */ \"./src/renderer/components/switch/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Switcher\", function() { return _renderer_components_switch__WEBPACK_IMPORTED_MODULE_10__[\"Switcher\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FormSwitch\", function() { return _renderer_components_switch__WEBPACK_IMPORTED_MODULE_10__[\"FormSwitch\"]; });\n\n/* harmony import */ var _renderer_components_input_input__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../renderer/components/input/input */ \"./src/renderer/components/input/input.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InputValidators\", function() { return _renderer_components_input_input__WEBPACK_IMPORTED_MODULE_11__[\"InputValidators\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Input\", function() { return _renderer_components_input_input__WEBPACK_IMPORTED_MODULE_11__[\"Input\"]; });\n\n/* harmony import */ var _renderer_components_command_palette__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../renderer/components/command-palette */ \"./src/renderer/components/command-palette/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CommandOverlay\", function() { return _renderer_components_command_palette__WEBPACK_IMPORTED_MODULE_12__[\"CommandOverlay\"]; });\n\n/* harmony import */ var _renderer_components_icon__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../renderer/components/icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Icon\", function() { return _renderer_components_icon__WEBPACK_IMPORTED_MODULE_13__[\"Icon\"]; });\n\n/* harmony import */ var _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../renderer/components/tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TooltipPosition\", function() { return _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__[\"TooltipPosition\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__[\"Tooltip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withTooltip\", function() { return _renderer_components_tooltip__WEBPACK_IMPORTED_MODULE_14__[\"withTooltip\"]; });\n\n/* harmony import */ var _renderer_components_tabs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../renderer/components/tabs */ \"./src/renderer/components/tabs/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tabs\", function() { return _renderer_components_tabs__WEBPACK_IMPORTED_MODULE_15__[\"Tabs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tab\", function() { return _renderer_components_tabs__WEBPACK_IMPORTED_MODULE_15__[\"Tab\"]; });\n\n/* harmony import */ var _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../renderer/components/table */ \"./src/renderer/components/table/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortByUrlParam\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"sortByUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"orderByUrlParam\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"orderByUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Table\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"Table\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TableHead\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"TableHead\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TableRow\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"TableRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TableCell\", function() { return _renderer_components_table__WEBPACK_IMPORTED_MODULE_16__[\"TableCell\"]; });\n\n/* harmony import */ var _renderer_components_badge__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../renderer/components/badge */ \"./src/renderer/components/badge/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Badge\", function() { return _renderer_components_badge__WEBPACK_IMPORTED_MODULE_17__[\"Badge\"]; });\n\n/* harmony import */ var _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../renderer/components/drawer */ \"./src/renderer/components/drawer/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Drawer\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"Drawer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerTitle\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerTitle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerItem\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerItemLabels\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerItemLabels\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DrawerParamToggler\", function() { return _renderer_components_drawer__WEBPACK_IMPORTED_MODULE_18__[\"DrawerParamToggler\"]; });\n\n/* harmony import */ var _renderer_components_dialog__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../renderer/components/dialog */ \"./src/renderer/components/dialog/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Dialog\", function() { return _renderer_components_dialog__WEBPACK_IMPORTED_MODULE_19__[\"Dialog\"]; });\n\n/* harmony import */ var _renderer_components_confirm_dialog__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../renderer/components/confirm-dialog */ \"./src/renderer/components/confirm-dialog/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConfirmDialog\", function() { return _renderer_components_confirm_dialog__WEBPACK_IMPORTED_MODULE_20__[\"ConfirmDialog\"]; });\n\n/* harmony import */ var _renderer_components_line_progress__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../renderer/components/line-progress */ \"./src/renderer/components/line-progress/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineProgress\", function() { return _renderer_components_line_progress__WEBPACK_IMPORTED_MODULE_21__[\"LineProgress\"]; });\n\n/* harmony import */ var _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../renderer/components/menu */ \"./src/renderer/components/menu/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuContext\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"MenuContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Menu\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"Menu\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SubMenu\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"SubMenu\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuItem\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"MenuItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuActions\", function() { return _renderer_components_menu__WEBPACK_IMPORTED_MODULE_22__[\"MenuActions\"]; });\n\n/* harmony import */ var _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../renderer/components/notifications */ \"./src/renderer/components/notifications/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifications\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"Notifications\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NotificationStatus\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"NotificationStatus\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NotificationsStore\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"NotificationsStore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"notificationsStore\", function() { return _renderer_components_notifications__WEBPACK_IMPORTED_MODULE_23__[\"notificationsStore\"]; });\n\n/* harmony import */ var _renderer_components_spinner__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../renderer/components/spinner */ \"./src/renderer/components/spinner/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Spinner\", function() { return _renderer_components_spinner__WEBPACK_IMPORTED_MODULE_24__[\"Spinner\"]; });\n\n/* harmony import */ var _renderer_components_stepper__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../renderer/components/stepper */ \"./src/renderer/components/stepper/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Stepper\", function() { return _renderer_components_stepper__WEBPACK_IMPORTED_MODULE_25__[\"Stepper\"]; });\n\n/* harmony import */ var _renderer_components_wizard__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../renderer/components/wizard */ \"./src/renderer/components/wizard/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Wizard\", function() { return _renderer_components_wizard__WEBPACK_IMPORTED_MODULE_26__[\"Wizard\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WizardStep\", function() { return _renderer_components_wizard__WEBPACK_IMPORTED_MODULE_26__[\"WizardStep\"]; });\n\n/* harmony import */ var _renderer_components_workloads_pods_pod_details_list__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../renderer/components/+workloads-pods/pod-details-list */ \"./src/renderer/components/+workloads-pods/pod-details-list.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodDetailsList\", function() { return _renderer_components_workloads_pods_pod_details_list__WEBPACK_IMPORTED_MODULE_27__[\"PodDetailsList\"]; });\n\n/* harmony import */ var _renderer_components_namespaces_namespace_select__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../renderer/components/+namespaces/namespace-select */ \"./src/renderer/components/+namespaces/namespace-select.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NamespaceSelect\", function() { return _renderer_components_namespaces_namespace_select__WEBPACK_IMPORTED_MODULE_28__[\"NamespaceSelect\"]; });\n\n/* harmony import */ var _renderer_components_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../renderer/components/+namespaces/namespace-select-filter */ \"./src/renderer/components/+namespaces/namespace-select-filter.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NamespaceSelectFilter\", function() { return _renderer_components_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_29__[\"NamespaceSelectFilter\"]; });\n\n/* harmony import */ var _renderer_components_layout_sub_title__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../renderer/components/layout/sub-title */ \"./src/renderer/components/layout/sub-title.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SubTitle\", function() { return _renderer_components_layout_sub_title__WEBPACK_IMPORTED_MODULE_30__[\"SubTitle\"]; });\n\n/* harmony import */ var _renderer_components_input_search_input__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../renderer/components/input/search-input */ \"./src/renderer/components/input/search-input.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SearchInput\", function() { return _renderer_components_input_search_input__WEBPACK_IMPORTED_MODULE_31__[\"SearchInput\"]; });\n\n/* harmony import */ var _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../renderer/components/chart/bar-chart */ \"./src/renderer/components/chart/bar-chart.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BarChart\", function() { return _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__[\"BarChart\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoryOptions\", function() { return _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__[\"memoryOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuOptions\", function() { return _renderer_components_chart_bar_chart__WEBPACK_IMPORTED_MODULE_32__[\"cpuOptions\"]; });\n\n/* harmony import */ var _renderer_components_chart_pie_chart__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../renderer/components/chart/pie-chart */ \"./src/renderer/components/chart/pie-chart.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PieChart\", function() { return _renderer_components_chart_pie_chart__WEBPACK_IMPORTED_MODULE_33__[\"PieChart\"]; });\n\n/* harmony import */ var _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../renderer/components/kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeDetailsUrlParam\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"kubeDetailsUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeSelectedUrlParam\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"kubeSelectedUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toggleDetails\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"toggleDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showDetails\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"showDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hideDetails\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"hideDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDetailsUrl\", function() { return _renderer_components_kube_detail_params__WEBPACK_IMPORTED_MODULE_34__[\"getDetailsUrl\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_details__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../renderer/components/kube-object-details */ \"./src/renderer/components/kube-object-details/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectDetails\", function() { return _renderer_components_kube_object_details__WEBPACK_IMPORTED_MODULE_35__[\"KubeObjectDetails\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../../renderer/components/kube-object-list-layout */ \"./src/renderer/components/kube-object-list-layout/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectListLayout\", function() { return _renderer_components_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_36__[\"KubeObjectListLayout\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_menu__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../renderer/components/kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectMenu\", function() { return _renderer_components_kube_object_menu__WEBPACK_IMPORTED_MODULE_37__[\"KubeObjectMenu\"]; });\n\n/* harmony import */ var _renderer_components_kube_object_meta__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../renderer/components/kube-object-meta */ \"./src/renderer/components/kube-object-meta/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectMeta\", function() { return _renderer_components_kube_object_meta__WEBPACK_IMPORTED_MODULE_38__[\"KubeObjectMeta\"]; });\n\n/* harmony import */ var _renderer_components_events_kube_event_details__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../../renderer/components/+events/kube-event-details */ \"./src/renderer/components/+events/kube-event-details.tsx\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeEventDetails\", function() { return _renderer_components_events_kube_event_details__WEBPACK_IMPORTED_MODULE_39__[\"KubeEventDetails\"]; });\n\n/* harmony import */ var _renderer_components_status_brick__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../../renderer/components/status-brick */ \"./src/renderer/components/status-brick/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatusBrick\", function() { return _renderer_components_status_brick__WEBPACK_IMPORTED_MODULE_40__[\"StatusBrick\"]; });\n\n/* harmony import */ var _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../../renderer/components/dock/terminal.store */ \"./src/renderer/components/dock/terminal.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"terminalStore\", function() { return _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__[\"terminalStore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTerminalTab\", function() { return _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__[\"createTerminalTab\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TerminalStore\", function() { return _renderer_components_dock_terminal_store__WEBPACK_IMPORTED_MODULE_41__[\"TerminalStore\"]; });\n\n/* harmony import */ var _renderer_components_dock_log_tab_store__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../../renderer/components/dock/log-tab.store */ \"./src/renderer/components/dock/log-tab.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"logTabStore\", function() { return _renderer_components_dock_log_tab_store__WEBPACK_IMPORTED_MODULE_42__[\"logTabStore\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// layouts\n\n\n\n\n\n// form-controls\n\n\n\n\n\n\n\n// command-overlay\n\n// other components\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// kube helpers\n\n\n\n\n\n\n// specific exports\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/renderer-api/components.ts?");
36319
36229
 
36320
36230
  /***/ }),
36321
36231
 
@@ -36335,11 +36245,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cat
36335
36245
  /*!************************************************!*\
36336
36246
  !*** ./src/extensions/renderer-api/k8s-api.ts ***!
36337
36247
  \************************************************/
36338
- /*! exports provided: isAllowedResource, ResourceStack, apiManager, KubeObjectStore, KubeApi, forCluster, KubeObject, Pod, podsApi, PodsApi, Node, nodesApi, NodesApi, Deployment, deploymentApi, DeploymentApi, DaemonSet, daemonSetApi, StatefulSet, statefulSetApi, Job, jobApi, CronJob, cronJobApi, ConfigMap, configMapApi, Secret, secretsApi, ReplicaSet, replicaSetApi, ResourceQuota, resourceQuotaApi, LimitRange, limitRangeApi, HorizontalPodAutoscaler, hpaApi, PodDisruptionBudget, pdbApi, Service, serviceApi, Endpoint, endpointApi, Ingress, ingressApi, IngressApi, NetworkPolicy, networkPolicyApi, PersistentVolume, persistentVolumeApi, PersistentVolumeClaim, pvcApi, PersistentVolumeClaimsApi, StorageClass, storageClassApi, Namespace, namespacesApi, KubeEvent, eventApi, ServiceAccount, serviceAccountsApi, Role, roleApi, RoleBinding, roleBindingApi, ClusterRole, clusterRoleApi, ClusterRoleBinding, clusterRoleBindingApi, CustomResourceDefinition, crdApi, KubeObjectStatusLevel */
36248
+ /*! exports provided: isAllowedResource, ResourceStack, apiManager, KubeObjectStore, KubeApi, forCluster, forRemoteCluster, KubeObject, Pod, podsApi, PodsApi, Node, nodesApi, NodesApi, Deployment, deploymentApi, DeploymentApi, DaemonSet, daemonSetApi, StatefulSet, statefulSetApi, Job, jobApi, CronJob, cronJobApi, ConfigMap, configMapApi, Secret, secretsApi, ReplicaSet, replicaSetApi, ResourceQuota, resourceQuotaApi, LimitRange, limitRangeApi, HorizontalPodAutoscaler, hpaApi, PodDisruptionBudget, pdbApi, Service, serviceApi, Endpoint, endpointApi, Ingress, ingressApi, IngressApi, NetworkPolicy, networkPolicyApi, PersistentVolume, persistentVolumeApi, PersistentVolumeClaim, pvcApi, PersistentVolumeClaimsApi, StorageClass, storageClassApi, Namespace, namespacesApi, KubeEvent, eventApi, ServiceAccount, serviceAccountsApi, Role, roleApi, RoleBinding, roleBindingApi, ClusterRole, clusterRoleApi, ClusterRoleBinding, clusterRoleBindingApi, CustomResourceDefinition, crdApi, KubeObjectStatusLevel */
36339
36249
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36340
36250
 
36341
36251
  "use strict";
36342
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/allowed-resource */ \"./src/common/utils/allowed-resource.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isAllowedResource\", function() { return _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__[\"isAllowedResource\"]; });\n\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceStack\", function() { return _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__[\"ResourceStack\"]; });\n\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"apiManager\", function() { return _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__[\"apiManager\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStore\", function() { return _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_3__[\"KubeObjectStore\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeApi\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__[\"KubeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forCluster\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__[\"forCluster\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObject\", function() { return _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_5__[\"KubeObject\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/endpoints */ \"./src/common/k8s-api/endpoints/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Pod\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Pod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"podsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"podsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PodsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Node\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nodesApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"nodesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NodesApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"NodesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Deployment\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Deployment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deploymentApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"deploymentApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeploymentApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"DeploymentApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DaemonSet\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"DaemonSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"daemonSetApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"daemonSetApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatefulSet\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"StatefulSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"statefulSetApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"statefulSetApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Job\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Job\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"jobApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"jobApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CronJob\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"CronJob\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cronJobApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"cronJobApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConfigMap\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ConfigMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"configMapApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"configMapApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Secret\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Secret\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"secretsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"secretsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReplicaSet\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ReplicaSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replicaSetApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"replicaSetApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceQuota\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ResourceQuota\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resourceQuotaApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"resourceQuotaApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LimitRange\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"LimitRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"limitRangeApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"limitRangeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HorizontalPodAutoscaler\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"HorizontalPodAutoscaler\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hpaApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"hpaApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodDisruptionBudget\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PodDisruptionBudget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdbApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"pdbApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Service\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Service\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"serviceApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Endpoint\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Endpoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endpointApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"endpointApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ingress\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Ingress\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ingressApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ingressApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IngressApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"IngressApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NetworkPolicy\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"NetworkPolicy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"networkPolicyApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"networkPolicyApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolume\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PersistentVolume\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"persistentVolumeApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"persistentVolumeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaim\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PersistentVolumeClaim\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pvcApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"pvcApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaimsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PersistentVolumeClaimsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageClass\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"StorageClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"storageClassApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"storageClassApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Namespace\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Namespace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"namespacesApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"namespacesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeEvent\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"KubeEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"eventApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ServiceAccount\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ServiceAccount\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceAccountsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"serviceAccountsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Role\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Role\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"roleApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RoleBinding\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"RoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleBindingApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"roleBindingApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRole\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ClusterRole\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"clusterRoleApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRoleBinding\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ClusterRoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleBindingApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"clusterRoleBindingApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomResourceDefinition\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"CustomResourceDefinition\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"crdApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"crdApi\"]; });\n\n/* harmony import */ var _kube_object_status__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./kube-object-status */ \"./src/extensions/renderer-api/kube-object-status.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStatusLevel\", function() { return _kube_object_status__WEBPACK_IMPORTED_MODULE_7__[\"KubeObjectStatusLevel\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/renderer-api/k8s-api.ts?");
36252
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/allowed-resource */ \"./src/common/utils/allowed-resource.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isAllowedResource\", function() { return _common_utils_allowed_resource__WEBPACK_IMPORTED_MODULE_0__[\"isAllowedResource\"]; });\n\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceStack\", function() { return _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_1__[\"ResourceStack\"]; });\n\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"apiManager\", function() { return _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_2__[\"apiManager\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStore\", function() { return _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_3__[\"KubeObjectStore\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeApi\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__[\"KubeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forCluster\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__[\"forCluster\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forRemoteCluster\", function() { return _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_4__[\"forRemoteCluster\"]; });\n\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObject\", function() { return _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_5__[\"KubeObject\"]; });\n\n/* harmony import */ var _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/endpoints */ \"./src/common/k8s-api/endpoints/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Pod\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Pod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"podsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"podsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PodsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Node\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nodesApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"nodesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NodesApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"NodesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Deployment\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Deployment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deploymentApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"deploymentApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeploymentApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"DeploymentApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DaemonSet\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"DaemonSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"daemonSetApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"daemonSetApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StatefulSet\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"StatefulSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"statefulSetApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"statefulSetApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Job\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Job\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"jobApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"jobApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CronJob\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"CronJob\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cronJobApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"cronJobApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConfigMap\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ConfigMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"configMapApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"configMapApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Secret\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Secret\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"secretsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"secretsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReplicaSet\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ReplicaSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replicaSetApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"replicaSetApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResourceQuota\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ResourceQuota\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resourceQuotaApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"resourceQuotaApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LimitRange\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"LimitRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"limitRangeApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"limitRangeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HorizontalPodAutoscaler\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"HorizontalPodAutoscaler\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hpaApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"hpaApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PodDisruptionBudget\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PodDisruptionBudget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdbApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"pdbApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Service\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Service\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"serviceApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Endpoint\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Endpoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endpointApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"endpointApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ingress\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Ingress\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ingressApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ingressApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IngressApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"IngressApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NetworkPolicy\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"NetworkPolicy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"networkPolicyApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"networkPolicyApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolume\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PersistentVolume\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"persistentVolumeApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"persistentVolumeApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaim\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PersistentVolumeClaim\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pvcApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"pvcApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersistentVolumeClaimsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"PersistentVolumeClaimsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageClass\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"StorageClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"storageClassApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"storageClassApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Namespace\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Namespace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"namespacesApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"namespacesApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeEvent\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"KubeEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eventApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"eventApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ServiceAccount\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ServiceAccount\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"serviceAccountsApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"serviceAccountsApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Role\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"Role\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"roleApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RoleBinding\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"RoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roleBindingApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"roleBindingApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRole\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ClusterRole\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"clusterRoleApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClusterRoleBinding\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"ClusterRoleBinding\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clusterRoleBindingApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"clusterRoleBindingApi\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomResourceDefinition\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"CustomResourceDefinition\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"crdApi\", function() { return _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_6__[\"crdApi\"]; });\n\n/* harmony import */ var _kube_object_status__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./kube-object-status */ \"./src/extensions/renderer-api/kube-object-status.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectStatusLevel\", function() { return _kube_object_status__WEBPACK_IMPORTED_MODULE_7__[\"KubeObjectStatusLevel\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/extensions/renderer-api/k8s-api.ts?");
36343
36253
 
36344
36254
  /***/ }),
36345
36255
 
@@ -36531,7 +36441,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
36531
36441
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36532
36442
 
36533
36443
  "use strict";
36534
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bundledKubectlPath\", function() { return bundledKubectlPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Kubectl\", function() { return Kubectl; });\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs */ \"fs\");\n/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _promise_exec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./promise-exec */ \"./src/main/promise-exec.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! fs-extra */ \"./node_modules/fs-extra/lib/index.js\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var proper_lockfile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! proper-lockfile */ \"./node_modules/proper-lockfile/index.js\");\n/* harmony import */ var proper_lockfile__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(proper_lockfile__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _helm_helm_cli__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./helm/helm-cli */ \"./src/main/helm/helm-cli.ts\");\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var _common_request__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/request */ \"./src/common/request.ts\");\n/* harmony import */ var _common_utils_app_version__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/utils/app-version */ \"./src/common/utils/app-version.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(semver__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _common_utils_getPath__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/utils/getPath */ \"./src/common/utils/getPath.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst bundledVersion = Object(_common_utils_app_version__WEBPACK_IMPORTED_MODULE_9__[\"getBundledKubectlVersion\"])();\nconst kubectlMap = new Map([\n [\"1.7\", \"1.8.15\"],\n [\"1.8\", \"1.9.10\"],\n [\"1.9\", \"1.10.13\"],\n [\"1.10\", \"1.11.10\"],\n [\"1.11\", \"1.12.10\"],\n [\"1.12\", \"1.13.12\"],\n [\"1.13\", \"1.13.12\"],\n [\"1.14\", \"1.14.10\"],\n [\"1.15\", \"1.15.11\"],\n [\"1.16\", \"1.16.15\"],\n [\"1.17\", \"1.17.17\"],\n [\"1.18\", \"1.18.20\"],\n [\"1.19\", \"1.19.12\"],\n [\"1.20\", \"1.20.8\"],\n [\"1.21\", bundledVersion]\n]);\nconst packageMirrors = new Map([\n [\"default\", \"https://storage.googleapis.com/kubernetes-release/release\"],\n [\"china\", \"https://mirror.azure.cn/kubernetes/kubectl\"]\n]);\nlet bundledPath;\nconst initScriptVersionString = \"# lens-initscript v3\\n\";\nfunction bundledKubectlPath() {\n if (bundledPath) {\n return bundledPath;\n }\n if (_common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isDevelopment\"] || _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isTestEnv\"]) {\n const platformName = _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"] ? \"windows\" : process.platform;\n bundledPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(process.cwd(), \"binaries\", \"client\", platformName, process.arch, \"kubectl\");\n }\n else {\n bundledPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(process.resourcesPath, process.arch, \"kubectl\");\n }\n if (_common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"]) {\n bundledPath = `${bundledPath}.exe`;\n }\n return bundledPath;\n}\nclass Kubectl {\n constructor(clusterVersion) {\n Object.defineProperty(this, \"kubectlVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"directory\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"path\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dirname\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n let version;\n try {\n version = new semver__WEBPACK_IMPORTED_MODULE_11__[\"SemVer\"](clusterVersion, { includePrerelease: false });\n }\n catch (_a) {\n version = new semver__WEBPACK_IMPORTED_MODULE_11__[\"SemVer\"](Kubectl.bundledKubectlVersion);\n }\n const minorVersion = `${version.major}.${version.minor}`;\n /* minorVersion is the first two digits of kube server version\n if the version map includes that, use that version, if not, fallback to the exact x.y.z of kube version */\n if (kubectlMap.has(minorVersion)) {\n this.kubectlVersion = kubectlMap.get(minorVersion);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Set kubectl version ${this.kubectlVersion} for cluster version ${clusterVersion} using version map`);\n }\n else {\n this.kubectlVersion = version.format();\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Set kubectl version ${this.kubectlVersion} for cluster version ${clusterVersion} using fallback`);\n }\n let arch = null;\n if (process.arch == \"x64\") {\n arch = \"amd64\";\n }\n else if (process.arch == \"x86\" || process.arch == \"ia32\") {\n arch = \"386\";\n }\n else {\n arch = process.arch;\n }\n const platformName = _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"] ? \"windows\" : process.platform;\n const binaryName = _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"] ? \"kubectl.exe\" : \"kubectl\";\n this.url = `${this.getDownloadMirror()}/v${this.kubectlVersion}/bin/${platformName}/${arch}/${binaryName}`;\n this.dirname = path__WEBPACK_IMPORTED_MODULE_0___default.a.normalize(path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.getDownloadDir(), this.kubectlVersion));\n this.path = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.dirname, binaryName);\n }\n static get kubectlDir() {\n return path__WEBPACK_IMPORTED_MODULE_0___default.a.join(Object(_common_utils_getPath__WEBPACK_IMPORTED_MODULE_12__[\"getPath\"])(\"userData\"), \"binaries\", \"kubectl\");\n }\n // Returns the single bundled Kubectl instance\n static bundled() {\n var _a;\n return (_a = Kubectl.bundledInstance) !== null && _a !== void 0 ? _a : (Kubectl.bundledInstance = new Kubectl(Kubectl.bundledKubectlVersion));\n }\n getBundledPath() {\n return bundledKubectlPath();\n }\n getPathFromPreferences() {\n return _common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().kubectlBinariesPath || this.getBundledPath();\n }\n getDownloadDir() {\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadBinariesPath) {\n return path__WEBPACK_IMPORTED_MODULE_0___default.a.join(_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadBinariesPath, \"kubectl\");\n }\n return Kubectl.kubectlDir;\n }\n async getPath(bundled = false) {\n if (bundled) {\n return this.getBundledPath();\n }\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadKubectlBinaries === false) {\n return this.getPathFromPreferences();\n }\n // return binary name if bundled path is not functional\n if (!await this.checkBinary(this.getBundledPath(), false)) {\n Kubectl.invalidBundle = true;\n return path__WEBPACK_IMPORTED_MODULE_0___default.a.basename(this.getBundledPath());\n }\n try {\n if (!await this.ensureKubectl()) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(\"Failed to ensure kubectl, fallback to the bundled version\");\n return this.getBundledPath();\n }\n return this.path;\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(\"Failed to ensure kubectl, fallback to the bundled version\");\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(err);\n return this.getBundledPath();\n }\n }\n async binDir() {\n try {\n await this.ensureKubectl();\n await this.writeInitScripts();\n return this.dirname;\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(err);\n return \"\";\n }\n }\n async checkBinary(path, checkVersion = true) {\n const exists = await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"pathExists\"])(path);\n if (exists) {\n try {\n const { stdout } = await Object(_promise_exec__WEBPACK_IMPORTED_MODULE_2__[\"promiseExec\"])(`\"${path}\" version --client=true -o json`);\n const output = JSON.parse(stdout);\n if (!checkVersion) {\n return true;\n }\n let version = output.clientVersion.gitVersion;\n if (version[0] === \"v\") {\n version = version.slice(1);\n }\n if (version === this.kubectlVersion) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Local kubectl is version ${this.kubectlVersion}`);\n return true;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Local kubectl is version ${version}, expected ${this.kubectlVersion}, unlinking`);\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Local kubectl failed to run properly (${err.message}), unlinking`);\n }\n await fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises.unlink(this.path);\n }\n return false;\n }\n async checkBundled() {\n if (this.kubectlVersion === Kubectl.bundledKubectlVersion) {\n try {\n const exist = await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"pathExists\"])(this.path);\n if (!exist) {\n await fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises.copyFile(this.getBundledPath(), this.path);\n await fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises.chmod(this.path, 0o755);\n }\n return true;\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Could not copy the bundled kubectl to app-data: ${err}`);\n return false;\n }\n }\n else {\n return false;\n }\n }\n async ensureKubectl() {\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadKubectlBinaries === false) {\n return true;\n }\n if (Kubectl.invalidBundle) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Detected invalid bundle binary, returning ...`);\n return false;\n }\n await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"ensureDir\"])(this.dirname, 0o755);\n return proper_lockfile__WEBPACK_IMPORTED_MODULE_5__[\"lock\"](this.dirname).then(async (release) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Acquired a lock for ${this.kubectlVersion}`);\n const bundled = await this.checkBundled();\n let isValid = await this.checkBinary(this.path, !bundled);\n if (!isValid && !bundled) {\n await this.downloadKubectl().catch((error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(error);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Releasing lock for ${this.kubectlVersion}`);\n release();\n return false;\n });\n isValid = !await this.checkBinary(this.path, false);\n }\n if (!isValid) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Releasing lock for ${this.kubectlVersion}`);\n release();\n return false;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Releasing lock for ${this.kubectlVersion}`);\n release();\n return true;\n }).catch((e) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Failed to get a lock for ${this.kubectlVersion}`);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(e);\n return false;\n });\n }\n async downloadKubectl() {\n await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"ensureDir\"])(path__WEBPACK_IMPORTED_MODULE_0___default.a.dirname(this.path), 0o755);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`Downloading kubectl ${this.kubectlVersion} from ${this.url} to ${this.path}`);\n return new Promise((resolve, reject) => {\n const stream = Object(_common_request__WEBPACK_IMPORTED_MODULE_8__[\"customRequest\"])({\n url: this.url,\n gzip: true,\n });\n const file = fs__WEBPACK_IMPORTED_MODULE_1___default.a.createWriteStream(this.path);\n stream.on(\"complete\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(\"kubectl binary download finished\");\n file.end();\n });\n stream.on(\"error\", (error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(error);\n fs__WEBPACK_IMPORTED_MODULE_1___default.a.unlink(this.path, () => {\n // do nothing\n });\n reject(error);\n });\n file.on(\"close\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(\"kubectl binary download closed\");\n fs__WEBPACK_IMPORTED_MODULE_1___default.a.chmod(this.path, 0o755, (err) => {\n if (err)\n reject(err);\n });\n resolve();\n });\n stream.pipe(file);\n });\n }\n async writeInitScripts() {\n const kubectlPath = _common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadKubectlBinaries ? this.dirname : path__WEBPACK_IMPORTED_MODULE_0___default.a.dirname(this.getPathFromPreferences());\n const helmPath = _helm_helm_cli__WEBPACK_IMPORTED_MODULE_6__[\"helmCli\"].getBinaryDir();\n const fsPromises = fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises;\n const bashScriptPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.dirname, \".bash_set_path\");\n let bashScript = `${initScriptVersionString}`;\n bashScript += \"tempkubeconfig=\\\"$KUBECONFIG\\\"\\n\";\n bashScript += \"test -f \\\"/etc/profile\\\" && . \\\"/etc/profile\\\"\\n\";\n bashScript += \"if test -f \\\"$HOME/.bash_profile\\\"; then\\n\";\n bashScript += \" . \\\"$HOME/.bash_profile\\\"\\n\";\n bashScript += \"elif test -f \\\"$HOME/.bash_login\\\"; then\\n\";\n bashScript += \" . \\\"$HOME/.bash_login\\\"\\n\";\n bashScript += \"elif test -f \\\"$HOME/.profile\\\"; then\\n\";\n bashScript += \" . \\\"$HOME/.profile\\\"\\n\";\n bashScript += \"fi\\n\";\n bashScript += `export PATH=\"${helmPath}:${kubectlPath}:$PATH\"\\n`;\n bashScript += \"export KUBECONFIG=\\\"$tempkubeconfig\\\"\\n\";\n bashScript += \"NO_PROXY=\\\",${NO_PROXY:-localhost},\\\"\\n\";\n bashScript += \"NO_PROXY=\\\"${NO_PROXY//,localhost,/,}\\\"\\n\";\n bashScript += \"NO_PROXY=\\\"${NO_PROXY//,127.0.0.1,/,}\\\"\\n\";\n bashScript += \"NO_PROXY=\\\"localhost,127.0.0.1${NO_PROXY%,}\\\"\\n\";\n bashScript += \"export NO_PROXY\\n\";\n bashScript += \"unset tempkubeconfig\\n\";\n await fsPromises.writeFile(bashScriptPath, bashScript.toString(), { mode: 0o644 });\n const zshScriptPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.dirname, \".zlogin\");\n let zshScript = `${initScriptVersionString}`;\n zshScript += \"tempkubeconfig=\\\"$KUBECONFIG\\\"\\n\";\n // restore previous ZDOTDIR\n zshScript += \"export ZDOTDIR=\\\"$OLD_ZDOTDIR\\\"\\n\";\n // source all the files\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zshenv\\\" && . \\\"$OLD_ZDOTDIR/.zshenv\\\"\\n\";\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zprofile\\\" && . \\\"$OLD_ZDOTDIR/.zprofile\\\"\\n\";\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zlogin\\\" && . \\\"$OLD_ZDOTDIR/.zlogin\\\"\\n\";\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zshrc\\\" && . \\\"$OLD_ZDOTDIR/.zshrc\\\"\\n\";\n // voodoo to replace any previous occurrences of kubectl path in the PATH\n zshScript += `kubectlpath=\\\"${kubectlPath}\"\\n`;\n zshScript += `helmpath=\\\"${helmPath}\"\\n`;\n zshScript += \"p=\\\":$kubectlpath:\\\"\\n\";\n zshScript += \"d=\\\":$PATH:\\\"\\n\";\n zshScript += \"d=${d//$p/:}\\n\";\n zshScript += \"d=${d/#:/}\\n\";\n zshScript += \"export PATH=\\\"$helmpath:$kubectlpath:${d/%:/}\\\"\\n\";\n zshScript += \"export KUBECONFIG=\\\"$tempkubeconfig\\\"\\n\";\n zshScript += \"NO_PROXY=\\\",${NO_PROXY:-localhost},\\\"\\n\";\n zshScript += \"NO_PROXY=\\\"${NO_PROXY//,localhost,/,}\\\"\\n\";\n zshScript += \"NO_PROXY=\\\"${NO_PROXY//,127.0.0.1,/,}\\\"\\n\";\n zshScript += \"NO_PROXY=\\\"localhost,127.0.0.1${NO_PROXY%,}\\\"\\n\";\n zshScript += \"export NO_PROXY\\n\";\n zshScript += \"unset tempkubeconfig\\n\";\n zshScript += \"unset OLD_ZDOTDIR\\n\";\n await fsPromises.writeFile(zshScriptPath, zshScript.toString(), { mode: 0o644 });\n }\n getDownloadMirror() {\n const mirror = packageMirrors.get(_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadMirror);\n if (mirror) {\n return mirror;\n }\n return packageMirrors.get(\"default\"); // MacOS packages are only available from default\n }\n}\nObject.defineProperty(Kubectl, \"bundledKubectlVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: bundledVersion\n});\nObject.defineProperty(Kubectl, \"invalidBundle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n});\n\n\n//# sourceURL=webpack:///./src/main/kubectl.ts?");
36444
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bundledKubectlPath\", function() { return bundledKubectlPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Kubectl\", function() { return Kubectl; });\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs */ \"fs\");\n/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _promise_exec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./promise-exec */ \"./src/main/promise-exec.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! fs-extra */ \"./node_modules/fs-extra/lib/index.js\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var proper_lockfile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! proper-lockfile */ \"./node_modules/proper-lockfile/index.js\");\n/* harmony import */ var proper_lockfile__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(proper_lockfile__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _helm_helm_cli__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./helm/helm-cli */ \"./src/main/helm/helm-cli.ts\");\n/* harmony import */ var _common_user_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/user-store */ \"./src/common/user-store/index.ts\");\n/* harmony import */ var _common_request__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/request */ \"./src/common/request.ts\");\n/* harmony import */ var _common_utils_app_version__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/utils/app-version */ \"./src/common/utils/app-version.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\n/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(semver__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _common_utils_getPath__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/utils/getPath */ \"./src/common/utils/getPath.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst bundledVersion = Object(_common_utils_app_version__WEBPACK_IMPORTED_MODULE_9__[\"getBundledKubectlVersion\"])();\nconst kubectlMap = new Map([\n [\"1.7\", \"1.8.15\"],\n [\"1.8\", \"1.9.10\"],\n [\"1.9\", \"1.10.13\"],\n [\"1.10\", \"1.11.10\"],\n [\"1.11\", \"1.12.10\"],\n [\"1.12\", \"1.13.12\"],\n [\"1.13\", \"1.13.12\"],\n [\"1.14\", \"1.14.10\"],\n [\"1.15\", \"1.15.11\"],\n [\"1.16\", \"1.16.15\"],\n [\"1.17\", \"1.17.17\"],\n [\"1.18\", \"1.18.20\"],\n [\"1.19\", \"1.19.12\"],\n [\"1.20\", \"1.20.8\"],\n [\"1.21\", bundledVersion]\n]);\nconst packageMirrors = new Map([\n [\"default\", \"https://storage.googleapis.com/kubernetes-release/release\"],\n [\"china\", \"https://mirror.azure.cn/kubernetes/kubectl\"]\n]);\nlet bundledPath;\nconst initScriptVersionString = \"# lens-initscript v3\\n\";\nfunction bundledKubectlPath() {\n if (bundledPath) {\n return bundledPath;\n }\n if (_common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isDevelopment\"] || _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isTestEnv\"]) {\n const platformName = _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"] ? \"windows\" : process.platform;\n bundledPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(process.cwd(), \"binaries\", \"client\", platformName, process.arch, \"kubectl\");\n }\n else {\n bundledPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(process.resourcesPath, process.arch, \"kubectl\");\n }\n if (_common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"]) {\n bundledPath = `${bundledPath}.exe`;\n }\n return bundledPath;\n}\nclass Kubectl {\n constructor(clusterVersion) {\n Object.defineProperty(this, \"kubectlVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"directory\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"path\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dirname\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n let version;\n try {\n version = new semver__WEBPACK_IMPORTED_MODULE_11__[\"SemVer\"](clusterVersion, { includePrerelease: false });\n }\n catch (_a) {\n version = new semver__WEBPACK_IMPORTED_MODULE_11__[\"SemVer\"](Kubectl.bundledKubectlVersion);\n }\n const minorVersion = `${version.major}.${version.minor}`;\n /* minorVersion is the first two digits of kube server version\n if the version map includes that, use that version, if not, fallback to the exact x.y.z of kube version */\n if (kubectlMap.has(minorVersion)) {\n this.kubectlVersion = kubectlMap.get(minorVersion);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Set kubectl version ${this.kubectlVersion} for cluster version ${clusterVersion} using version map`);\n }\n else {\n this.kubectlVersion = version.format();\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Set kubectl version ${this.kubectlVersion} for cluster version ${clusterVersion} using fallback`);\n }\n let arch = null;\n if (process.arch == \"x64\") {\n arch = \"amd64\";\n }\n else if (process.arch == \"x86\" || process.arch == \"ia32\") {\n arch = \"386\";\n }\n else {\n arch = process.arch;\n }\n const platformName = _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"] ? \"windows\" : process.platform;\n const binaryName = _common_vars__WEBPACK_IMPORTED_MODULE_10__[\"isWindows\"] ? \"kubectl.exe\" : \"kubectl\";\n this.url = `${this.getDownloadMirror()}/v${this.kubectlVersion}/bin/${platformName}/${arch}/${binaryName}`;\n this.dirname = path__WEBPACK_IMPORTED_MODULE_0___default.a.normalize(path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.getDownloadDir(), this.kubectlVersion));\n this.path = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.dirname, binaryName);\n }\n static get kubectlDir() {\n return path__WEBPACK_IMPORTED_MODULE_0___default.a.join(Object(_common_utils_getPath__WEBPACK_IMPORTED_MODULE_12__[\"getPath\"])(\"userData\"), \"binaries\", \"kubectl\");\n }\n // Returns the single bundled Kubectl instance\n static bundled() {\n var _a;\n return (_a = Kubectl.bundledInstance) !== null && _a !== void 0 ? _a : (Kubectl.bundledInstance = new Kubectl(Kubectl.bundledKubectlVersion));\n }\n getBundledPath() {\n return bundledKubectlPath();\n }\n getPathFromPreferences() {\n return _common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().kubectlBinariesPath || this.getBundledPath();\n }\n getDownloadDir() {\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadBinariesPath) {\n return path__WEBPACK_IMPORTED_MODULE_0___default.a.join(_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadBinariesPath, \"kubectl\");\n }\n return Kubectl.kubectlDir;\n }\n async getPath(bundled = false) {\n if (bundled) {\n return this.getBundledPath();\n }\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadKubectlBinaries === false) {\n return this.getPathFromPreferences();\n }\n // return binary name if bundled path is not functional\n if (!await this.checkBinary(this.getBundledPath(), false)) {\n Kubectl.invalidBundle = true;\n return path__WEBPACK_IMPORTED_MODULE_0___default.a.basename(this.getBundledPath());\n }\n try {\n if (!await this.ensureKubectl()) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(\"Failed to ensure kubectl, fallback to the bundled version\");\n return this.getBundledPath();\n }\n return this.path;\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(\"Failed to ensure kubectl, fallback to the bundled version\");\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(err);\n return this.getBundledPath();\n }\n }\n async binDir() {\n try {\n await this.ensureKubectl();\n await this.writeInitScripts();\n return this.dirname;\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(err);\n return \"\";\n }\n }\n async checkBinary(path, checkVersion = true) {\n const exists = await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"pathExists\"])(path);\n if (exists) {\n try {\n const { stdout } = await Object(_promise_exec__WEBPACK_IMPORTED_MODULE_2__[\"promiseExec\"])(`\"${path}\" version --client=true -o json`);\n const output = JSON.parse(stdout);\n if (!checkVersion) {\n return true;\n }\n let version = output.clientVersion.gitVersion;\n if (version[0] === \"v\") {\n version = version.slice(1);\n }\n if (version === this.kubectlVersion) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Local kubectl is version ${this.kubectlVersion}`);\n return true;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Local kubectl is version ${version}, expected ${this.kubectlVersion}, unlinking`);\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Local kubectl failed to run properly (${err.message}), unlinking`);\n }\n await fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises.unlink(this.path);\n }\n return false;\n }\n async checkBundled() {\n if (this.kubectlVersion === Kubectl.bundledKubectlVersion) {\n try {\n const exist = await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"pathExists\"])(this.path);\n if (!exist) {\n await fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises.copyFile(this.getBundledPath(), this.path);\n await fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises.chmod(this.path, 0o755);\n }\n return true;\n }\n catch (err) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Could not copy the bundled kubectl to app-data: ${err}`);\n return false;\n }\n }\n else {\n return false;\n }\n }\n async ensureKubectl() {\n if (_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadKubectlBinaries === false) {\n return true;\n }\n if (Kubectl.invalidBundle) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Detected invalid bundle binary, returning ...`);\n return false;\n }\n await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"ensureDir\"])(this.dirname, 0o755);\n return proper_lockfile__WEBPACK_IMPORTED_MODULE_5__[\"lock\"](this.dirname).then(async (release) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Acquired a lock for ${this.kubectlVersion}`);\n const bundled = await this.checkBundled();\n let isValid = await this.checkBinary(this.path, !bundled);\n if (!isValid && !bundled) {\n await this.downloadKubectl().catch((error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(error);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Releasing lock for ${this.kubectlVersion}`);\n release();\n return false;\n });\n isValid = await this.checkBinary(this.path, false);\n }\n if (!isValid) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Releasing lock for ${this.kubectlVersion}`);\n release();\n return false;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Releasing lock for ${this.kubectlVersion}`);\n release();\n return true;\n }).catch((e) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`Failed to get a lock for ${this.kubectlVersion}`);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(e);\n return false;\n });\n }\n async downloadKubectl() {\n await Object(fs_extra__WEBPACK_IMPORTED_MODULE_4__[\"ensureDir\"])(path__WEBPACK_IMPORTED_MODULE_0___default.a.dirname(this.path), 0o755);\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`Downloading kubectl ${this.kubectlVersion} from ${this.url} to ${this.path}`);\n return new Promise((resolve, reject) => {\n const stream = Object(_common_request__WEBPACK_IMPORTED_MODULE_8__[\"customRequest\"])({\n url: this.url,\n gzip: true,\n });\n const file = fs__WEBPACK_IMPORTED_MODULE_1___default.a.createWriteStream(this.path);\n stream.on(\"complete\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(\"kubectl binary download finished\");\n file.end();\n });\n stream.on(\"error\", (error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(error);\n fs__WEBPACK_IMPORTED_MODULE_1___default.a.unlink(this.path, () => {\n // do nothing\n });\n reject(error);\n });\n file.on(\"close\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(\"kubectl binary download closed\");\n fs__WEBPACK_IMPORTED_MODULE_1___default.a.chmod(this.path, 0o755, (err) => {\n if (err)\n reject(err);\n });\n resolve();\n });\n stream.pipe(file);\n });\n }\n async writeInitScripts() {\n const kubectlPath = _common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadKubectlBinaries ? this.dirname : path__WEBPACK_IMPORTED_MODULE_0___default.a.dirname(this.getPathFromPreferences());\n const helmPath = _helm_helm_cli__WEBPACK_IMPORTED_MODULE_6__[\"helmCli\"].getBinaryDir();\n const fsPromises = fs__WEBPACK_IMPORTED_MODULE_1___default.a.promises;\n const bashScriptPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.dirname, \".bash_set_path\");\n let bashScript = `${initScriptVersionString}`;\n bashScript += \"tempkubeconfig=\\\"$KUBECONFIG\\\"\\n\";\n bashScript += \"test -f \\\"/etc/profile\\\" && . \\\"/etc/profile\\\"\\n\";\n bashScript += \"if test -f \\\"$HOME/.bash_profile\\\"; then\\n\";\n bashScript += \" . \\\"$HOME/.bash_profile\\\"\\n\";\n bashScript += \"elif test -f \\\"$HOME/.bash_login\\\"; then\\n\";\n bashScript += \" . \\\"$HOME/.bash_login\\\"\\n\";\n bashScript += \"elif test -f \\\"$HOME/.profile\\\"; then\\n\";\n bashScript += \" . \\\"$HOME/.profile\\\"\\n\";\n bashScript += \"fi\\n\";\n bashScript += `export PATH=\"${helmPath}:${kubectlPath}:$PATH\"\\n`;\n bashScript += \"export KUBECONFIG=\\\"$tempkubeconfig\\\"\\n\";\n bashScript += \"NO_PROXY=\\\",${NO_PROXY:-localhost},\\\"\\n\";\n bashScript += \"NO_PROXY=\\\"${NO_PROXY//,localhost,/,}\\\"\\n\";\n bashScript += \"NO_PROXY=\\\"${NO_PROXY//,127.0.0.1,/,}\\\"\\n\";\n bashScript += \"NO_PROXY=\\\"localhost,127.0.0.1${NO_PROXY%,}\\\"\\n\";\n bashScript += \"export NO_PROXY\\n\";\n bashScript += \"unset tempkubeconfig\\n\";\n await fsPromises.writeFile(bashScriptPath, bashScript.toString(), { mode: 0o644 });\n const zshScriptPath = path__WEBPACK_IMPORTED_MODULE_0___default.a.join(this.dirname, \".zlogin\");\n let zshScript = `${initScriptVersionString}`;\n zshScript += \"tempkubeconfig=\\\"$KUBECONFIG\\\"\\n\";\n // restore previous ZDOTDIR\n zshScript += \"export ZDOTDIR=\\\"$OLD_ZDOTDIR\\\"\\n\";\n // source all the files\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zshenv\\\" && . \\\"$OLD_ZDOTDIR/.zshenv\\\"\\n\";\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zprofile\\\" && . \\\"$OLD_ZDOTDIR/.zprofile\\\"\\n\";\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zlogin\\\" && . \\\"$OLD_ZDOTDIR/.zlogin\\\"\\n\";\n zshScript += \"test -f \\\"$OLD_ZDOTDIR/.zshrc\\\" && . \\\"$OLD_ZDOTDIR/.zshrc\\\"\\n\";\n // voodoo to replace any previous occurrences of kubectl path in the PATH\n zshScript += `kubectlpath=\\\"${kubectlPath}\"\\n`;\n zshScript += `helmpath=\\\"${helmPath}\"\\n`;\n zshScript += \"p=\\\":$kubectlpath:\\\"\\n\";\n zshScript += \"d=\\\":$PATH:\\\"\\n\";\n zshScript += \"d=${d//$p/:}\\n\";\n zshScript += \"d=${d/#:/}\\n\";\n zshScript += \"export PATH=\\\"$helmpath:$kubectlpath:${d/%:/}\\\"\\n\";\n zshScript += \"export KUBECONFIG=\\\"$tempkubeconfig\\\"\\n\";\n zshScript += \"NO_PROXY=\\\",${NO_PROXY:-localhost},\\\"\\n\";\n zshScript += \"NO_PROXY=\\\"${NO_PROXY//,localhost,/,}\\\"\\n\";\n zshScript += \"NO_PROXY=\\\"${NO_PROXY//,127.0.0.1,/,}\\\"\\n\";\n zshScript += \"NO_PROXY=\\\"localhost,127.0.0.1${NO_PROXY%,}\\\"\\n\";\n zshScript += \"export NO_PROXY\\n\";\n zshScript += \"unset tempkubeconfig\\n\";\n zshScript += \"unset OLD_ZDOTDIR\\n\";\n await fsPromises.writeFile(zshScriptPath, zshScript.toString(), { mode: 0o644 });\n }\n getDownloadMirror() {\n const mirror = packageMirrors.get(_common_user_store__WEBPACK_IMPORTED_MODULE_7__[\"UserStore\"].getInstance().downloadMirror);\n if (mirror) {\n return mirror;\n }\n return packageMirrors.get(\"default\"); // MacOS packages are only available from default\n }\n}\nObject.defineProperty(Kubectl, \"bundledKubectlVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: bundledVersion\n});\nObject.defineProperty(Kubectl, \"invalidBundle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n});\n\n\n//# sourceURL=webpack:///./src/main/kubectl.ts?");
36535
36445
 
36536
36446
  /***/ }),
36537
36447
 
@@ -36627,7 +36537,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
36627
36537
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36628
36538
 
36629
36539
  "use strict";
36630
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WindowManager\", function() { return WindowManager; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! electron-window-state */ \"./node_modules/electron-window-state/index.js\");\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(electron_window_state__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_event_bus__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/event-bus */ \"./src/common/event-bus.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/cluster-frames */ \"./src/common/cluster-frames.ts\");\n/* harmony import */ var _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../renderer/navigation/events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _lens_proxy__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./lens-proxy */ \"./src/main/lens-proxy.ts\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_11__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isHideable(window) {\n return Boolean(window && !window.isDestroyed());\n}\nclass WindowManager extends _common_utils__WEBPACK_IMPORTED_MODULE_5__[\"Singleton\"] {\n constructor() {\n super();\n Object.defineProperty(this, \"mainWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"splashWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"windowState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"activeClusterId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n this.bindEvents();\n }\n get mainUrl() {\n return `http://localhost:${_lens_proxy__WEBPACK_IMPORTED_MODULE_10__[\"LensProxy\"].getInstance().port}`;\n }\n async initMainWindow(showSplash) {\n var _a;\n // Manage main window size and position with state persistence\n if (!this.windowState) {\n this.windowState = electron_window_state__WEBPACK_IMPORTED_MODULE_2___default()({\n defaultHeight: 900,\n defaultWidth: 1440,\n });\n }\n if (!this.mainWindow) {\n // show icon in dock (mac-os only)\n (_a = electron__WEBPACK_IMPORTED_MODULE_1__[\"app\"].dock) === null || _a === void 0 ? void 0 : _a.show();\n const { width, height, x, y } = this.windowState;\n this.mainWindow = new electron__WEBPACK_IMPORTED_MODULE_1__[\"BrowserWindow\"]({\n x, y, width, height,\n title: _common_vars__WEBPACK_IMPORTED_MODULE_9__[\"productName\"],\n show: false,\n minWidth: 700,\n minHeight: 500,\n titleBarStyle: \"hidden\",\n backgroundColor: \"#1e2124\",\n webPreferences: {\n preload: path__WEBPACK_IMPORTED_MODULE_11__[\"join\"](__static, \"build\", \"preload.js\"),\n nodeIntegration: true,\n nodeIntegrationInSubFrames: true,\n enableRemoteModule: true,\n webviewTag: true,\n contextIsolation: false,\n },\n });\n this.windowState.manage(this.mainWindow);\n // open external links in default browser (target=_blank, window.open)\n this.mainWindow\n .on(\"focus\", () => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"focus\" });\n })\n .on(\"blur\", () => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"blur\" });\n })\n .on(\"closed\", () => {\n var _a;\n // clean up\n this.windowState.unmanage();\n this.mainWindow = null;\n this.splashWindow = null;\n (_a = electron__WEBPACK_IMPORTED_MODULE_1__[\"app\"].dock) === null || _a === void 0 ? void 0 : _a.hide(); // hide icon in dock (mac-os)\n })\n .webContents\n .on(\"new-window\", (event, url) => {\n event.preventDefault();\n electron__WEBPACK_IMPORTED_MODULE_1__[\"shell\"].openExternal(url);\n })\n .on(\"dom-ready\", () => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"dom-ready\" });\n })\n .on(\"did-fail-load\", (_event, code, desc) => {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(`[WINDOW-MANAGER]: Failed to load Main window`, { code, desc });\n })\n .on(\"did-finish-load\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[WINDOW-MANAGER]: Main window loaded\");\n })\n .on(\"will-attach-webview\", (event, webPreferences, params) => {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[WINDOW-MANAGER]: Attaching webview\");\n // Following is security recommendations because we allow webview tag (webviewTag: true)\n // suggested by https://www.electronjs.org/docs/tutorial/security#11-verify-webview-options-before-creation\n // and https://www.electronjs.org/docs/tutorial/security#10-do-not-use-allowpopups\n if (webPreferences.preload) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n // @ts-expect-error some electron version uses webPreferences.preloadURL/webPreferences.preload\n if (webPreferences.preloadURL) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n if (params.allowpopups) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].warn(\"[WINDOW-MANAGER]: We do not allow allowpopups props, stop webview from renderer\");\n // event.preventDefault() will destroy the guest page.\n event.preventDefault();\n return;\n }\n // Always disable Node.js integration for all webviews\n webPreferences.nodeIntegration = false;\n });\n }\n try {\n if (showSplash)\n await this.showSplash();\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainUrl} ...`);\n await this.mainWindow.loadURL(this.mainUrl);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(\"Loading main window failed\", { error });\n electron__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"].showErrorBox(\"ERROR!\", error.toString());\n }\n }\n bindEvents() {\n // track visible cluster from ui\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_4__[\"ipcMainOn\"])(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].CLUSTER_VIEW_CURRENT_ID, (event, clusterId) => {\n this.activeClusterId = clusterId;\n });\n }\n async ensureMainWindow(showSplash = true) {\n var _a;\n // This needs to be ready to hear the IPC message before the window is loaded\n let viewHasLoaded = Promise.resolve();\n if (!this.mainWindow) {\n viewHasLoaded = new Promise(resolve => {\n electron__WEBPACK_IMPORTED_MODULE_1__[\"ipcMain\"].once(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].LOADED, () => resolve());\n });\n await this.initMainWindow(showSplash);\n }\n try {\n await viewHasLoaded;\n await Object(_common_utils__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(50); // wait just a bit longer to let the first round of rendering happen\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[WINDOW-MANAGER]: Main window has reported that it has loaded\");\n this.mainWindow.show();\n (_a = this.splashWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.splashWindow = undefined;\n setTimeout(() => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"start\" });\n }, 1000);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(`Showing main window failed: ${error.stack || error}`);\n electron__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"].showErrorBox(\"ERROR!\", error.toString());\n }\n return this.mainWindow;\n }\n sendToView({ channel, frameInfo, data = [] }) {\n if (frameInfo) {\n this.mainWindow.webContents.sendToFrame([frameInfo.processId, frameInfo.frameId], channel, ...data);\n }\n else {\n this.mainWindow.webContents.send(channel, ...data);\n }\n }\n async navigateExtension(extId, pageId, params, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__[\"clusterFrameMap\"].values(), frameInfo => frameInfo.frameId === frameId);\n this.sendToView({\n channel: \"extension:navigate\",\n frameInfo,\n data: [extId, pageId, params],\n });\n }\n async navigate(url, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__[\"clusterFrameMap\"].values(), frameInfo => frameInfo.frameId === frameId);\n const channel = frameInfo\n ? _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].NAVIGATE_IN_CLUSTER\n : _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].NAVIGATE_IN_APP;\n this.sendToView({\n channel,\n frameInfo,\n data: [url],\n });\n }\n reload() {\n const frameInfo = _common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__[\"clusterFrameMap\"].get(this.activeClusterId);\n if (frameInfo) {\n this.sendToView({ channel: _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].RELOAD_PAGE, frameInfo });\n }\n else {\n electron__WEBPACK_IMPORTED_MODULE_1__[\"webContents\"].getAllWebContents().filter(wc => wc.getType() === \"window\").forEach(wc => {\n wc.reload();\n wc.clearHistory();\n });\n }\n }\n async showSplash() {\n if (!this.splashWindow) {\n this.splashWindow = new electron__WEBPACK_IMPORTED_MODULE_1__[\"BrowserWindow\"]({\n width: 500,\n height: 300,\n backgroundColor: \"#1e2124\",\n center: true,\n frame: false,\n resizable: false,\n show: false,\n webPreferences: {\n nodeIntegration: true,\n enableRemoteModule: true,\n contextIsolation: false,\n nodeIntegrationInSubFrames: true,\n }\n });\n await this.splashWindow.loadURL(\"static://splash.html\");\n }\n this.splashWindow.show();\n }\n hide() {\n if (isHideable(this.mainWindow)) {\n this.mainWindow.hide();\n }\n if (isHideable(this.splashWindow)) {\n this.splashWindow.hide();\n }\n }\n destroy() {\n this.mainWindow.destroy();\n this.splashWindow.destroy();\n this.mainWindow = null;\n this.splashWindow = null;\n Object.entries(this.disposers).forEach(([name, dispose]) => {\n dispose();\n delete this.disposers[name];\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", String)\n], WindowManager.prototype, \"activeClusterId\", void 0);\n\n\n//# sourceURL=webpack:///./src/main/window-manager.ts?");
36540
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WindowManager\", function() { return WindowManager; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! electron-window-state */ \"./node_modules/electron-window-state/index.js\");\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(electron_window_state__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_event_bus__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/event-bus */ \"./src/common/event-bus.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/cluster-frames */ \"./src/common/cluster-frames.ts\");\n/* harmony import */ var _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../renderer/navigation/events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _lens_proxy__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./lens-proxy */ \"./src/main/lens-proxy.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nfunction isHideable(window) {\n return Boolean(window && !window.isDestroyed());\n}\nclass WindowManager extends _common_utils__WEBPACK_IMPORTED_MODULE_5__[\"Singleton\"] {\n constructor() {\n super();\n Object.defineProperty(this, \"mainWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"splashWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"windowState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"activeClusterId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n this.bindEvents();\n }\n get mainUrl() {\n return `http://localhost:${_lens_proxy__WEBPACK_IMPORTED_MODULE_10__[\"LensProxy\"].getInstance().port}`;\n }\n async initMainWindow(showSplash) {\n var _a;\n // Manage main window size and position with state persistence\n if (!this.windowState) {\n this.windowState = electron_window_state__WEBPACK_IMPORTED_MODULE_2___default()({\n defaultHeight: 900,\n defaultWidth: 1440,\n });\n }\n if (!this.mainWindow) {\n // show icon in dock (mac-os only)\n (_a = electron__WEBPACK_IMPORTED_MODULE_1__[\"app\"].dock) === null || _a === void 0 ? void 0 : _a.show();\n const { width, height, x, y } = this.windowState;\n this.mainWindow = new electron__WEBPACK_IMPORTED_MODULE_1__[\"BrowserWindow\"]({\n x, y, width, height,\n title: _common_vars__WEBPACK_IMPORTED_MODULE_9__[\"productName\"],\n show: false,\n minWidth: 700,\n minHeight: 500,\n titleBarStyle: \"hiddenInset\",\n backgroundColor: \"#1e2124\",\n webPreferences: {\n nodeIntegration: true,\n nodeIntegrationInSubFrames: true,\n enableRemoteModule: true,\n webviewTag: true,\n contextIsolation: false,\n },\n });\n this.windowState.manage(this.mainWindow);\n // open external links in default browser (target=_blank, window.open)\n this.mainWindow\n .on(\"focus\", () => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"focus\" });\n })\n .on(\"blur\", () => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"blur\" });\n })\n .on(\"closed\", () => {\n var _a;\n // clean up\n this.windowState.unmanage();\n this.mainWindow = null;\n this.splashWindow = null;\n (_a = electron__WEBPACK_IMPORTED_MODULE_1__[\"app\"].dock) === null || _a === void 0 ? void 0 : _a.hide(); // hide icon in dock (mac-os)\n })\n .webContents\n .on(\"dom-ready\", () => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"dom-ready\" });\n })\n .on(\"did-fail-load\", (_event, code, desc) => {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(`[WINDOW-MANAGER]: Failed to load Main window`, { code, desc });\n })\n .on(\"did-finish-load\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[WINDOW-MANAGER]: Main window loaded\");\n })\n .on(\"will-attach-webview\", (event, webPreferences, params) => {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[WINDOW-MANAGER]: Attaching webview\");\n // Following is security recommendations because we allow webview tag (webviewTag: true)\n // suggested by https://www.electronjs.org/docs/tutorial/security#11-verify-webview-options-before-creation\n // and https://www.electronjs.org/docs/tutorial/security#10-do-not-use-allowpopups\n if (webPreferences.preload) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n // @ts-expect-error some electron version uses webPreferences.preloadURL/webPreferences.preload\n if (webPreferences.preloadURL) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n if (params.allowpopups) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].warn(\"[WINDOW-MANAGER]: We do not allow allowpopups props, stop webview from renderer\");\n // event.preventDefault() will destroy the guest page.\n event.preventDefault();\n return;\n }\n // Always disable Node.js integration for all webviews\n webPreferences.nodeIntegration = false;\n }).setWindowOpenHandler((details) => {\n electron__WEBPACK_IMPORTED_MODULE_1__[\"shell\"].openExternal(details.url);\n return { action: \"deny\" };\n });\n }\n try {\n if (showSplash)\n await this.showSplash();\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainUrl} ...`);\n await this.mainWindow.loadURL(this.mainUrl);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(\"Loading main window failed\", { error });\n electron__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"].showErrorBox(\"ERROR!\", error.toString());\n }\n }\n bindEvents() {\n // track visible cluster from ui\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_4__[\"ipcMainOn\"])(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].CLUSTER_VIEW_CURRENT_ID, (event, clusterId) => {\n this.activeClusterId = clusterId;\n });\n }\n async ensureMainWindow(showSplash = true) {\n var _a;\n // This needs to be ready to hear the IPC message before the window is loaded\n let viewHasLoaded = Promise.resolve();\n if (!this.mainWindow) {\n viewHasLoaded = new Promise(resolve => {\n electron__WEBPACK_IMPORTED_MODULE_1__[\"ipcMain\"].once(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].LOADED, () => resolve());\n });\n await this.initMainWindow(showSplash);\n }\n try {\n await viewHasLoaded;\n await Object(_common_utils__WEBPACK_IMPORTED_MODULE_5__[\"delay\"])(50); // wait just a bit longer to let the first round of rendering happen\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].info(\"[WINDOW-MANAGER]: Main window has reported that it has loaded\");\n this.mainWindow.show();\n (_a = this.splashWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.splashWindow = undefined;\n setTimeout(() => {\n _common_event_bus__WEBPACK_IMPORTED_MODULE_3__[\"appEventBus\"].emit({ name: \"app\", action: \"start\" });\n }, 1000);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_8__[\"default\"].error(`Showing main window failed: ${error.stack || error}`);\n electron__WEBPACK_IMPORTED_MODULE_1__[\"dialog\"].showErrorBox(\"ERROR!\", error.toString());\n }\n return this.mainWindow;\n }\n sendToView({ channel, frameInfo, data = [] }) {\n if (frameInfo) {\n this.mainWindow.webContents.sendToFrame([frameInfo.processId, frameInfo.frameId], channel, ...data);\n }\n else {\n this.mainWindow.webContents.send(channel, ...data);\n }\n }\n async navigateExtension(extId, pageId, params, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__[\"clusterFrameMap\"].values(), frameInfo => frameInfo.frameId === frameId);\n this.sendToView({\n channel: \"extension:navigate\",\n frameInfo,\n data: [extId, pageId, params],\n });\n }\n async navigate(url, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__[\"clusterFrameMap\"].values(), frameInfo => frameInfo.frameId === frameId);\n const channel = frameInfo\n ? _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].NAVIGATE_IN_CLUSTER\n : _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].NAVIGATE_IN_APP;\n this.sendToView({\n channel,\n frameInfo,\n data: [url],\n });\n }\n reload() {\n const frameInfo = _common_cluster_frames__WEBPACK_IMPORTED_MODULE_6__[\"clusterFrameMap\"].get(this.activeClusterId);\n if (frameInfo) {\n this.sendToView({ channel: _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_7__[\"IpcRendererNavigationEvents\"].RELOAD_PAGE, frameInfo });\n }\n else {\n electron__WEBPACK_IMPORTED_MODULE_1__[\"webContents\"].getAllWebContents().filter(wc => wc.getType() === \"window\").forEach(wc => {\n wc.reload();\n wc.clearHistory();\n });\n }\n }\n async showSplash() {\n if (!this.splashWindow) {\n this.splashWindow = new electron__WEBPACK_IMPORTED_MODULE_1__[\"BrowserWindow\"]({\n width: 500,\n height: 300,\n backgroundColor: \"#1e2124\",\n center: true,\n frame: false,\n resizable: false,\n show: false,\n webPreferences: {\n nodeIntegration: true,\n enableRemoteModule: true,\n contextIsolation: false,\n nodeIntegrationInSubFrames: true,\n }\n });\n await this.splashWindow.loadURL(\"static://splash.html\");\n }\n this.splashWindow.show();\n }\n hide() {\n if (isHideable(this.mainWindow)) {\n this.mainWindow.hide();\n }\n if (isHideable(this.splashWindow)) {\n this.splashWindow.hide();\n }\n }\n destroy() {\n this.mainWindow.destroy();\n this.splashWindow.destroy();\n this.mainWindow = null;\n this.splashWindow = null;\n Object.entries(this.disposers).forEach(([name, dispose]) => {\n dispose();\n delete this.disposers[name];\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", String)\n], WindowManager.prototype, \"activeClusterId\", void 0);\n\n\n//# sourceURL=webpack:///./src/main/window-manager.ts?");
36631
36541
 
36632
36542
  /***/ }),
36633
36543
 
@@ -36891,7 +36801,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _com
36891
36801
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36892
36802
 
36893
36803
  "use strict";
36894
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CatalogEntityRegistry\", function() { return CatalogEntityRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"catalogEntityRegistry\", function() { return catalogEntityRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getActiveClusterEntity\", function() { return getActiveClusterEntity; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/catalog */ \"./src/common/catalog/index.ts\");\n/* harmony import */ var _common_catalog_entities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/catalog-entities */ \"./src/common/catalog-entities/index.ts\");\n/* harmony import */ var _common_cluster_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/cluster-store */ \"./src/common/cluster-store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\nclass CatalogEntityRegistry {\n constructor(categoryRegistry) {\n Object.defineProperty(this, \"categoryRegistry\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: categoryRegistry\n });\n Object.defineProperty(this, \"activeEntity\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_entities\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].map([], { deep: true })\n });\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].set([], {\n deep: false,\n })\n });\n /**\n * Buffer for keeping entities that don't yet have CatalogCategory synced\n */\n Object.defineProperty(this, \"rawEntities\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n }\n init() {\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_1__[\"ipcRendererOn\"])(\"catalog:items\", (event, items) => {\n this.updateItems(items);\n });\n }\n updateItems(items) {\n this.rawEntities.length = 0;\n const newIds = new Set(items.map((item) => item.metadata.uid));\n for (const uid of this._entities.keys()) {\n if (!newIds.has(uid)) {\n this._entities.delete(uid);\n }\n }\n for (const item of items) {\n this.updateItem(item);\n }\n }\n updateItem(item) {\n const existing = this._entities.get(item.metadata.uid);\n if (!existing) {\n const entity = this.categoryRegistry.getEntityForData(item);\n if (entity) {\n this._entities.set(entity.metadata.uid, entity);\n }\n else {\n this.rawEntities.push(item);\n }\n }\n else {\n existing.metadata = item.metadata;\n existing.spec = item.spec;\n existing.status = item.status;\n }\n }\n processRawEntities() {\n const items = [...this.rawEntities];\n this.rawEntities.length = 0;\n for (const item of items) {\n this.updateItem(item);\n }\n }\n get items() {\n this.processRawEntities();\n return Array.from(this._entities.values());\n }\n get filteredItems() {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].filter, this.items));\n }\n get entities() {\n return new Map(this.items.map(entity => [entity.getId(), entity]));\n }\n get filteredEntities() {\n return new Map(this.filteredItems.map(entity => [entity.getId(), entity]));\n }\n getById(id) {\n return this.entities.get(id);\n }\n getItemsForApiKind(apiVersion, kind, { filtered = false } = {}) {\n const byApiKind = (item) => item.apiVersion === apiVersion && item.kind === kind;\n const entities = filtered ? this.filteredItems : this.items;\n return entities.filter(byApiKind);\n }\n getItemsForCategory(category, { filtered = false } = {}) {\n const supportedVersions = new Set(category.spec.versions.map((v) => `${category.spec.group}/${v.name}`));\n const byApiVersionKind = (item) => supportedVersions.has(item.apiVersion) && item.kind === category.spec.names.kind;\n const entities = filtered ? this.filteredItems : this.items;\n return entities.filter(byApiVersionKind);\n }\n /**\n * Add a new filter to the set of item filters\n * @param fn The function that should return a truthy value if that entity should be sent currently \"active\"\n * @returns A function to remove that filter\n */\n addCatalogFilter(fn) {\n this.filters.add(fn);\n return Object(lodash__WEBPACK_IMPORTED_MODULE_6__[\"once\"])(() => void this.filters.delete(fn));\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].ref,\n __metadata(\"design:type\", _common_catalog__WEBPACK_IMPORTED_MODULE_2__[\"CatalogEntity\"])\n], CatalogEntityRegistry.prototype, \"activeEntity\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array]),\n __metadata(\"design:returntype\", void 0)\n], CatalogEntityRegistry.prototype, \"updateItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], CatalogEntityRegistry.prototype, \"updateItem\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"items\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"filteredItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"entities\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"filteredEntities\", null);\nconst catalogEntityRegistry = new CatalogEntityRegistry(_common_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogCategoryRegistry\"]);\nfunction getActiveClusterEntity() {\n var _a;\n return _common_cluster_store__WEBPACK_IMPORTED_MODULE_4__[\"ClusterStore\"].getInstance().getById((_a = catalogEntityRegistry.activeEntity) === null || _a === void 0 ? void 0 : _a.getId());\n}\n\n\n//# sourceURL=webpack:///./src/renderer/api/catalog-entity-registry.ts?");
36804
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CatalogEntityRegistry\", function() { return CatalogEntityRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"catalogEntityRegistry\", function() { return catalogEntityRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getActiveClusterEntity\", function() { return getActiveClusterEntity; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/catalog */ \"./src/common/catalog/index.ts\");\n/* harmony import */ var _common_catalog_entities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/catalog-entities */ \"./src/common/catalog-entities/index.ts\");\n/* harmony import */ var _common_cluster_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/cluster-store */ \"./src/common/cluster-store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\nclass CatalogEntityRegistry {\n constructor(categoryRegistry) {\n Object.defineProperty(this, \"categoryRegistry\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: categoryRegistry\n });\n Object.defineProperty(this, \"activeEntityId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: undefined\n });\n Object.defineProperty(this, \"_entities\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].map([], { deep: true })\n });\n Object.defineProperty(this, \"filters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].set([], {\n deep: false,\n })\n });\n /**\n * Buffer for keeping entities that don't yet have CatalogCategory synced\n */\n Object.defineProperty(this, \"rawEntities\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"makeObservable\"])(this);\n }\n get activeEntity() {\n return this._entities.get(this.activeEntityId) || null;\n }\n set activeEntity(raw) {\n if (raw) {\n const id = typeof raw === \"string\"\n ? raw\n : raw.getId();\n this.activeEntityId = id;\n }\n else {\n this.activeEntityId = undefined;\n }\n }\n init() {\n Object(_common_ipc__WEBPACK_IMPORTED_MODULE_1__[\"ipcRendererOn\"])(\"catalog:items\", (event, items) => {\n this.updateItems(items);\n });\n }\n updateItems(items) {\n this.rawEntities.length = 0;\n const newIds = new Set(items.map((item) => item.metadata.uid));\n for (const uid of this._entities.keys()) {\n if (!newIds.has(uid)) {\n this._entities.delete(uid);\n }\n }\n for (const item of items) {\n this.updateItem(item);\n }\n }\n updateItem(item) {\n const existing = this._entities.get(item.metadata.uid);\n if (!existing) {\n const entity = this.categoryRegistry.getEntityForData(item);\n if (entity) {\n this._entities.set(entity.metadata.uid, entity);\n }\n else {\n this.rawEntities.push(item);\n }\n }\n else {\n existing.metadata = item.metadata;\n existing.spec = item.spec;\n existing.status = item.status;\n }\n }\n processRawEntities() {\n const items = [...this.rawEntities];\n this.rawEntities.length = 0;\n for (const item of items) {\n this.updateItem(item);\n }\n }\n get items() {\n this.processRawEntities();\n return Array.from(this._entities.values());\n }\n get filteredItems() {\n return Array.from(_utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].reduce(this.filters, _utils__WEBPACK_IMPORTED_MODULE_5__[\"iter\"].filter, this.items));\n }\n get entities() {\n return new Map(this.items.map(entity => [entity.getId(), entity]));\n }\n get filteredEntities() {\n return new Map(this.filteredItems.map(entity => [entity.getId(), entity]));\n }\n getById(id) {\n return this.entities.get(id);\n }\n getItemsForApiKind(apiVersion, kind, { filtered = false } = {}) {\n const byApiKind = (item) => item.apiVersion === apiVersion && item.kind === kind;\n const entities = filtered ? this.filteredItems : this.items;\n return entities.filter(byApiKind);\n }\n getItemsForCategory(category, { filtered = false } = {}) {\n const supportedVersions = new Set(category.spec.versions.map((v) => `${category.spec.group}/${v.name}`));\n const byApiVersionKind = (item) => supportedVersions.has(item.apiVersion) && item.kind === category.spec.names.kind;\n const entities = filtered ? this.filteredItems : this.items;\n return entities.filter(byApiVersionKind);\n }\n /**\n * Add a new filter to the set of item filters\n * @param fn The function that should return a truthy value if that entity should be sent currently \"active\"\n * @returns A function to remove that filter\n */\n addCatalogFilter(fn) {\n this.filters.add(fn);\n return Object(lodash__WEBPACK_IMPORTED_MODULE_6__[\"once\"])(() => void this.filters.delete(fn));\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"],\n __metadata(\"design:type\", String)\n], CatalogEntityRegistry.prototype, \"activeEntityId\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Array]),\n __metadata(\"design:returntype\", void 0)\n], CatalogEntityRegistry.prototype, \"updateItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"action\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], CatalogEntityRegistry.prototype, \"updateItem\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"items\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"filteredItems\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"entities\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__[\"computed\"],\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], CatalogEntityRegistry.prototype, \"filteredEntities\", null);\nconst catalogEntityRegistry = new CatalogEntityRegistry(_common_catalog__WEBPACK_IMPORTED_MODULE_2__[\"catalogCategoryRegistry\"]);\nfunction getActiveClusterEntity() {\n var _a;\n return _common_cluster_store__WEBPACK_IMPORTED_MODULE_4__[\"ClusterStore\"].getInstance().getById((_a = catalogEntityRegistry.activeEntity) === null || _a === void 0 ? void 0 : _a.getId());\n}\n\n\n//# sourceURL=webpack:///./src/renderer/api/catalog-entity-registry.ts?");
36895
36805
 
36896
36806
  /***/ }),
36897
36807
 
@@ -36915,7 +36825,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ext
36915
36825
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
36916
36826
 
36917
36827
  "use strict";
36918
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalChannels\", function() { return TerminalChannels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalApi\", function() { return TerminalApi; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _websocket_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket-api */ \"./src/renderer/api/websocket-api.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! url */ \"url\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\nvar TerminalChannels;\n(function (TerminalChannels) {\n TerminalChannels[TerminalChannels[\"STDIN\"] = 0] = \"STDIN\";\n TerminalChannels[TerminalChannels[\"STDOUT\"] = 1] = \"STDOUT\";\n TerminalChannels[TerminalChannels[\"STDERR\"] = 2] = \"STDERR\";\n TerminalChannels[TerminalChannels[\"TERMINAL_SIZE\"] = 4] = \"TERMINAL_SIZE\";\n TerminalChannels[TerminalChannels[\"TOKEN\"] = 9] = \"TOKEN\";\n})(TerminalChannels || (TerminalChannels = {}));\nvar TerminalColor;\n(function (TerminalColor) {\n TerminalColor[\"RED\"] = \"\\u001B[31m\";\n TerminalColor[\"GREEN\"] = \"\\u001B[32m\";\n TerminalColor[\"YELLOW\"] = \"\\u001B[33m\";\n TerminalColor[\"BLUE\"] = \"\\u001B[34m\";\n TerminalColor[\"MAGENTA\"] = \"\\u001B[35m\";\n TerminalColor[\"CYAN\"] = \"\\u001B[36m\";\n TerminalColor[\"GRAY\"] = \"\\u001B[90m\";\n TerminalColor[\"LIGHT_GRAY\"] = \"\\u001B[37m\";\n TerminalColor[\"NO_COLOR\"] = \"\\u001B[0m\";\n})(TerminalColor || (TerminalColor = {}));\nclass TerminalApi extends _websocket_api__WEBPACK_IMPORTED_MODULE_1__[\"WebSocketApi\"] {\n constructor(options) {\n super({\n logging: _common_vars__WEBPACK_IMPORTED_MODULE_3__[\"isDevelopment\"],\n flushOnOpen: false,\n pingIntervalSeconds: 30,\n });\n Object.defineProperty(this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"onReady\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new _utils__WEBPACK_IMPORTED_MODULE_0__[\"EventEmitter\"]()\n });\n Object.defineProperty(this, \"isReady\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"shellRunCommandsFinished\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_onShellRunCommandsFinished\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (data) => {\n if (!data) {\n return;\n }\n /**\n * This is a heuistic for ditermining when a shell has finished executing\n * its own rc file (or RunCommands file) such as `.bashrc` or `.zshrc`.\n *\n * This heuistic assumes that the prompt line of a terminal is a single line\n * and ends with a whitespace character.\n */\n if (data.match(/\\r?\\n/) === null && data.match(/\\s$/)) {\n this.shellRunCommandsFinished = true;\n this.onData.removeListener(this._onShellRunCommandsFinished);\n }\n }\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_5__[\"makeObservable\"])(this);\n const { hostname, protocol, port } = location;\n const query = {\n id: options.id,\n };\n if (options.node) {\n query.node = options.node;\n query.type = options.type || \"node\";\n }\n this.url = url__WEBPACK_IMPORTED_MODULE_4___default.a.format({\n protocol: protocol.includes(\"https\") ? \"wss\" : \"ws\",\n hostname,\n port,\n pathname: \"/api\",\n query,\n slashes: true,\n });\n }\n connect() {\n this.emitStatus(\"Connecting ...\");\n this.onData.addListener(this._onReady, { prepend: true });\n this.onData.addListener(this._onShellRunCommandsFinished);\n super.connect(this.url);\n }\n destroy() {\n if (!this.socket)\n return;\n const exitCode = String.fromCharCode(4); // ctrl+d\n this.sendCommand(exitCode);\n setTimeout(() => super.destroy(), 2000);\n }\n removeAllListeners() {\n super.removeAllListeners();\n this.onReady.removeAllListeners();\n }\n _onReady(data) {\n if (!data)\n return true;\n this.isReady = true;\n this.onReady.emit();\n this.onData.removeListener(this._onReady);\n this.flush();\n this.onData.emit(data); // re-emit data\n return false; // prevent calling rest of listeners\n }\n reconnect() {\n super.reconnect();\n }\n sendCommand(key, channel = TerminalChannels.STDIN) {\n return this.send(channel + _utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"].encode(key));\n }\n sendTerminalSize(cols, rows) {\n const newSize = { Width: cols, Height: rows };\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default()(this.size, newSize)) {\n this.sendCommand(JSON.stringify(newSize), TerminalChannels.TERMINAL_SIZE);\n this.size = newSize;\n }\n }\n parseMessage(data) {\n data = data.substr(1); // skip channel\n return _utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"].decode(data);\n }\n _onOpen(evt) {\n // Client should send terminal size in special channel 4,\n // But this size will be changed by terminal.fit()\n this.sendTerminalSize(120, 80);\n super._onOpen(evt);\n }\n _onClose(evt) {\n super._onClose(evt);\n this.isReady = false;\n }\n emitStatus(data, options = {}) {\n const { color, showTime } = options;\n if (color) {\n data = `${color}${data}${TerminalColor.NO_COLOR}`;\n }\n let time;\n if (showTime) {\n time = `${(new Date()).toLocaleString()} `;\n }\n this.onData.emit(`${showTime ? time : \"\"}${data}\\r\\n`);\n }\n emitError(error) {\n this.emitStatus(error, {\n color: TerminalColor.RED\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_5__[\"observable\"],\n __metadata(\"design:type\", Object)\n], TerminalApi.prototype, \"isReady\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_5__[\"observable\"],\n __metadata(\"design:type\", Object)\n], TerminalApi.prototype, \"shellRunCommandsFinished\", void 0);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], TerminalApi.prototype, \"_onReady\", null);\n\n\n//# sourceURL=webpack:///./src/renderer/api/terminal-api.ts?");
36828
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalChannels\", function() { return TerminalChannels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalApi\", function() { return TerminalApi; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _websocket_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket-api */ \"./src/renderer/api/websocket-api.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! url */ \"url\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\nvar TerminalChannels;\n(function (TerminalChannels) {\n TerminalChannels[TerminalChannels[\"STDIN\"] = 0] = \"STDIN\";\n TerminalChannels[TerminalChannels[\"STDOUT\"] = 1] = \"STDOUT\";\n TerminalChannels[TerminalChannels[\"STDERR\"] = 2] = \"STDERR\";\n TerminalChannels[TerminalChannels[\"TERMINAL_SIZE\"] = 4] = \"TERMINAL_SIZE\";\n TerminalChannels[TerminalChannels[\"TOKEN\"] = 9] = \"TOKEN\";\n})(TerminalChannels || (TerminalChannels = {}));\nvar TerminalColor;\n(function (TerminalColor) {\n TerminalColor[\"RED\"] = \"\\u001B[31m\";\n TerminalColor[\"GREEN\"] = \"\\u001B[32m\";\n TerminalColor[\"YELLOW\"] = \"\\u001B[33m\";\n TerminalColor[\"BLUE\"] = \"\\u001B[34m\";\n TerminalColor[\"MAGENTA\"] = \"\\u001B[35m\";\n TerminalColor[\"CYAN\"] = \"\\u001B[36m\";\n TerminalColor[\"GRAY\"] = \"\\u001B[90m\";\n TerminalColor[\"LIGHT_GRAY\"] = \"\\u001B[37m\";\n TerminalColor[\"NO_COLOR\"] = \"\\u001B[0m\";\n})(TerminalColor || (TerminalColor = {}));\nclass TerminalApi extends _websocket_api__WEBPACK_IMPORTED_MODULE_1__[\"WebSocketApi\"] {\n constructor(options) {\n super({\n logging: _common_vars__WEBPACK_IMPORTED_MODULE_3__[\"isDevelopment\"],\n flushOnOpen: false,\n pingIntervalSeconds: 30,\n });\n Object.defineProperty(this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"onReady\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new _utils__WEBPACK_IMPORTED_MODULE_0__[\"EventEmitter\"]()\n });\n Object.defineProperty(this, \"isReady\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_5__[\"makeObservable\"])(this);\n const { hostname, protocol, port } = location;\n const query = {\n id: options.id,\n };\n if (options.node) {\n query.node = options.node;\n query.type = options.type || \"node\";\n }\n this.url = url__WEBPACK_IMPORTED_MODULE_4___default.a.format({\n protocol: protocol.includes(\"https\") ? \"wss\" : \"ws\",\n hostname,\n port,\n pathname: \"/api\",\n query,\n slashes: true,\n });\n }\n connect() {\n this.emitStatus(\"Connecting ...\");\n this.onData.addListener(this._onReady, { prepend: true });\n super.connect(this.url);\n }\n destroy() {\n if (!this.socket)\n return;\n const exitCode = String.fromCharCode(4); // ctrl+d\n this.sendCommand(exitCode);\n setTimeout(() => super.destroy(), 2000);\n }\n removeAllListeners() {\n super.removeAllListeners();\n this.onReady.removeAllListeners();\n }\n _onReady(data) {\n if (!data)\n return true;\n this.isReady = true;\n this.onReady.emit();\n this.onData.removeListener(this._onReady);\n this.flush();\n this.onData.emit(data); // re-emit data\n return false; // prevent calling rest of listeners\n }\n reconnect() {\n super.reconnect();\n }\n sendCommand(key, channel = TerminalChannels.STDIN) {\n return this.send(channel + _utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"].encode(key));\n }\n sendTerminalSize(cols, rows) {\n const newSize = { Width: cols, Height: rows };\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default()(this.size, newSize)) {\n this.sendCommand(JSON.stringify(newSize), TerminalChannels.TERMINAL_SIZE);\n this.size = newSize;\n }\n }\n parseMessage(data) {\n data = data.substr(1); // skip channel\n return _utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"].decode(data);\n }\n _onOpen(evt) {\n // Client should send terminal size in special channel 4,\n // But this size will be changed by terminal.fit()\n this.sendTerminalSize(120, 80);\n super._onOpen(evt);\n }\n _onClose(evt) {\n super._onClose(evt);\n this.isReady = false;\n }\n emitStatus(data, options = {}) {\n const { color, showTime } = options;\n if (color) {\n data = `${color}${data}${TerminalColor.NO_COLOR}`;\n }\n let time;\n if (showTime) {\n time = `${(new Date()).toLocaleString()} `;\n }\n this.onData.emit(`${showTime ? time : \"\"}${data}\\r\\n`);\n }\n emitError(error) {\n this.emitStatus(error, {\n color: TerminalColor.RED\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_5__[\"observable\"],\n __metadata(\"design:type\", Object)\n], TerminalApi.prototype, \"isReady\", void 0);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], TerminalApi.prototype, \"_onReady\", null);\n\n\n//# sourceURL=webpack:///./src/renderer/api/terminal-api.ts?");
36919
36829
 
36920
36830
  /***/ }),
36921
36831
 
@@ -37659,7 +37569,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
37659
37569
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
37660
37570
 
37661
37571
  "use strict";
37662
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTerminalTab\", function() { return createTerminalTab; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalStore\", function() { return TerminalStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"terminalStore\", function() { return terminalStore; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _terminal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./terminal */ \"./src/renderer/components/dock/terminal.ts\");\n/* harmony import */ var _api_terminal_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../api/terminal-api */ \"./src/renderer/api/terminal-api.ts\");\n/* harmony import */ var _dock_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dock.store */ \"./src/renderer/components/dock/dock.store.ts\");\n/* harmony import */ var _api_websocket_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../api/websocket-api */ \"./src/renderer/api/websocket-api.ts\");\n/* harmony import */ var _notifications__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../notifications */ \"./src/renderer/components/notifications/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\nfunction createTerminalTab(tabParams = {}) {\n return _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].createTab(Object.assign(Object.assign({ title: `Terminal` }, tabParams), { kind: _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"TabKind\"].TERMINAL }));\n}\nclass TerminalStore extends _utils__WEBPACK_IMPORTED_MODULE_1__[\"Singleton\"] {\n constructor() {\n super();\n Object.defineProperty(this, \"terminals\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"connections\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].map()\n });\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"autoBind\"])(this);\n // connect active tab\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"autorun\"])(() => {\n const { selectedTab, isOpen } = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"];\n if ((selectedTab === null || selectedTab === void 0 ? void 0 : selectedTab.kind) === _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"TabKind\"].TERMINAL && isOpen) {\n this.connect(selectedTab.id);\n }\n });\n // disconnect closed tabs\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"autorun\"])(() => {\n const currentTabs = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].tabs.map(tab => tab.id);\n for (const [tabId] of this.connections) {\n if (!currentTabs.includes(tabId))\n this.disconnect(tabId);\n }\n });\n }\n connect(tabId) {\n if (this.isConnected(tabId)) {\n return;\n }\n const tab = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].getTabById(tabId);\n const api = new _api_terminal_api__WEBPACK_IMPORTED_MODULE_3__[\"TerminalApi\"]({\n id: tabId,\n node: tab.node,\n });\n const terminal = new _terminal__WEBPACK_IMPORTED_MODULE_2__[\"Terminal\"](tabId, api);\n this.connections.set(tabId, api);\n this.terminals.set(tabId, terminal);\n }\n disconnect(tabId) {\n if (!this.isConnected(tabId)) {\n return;\n }\n const terminal = this.terminals.get(tabId);\n const terminalApi = this.connections.get(tabId);\n terminal.destroy();\n terminalApi.destroy();\n this.connections.delete(tabId);\n this.terminals.delete(tabId);\n }\n reconnect(tabId) {\n var _a;\n (_a = this.connections.get(tabId)) === null || _a === void 0 ? void 0 : _a.connect();\n }\n isConnected(tabId) {\n return Boolean(this.connections.get(tabId));\n }\n isDisconnected(tabId) {\n var _a;\n return ((_a = this.connections.get(tabId)) === null || _a === void 0 ? void 0 : _a.readyState) === _api_websocket_api__WEBPACK_IMPORTED_MODULE_5__[\"WebSocketApiState\"].CLOSED;\n }\n async sendCommand(command, options = {}) {\n const { enter, newTab, tabId } = options;\n if (tabId) {\n _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].selectTab(tabId);\n }\n if (newTab) {\n const tab = createTerminalTab();\n await Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => this.connections.has(tab.id));\n const rcIsFinished = Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => this.connections.get(tab.id).shellRunCommandsFinished);\n const notifyVeryLong = setTimeout(() => {\n rcIsFinished.cancel();\n _notifications__WEBPACK_IMPORTED_MODULE_6__[\"Notifications\"].info(\"Terminal shell is taking a long time to complete startup. Please check your .rc file. Bypassing shell completion check.\", {\n timeout: 4000,\n });\n }, 10000);\n await rcIsFinished.catch(_utils__WEBPACK_IMPORTED_MODULE_1__[\"noop\"]);\n clearTimeout(notifyVeryLong);\n }\n const terminalApi = this.connections.get(_dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].selectedTabId);\n if (terminalApi) {\n terminalApi.sendCommand(command + (enter ? \"\\r\" : \"\"));\n }\n else {\n console.warn(\"The selected tab is does not have a connection. Cannot send command.\", { tabId: _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].selectedTabId, command });\n }\n }\n getTerminal(tabId) {\n return this.terminals.get(tabId);\n }\n reset() {\n [...this.connections].forEach(([tabId]) => {\n this.disconnect(tabId);\n });\n }\n}\n/**\n * @deprecated use `TerminalStore.getInstance()` instead\n */\nconst terminalStore = new Proxy({}, {\n get(target, p) {\n var _a;\n if (p === \"$$typeof\") {\n return \"TerminalStore\";\n }\n const ts = TerminalStore.getInstance();\n const res = (_a = ts) === null || _a === void 0 ? void 0 : _a[p];\n if (typeof res === \"function\") {\n return function (...args) {\n return res.apply(ts, args);\n };\n }\n return res;\n },\n});\n\n\n//# sourceURL=webpack:///./src/renderer/components/dock/terminal.store.ts?");
37572
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTerminalTab\", function() { return createTerminalTab; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalStore\", function() { return TerminalStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"terminalStore\", function() { return terminalStore; });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _terminal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./terminal */ \"./src/renderer/components/dock/terminal.ts\");\n/* harmony import */ var _api_terminal_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../api/terminal-api */ \"./src/renderer/api/terminal-api.ts\");\n/* harmony import */ var _dock_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dock.store */ \"./src/renderer/components/dock/dock.store.ts\");\n/* harmony import */ var _api_websocket_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../api/websocket-api */ \"./src/renderer/api/websocket-api.ts\");\n/* harmony import */ var _notifications__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../notifications */ \"./src/renderer/components/notifications/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\nfunction createTerminalTab(tabParams = {}) {\n return _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].createTab(Object.assign(Object.assign({ title: `Terminal` }, tabParams), { kind: _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"TabKind\"].TERMINAL }));\n}\nclass TerminalStore extends _utils__WEBPACK_IMPORTED_MODULE_1__[\"Singleton\"] {\n constructor() {\n super();\n Object.defineProperty(this, \"terminals\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"connections\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_0__[\"observable\"].map()\n });\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"autoBind\"])(this);\n // connect active tab\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"autorun\"])(() => {\n const { selectedTab, isOpen } = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"];\n if ((selectedTab === null || selectedTab === void 0 ? void 0 : selectedTab.kind) === _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"TabKind\"].TERMINAL && isOpen) {\n this.connect(selectedTab.id);\n }\n });\n // disconnect closed tabs\n Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"autorun\"])(() => {\n const currentTabs = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].tabs.map(tab => tab.id);\n for (const [tabId] of this.connections) {\n if (!currentTabs.includes(tabId))\n this.disconnect(tabId);\n }\n });\n }\n connect(tabId) {\n if (this.isConnected(tabId)) {\n return;\n }\n const tab = _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].getTabById(tabId);\n const api = new _api_terminal_api__WEBPACK_IMPORTED_MODULE_3__[\"TerminalApi\"]({\n id: tabId,\n node: tab.node,\n });\n const terminal = new _terminal__WEBPACK_IMPORTED_MODULE_2__[\"Terminal\"](tabId, api);\n this.connections.set(tabId, api);\n this.terminals.set(tabId, terminal);\n }\n disconnect(tabId) {\n if (!this.isConnected(tabId)) {\n return;\n }\n const terminal = this.terminals.get(tabId);\n const terminalApi = this.connections.get(tabId);\n terminal.destroy();\n terminalApi.destroy();\n this.connections.delete(tabId);\n this.terminals.delete(tabId);\n }\n reconnect(tabId) {\n var _a;\n (_a = this.connections.get(tabId)) === null || _a === void 0 ? void 0 : _a.connect();\n }\n isConnected(tabId) {\n return Boolean(this.connections.get(tabId));\n }\n isDisconnected(tabId) {\n var _a;\n return ((_a = this.connections.get(tabId)) === null || _a === void 0 ? void 0 : _a.readyState) === _api_websocket_api__WEBPACK_IMPORTED_MODULE_5__[\"WebSocketApiState\"].CLOSED;\n }\n async sendCommand(command, options = {}) {\n const { enter, newTab, tabId } = options;\n if (tabId) {\n _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].selectTab(tabId);\n }\n if (newTab) {\n const tab = createTerminalTab();\n await Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => this.connections.has(tab.id));\n const shellIsReady = Object(mobx__WEBPACK_IMPORTED_MODULE_0__[\"when\"])(() => this.connections.get(tab.id).isReady);\n const notifyVeryLong = setTimeout(() => {\n shellIsReady.cancel();\n _notifications__WEBPACK_IMPORTED_MODULE_6__[\"Notifications\"].info(\"If terminal shell is not ready please check your shell init files, if applicable.\", {\n timeout: 4000,\n });\n }, 10000);\n await shellIsReady.catch(_utils__WEBPACK_IMPORTED_MODULE_1__[\"noop\"]);\n clearTimeout(notifyVeryLong);\n }\n const terminalApi = this.connections.get(_dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].selectedTabId);\n if (terminalApi) {\n terminalApi.sendCommand(command + (enter ? \"\\r\" : \"\"));\n }\n else {\n console.warn(\"The selected tab is does not have a connection. Cannot send command.\", { tabId: _dock_store__WEBPACK_IMPORTED_MODULE_4__[\"dockStore\"].selectedTabId, command });\n }\n }\n getTerminal(tabId) {\n return this.terminals.get(tabId);\n }\n reset() {\n [...this.connections].forEach(([tabId]) => {\n this.disconnect(tabId);\n });\n }\n}\n/**\n * @deprecated use `TerminalStore.getInstance()` instead\n */\nconst terminalStore = new Proxy({}, {\n get(target, p) {\n var _a;\n if (p === \"$$typeof\") {\n return \"TerminalStore\";\n }\n const ts = TerminalStore.getInstance();\n const res = (_a = ts) === null || _a === void 0 ? void 0 : _a[p];\n if (typeof res === \"function\") {\n return function (...args) {\n return res.apply(ts, args);\n };\n }\n return res;\n },\n});\n\n\n//# sourceURL=webpack:///./src/renderer/components/dock/terminal.store.ts?");
37663
37573
 
37664
37574
  /***/ }),
37665
37575
 
@@ -37958,7 +37868,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
37958
37868
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
37959
37869
 
37960
37870
  "use strict";
37961
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputValidators\", function() { return InputValidators; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Input\", function() { return Input; });\n/* harmony import */ var _input_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./input.scss */ \"./src/renderer/components/input/input.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony import */ var _input_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./input_validators */ \"./src/renderer/components/input/input_validators.ts\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isBoolean */ \"./node_modules/lodash/isBoolean.js\");\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\nconst { conditionalValidators } = _input_validators__WEBPACK_IMPORTED_MODULE_5__, InputValidators = __rest(_input_validators__WEBPACK_IMPORTED_MODULE_5__, [\"conditionalValidators\"]);\n\nconst defaultProps = {\n rows: 1,\n maxRows: 10000,\n showValidationLine: true,\n validators: [],\n};\nclass Input extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"input\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"validators\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n focused: false,\n valid: true,\n validating: false,\n dirty: !!this.props.dirty,\n errors: [],\n submitted: false,\n }\n });\n Object.defineProperty(this, \"validationId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"setDirtyOnChange\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object(lodash__WEBPACK_IMPORTED_MODULE_9__[\"debounce\"])(() => this.setDirty(), 500)\n });\n }\n setValue(value = \"\") {\n if (value !== this.getValue()) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(this.input.constructor.prototype, \"value\").set;\n nativeInputValueSetter.call(this.input, value);\n const evt = new Event(\"input\", { bubbles: true });\n this.input.dispatchEvent(evt);\n }\n }\n getValue() {\n var _a, _b, _c;\n const { trim, value, defaultValue } = this.props;\n const rawValue = (_c = (_b = value !== null && value !== void 0 ? value : (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaultValue) !== null && _c !== void 0 ? _c : \"\";\n return trim ? rawValue.trim() : rawValue;\n }\n focus() {\n this.input.focus();\n }\n blur() {\n this.input.blur();\n }\n select() {\n this.input.select();\n }\n autoFitHeight() {\n const { multiLine, rows, maxRows } = this.props;\n if (!multiLine) {\n return;\n }\n const textArea = this.input;\n const lineHeight = parseFloat(window.getComputedStyle(textArea).lineHeight);\n const rowsCount = (this.getValue().match(/\\n/g) || []).length + 1;\n const height = lineHeight * Math.min(Math.max(rowsCount, rows), maxRows);\n textArea.style.height = `${height}px`;\n }\n async validate() {\n const value = this.getValue();\n let validationId = (this.validationId = \"\"); // reset every time for async validators\n const asyncValidators = [];\n const errors = [];\n // run validators\n for (const validator of this.validators) {\n if (errors.length) {\n // stop validation check if there is an error already\n break;\n }\n const result = validator.validate(value, this.props);\n if (lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default()(result) && !result) {\n errors.push(this.getValidatorError(value, validator));\n }\n else if (result instanceof Promise) {\n if (!validationId) {\n this.validationId = validationId = lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default()(\"validation_id_\");\n }\n asyncValidators.push(result.then(() => null, // don't consider any valid result from promise since we interested in errors only\n // don't consider any valid result from promise since we interested in errors only\n error => this.getValidatorError(value, validator) || error));\n }\n }\n // save sync validators result first\n this.setValidation(errors);\n // handle async validators result\n if (asyncValidators.length > 0) {\n this.setState({ validating: true, valid: false });\n const asyncErrors = await Promise.all(asyncValidators);\n if (this.validationId === validationId) {\n this.setValidation(errors.concat(...asyncErrors.filter(err => err)));\n }\n }\n this.input.setCustomValidity(errors.length ? errors[0].toString() : \"\");\n }\n setValidation(errors) {\n this.setState({\n validating: false,\n valid: !errors.length,\n errors,\n });\n }\n getValidatorError(value, { message }) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(message))\n return message(value, this.props);\n return message || \"\";\n }\n setupValidators() {\n this.validators = conditionalValidators\n // add conditional validators if matches input props\n .filter(validator => validator.condition(this.props))\n // add custom validators\n .concat(this.props.validators)\n // debounce async validators\n .map((_a) => {\n var { debounce } = _a, validator = __rest(_a, [\"debounce\"]);\n if (debounce)\n validator.validate = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"debouncePromise\"])(validator.validate, debounce);\n return validator;\n });\n // run validation\n this.validate();\n }\n setDirty(dirty = true) {\n this.setState({ dirty });\n }\n onFocus(evt) {\n const { onFocus, autoSelectOnFocus } = this.props;\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n if (autoSelectOnFocus)\n this.select();\n this.setState({ focused: true });\n }\n onBlur(evt) {\n var _a, _b;\n (_b = (_a = this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n this.setState({ focused: false });\n }\n onChange(evt) {\n var _a, _b;\n (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, evt.currentTarget.value, evt);\n this.validate();\n this.autoFitHeight();\n this.setDirtyOnChange();\n // re-render component when used as uncontrolled input\n // when used @defaultValue instead of @value changing real input.value doesn't call render()\n if (this.isUncontrolled && this.showMaxLenIndicator) {\n this.forceUpdate();\n }\n }\n onKeyDown(evt) {\n var _a, _b, _c, _d;\n (_b = (_a = this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n if (evt.shiftKey || evt.metaKey || evt.altKey || evt.ctrlKey || evt.repeat) {\n return;\n }\n if (evt.key === \"Enter\") {\n if (this.state.valid) {\n (_d = (_c = this.props).onSubmit) === null || _d === void 0 ? void 0 : _d.call(_c, this.getValue(), evt);\n this.setDirtyOnChange.cancel();\n this.setState({ submitted: true });\n if (this.input && typeof this.props.value !== \"string\") {\n this.input.value = \"\";\n }\n }\n else {\n this.setDirty();\n }\n }\n }\n get showMaxLenIndicator() {\n const { maxLength, multiLine } = this.props;\n return maxLength && multiLine;\n }\n get isUncontrolled() {\n return this.props.value === undefined;\n }\n componentDidMount() {\n this.setupValidators();\n this.autoFitHeight();\n }\n componentDidUpdate(prevProps) {\n const { defaultValue, value, dirty, validators } = this.props;\n if (prevProps.value !== value || defaultValue !== prevProps.defaultValue) {\n if (!this.state.submitted) {\n this.validate();\n }\n else {\n this.setState({ submitted: false });\n }\n this.autoFitHeight();\n }\n if (prevProps.dirty !== dirty) {\n this.setDirty(dirty);\n }\n if (prevProps.validators !== validators) {\n this.setupValidators();\n }\n }\n get themeSelection() {\n const { theme } = this.props;\n if (!theme) {\n return {};\n }\n return {\n theme: true,\n round: true,\n black: theme === \"round-black\",\n };\n }\n bindRef(elem) {\n this.input = elem;\n }\n renderIcon(iconData) {\n if (typeof iconData === \"string\") {\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__[\"Icon\"], { material: iconData });\n }\n if (typeof iconData === \"function\") {\n return iconData({\n isDirty: Boolean(this.getValue()),\n });\n }\n return iconData;\n }\n render() {\n const _a = this.props, { multiLine, showValidationLine, validators, theme, maxRows, children, showErrorsAsTooltip, maxLength, rows, disabled, autoSelectOnFocus, iconLeft, iconRight, contentRight, id, dirty: _dirty, // excluded from passing to input-element\n defaultValue, trim } = _a, inputProps = __rest(_a, [\"multiLine\", \"showValidationLine\", \"validators\", \"theme\", \"maxRows\", \"children\", \"showErrorsAsTooltip\", \"maxLength\", \"rows\", \"disabled\", \"autoSelectOnFocus\", \"iconLeft\", \"iconRight\", \"contentRight\", \"id\", \"dirty\", \"defaultValue\", \"trim\"]);\n const { focused, dirty, valid, validating, errors } = this.state;\n const className = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cssNames\"])(\"Input\", this.props.className, Object.assign(Object.assign({}, this.themeSelection), { focused,\n disabled, invalid: !valid, dirty,\n validating, validatingLine: validating && showValidationLine }));\n // prepare input props\n Object.assign(inputProps, {\n className: \"input box grow\",\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n rows: multiLine ? (rows || 1) : null,\n ref: this.bindRef,\n spellCheck: \"false\",\n disabled,\n });\n const showErrors = errors.length > 0 && !valid && dirty;\n const errorsInfo = (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"errors box grow\" }, errors.map((error, i) => react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"p\", { key: i }, error))));\n const componentId = id || showErrorsAsTooltip ? Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"getRandId\"])({ prefix: \"input_tooltip_id\" }) : undefined;\n let tooltipError;\n if (showErrorsAsTooltip && showErrors) {\n const tooltipProps = typeof showErrorsAsTooltip === \"object\" ? showErrorsAsTooltip : {};\n tooltipProps.className = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cssNames\"])(\"InputTooltipError\", tooltipProps.className);\n tooltipError = (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_4__[\"Tooltip\"], Object.assign({ targetId: componentId }, tooltipProps),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__[\"Icon\"], { material: \"error_outline\" }),\n errorsInfo)));\n }\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { id: componentId, className: className },\n tooltipError,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"label\", { className: \"input-area flex gaps align-center\", id: \"\" },\n this.renderIcon(iconLeft),\n multiLine ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"textarea\", Object.assign({}, inputProps)) : react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"input\", Object.assign({}, inputProps)),\n this.renderIcon(iconRight),\n contentRight),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"input-info flex gaps\" },\n !showErrorsAsTooltip && showErrors && errorsInfo,\n this.showMaxLenIndicator && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"maxLengthIndicator box right\" },\n this.getValue().length,\n \" / \",\n maxLength)))));\n }\n}\nObject.defineProperty(Input, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onFocus\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onBlur\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onChange\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onKeyDown\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"bindRef\", null);\n\n\n//# sourceURL=webpack:///./src/renderer/components/input/input.tsx?");
37871
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InputValidators\", function() { return InputValidators; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Input\", function() { return Input; });\n/* harmony import */ var _input_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./input.scss */ \"./src/renderer/components/input/input.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony import */ var _input_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./input_validators */ \"./src/renderer/components/input/input_validators.ts\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isBoolean */ \"./node_modules/lodash/isBoolean.js\");\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\nconst { conditionalValidators } = _input_validators__WEBPACK_IMPORTED_MODULE_5__, InputValidators = __rest(_input_validators__WEBPACK_IMPORTED_MODULE_5__, [\"conditionalValidators\"]);\n\nconst defaultProps = {\n rows: 1,\n maxRows: 10000,\n showValidationLine: true,\n validators: [],\n};\nclass Input extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"input\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: null\n });\n Object.defineProperty(this, \"validators\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n focused: false,\n valid: true,\n validating: false,\n dirty: !!this.props.dirty,\n errors: [],\n submitted: false,\n }\n });\n Object.defineProperty(this, \"validationId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"setDirtyOnChange\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Object(lodash__WEBPACK_IMPORTED_MODULE_9__[\"debounce\"])(() => this.setDirty(), 500)\n });\n }\n setValue(value = \"\") {\n if (value !== this.getValue()) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(this.input.constructor.prototype, \"value\").set;\n nativeInputValueSetter.call(this.input, value);\n const evt = new Event(\"input\", { bubbles: true });\n this.input.dispatchEvent(evt);\n }\n }\n getValue() {\n var _a, _b, _c;\n const { trim, value, defaultValue } = this.props;\n const rawValue = (_c = (_b = value !== null && value !== void 0 ? value : (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaultValue) !== null && _c !== void 0 ? _c : \"\";\n return trim ? rawValue.trim() : rawValue;\n }\n focus() {\n this.input.focus();\n }\n blur() {\n this.input.blur();\n }\n select() {\n this.input.select();\n }\n autoFitHeight() {\n const { multiLine, rows, maxRows } = this.props;\n if (!multiLine) {\n return;\n }\n const textArea = this.input;\n const lineHeight = parseFloat(window.getComputedStyle(textArea).lineHeight);\n const rowsCount = (this.getValue().match(/\\n/g) || []).length + 1;\n const height = lineHeight * Math.min(Math.max(rowsCount, rows), maxRows);\n textArea.style.height = `${height}px`;\n }\n async validate() {\n var _a;\n const value = this.getValue();\n let validationId = (this.validationId = \"\"); // reset every time for async validators\n const asyncValidators = [];\n const errors = [];\n // run validators\n for (const validator of this.validators) {\n if (errors.length) {\n // stop validation check if there is an error already\n break;\n }\n const result = validator.validate(value, this.props);\n if (lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default()(result) && !result) {\n errors.push(this.getValidatorError(value, validator));\n }\n else if (result instanceof Promise) {\n if (!validationId) {\n this.validationId = validationId = lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default()(\"validation_id_\");\n }\n asyncValidators.push(result.then(() => null, // don't consider any valid result from promise since we interested in errors only\n // don't consider any valid result from promise since we interested in errors only\n error => this.getValidatorError(value, validator) || error));\n }\n }\n // save sync validators result first\n this.setValidation(errors);\n // handle async validators result\n if (asyncValidators.length > 0) {\n this.setState({ validating: true, valid: false });\n const asyncErrors = await Promise.all(asyncValidators);\n if (this.validationId === validationId) {\n this.setValidation(errors.concat(...asyncErrors.filter(err => err)));\n }\n }\n (_a = this.input) === null || _a === void 0 ? void 0 : _a.setCustomValidity(errors.length ? errors[0].toString() : \"\");\n }\n setValidation(errors) {\n this.setState({\n validating: false,\n valid: !errors.length,\n errors,\n });\n }\n getValidatorError(value, { message }) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(message))\n return message(value, this.props);\n return message || \"\";\n }\n setupValidators() {\n this.validators = conditionalValidators\n // add conditional validators if matches input props\n .filter(validator => validator.condition(this.props))\n // add custom validators\n .concat(this.props.validators)\n // debounce async validators\n .map((_a) => {\n var { debounce } = _a, validator = __rest(_a, [\"debounce\"]);\n if (debounce)\n validator.validate = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"debouncePromise\"])(validator.validate, debounce);\n return validator;\n });\n // run validation\n this.validate();\n }\n setDirty(dirty = true) {\n this.setState({ dirty });\n }\n onFocus(evt) {\n const { onFocus, autoSelectOnFocus } = this.props;\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n if (autoSelectOnFocus)\n this.select();\n this.setState({ focused: true });\n }\n onBlur(evt) {\n var _a, _b;\n (_b = (_a = this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n this.setState({ focused: false });\n }\n onChange(evt) {\n var _a, _b;\n (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, evt.currentTarget.value, evt);\n this.validate();\n this.autoFitHeight();\n this.setDirtyOnChange();\n // re-render component when used as uncontrolled input\n // when used @defaultValue instead of @value changing real input.value doesn't call render()\n if (this.isUncontrolled && this.showMaxLenIndicator) {\n this.forceUpdate();\n }\n }\n onKeyDown(evt) {\n var _a, _b, _c, _d;\n (_b = (_a = this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n if (evt.shiftKey || evt.metaKey || evt.altKey || evt.ctrlKey || evt.repeat) {\n return;\n }\n if (evt.key === \"Enter\") {\n if (this.state.valid) {\n (_d = (_c = this.props).onSubmit) === null || _d === void 0 ? void 0 : _d.call(_c, this.getValue(), evt);\n this.setDirtyOnChange.cancel();\n this.setState({ submitted: true });\n if (this.input && typeof this.props.value !== \"string\") {\n this.input.value = \"\";\n }\n }\n else {\n this.setDirty();\n }\n }\n }\n get showMaxLenIndicator() {\n const { maxLength, multiLine } = this.props;\n return maxLength && multiLine;\n }\n get isUncontrolled() {\n return this.props.value === undefined;\n }\n componentDidMount() {\n this.setupValidators();\n this.autoFitHeight();\n }\n componentDidUpdate(prevProps) {\n const { defaultValue, value, dirty, validators } = this.props;\n if (prevProps.value !== value || defaultValue !== prevProps.defaultValue) {\n if (!this.state.submitted) {\n this.validate();\n }\n else {\n this.setState({ submitted: false });\n }\n this.autoFitHeight();\n }\n if (prevProps.dirty !== dirty) {\n this.setDirty(dirty);\n }\n if (prevProps.validators !== validators) {\n this.setupValidators();\n }\n }\n get themeSelection() {\n const { theme } = this.props;\n if (!theme) {\n return {};\n }\n return {\n theme: true,\n round: true,\n black: theme === \"round-black\",\n };\n }\n bindRef(elem) {\n this.input = elem;\n }\n renderIcon(iconData) {\n if (typeof iconData === \"string\") {\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__[\"Icon\"], { material: iconData });\n }\n if (typeof iconData === \"function\") {\n return iconData({\n isDirty: Boolean(this.getValue()),\n });\n }\n return iconData;\n }\n render() {\n const _a = this.props, { multiLine, showValidationLine, validators, theme, maxRows, children, showErrorsAsTooltip, maxLength, rows, disabled, autoSelectOnFocus, iconLeft, iconRight, contentRight, id, dirty: _dirty, // excluded from passing to input-element\n defaultValue, trim } = _a, inputProps = __rest(_a, [\"multiLine\", \"showValidationLine\", \"validators\", \"theme\", \"maxRows\", \"children\", \"showErrorsAsTooltip\", \"maxLength\", \"rows\", \"disabled\", \"autoSelectOnFocus\", \"iconLeft\", \"iconRight\", \"contentRight\", \"id\", \"dirty\", \"defaultValue\", \"trim\"]);\n const { focused, dirty, valid, validating, errors } = this.state;\n const className = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cssNames\"])(\"Input\", this.props.className, Object.assign(Object.assign({}, this.themeSelection), { focused,\n disabled, invalid: !valid, dirty,\n validating, validatingLine: validating && showValidationLine }));\n // prepare input props\n Object.assign(inputProps, {\n className: \"input box grow\",\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n rows: multiLine ? (rows || 1) : null,\n ref: this.bindRef,\n spellCheck: \"false\",\n disabled,\n });\n const showErrors = errors.length > 0 && !valid && dirty;\n const errorsInfo = (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"errors box grow\" }, errors.map((error, i) => react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"p\", { key: i }, error))));\n const componentId = id || showErrorsAsTooltip ? Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"getRandId\"])({ prefix: \"input_tooltip_id\" }) : undefined;\n let tooltipError;\n if (showErrorsAsTooltip && showErrors) {\n const tooltipProps = typeof showErrorsAsTooltip === \"object\" ? showErrorsAsTooltip : {};\n tooltipProps.className = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cssNames\"])(\"InputTooltipError\", tooltipProps.className);\n tooltipError = (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_4__[\"Tooltip\"], Object.assign({ targetId: componentId }, tooltipProps),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__[\"Icon\"], { material: \"error_outline\" }),\n errorsInfo)));\n }\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { id: componentId, className: className },\n tooltipError,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"label\", { className: \"input-area flex gaps align-center\", id: \"\" },\n this.renderIcon(iconLeft),\n multiLine ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"textarea\", Object.assign({}, inputProps)) : react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"input\", Object.assign({}, inputProps)),\n this.renderIcon(iconRight),\n contentRight),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"input-info flex gaps\" },\n !showErrorsAsTooltip && showErrors && errorsInfo,\n this.showMaxLenIndicator && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"maxLengthIndicator box right\" },\n this.getValue().length,\n \" / \",\n maxLength)))));\n }\n}\nObject.defineProperty(Input, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onFocus\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onBlur\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onChange\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onKeyDown\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__[\"boundMethod\"],\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"bindRef\", null);\n\n\n//# sourceURL=webpack:///./src/renderer/components/input/input.tsx?");
37962
37872
 
37963
37873
  /***/ }),
37964
37874
 
@@ -38086,11 +37996,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
38086
37996
  /*!*************************************************************!*\
38087
37997
  !*** ./src/renderer/components/kube-detail-params/index.ts ***!
38088
37998
  \*************************************************************/
38089
- /*! exports provided: kubeDetailsUrlParam, kubeSelectedUrlParam, showDetails, hideDetails, getDetailsUrl */
37999
+ /*! exports provided: kubeDetailsUrlParam, kubeSelectedUrlParam, toggleDetails, showDetails, hideDetails, getDetailsUrl */
38090
38000
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
38091
38001
 
38092
38002
  "use strict";
38093
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _params__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./params */ \"./src/renderer/components/kube-detail-params/params.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeDetailsUrlParam\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"kubeDetailsUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeSelectedUrlParam\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"kubeSelectedUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showDetails\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"showDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hideDetails\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"hideDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDetailsUrl\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"getDetailsUrl\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n//# sourceURL=webpack:///./src/renderer/components/kube-detail-params/index.ts?");
38003
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _params__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./params */ \"./src/renderer/components/kube-detail-params/params.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeDetailsUrlParam\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"kubeDetailsUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"kubeSelectedUrlParam\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"kubeSelectedUrlParam\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toggleDetails\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"toggleDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showDetails\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"showDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hideDetails\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"hideDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDetailsUrl\", function() { return _params__WEBPACK_IMPORTED_MODULE_0__[\"getDetailsUrl\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n//# sourceURL=webpack:///./src/renderer/components/kube-detail-params/index.ts?");
38094
38004
 
38095
38005
  /***/ }),
38096
38006
 
@@ -38098,11 +38008,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _par
38098
38008
  /*!**************************************************************!*\
38099
38009
  !*** ./src/renderer/components/kube-detail-params/params.ts ***!
38100
38010
  \**************************************************************/
38101
- /*! exports provided: kubeDetailsUrlParam, kubeSelectedUrlParam, showDetails, hideDetails, getDetailsUrl */
38011
+ /*! exports provided: kubeDetailsUrlParam, kubeSelectedUrlParam, toggleDetails, showDetails, hideDetails, getDetailsUrl */
38102
38012
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
38103
38013
 
38104
38014
  "use strict";
38105
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kubeDetailsUrlParam\", function() { return kubeDetailsUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kubeSelectedUrlParam\", function() { return kubeSelectedUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showDetails\", function() { return showDetails; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideDetails\", function() { return hideDetails; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDetailsUrl\", function() { return getDetailsUrl; });\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/**\n * Used to store `object.selfLink` to show more info about resource in the details panel.\n */\nconst kubeDetailsUrlParam = Object(_navigation__WEBPACK_IMPORTED_MODULE_0__[\"createPageParam\"])({\n name: \"kube-details\",\n});\n/**\n * Used to highlight last active/selected table row with the resource.\n *\n * @example\n * If we go to \"Nodes (page) -> Node (details) -> Pod (details)\",\n * last clicked Node should be \"active\" while Pod details are shown).\n */\nconst kubeSelectedUrlParam = Object(_navigation__WEBPACK_IMPORTED_MODULE_0__[\"createPageParam\"])({\n name: \"kube-selected\",\n get defaultValue() {\n return kubeDetailsUrlParam.get();\n }\n});\nfunction showDetails(selfLink = \"\", resetSelected = true) {\n const detailsUrl = getDetailsUrl(selfLink, resetSelected);\n _navigation__WEBPACK_IMPORTED_MODULE_0__[\"navigation\"].merge({ search: detailsUrl });\n}\nfunction hideDetails() {\n showDetails();\n}\nfunction getDetailsUrl(selfLink, resetSelected = false, mergeGlobals = true) {\n console.debug(\"getDetailsUrl\", { selfLink, resetSelected, mergeGlobals });\n const params = new URLSearchParams(mergeGlobals ? _navigation__WEBPACK_IMPORTED_MODULE_0__[\"navigation\"].searchParams : \"\");\n params.set(kubeDetailsUrlParam.name, selfLink);\n if (resetSelected) {\n params.delete(kubeSelectedUrlParam.name);\n }\n else {\n params.set(kubeSelectedUrlParam.name, kubeSelectedUrlParam.get());\n }\n return `?${params}`;\n}\n\n\n//# sourceURL=webpack:///./src/renderer/components/kube-detail-params/params.ts?");
38015
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kubeDetailsUrlParam\", function() { return kubeDetailsUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"kubeSelectedUrlParam\", function() { return kubeSelectedUrlParam; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toggleDetails\", function() { return toggleDetails; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showDetails\", function() { return showDetails; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hideDetails\", function() { return hideDetails; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDetailsUrl\", function() { return getDetailsUrl; });\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/**\n * Used to store `object.selfLink` to show more info about resource in the details panel.\n */\nconst kubeDetailsUrlParam = Object(_navigation__WEBPACK_IMPORTED_MODULE_0__[\"createPageParam\"])({\n name: \"kube-details\",\n});\n/**\n * Used to highlight last active/selected table row with the resource.\n *\n * @example\n * If we go to \"Nodes (page) -> Node (details) -> Pod (details)\",\n * last clicked Node should be \"active\" while Pod details are shown).\n */\nconst kubeSelectedUrlParam = Object(_navigation__WEBPACK_IMPORTED_MODULE_0__[\"createPageParam\"])({\n name: \"kube-selected\",\n get defaultValue() {\n return kubeDetailsUrlParam.get();\n }\n});\nfunction toggleDetails(selfLink, resetSelected = true) {\n const current = kubeSelectedUrlParam.get() === selfLink;\n if (current) {\n hideDetails();\n }\n else {\n showDetails(selfLink, resetSelected);\n }\n}\nfunction showDetails(selfLink = \"\", resetSelected = true) {\n const detailsUrl = getDetailsUrl(selfLink, resetSelected);\n _navigation__WEBPACK_IMPORTED_MODULE_0__[\"navigation\"].merge({ search: detailsUrl });\n}\nfunction hideDetails() {\n showDetails();\n}\nfunction getDetailsUrl(selfLink, resetSelected = false, mergeGlobals = true) {\n console.debug(\"getDetailsUrl\", { selfLink, resetSelected, mergeGlobals });\n const params = new URLSearchParams(mergeGlobals ? _navigation__WEBPACK_IMPORTED_MODULE_0__[\"navigation\"].searchParams : \"\");\n params.set(kubeDetailsUrlParam.name, selfLink);\n if (resetSelected) {\n params.delete(kubeSelectedUrlParam.name);\n }\n else {\n params.set(kubeSelectedUrlParam.name, kubeSelectedUrlParam.get());\n }\n return `?${params}`;\n}\n\n\n//# sourceURL=webpack:///./src/renderer/components/kube-detail-params/params.ts?");
38106
38016
 
38107
38017
  /***/ }),
38108
38018
 
@@ -38162,7 +38072,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _kub
38162
38072
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
38163
38073
 
38164
38074
  "use strict";
38165
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectListLayout\", function() { return KubeObjectListLayout; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _item_object_list_item_list_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../item-object-list/item-list-layout */ \"./src/renderer/components/item-object-list/item-list-layout.tsx\");\n/* harmony import */ var _kube_object_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony import */ var _common_k8s_api_kube_watch_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/k8s-api/kube-watch-api */ \"./src/common/k8s-api/kube-watch-api.ts\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../context */ \"./src/renderer/components/context.ts\");\n/* harmony import */ var _namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../+namespaces/namespace-select-filter */ \"./src/renderer/components/+namespaces/namespace-select-filter.tsx\");\n/* harmony import */ var _utils_rbac__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/rbac */ \"./src/renderer/utils/rbac.ts\");\n/* harmony import */ var _kube_detail_params__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n onDetails: (item) => Object(_kube_detail_params__WEBPACK_IMPORTED_MODULE_10__[\"showDetails\"])(item.selfLink),\n};\nlet KubeObjectListLayout = class KubeObjectListLayout extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n Object(mobx__WEBPACK_IMPORTED_MODULE_1__[\"makeObservable\"])(this);\n }\n get selectedItem() {\n return this.props.store.getByPath(_kube_detail_params__WEBPACK_IMPORTED_MODULE_10__[\"kubeSelectedUrlParam\"].get());\n }\n componentDidMount() {\n const { store, dependentStores = [] } = this.props;\n const stores = Array.from(new Set([store, ...dependentStores]));\n Object(mobx_react__WEBPACK_IMPORTED_MODULE_2__[\"disposeOnUnmount\"])(this, [\n _common_k8s_api_kube_watch_api__WEBPACK_IMPORTED_MODULE_6__[\"kubeWatchApi\"].subscribeStores(stores, {\n preload: true,\n namespaces: _context__WEBPACK_IMPORTED_MODULE_7__[\"clusterContext\"].contextNamespaces,\n })\n ]);\n }\n render() {\n const _a = this.props, { className, customizeHeader, store, items = store.contextItems } = _a, layoutProps = __rest(_a, [\"className\", \"customizeHeader\", \"store\", \"items\"]);\n const placeholderString = _utils_rbac__WEBPACK_IMPORTED_MODULE_9__[\"ResourceNames\"][_utils_rbac__WEBPACK_IMPORTED_MODULE_9__[\"ResourceKindMap\"][store.api.kind]] || store.api.kind;\n return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_item_object_list_item_list_layout__WEBPACK_IMPORTED_MODULE_4__[\"ItemListLayout\"], Object.assign({}, layoutProps, { className: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"KubeObjectListLayout\", className), store: store, items: items, preloadStores: false, detailsItem: this.selectedItem, customizeHeader: [\n (_a) => {\n var { filters, searchProps } = _a, headerPlaceHolders = __rest(_a, [\"filters\", \"searchProps\"]);\n return (Object.assign({ filters: (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null,\n filters,\n store.api.isNamespaced && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_8__[\"NamespaceSelectFilter\"], null))), searchProps: Object.assign(Object.assign({}, searchProps), { placeholder: `Search ${placeholderString}...` }) }, headerPlaceHolders));\n },\n ...[customizeHeader].flat(),\n ], renderItemMenu: item => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_kube_object_menu__WEBPACK_IMPORTED_MODULE_5__[\"KubeObjectMenu\"], { object: item }) })));\n }\n};\nObject.defineProperty(KubeObjectListLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], KubeObjectListLayout.prototype, \"selectedItem\", null);\nKubeObjectListLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_2__[\"observer\"],\n __metadata(\"design:paramtypes\", [Object])\n], KubeObjectListLayout);\n\n\n\n//# sourceURL=webpack:///./src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx?");
38075
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KubeObjectListLayout\", function() { return KubeObjectListLayout; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _item_object_list_item_list_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../item-object-list/item-list-layout */ \"./src/renderer/components/item-object-list/item-list-layout.tsx\");\n/* harmony import */ var _kube_object_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony import */ var _common_k8s_api_kube_watch_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/k8s-api/kube-watch-api */ \"./src/common/k8s-api/kube-watch-api.ts\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../context */ \"./src/renderer/components/context.ts\");\n/* harmony import */ var _namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../+namespaces/namespace-select-filter */ \"./src/renderer/components/+namespaces/namespace-select-filter.tsx\");\n/* harmony import */ var _utils_rbac__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/rbac */ \"./src/renderer/utils/rbac.ts\");\n/* harmony import */ var _kube_detail_params__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n onDetails: (item) => Object(_kube_detail_params__WEBPACK_IMPORTED_MODULE_10__[\"toggleDetails\"])(item.selfLink),\n};\nlet KubeObjectListLayout = class KubeObjectListLayout extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n Object(mobx__WEBPACK_IMPORTED_MODULE_1__[\"makeObservable\"])(this);\n }\n get selectedItem() {\n return this.props.store.getByPath(_kube_detail_params__WEBPACK_IMPORTED_MODULE_10__[\"kubeSelectedUrlParam\"].get());\n }\n componentDidMount() {\n const { store, dependentStores = [] } = this.props;\n const stores = Array.from(new Set([store, ...dependentStores]));\n Object(mobx_react__WEBPACK_IMPORTED_MODULE_2__[\"disposeOnUnmount\"])(this, [\n _common_k8s_api_kube_watch_api__WEBPACK_IMPORTED_MODULE_6__[\"kubeWatchApi\"].subscribeStores(stores, {\n preload: true,\n namespaces: _context__WEBPACK_IMPORTED_MODULE_7__[\"clusterContext\"].contextNamespaces,\n })\n ]);\n }\n render() {\n const _a = this.props, { className, customizeHeader, store, items = store.contextItems } = _a, layoutProps = __rest(_a, [\"className\", \"customizeHeader\", \"store\", \"items\"]);\n const placeholderString = _utils_rbac__WEBPACK_IMPORTED_MODULE_9__[\"ResourceNames\"][_utils_rbac__WEBPACK_IMPORTED_MODULE_9__[\"ResourceKindMap\"][store.api.kind]] || store.api.kind;\n return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_item_object_list_item_list_layout__WEBPACK_IMPORTED_MODULE_4__[\"ItemListLayout\"], Object.assign({}, layoutProps, { className: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"KubeObjectListLayout\", className), store: store, items: items, preloadStores: false, detailsItem: this.selectedItem, customizeHeader: [\n (_a) => {\n var { filters, searchProps } = _a, headerPlaceHolders = __rest(_a, [\"filters\", \"searchProps\"]);\n return (Object.assign({ filters: (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null,\n filters,\n store.api.isNamespaced && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_8__[\"NamespaceSelectFilter\"], null))), searchProps: Object.assign(Object.assign({}, searchProps), { placeholder: `Search ${placeholderString}...` }) }, headerPlaceHolders));\n },\n ...[customizeHeader].flat(),\n ], renderItemMenu: item => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_kube_object_menu__WEBPACK_IMPORTED_MODULE_5__[\"KubeObjectMenu\"], { object: item }) })));\n }\n};\nObject.defineProperty(KubeObjectListLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_1__[\"computed\"],\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], KubeObjectListLayout.prototype, \"selectedItem\", null);\nKubeObjectListLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_2__[\"observer\"],\n __metadata(\"design:paramtypes\", [Object])\n], KubeObjectListLayout);\n\n\n\n//# sourceURL=webpack:///./src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx?");
38166
38076
 
38167
38077
  /***/ }),
38168
38078