@k8slens/extensions 6.3.0-git.c69edce5b3.0 → 6.3.0-git.e5f8951553.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 (117) hide show
  1. package/dist/src/common/certificate-authorities/inject-system-cas.injectable.d.ts +6 -0
  2. package/dist/src/{main/prometheus/index.d.ts → common/certificate-authorities/request-system-cas-token.d.ts} +1 -1
  3. package/dist/src/common/certificate-authorities/request-system-cas.injectable.darwin.d.ts +2 -0
  4. package/dist/src/common/certificate-authorities/request-system-cas.injectable.linux.d.ts +2 -0
  5. package/dist/src/common/certificate-authorities/request-system-cas.injectable.testing-env.d.ts +2 -0
  6. package/dist/src/common/certificate-authorities/request-system-cas.injectable.win32.d.ts +2 -0
  7. package/dist/src/common/cluster/authorization-namespace-review.injectable.d.ts +19 -0
  8. package/dist/src/common/cluster/authorization-review.injectable.d.ts +8 -3
  9. package/dist/src/common/cluster/cluster.d.ts +13 -6
  10. package/dist/src/common/cluster/list-api-resources.injectable.d.ts +13 -0
  11. package/dist/src/common/cluster-types.d.ts +0 -6
  12. package/dist/src/common/fs/exec-file.injectable.d.ts +6 -3
  13. package/dist/src/common/ipc/cluster.d.ts +1 -3
  14. package/dist/src/common/k8s/create-resource-stack.injectable.d.ts +5 -0
  15. package/dist/src/common/k8s/resource-stack.d.ts +25 -6
  16. package/dist/src/common/k8s-api/endpoints/helm-releases.api/request-update.injectable.d.ts +2 -6
  17. package/dist/src/common/kube-helpers/channels.d.ts +25 -0
  18. package/dist/src/common/utils/binary-name.injectable.d.ts +2 -0
  19. package/dist/src/common/utils/bundled-binary-path.injectable.d.ts +2 -0
  20. package/dist/src/common/utils/channel/message-to-channel-injection-token.d.ts +1 -0
  21. package/dist/src/common/utils/composable-responsibilities/orderable/orderable.d.ts +1 -0
  22. package/dist/src/common/vars/normalized-platform.injectable.d.ts +2 -1
  23. package/dist/src/common/vars.d.ts +0 -27
  24. package/dist/src/extensions/common-api/k8s-api.d.ts +12 -1
  25. package/dist/src/extensions/extension-api.js +74 -907
  26. package/dist/src/extensions/lens-renderer-extension.d.ts +2 -1
  27. package/dist/src/extensions/registries/index.d.ts +0 -1
  28. package/dist/src/{main/utils/shell-env/compute-unix-shell-environment.test.d.ts → features/entity-settings/showing-settings-for-correct-entity.test.d.ts} +0 -0
  29. package/dist/src/features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable.d.ts +2 -1
  30. package/dist/src/features/shell-sync/common/failure-channel.d.ts +6 -0
  31. package/dist/src/{main/utils/shell-env → features/shell-sync/main}/compute-shell-environment.injectable.d.ts +0 -0
  32. package/dist/src/{main/utils/shell-env → features/shell-sync/main}/compute-unix-shell-environment.global-override-for-injectable.d.ts +0 -0
  33. package/dist/src/{main/utils/shell-env → features/shell-sync/main}/compute-unix-shell-environment.injectable.d.ts +0 -0
  34. package/dist/src/{renderer/components/cluster-settings/components/__tests__/cluster-local-terminal-settings.test.d.ts → features/shell-sync/main/compute-unix-shell-environment.test.d.ts} +0 -0
  35. package/dist/src/features/shell-sync/main/emit-failure.injectable.d.ts +2 -0
  36. package/dist/src/{main/utils/shell-env → features/shell-sync/main}/env.injectable.d.ts +0 -0
  37. package/dist/src/{main/utils/shell-env → features/shell-sync/main}/execPath.injectable.d.ts +0 -0
  38. package/dist/src/{main/start-main-application/runnables → features/shell-sync/main}/setup-shell.injectable.d.ts +0 -0
  39. package/dist/src/features/shell-sync/renderer/failure-listener.injectable.d.ts +5 -0
  40. package/dist/src/main/context-handler/context-handler.d.ts +12 -7
  41. package/dist/src/main/electron-app/runnables/setup-ipc-main-handlers/setup-ipc-main-handlers.d.ts +1 -3
  42. package/dist/src/main/helm/exec-helm/exec-env.global-override-for-injectable.d.ts +9 -0
  43. package/dist/src/main/helm/exec-helm/exec-env.injectable.d.ts +2 -0
  44. package/dist/src/main/helm/helm-service/update-helm-release.injectable.d.ts +1 -2
  45. package/dist/src/main/kube-auth-proxy/kube-auth-proxy-certificate.injectable.d.ts +7 -0
  46. package/dist/src/main/kube-auth-proxy/lens-k8s-proxy-path.injectable.d.ts +2 -0
  47. package/dist/src/main/kubectl/apply-all-handler.injectable.d.ts +5 -0
  48. package/dist/src/main/kubectl/binary-name.injectable.d.ts +1 -1
  49. package/dist/src/main/kubectl/delete-all-handler.injectable.d.ts +5 -0
  50. package/dist/src/main/kubectl/kubectl-apply-all.injectable.d.ts +2 -0
  51. package/dist/src/main/kubectl/kubectl-delete-all.injectable.d.ts +2 -0
  52. package/dist/src/main/kubectl/kubectl.d.ts +2 -1
  53. package/dist/src/main/prometheus/get-by-kind.injectable.d.ts +4 -0
  54. package/dist/src/main/prometheus/helm-14-provider.injectable.d.ts +6 -0
  55. package/dist/src/main/prometheus/helm-provider.injectable.d.ts +10 -0
  56. package/dist/src/main/prometheus/lens-provider.injectable.d.ts +10 -0
  57. package/dist/src/main/prometheus/operator-provider.injectable.ts.d.ts +10 -0
  58. package/dist/src/main/prometheus/provider.d.ts +38 -0
  59. package/dist/src/main/prometheus/providers.injectable.d.ts +2 -0
  60. package/dist/src/main/prometheus/stacklight-provider.injectable.d.ts +10 -0
  61. package/dist/src/main/resource-applier/resource-applier.d.ts +6 -5
  62. package/dist/src/main/routes/resource-applier/create-resource-route.injectable.d.ts +13 -1
  63. package/dist/src/main/shell-session/shell-session.d.ts +1 -1
  64. package/dist/src/renderer/components/+catalog/columns/extensions-registrator.injectable.d.ts +18 -2
  65. package/dist/src/renderer/components/+entity-settings/active-tabs.injectable.d.ts +21 -0
  66. package/dist/src/renderer/components/+entity-settings/current-entity.injectable.d.ts +2 -0
  67. package/dist/src/renderer/components/+entity-settings/entity-settings.d.ts +1 -1
  68. package/dist/src/renderer/components/+entity-settings/extension-registrator.injectable.d.ts +39 -0
  69. package/dist/src/renderer/components/+entity-settings/has-settings.injectable.d.ts +4 -0
  70. package/dist/src/renderer/components/+entity-settings/index.d.ts +0 -1
  71. package/dist/src/renderer/components/+entity-settings/internal-kubernetes-cluster/general-settings.injectable.d.ts +15 -0
  72. package/dist/src/renderer/components/+entity-settings/internal-kubernetes-cluster/metrics-settings.injectable.d.ts +14 -0
  73. package/dist/src/renderer/components/+entity-settings/internal-kubernetes-cluster/namespace-settings.injectable.d.ts +14 -0
  74. package/dist/src/renderer/components/+entity-settings/internal-kubernetes-cluster/node-shell-settings.injectable.d.ts +14 -0
  75. package/dist/src/renderer/components/+entity-settings/internal-kubernetes-cluster/proxy-settings.injectable.d.ts +14 -0
  76. package/dist/src/renderer/components/+entity-settings/internal-kubernetes-cluster/terminal-settings.injectable.d.ts +14 -0
  77. package/dist/src/renderer/components/+entity-settings/{entity-settings-route-component.injectable.d.ts → route-component.injectable.d.ts} +0 -0
  78. package/dist/src/renderer/components/+entity-settings/{entity-settings-route-parameters.injectable.d.ts → route-parameters.injectable.d.ts} +0 -0
  79. package/dist/src/renderer/components/+entity-settings/settings.injectable.d.ts +3 -0
  80. package/dist/src/renderer/components/+entity-settings/token.d.ts +6 -0
  81. package/dist/src/renderer/components/cluster-settings/{index.d.ts → __tests__/cluster-local-terminal-settings.test.d.ts} +1 -1
  82. package/dist/src/renderer/components/cluster-settings/{components/cluster-accessible-namespaces.d.ts → accessible-namespaces.d.ts} +1 -1
  83. package/dist/src/renderer/components/cluster-settings/{components/cluster-icon-settings.d.ts → icon-settings.d.ts} +2 -2
  84. package/dist/src/renderer/components/cluster-settings/{components/cluster-kubeconfig.d.ts → kubeconfig.d.ts} +1 -1
  85. package/dist/src/renderer/components/cluster-settings/{components/cluster-local-terminal-settings.d.ts → local-terminal-settings.d.ts} +1 -1
  86. package/dist/src/renderer/components/cluster-settings/{components/cluster-metrics-setting.d.ts → metrics-setting.d.ts} +1 -1
  87. package/dist/src/renderer/components/cluster-settings/{components/cluster-name-setting.d.ts → name-setting.d.ts} +2 -2
  88. package/dist/src/renderer/components/cluster-settings/{components/cluster-node-shell-setting.d.ts → node-shell-setting.d.ts} +1 -1
  89. package/dist/src/renderer/components/cluster-settings/{components/cluster-prometheus-setting.d.ts → prometheus-setting.d.ts} +1 -1
  90. package/dist/src/renderer/components/cluster-settings/{components/cluster-proxy-setting.d.ts → proxy-setting.d.ts} +1 -1
  91. package/dist/src/renderer/components/cluster-settings/{components/cluster-show-metrics.d.ts → show-metrics.d.ts} +1 -1
  92. package/dist/src/renderer/components/dock/upgrade-chart/upgrade-chart-model.injectable.d.ts +2 -4
  93. package/dist/src/renderer/components/dock/upgrade-chart/view.d.ts +1 -1
  94. package/dist/src/renderer/components/tabs/tabs.d.ts +9 -9
  95. package/dist/src/renderer/initializers/index.d.ts +0 -1
  96. package/dist/src/renderer/ipc/index.d.ts +0 -8
  97. package/dist/src/renderer/kubectl/apply-all.injectable.d.ts +2 -0
  98. package/dist/src/renderer/kubectl/delete-all.injectable.d.ts +2 -0
  99. package/dist/src/test-utils/skippers.d.ts +13 -0
  100. package/package.json +1 -1
  101. package/dist/src/common/__tests__/system-ca.test.d.ts +0 -1
  102. package/dist/src/common/system-ca.d.ts +0 -24
  103. package/dist/src/common/utils/lazy-initialized.d.ts +0 -17
  104. package/dist/src/extensions/registries/entity-setting-registry.d.ts +0 -30
  105. package/dist/src/main/kube-auth-proxy/get-kube-auth-proxy-certificate.d.ts +0 -8
  106. package/dist/src/main/prometheus/helm-14.d.ts +0 -14
  107. package/dist/src/main/prometheus/helm.d.ts +0 -14
  108. package/dist/src/main/prometheus/lens.d.ts +0 -15
  109. package/dist/src/main/prometheus/operator.d.ts +0 -15
  110. package/dist/src/main/prometheus/prometheus-provider-registry.injectable.d.ts +0 -3
  111. package/dist/src/main/prometheus/provider-registry.d.ts +0 -27
  112. package/dist/src/main/prometheus/stacklight.d.ts +0 -15
  113. package/dist/src/main/start-main-application/runnables/setup-prometheus-registry.injectable.d.ts +0 -5
  114. package/dist/src/renderer/components/cluster-settings/cluster-settings.d.ts +0 -11
  115. package/dist/src/renderer/components/cluster-settings/components/index.d.ts +0 -14
  116. package/dist/src/renderer/components/command-palette/registered-commands/get-entity-setting-commands.injectable.d.ts +0 -4
  117. package/dist/src/renderer/initializers/entity-settings-registry.d.ts +0 -5
@@ -8412,259 +8412,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8412
8412
 
8413
8413
  /***/ }),
8414
8414
 
8415
- /***/ "./node_modules/@nodelib/fs.scandir/out/adapters/fs.js":
8416
- /*!*************************************************************!*\
8417
- !*** ./node_modules/@nodelib/fs.scandir/out/adapters/fs.js ***!
8418
- \*************************************************************/
8419
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8420
-
8421
- "use strict";
8422
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nexports.FILE_SYSTEM_ADAPTER = {\n lstat: fs.lstat,\n stat: fs.stat,\n lstatSync: fs.lstatSync,\n statSync: fs.statSync,\n readdir: fs.readdir,\n readdirSync: fs.readdirSync\n};\nfunction createFileSystemAdapter(fsMethods) {\n if (fsMethods === undefined) {\n return exports.FILE_SYSTEM_ADAPTER;\n }\n return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);\n}\nexports.createFileSystemAdapter = createFileSystemAdapter;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/adapters/fs.js?");
8423
-
8424
- /***/ }),
8425
-
8426
- /***/ "./node_modules/@nodelib/fs.scandir/out/constants.js":
8427
- /*!***********************************************************!*\
8428
- !*** ./node_modules/@nodelib/fs.scandir/out/constants.js ***!
8429
- \***********************************************************/
8430
- /***/ ((__unused_webpack_module, exports) => {
8431
-
8432
- "use strict";
8433
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;\nconst NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.');\nif (NODE_PROCESS_VERSION_PARTS[0] === undefined || NODE_PROCESS_VERSION_PARTS[1] === undefined) {\n throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);\n}\nconst MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);\nconst MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);\nconst SUPPORTED_MAJOR_VERSION = 10;\nconst SUPPORTED_MINOR_VERSION = 10;\nconst IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;\nconst IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;\n/**\n * IS `true` for Node.js 10.10 and greater.\n */\nexports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/constants.js?");
8434
-
8435
- /***/ }),
8436
-
8437
- /***/ "./node_modules/@nodelib/fs.scandir/out/index.js":
8438
- /*!*******************************************************!*\
8439
- !*** ./node_modules/@nodelib/fs.scandir/out/index.js ***!
8440
- \*******************************************************/
8441
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8442
-
8443
- "use strict";
8444
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Settings = exports.scandirSync = exports.scandir = void 0;\nconst async = __webpack_require__(/*! ./providers/async */ \"./node_modules/@nodelib/fs.scandir/out/providers/async.js\");\nconst sync = __webpack_require__(/*! ./providers/sync */ \"./node_modules/@nodelib/fs.scandir/out/providers/sync.js\");\nconst settings_1 = __webpack_require__(/*! ./settings */ \"./node_modules/@nodelib/fs.scandir/out/settings.js\");\nexports.Settings = settings_1.default;\nfunction scandir(path, optionsOrSettingsOrCallback, callback) {\n if (typeof optionsOrSettingsOrCallback === 'function') {\n async.read(path, getSettings(), optionsOrSettingsOrCallback);\n return;\n }\n async.read(path, getSettings(optionsOrSettingsOrCallback), callback);\n}\nexports.scandir = scandir;\nfunction scandirSync(path, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n return sync.read(path, settings);\n}\nexports.scandirSync = scandirSync;\nfunction getSettings(settingsOrOptions = {}) {\n if (settingsOrOptions instanceof settings_1.default) {\n return settingsOrOptions;\n }\n return new settings_1.default(settingsOrOptions);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/index.js?");
8445
-
8446
- /***/ }),
8447
-
8448
- /***/ "./node_modules/@nodelib/fs.scandir/out/providers/async.js":
8449
- /*!*****************************************************************!*\
8450
- !*** ./node_modules/@nodelib/fs.scandir/out/providers/async.js ***!
8451
- \*****************************************************************/
8452
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8453
-
8454
- "use strict";
8455
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.readdir = exports.readdirWithFileTypes = exports.read = void 0;\nconst fsStat = __webpack_require__(/*! @nodelib/fs.stat */ \"./node_modules/@nodelib/fs.stat/out/index.js\");\nconst rpl = __webpack_require__(/*! run-parallel */ \"./node_modules/run-parallel/index.js\");\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./node_modules/@nodelib/fs.scandir/out/constants.js\");\nconst utils = __webpack_require__(/*! ../utils */ \"./node_modules/@nodelib/fs.scandir/out/utils/index.js\");\nconst common = __webpack_require__(/*! ./common */ \"./node_modules/@nodelib/fs.scandir/out/providers/common.js\");\nfunction read(directory, settings, callback) {\n if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {\n readdirWithFileTypes(directory, settings, callback);\n return;\n }\n readdir(directory, settings, callback);\n}\nexports.read = read;\nfunction readdirWithFileTypes(directory, settings, callback) {\n settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {\n if (readdirError !== null) {\n callFailureCallback(callback, readdirError);\n return;\n }\n const entries = dirents.map((dirent) => ({\n dirent,\n name: dirent.name,\n path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)\n }));\n if (!settings.followSymbolicLinks) {\n callSuccessCallback(callback, entries);\n return;\n }\n const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));\n rpl(tasks, (rplError, rplEntries) => {\n if (rplError !== null) {\n callFailureCallback(callback, rplError);\n return;\n }\n callSuccessCallback(callback, rplEntries);\n });\n });\n}\nexports.readdirWithFileTypes = readdirWithFileTypes;\nfunction makeRplTaskEntry(entry, settings) {\n return (done) => {\n if (!entry.dirent.isSymbolicLink()) {\n done(null, entry);\n return;\n }\n settings.fs.stat(entry.path, (statError, stats) => {\n if (statError !== null) {\n if (settings.throwErrorOnBrokenSymbolicLink) {\n done(statError);\n return;\n }\n done(null, entry);\n return;\n }\n entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);\n done(null, entry);\n });\n };\n}\nfunction readdir(directory, settings, callback) {\n settings.fs.readdir(directory, (readdirError, names) => {\n if (readdirError !== null) {\n callFailureCallback(callback, readdirError);\n return;\n }\n const tasks = names.map((name) => {\n const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);\n return (done) => {\n fsStat.stat(path, settings.fsStatSettings, (error, stats) => {\n if (error !== null) {\n done(error);\n return;\n }\n const entry = {\n name,\n path,\n dirent: utils.fs.createDirentFromStats(name, stats)\n };\n if (settings.stats) {\n entry.stats = stats;\n }\n done(null, entry);\n });\n };\n });\n rpl(tasks, (rplError, entries) => {\n if (rplError !== null) {\n callFailureCallback(callback, rplError);\n return;\n }\n callSuccessCallback(callback, entries);\n });\n });\n}\nexports.readdir = readdir;\nfunction callFailureCallback(callback, error) {\n callback(error);\n}\nfunction callSuccessCallback(callback, result) {\n callback(null, result);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/providers/async.js?");
8456
-
8457
- /***/ }),
8458
-
8459
- /***/ "./node_modules/@nodelib/fs.scandir/out/providers/common.js":
8460
- /*!******************************************************************!*\
8461
- !*** ./node_modules/@nodelib/fs.scandir/out/providers/common.js ***!
8462
- \******************************************************************/
8463
- /***/ ((__unused_webpack_module, exports) => {
8464
-
8465
- "use strict";
8466
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.joinPathSegments = void 0;\nfunction joinPathSegments(a, b, separator) {\n /**\n * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`).\n */\n if (a.endsWith(separator)) {\n return a + b;\n }\n return a + separator + b;\n}\nexports.joinPathSegments = joinPathSegments;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/providers/common.js?");
8467
-
8468
- /***/ }),
8469
-
8470
- /***/ "./node_modules/@nodelib/fs.scandir/out/providers/sync.js":
8471
- /*!****************************************************************!*\
8472
- !*** ./node_modules/@nodelib/fs.scandir/out/providers/sync.js ***!
8473
- \****************************************************************/
8474
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8475
-
8476
- "use strict";
8477
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.readdir = exports.readdirWithFileTypes = exports.read = void 0;\nconst fsStat = __webpack_require__(/*! @nodelib/fs.stat */ \"./node_modules/@nodelib/fs.stat/out/index.js\");\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./node_modules/@nodelib/fs.scandir/out/constants.js\");\nconst utils = __webpack_require__(/*! ../utils */ \"./node_modules/@nodelib/fs.scandir/out/utils/index.js\");\nconst common = __webpack_require__(/*! ./common */ \"./node_modules/@nodelib/fs.scandir/out/providers/common.js\");\nfunction read(directory, settings) {\n if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {\n return readdirWithFileTypes(directory, settings);\n }\n return readdir(directory, settings);\n}\nexports.read = read;\nfunction readdirWithFileTypes(directory, settings) {\n const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });\n return dirents.map((dirent) => {\n const entry = {\n dirent,\n name: dirent.name,\n path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)\n };\n if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {\n try {\n const stats = settings.fs.statSync(entry.path);\n entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);\n }\n catch (error) {\n if (settings.throwErrorOnBrokenSymbolicLink) {\n throw error;\n }\n }\n }\n return entry;\n });\n}\nexports.readdirWithFileTypes = readdirWithFileTypes;\nfunction readdir(directory, settings) {\n const names = settings.fs.readdirSync(directory);\n return names.map((name) => {\n const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);\n const stats = fsStat.statSync(entryPath, settings.fsStatSettings);\n const entry = {\n name,\n path: entryPath,\n dirent: utils.fs.createDirentFromStats(name, stats)\n };\n if (settings.stats) {\n entry.stats = stats;\n }\n return entry;\n });\n}\nexports.readdir = readdir;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/providers/sync.js?");
8478
-
8479
- /***/ }),
8480
-
8481
- /***/ "./node_modules/@nodelib/fs.scandir/out/settings.js":
8482
- /*!**********************************************************!*\
8483
- !*** ./node_modules/@nodelib/fs.scandir/out/settings.js ***!
8484
- \**********************************************************/
8485
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8486
-
8487
- "use strict";
8488
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst path = __webpack_require__(/*! path */ \"path\");\nconst fsStat = __webpack_require__(/*! @nodelib/fs.stat */ \"./node_modules/@nodelib/fs.stat/out/index.js\");\nconst fs = __webpack_require__(/*! ./adapters/fs */ \"./node_modules/@nodelib/fs.scandir/out/adapters/fs.js\");\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);\n this.fs = fs.createFileSystemAdapter(this._options.fs);\n this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);\n this.stats = this._getValue(this._options.stats, false);\n this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);\n this.fsStatSettings = new fsStat.Settings({\n followSymbolicLink: this.followSymbolicLinks,\n fs: this.fs,\n throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink\n });\n }\n _getValue(option, value) {\n return option !== null && option !== void 0 ? option : value;\n }\n}\nexports[\"default\"] = Settings;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/settings.js?");
8489
-
8490
- /***/ }),
8491
-
8492
- /***/ "./node_modules/@nodelib/fs.scandir/out/utils/fs.js":
8493
- /*!**********************************************************!*\
8494
- !*** ./node_modules/@nodelib/fs.scandir/out/utils/fs.js ***!
8495
- \**********************************************************/
8496
- /***/ ((__unused_webpack_module, exports) => {
8497
-
8498
- "use strict";
8499
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createDirentFromStats = void 0;\nclass DirentFromStats {\n constructor(name, stats) {\n this.name = name;\n this.isBlockDevice = stats.isBlockDevice.bind(stats);\n this.isCharacterDevice = stats.isCharacterDevice.bind(stats);\n this.isDirectory = stats.isDirectory.bind(stats);\n this.isFIFO = stats.isFIFO.bind(stats);\n this.isFile = stats.isFile.bind(stats);\n this.isSocket = stats.isSocket.bind(stats);\n this.isSymbolicLink = stats.isSymbolicLink.bind(stats);\n }\n}\nfunction createDirentFromStats(name, stats) {\n return new DirentFromStats(name, stats);\n}\nexports.createDirentFromStats = createDirentFromStats;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/utils/fs.js?");
8500
-
8501
- /***/ }),
8502
-
8503
- /***/ "./node_modules/@nodelib/fs.scandir/out/utils/index.js":
8504
- /*!*************************************************************!*\
8505
- !*** ./node_modules/@nodelib/fs.scandir/out/utils/index.js ***!
8506
- \*************************************************************/
8507
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8508
-
8509
- "use strict";
8510
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.fs = void 0;\nconst fs = __webpack_require__(/*! ./fs */ \"./node_modules/@nodelib/fs.scandir/out/utils/fs.js\");\nexports.fs = fs;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.scandir/out/utils/index.js?");
8511
-
8512
- /***/ }),
8513
-
8514
- /***/ "./node_modules/@nodelib/fs.stat/out/adapters/fs.js":
8515
- /*!**********************************************************!*\
8516
- !*** ./node_modules/@nodelib/fs.stat/out/adapters/fs.js ***!
8517
- \**********************************************************/
8518
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8519
-
8520
- "use strict";
8521
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nexports.FILE_SYSTEM_ADAPTER = {\n lstat: fs.lstat,\n stat: fs.stat,\n lstatSync: fs.lstatSync,\n statSync: fs.statSync\n};\nfunction createFileSystemAdapter(fsMethods) {\n if (fsMethods === undefined) {\n return exports.FILE_SYSTEM_ADAPTER;\n }\n return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);\n}\nexports.createFileSystemAdapter = createFileSystemAdapter;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.stat/out/adapters/fs.js?");
8522
-
8523
- /***/ }),
8524
-
8525
- /***/ "./node_modules/@nodelib/fs.stat/out/index.js":
8526
- /*!****************************************************!*\
8527
- !*** ./node_modules/@nodelib/fs.stat/out/index.js ***!
8528
- \****************************************************/
8529
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8530
-
8531
- "use strict";
8532
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.statSync = exports.stat = exports.Settings = void 0;\nconst async = __webpack_require__(/*! ./providers/async */ \"./node_modules/@nodelib/fs.stat/out/providers/async.js\");\nconst sync = __webpack_require__(/*! ./providers/sync */ \"./node_modules/@nodelib/fs.stat/out/providers/sync.js\");\nconst settings_1 = __webpack_require__(/*! ./settings */ \"./node_modules/@nodelib/fs.stat/out/settings.js\");\nexports.Settings = settings_1.default;\nfunction stat(path, optionsOrSettingsOrCallback, callback) {\n if (typeof optionsOrSettingsOrCallback === 'function') {\n async.read(path, getSettings(), optionsOrSettingsOrCallback);\n return;\n }\n async.read(path, getSettings(optionsOrSettingsOrCallback), callback);\n}\nexports.stat = stat;\nfunction statSync(path, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n return sync.read(path, settings);\n}\nexports.statSync = statSync;\nfunction getSettings(settingsOrOptions = {}) {\n if (settingsOrOptions instanceof settings_1.default) {\n return settingsOrOptions;\n }\n return new settings_1.default(settingsOrOptions);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.stat/out/index.js?");
8533
-
8534
- /***/ }),
8535
-
8536
- /***/ "./node_modules/@nodelib/fs.stat/out/providers/async.js":
8537
- /*!**************************************************************!*\
8538
- !*** ./node_modules/@nodelib/fs.stat/out/providers/async.js ***!
8539
- \**************************************************************/
8540
- /***/ ((__unused_webpack_module, exports) => {
8541
-
8542
- "use strict";
8543
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.read = void 0;\nfunction read(path, settings, callback) {\n settings.fs.lstat(path, (lstatError, lstat) => {\n if (lstatError !== null) {\n callFailureCallback(callback, lstatError);\n return;\n }\n if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {\n callSuccessCallback(callback, lstat);\n return;\n }\n settings.fs.stat(path, (statError, stat) => {\n if (statError !== null) {\n if (settings.throwErrorOnBrokenSymbolicLink) {\n callFailureCallback(callback, statError);\n return;\n }\n callSuccessCallback(callback, lstat);\n return;\n }\n if (settings.markSymbolicLink) {\n stat.isSymbolicLink = () => true;\n }\n callSuccessCallback(callback, stat);\n });\n });\n}\nexports.read = read;\nfunction callFailureCallback(callback, error) {\n callback(error);\n}\nfunction callSuccessCallback(callback, result) {\n callback(null, result);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.stat/out/providers/async.js?");
8544
-
8545
- /***/ }),
8546
-
8547
- /***/ "./node_modules/@nodelib/fs.stat/out/providers/sync.js":
8548
- /*!*************************************************************!*\
8549
- !*** ./node_modules/@nodelib/fs.stat/out/providers/sync.js ***!
8550
- \*************************************************************/
8551
- /***/ ((__unused_webpack_module, exports) => {
8552
-
8553
- "use strict";
8554
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.read = void 0;\nfunction read(path, settings) {\n const lstat = settings.fs.lstatSync(path);\n if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {\n return lstat;\n }\n try {\n const stat = settings.fs.statSync(path);\n if (settings.markSymbolicLink) {\n stat.isSymbolicLink = () => true;\n }\n return stat;\n }\n catch (error) {\n if (!settings.throwErrorOnBrokenSymbolicLink) {\n return lstat;\n }\n throw error;\n }\n}\nexports.read = read;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.stat/out/providers/sync.js?");
8555
-
8556
- /***/ }),
8557
-
8558
- /***/ "./node_modules/@nodelib/fs.stat/out/settings.js":
8559
- /*!*******************************************************!*\
8560
- !*** ./node_modules/@nodelib/fs.stat/out/settings.js ***!
8561
- \*******************************************************/
8562
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8563
-
8564
- "use strict";
8565
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst fs = __webpack_require__(/*! ./adapters/fs */ \"./node_modules/@nodelib/fs.stat/out/adapters/fs.js\");\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);\n this.fs = fs.createFileSystemAdapter(this._options.fs);\n this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);\n this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);\n }\n _getValue(option, value) {\n return option !== null && option !== void 0 ? option : value;\n }\n}\nexports[\"default\"] = Settings;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.stat/out/settings.js?");
8566
-
8567
- /***/ }),
8568
-
8569
- /***/ "./node_modules/@nodelib/fs.walk/out/index.js":
8570
- /*!****************************************************!*\
8571
- !*** ./node_modules/@nodelib/fs.walk/out/index.js ***!
8572
- \****************************************************/
8573
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8574
-
8575
- "use strict";
8576
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0;\nconst async_1 = __webpack_require__(/*! ./providers/async */ \"./node_modules/@nodelib/fs.walk/out/providers/async.js\");\nconst stream_1 = __webpack_require__(/*! ./providers/stream */ \"./node_modules/@nodelib/fs.walk/out/providers/stream.js\");\nconst sync_1 = __webpack_require__(/*! ./providers/sync */ \"./node_modules/@nodelib/fs.walk/out/providers/sync.js\");\nconst settings_1 = __webpack_require__(/*! ./settings */ \"./node_modules/@nodelib/fs.walk/out/settings.js\");\nexports.Settings = settings_1.default;\nfunction walk(directory, optionsOrSettingsOrCallback, callback) {\n if (typeof optionsOrSettingsOrCallback === 'function') {\n new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);\n return;\n }\n new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);\n}\nexports.walk = walk;\nfunction walkSync(directory, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n const provider = new sync_1.default(directory, settings);\n return provider.read();\n}\nexports.walkSync = walkSync;\nfunction walkStream(directory, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n const provider = new stream_1.default(directory, settings);\n return provider.read();\n}\nexports.walkStream = walkStream;\nfunction getSettings(settingsOrOptions = {}) {\n if (settingsOrOptions instanceof settings_1.default) {\n return settingsOrOptions;\n }\n return new settings_1.default(settingsOrOptions);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/index.js?");
8577
-
8578
- /***/ }),
8579
-
8580
- /***/ "./node_modules/@nodelib/fs.walk/out/providers/async.js":
8581
- /*!**************************************************************!*\
8582
- !*** ./node_modules/@nodelib/fs.walk/out/providers/async.js ***!
8583
- \**************************************************************/
8584
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8585
-
8586
- "use strict";
8587
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst async_1 = __webpack_require__(/*! ../readers/async */ \"./node_modules/@nodelib/fs.walk/out/readers/async.js\");\nclass AsyncProvider {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._reader = new async_1.default(this._root, this._settings);\n this._storage = [];\n }\n read(callback) {\n this._reader.onError((error) => {\n callFailureCallback(callback, error);\n });\n this._reader.onEntry((entry) => {\n this._storage.push(entry);\n });\n this._reader.onEnd(() => {\n callSuccessCallback(callback, this._storage);\n });\n this._reader.read();\n }\n}\nexports[\"default\"] = AsyncProvider;\nfunction callFailureCallback(callback, error) {\n callback(error);\n}\nfunction callSuccessCallback(callback, entries) {\n callback(null, entries);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/providers/async.js?");
8588
-
8589
- /***/ }),
8590
-
8591
- /***/ "./node_modules/@nodelib/fs.walk/out/providers/stream.js":
8592
- /*!***************************************************************!*\
8593
- !*** ./node_modules/@nodelib/fs.walk/out/providers/stream.js ***!
8594
- \***************************************************************/
8595
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8596
-
8597
- "use strict";
8598
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\nconst async_1 = __webpack_require__(/*! ../readers/async */ \"./node_modules/@nodelib/fs.walk/out/readers/async.js\");\nclass StreamProvider {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._reader = new async_1.default(this._root, this._settings);\n this._stream = new stream_1.Readable({\n objectMode: true,\n read: () => { },\n destroy: () => {\n if (!this._reader.isDestroyed) {\n this._reader.destroy();\n }\n }\n });\n }\n read() {\n this._reader.onError((error) => {\n this._stream.emit('error', error);\n });\n this._reader.onEntry((entry) => {\n this._stream.push(entry);\n });\n this._reader.onEnd(() => {\n this._stream.push(null);\n });\n this._reader.read();\n return this._stream;\n }\n}\nexports[\"default\"] = StreamProvider;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/providers/stream.js?");
8599
-
8600
- /***/ }),
8601
-
8602
- /***/ "./node_modules/@nodelib/fs.walk/out/providers/sync.js":
8603
- /*!*************************************************************!*\
8604
- !*** ./node_modules/@nodelib/fs.walk/out/providers/sync.js ***!
8605
- \*************************************************************/
8606
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8607
-
8608
- "use strict";
8609
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst sync_1 = __webpack_require__(/*! ../readers/sync */ \"./node_modules/@nodelib/fs.walk/out/readers/sync.js\");\nclass SyncProvider {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._reader = new sync_1.default(this._root, this._settings);\n }\n read() {\n return this._reader.read();\n }\n}\nexports[\"default\"] = SyncProvider;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/providers/sync.js?");
8610
-
8611
- /***/ }),
8612
-
8613
- /***/ "./node_modules/@nodelib/fs.walk/out/readers/async.js":
8614
- /*!************************************************************!*\
8615
- !*** ./node_modules/@nodelib/fs.walk/out/readers/async.js ***!
8616
- \************************************************************/
8617
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8618
-
8619
- "use strict";
8620
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst events_1 = __webpack_require__(/*! events */ \"events\");\nconst fsScandir = __webpack_require__(/*! @nodelib/fs.scandir */ \"./node_modules/@nodelib/fs.scandir/out/index.js\");\nconst fastq = __webpack_require__(/*! fastq */ \"./node_modules/fastq/queue.js\");\nconst common = __webpack_require__(/*! ./common */ \"./node_modules/@nodelib/fs.walk/out/readers/common.js\");\nconst reader_1 = __webpack_require__(/*! ./reader */ \"./node_modules/@nodelib/fs.walk/out/readers/reader.js\");\nclass AsyncReader extends reader_1.default {\n constructor(_root, _settings) {\n super(_root, _settings);\n this._settings = _settings;\n this._scandir = fsScandir.scandir;\n this._emitter = new events_1.EventEmitter();\n this._queue = fastq(this._worker.bind(this), this._settings.concurrency);\n this._isFatalError = false;\n this._isDestroyed = false;\n this._queue.drain = () => {\n if (!this._isFatalError) {\n this._emitter.emit('end');\n }\n };\n }\n read() {\n this._isFatalError = false;\n this._isDestroyed = false;\n setImmediate(() => {\n this._pushToQueue(this._root, this._settings.basePath);\n });\n return this._emitter;\n }\n get isDestroyed() {\n return this._isDestroyed;\n }\n destroy() {\n if (this._isDestroyed) {\n throw new Error('The reader is already destroyed');\n }\n this._isDestroyed = true;\n this._queue.killAndDrain();\n }\n onEntry(callback) {\n this._emitter.on('entry', callback);\n }\n onError(callback) {\n this._emitter.once('error', callback);\n }\n onEnd(callback) {\n this._emitter.once('end', callback);\n }\n _pushToQueue(directory, base) {\n const queueItem = { directory, base };\n this._queue.push(queueItem, (error) => {\n if (error !== null) {\n this._handleError(error);\n }\n });\n }\n _worker(item, done) {\n this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {\n if (error !== null) {\n done(error, undefined);\n return;\n }\n for (const entry of entries) {\n this._handleEntry(entry, item.base);\n }\n done(null, undefined);\n });\n }\n _handleError(error) {\n if (this._isDestroyed || !common.isFatalError(this._settings, error)) {\n return;\n }\n this._isFatalError = true;\n this._isDestroyed = true;\n this._emitter.emit('error', error);\n }\n _handleEntry(entry, base) {\n if (this._isDestroyed || this._isFatalError) {\n return;\n }\n const fullpath = entry.path;\n if (base !== undefined) {\n entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);\n }\n if (common.isAppliedFilter(this._settings.entryFilter, entry)) {\n this._emitEntry(entry);\n }\n if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {\n this._pushToQueue(fullpath, base === undefined ? undefined : entry.path);\n }\n }\n _emitEntry(entry) {\n this._emitter.emit('entry', entry);\n }\n}\nexports[\"default\"] = AsyncReader;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/readers/async.js?");
8621
-
8622
- /***/ }),
8623
-
8624
- /***/ "./node_modules/@nodelib/fs.walk/out/readers/common.js":
8625
- /*!*************************************************************!*\
8626
- !*** ./node_modules/@nodelib/fs.walk/out/readers/common.js ***!
8627
- \*************************************************************/
8628
- /***/ ((__unused_webpack_module, exports) => {
8629
-
8630
- "use strict";
8631
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0;\nfunction isFatalError(settings, error) {\n if (settings.errorFilter === null) {\n return true;\n }\n return !settings.errorFilter(error);\n}\nexports.isFatalError = isFatalError;\nfunction isAppliedFilter(filter, value) {\n return filter === null || filter(value);\n}\nexports.isAppliedFilter = isAppliedFilter;\nfunction replacePathSegmentSeparator(filepath, separator) {\n return filepath.split(/[/\\\\]/).join(separator);\n}\nexports.replacePathSegmentSeparator = replacePathSegmentSeparator;\nfunction joinPathSegments(a, b, separator) {\n if (a === '') {\n return b;\n }\n /**\n * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`).\n */\n if (a.endsWith(separator)) {\n return a + b;\n }\n return a + separator + b;\n}\nexports.joinPathSegments = joinPathSegments;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/readers/common.js?");
8632
-
8633
- /***/ }),
8634
-
8635
- /***/ "./node_modules/@nodelib/fs.walk/out/readers/reader.js":
8636
- /*!*************************************************************!*\
8637
- !*** ./node_modules/@nodelib/fs.walk/out/readers/reader.js ***!
8638
- \*************************************************************/
8639
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8640
-
8641
- "use strict";
8642
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst common = __webpack_require__(/*! ./common */ \"./node_modules/@nodelib/fs.walk/out/readers/common.js\");\nclass Reader {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);\n }\n}\nexports[\"default\"] = Reader;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/readers/reader.js?");
8643
-
8644
- /***/ }),
8645
-
8646
- /***/ "./node_modules/@nodelib/fs.walk/out/readers/sync.js":
8647
- /*!***********************************************************!*\
8648
- !*** ./node_modules/@nodelib/fs.walk/out/readers/sync.js ***!
8649
- \***********************************************************/
8650
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8651
-
8652
- "use strict";
8653
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst fsScandir = __webpack_require__(/*! @nodelib/fs.scandir */ \"./node_modules/@nodelib/fs.scandir/out/index.js\");\nconst common = __webpack_require__(/*! ./common */ \"./node_modules/@nodelib/fs.walk/out/readers/common.js\");\nconst reader_1 = __webpack_require__(/*! ./reader */ \"./node_modules/@nodelib/fs.walk/out/readers/reader.js\");\nclass SyncReader extends reader_1.default {\n constructor() {\n super(...arguments);\n this._scandir = fsScandir.scandirSync;\n this._storage = [];\n this._queue = new Set();\n }\n read() {\n this._pushToQueue(this._root, this._settings.basePath);\n this._handleQueue();\n return this._storage;\n }\n _pushToQueue(directory, base) {\n this._queue.add({ directory, base });\n }\n _handleQueue() {\n for (const item of this._queue.values()) {\n this._handleDirectory(item.directory, item.base);\n }\n }\n _handleDirectory(directory, base) {\n try {\n const entries = this._scandir(directory, this._settings.fsScandirSettings);\n for (const entry of entries) {\n this._handleEntry(entry, base);\n }\n }\n catch (error) {\n this._handleError(error);\n }\n }\n _handleError(error) {\n if (!common.isFatalError(this._settings, error)) {\n return;\n }\n throw error;\n }\n _handleEntry(entry, base) {\n const fullpath = entry.path;\n if (base !== undefined) {\n entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);\n }\n if (common.isAppliedFilter(this._settings.entryFilter, entry)) {\n this._pushToStorage(entry);\n }\n if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {\n this._pushToQueue(fullpath, base === undefined ? undefined : entry.path);\n }\n }\n _pushToStorage(entry) {\n this._storage.push(entry);\n }\n}\nexports[\"default\"] = SyncReader;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/readers/sync.js?");
8654
-
8655
- /***/ }),
8656
-
8657
- /***/ "./node_modules/@nodelib/fs.walk/out/settings.js":
8658
- /*!*******************************************************!*\
8659
- !*** ./node_modules/@nodelib/fs.walk/out/settings.js ***!
8660
- \*******************************************************/
8661
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8662
-
8663
- "use strict";
8664
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst path = __webpack_require__(/*! path */ \"path\");\nconst fsScandir = __webpack_require__(/*! @nodelib/fs.scandir */ \"./node_modules/@nodelib/fs.scandir/out/index.js\");\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.basePath = this._getValue(this._options.basePath, undefined);\n this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);\n this.deepFilter = this._getValue(this._options.deepFilter, null);\n this.entryFilter = this._getValue(this._options.entryFilter, null);\n this.errorFilter = this._getValue(this._options.errorFilter, null);\n this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);\n this.fsScandirSettings = new fsScandir.Settings({\n followSymbolicLinks: this._options.followSymbolicLinks,\n fs: this._options.fs,\n pathSegmentSeparator: this._options.pathSegmentSeparator,\n stats: this._options.stats,\n throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink\n });\n }\n _getValue(option, value) {\n return option !== null && option !== void 0 ? option : value;\n }\n}\nexports[\"default\"] = Settings;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/@nodelib/fs.walk/out/settings.js?");
8665
-
8666
- /***/ }),
8667
-
8668
8415
  /***/ "./node_modules/@ogre-tools/fp/build/index.js":
8669
8416
  /*!****************************************************!*\
8670
8417
  !*** ./node_modules/@ogre-tools/fp/build/index.js ***!
@@ -8716,17 +8463,6 @@ eval("/*globals self, window */\n\n\n/*eslint-disable @mysticatea/prettier */\nc
8716
8463
 
8717
8464
  /***/ }),
8718
8465
 
8719
- /***/ "./node_modules/aggregate-error/index.js":
8720
- /*!***********************************************!*\
8721
- !*** ./node_modules/aggregate-error/index.js ***!
8722
- \***********************************************/
8723
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8724
-
8725
- "use strict";
8726
- eval("\nconst indentString = __webpack_require__(/*! indent-string */ \"./node_modules/indent-string/index.js\");\nconst cleanStack = __webpack_require__(/*! clean-stack */ \"./node_modules/clean-stack/index.js\");\n\nconst cleanInternalStack = stack => stack.replace(/\\s+at .*aggregate-error\\/index.js:\\d+:\\d+\\)?/g, '');\n\nclass AggregateError extends Error {\n\tconstructor(errors) {\n\t\tif (!Array.isArray(errors)) {\n\t\t\tthrow new TypeError(`Expected input to be an Array, got ${typeof errors}`);\n\t\t}\n\n\t\terrors = [...errors].map(error => {\n\t\t\tif (error instanceof Error) {\n\t\t\t\treturn error;\n\t\t\t}\n\n\t\t\tif (error !== null && typeof error === 'object') {\n\t\t\t\t// Handle plain error objects with message property and/or possibly other metadata\n\t\t\t\treturn Object.assign(new Error(error.message), error);\n\t\t\t}\n\n\t\t\treturn new Error(error);\n\t\t});\n\n\t\tlet message = errors\n\t\t\t.map(error => {\n\t\t\t\t// The `stack` property is not standardized, so we can't assume it exists\n\t\t\t\treturn typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error);\n\t\t\t})\n\t\t\t.join('\\n');\n\t\tmessage = '\\n' + indentString(message, 4);\n\t\tsuper(message);\n\n\t\tthis.name = 'AggregateError';\n\n\t\tObject.defineProperty(this, '_errors', {value: errors});\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const error of this._errors) {\n\t\t\tyield error;\n\t\t}\n\t}\n}\n\nmodule.exports = AggregateError;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/aggregate-error/index.js?");
8727
-
8728
- /***/ }),
8729
-
8730
8466
  /***/ "./node_modules/ajv/lib/ajv.js":
8731
8467
  /*!*************************************!*\
8732
8468
  !*** ./node_modules/ajv/lib/ajv.js ***!
@@ -9178,17 +8914,6 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\n
9178
8914
 
9179
8915
  /***/ }),
9180
8916
 
9181
- /***/ "./node_modules/array-union/index.js":
9182
- /*!*******************************************!*\
9183
- !*** ./node_modules/array-union/index.js ***!
9184
- \*******************************************/
9185
- /***/ ((module) => {
9186
-
9187
- "use strict";
9188
- eval("\n\nmodule.exports = (...arguments_) => {\n\treturn [...new Set([].concat(...arguments_))];\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/array-union/index.js?");
9189
-
9190
- /***/ }),
9191
-
9192
8917
  /***/ "./node_modules/asn1/lib/ber/errors.js":
9193
8918
  /*!*********************************************!*\
9194
8919
  !*** ./node_modules/asn1/lib/ber/errors.js ***!
@@ -9855,17 +9580,6 @@ eval("\nconst fs = __webpack_require__(/*! fs */ \"fs\")\nconst path = __webpack
9855
9580
 
9856
9581
  /***/ }),
9857
9582
 
9858
- /***/ "./node_modules/clean-stack/index.js":
9859
- /*!*******************************************!*\
9860
- !*** ./node_modules/clean-stack/index.js ***!
9861
- \*******************************************/
9862
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9863
-
9864
- "use strict";
9865
- eval("\nconst os = __webpack_require__(/*! os */ \"os\");\n\nconst extractPathRegex = /\\s+at.*(?:\\(|\\s)(.*)\\)?/;\nconst pathRegex = /^(?:(?:(?:node|(?:internal\\/[\\w/]*|.*node_modules\\/(?:babel-polyfill|pirates)\\/.*)?\\w+)\\.js:\\d+:\\d+)|native)/;\nconst homeDir = typeof os.homedir === 'undefined' ? '' : os.homedir();\n\nmodule.exports = (stack, options) => {\n\toptions = Object.assign({pretty: false}, options);\n\n\treturn stack.replace(/\\\\/g, '/')\n\t\t.split('\\n')\n\t\t.filter(line => {\n\t\t\tconst pathMatches = line.match(extractPathRegex);\n\t\t\tif (pathMatches === null || !pathMatches[1]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst match = pathMatches[1];\n\n\t\t\t// Electron\n\t\t\tif (\n\t\t\t\tmatch.includes('.app/Contents/Resources/electron.asar') ||\n\t\t\t\tmatch.includes('.app/Contents/Resources/default_app.asar')\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !pathRegex.test(match);\n\t\t})\n\t\t.filter(line => line.trim() !== '')\n\t\t.map(line => {\n\t\t\tif (options.pretty) {\n\t\t\t\treturn line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, '~')));\n\t\t\t}\n\n\t\t\treturn line;\n\t\t})\n\t\t.join('\\n');\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/clean-stack/index.js?");
9866
-
9867
- /***/ }),
9868
-
9869
9583
  /***/ "./node_modules/clsx/dist/clsx.m.js":
9870
9584
  /*!******************************************!*\
9871
9585
  !*** ./node_modules/clsx/dist/clsx.m.js ***!
@@ -10098,17 +9812,6 @@ eval(";(function (root, factory) {\n\tif (true) {\n\t\t// CommonJS\n\t\tmodule.e
10098
9812
 
10099
9813
  /***/ }),
10100
9814
 
10101
- /***/ "./node_modules/crypto-random-string/index.js":
10102
- /*!****************************************************!*\
10103
- !*** ./node_modules/crypto-random-string/index.js ***!
10104
- \****************************************************/
10105
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10106
-
10107
- "use strict";
10108
- eval("\nconst crypto = __webpack_require__(/*! crypto */ \"crypto\");\n\nmodule.exports = length => {\n\tif (!Number.isFinite(length)) {\n\t\tthrow new TypeError('Expected a finite number');\n\t}\n\n\treturn crypto.randomBytes(Math.ceil(length / 2)).toString('hex').slice(0, length);\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/crypto-random-string/index.js?");
10109
-
10110
- /***/ }),
10111
-
10112
9815
  /***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css":
10113
9816
  /*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
10114
9817
  !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css ***!
@@ -11572,17 +11275,6 @@ eval("\n\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\
11572
11275
 
11573
11276
  /***/ }),
11574
11277
 
11575
- /***/ "./node_modules/del/index.js":
11576
- /*!***********************************!*\
11577
- !*** ./node_modules/del/index.js ***!
11578
- \***********************************/
11579
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11580
-
11581
- "use strict";
11582
- eval("\nconst {promisify} = __webpack_require__(/*! util */ \"util\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst globby = __webpack_require__(/*! globby */ \"./node_modules/globby/index.js\");\nconst isGlob = __webpack_require__(/*! is-glob */ \"./node_modules/is-glob/index.js\");\nconst slash = __webpack_require__(/*! slash */ \"./node_modules/slash/index.js\");\nconst gracefulFs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\");\nconst isPathCwd = __webpack_require__(/*! is-path-cwd */ \"./node_modules/is-path-cwd/index.js\");\nconst isPathInside = __webpack_require__(/*! is-path-inside */ \"./node_modules/is-path-inside/index.js\");\nconst rimraf = __webpack_require__(/*! rimraf */ \"./node_modules/rimraf/rimraf.js\");\nconst pMap = __webpack_require__(/*! p-map */ \"./node_modules/p-map/index.js\");\n\nconst rimrafP = promisify(rimraf);\n\nconst rimrafOptions = {\n\tglob: false,\n\tunlink: gracefulFs.unlink,\n\tunlinkSync: gracefulFs.unlinkSync,\n\tchmod: gracefulFs.chmod,\n\tchmodSync: gracefulFs.chmodSync,\n\tstat: gracefulFs.stat,\n\tstatSync: gracefulFs.statSync,\n\tlstat: gracefulFs.lstat,\n\tlstatSync: gracefulFs.lstatSync,\n\trmdir: gracefulFs.rmdir,\n\trmdirSync: gracefulFs.rmdirSync,\n\treaddir: gracefulFs.readdir,\n\treaddirSync: gracefulFs.readdirSync\n};\n\nfunction safeCheck(file, cwd) {\n\tif (isPathCwd(file)) {\n\t\tthrow new Error('Cannot delete the current working directory. Can be overridden with the `force` option.');\n\t}\n\n\tif (!isPathInside(file, cwd)) {\n\t\tthrow new Error('Cannot delete files/directories outside the current working directory. Can be overridden with the `force` option.');\n\t}\n}\n\nfunction normalizePatterns(patterns) {\n\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\tpatterns = patterns.map(pattern => {\n\t\tif (process.platform === 'win32' && isGlob(pattern) === false) {\n\t\t\treturn slash(pattern);\n\t\t}\n\n\t\treturn pattern;\n\t});\n\n\treturn patterns;\n}\n\nmodule.exports = async (patterns, {force, dryRun, cwd = process.cwd(), ...options} = {}) => {\n\toptions = {\n\t\texpandDirectories: false,\n\t\tonlyFiles: false,\n\t\tfollowSymbolicLinks: false,\n\t\tcwd,\n\t\t...options\n\t};\n\n\tpatterns = normalizePatterns(patterns);\n\n\tconst files = (await globby(patterns, options))\n\t\t.sort((a, b) => b.localeCompare(a));\n\n\tconst mapper = async file => {\n\t\tfile = path.resolve(cwd, file);\n\n\t\tif (!force) {\n\t\t\tsafeCheck(file, cwd);\n\t\t}\n\n\t\tif (!dryRun) {\n\t\t\tawait rimrafP(file, rimrafOptions);\n\t\t}\n\n\t\treturn file;\n\t};\n\n\tconst removedFiles = await pMap(files, mapper, options);\n\n\tremovedFiles.sort((a, b) => a.localeCompare(b));\n\n\treturn removedFiles;\n};\n\nmodule.exports.sync = (patterns, {force, dryRun, cwd = process.cwd(), ...options} = {}) => {\n\toptions = {\n\t\texpandDirectories: false,\n\t\tonlyFiles: false,\n\t\tfollowSymbolicLinks: false,\n\t\tcwd,\n\t\t...options\n\t};\n\n\tpatterns = normalizePatterns(patterns);\n\n\tconst files = globby.sync(patterns, options)\n\t\t.sort((a, b) => b.localeCompare(a));\n\n\tconst removedFiles = files.map(file => {\n\t\tfile = path.resolve(cwd, file);\n\n\t\tif (!force) {\n\t\t\tsafeCheck(file, cwd);\n\t\t}\n\n\t\tif (!dryRun) {\n\t\t\trimraf.sync(file, rimrafOptions);\n\t\t}\n\n\t\treturn file;\n\t});\n\n\tremovedFiles.sort((a, b) => a.localeCompare(b));\n\n\treturn removedFiles;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/del/index.js?");
11583
-
11584
- /***/ }),
11585
-
11586
11278
  /***/ "./node_modules/delayed-stream/lib/delayed_stream.js":
11587
11279
  /*!***********************************************************!*\
11588
11280
  !*** ./node_modules/delayed-stream/lib/delayed_stream.js ***!
@@ -11593,17 +11285,6 @@ eval("var Stream = (__webpack_require__(/*! stream */ \"stream\").Stream);\nvar
11593
11285
 
11594
11286
  /***/ }),
11595
11287
 
11596
- /***/ "./node_modules/dir-glob/index.js":
11597
- /*!****************************************!*\
11598
- !*** ./node_modules/dir-glob/index.js ***!
11599
- \****************************************/
11600
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11601
-
11602
- "use strict";
11603
- eval("\nconst path = __webpack_require__(/*! path */ \"path\");\nconst pathType = __webpack_require__(/*! path-type */ \"./node_modules/path-type/index.js\");\n\nconst getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0];\n\nconst getPath = (filepath, cwd) => {\n\tconst pth = filepath[0] === '!' ? filepath.slice(1) : filepath;\n\treturn path.isAbsolute(pth) ? pth : path.join(cwd, pth);\n};\n\nconst addExtensions = (file, extensions) => {\n\tif (path.extname(file)) {\n\t\treturn `**/${file}`;\n\t}\n\n\treturn `**/${file}.${getExtensions(extensions)}`;\n};\n\nconst getGlob = (directory, options) => {\n\tif (options.files && !Array.isArray(options.files)) {\n\t\tthrow new TypeError(`Expected \\`files\\` to be of type \\`Array\\` but received type \\`${typeof options.files}\\``);\n\t}\n\n\tif (options.extensions && !Array.isArray(options.extensions)) {\n\t\tthrow new TypeError(`Expected \\`extensions\\` to be of type \\`Array\\` but received type \\`${typeof options.extensions}\\``);\n\t}\n\n\tif (options.files && options.extensions) {\n\t\treturn options.files.map(x => path.posix.join(directory, addExtensions(x, options.extensions)));\n\t}\n\n\tif (options.files) {\n\t\treturn options.files.map(x => path.posix.join(directory, `**/${x}`));\n\t}\n\n\tif (options.extensions) {\n\t\treturn [path.posix.join(directory, `**/*.${getExtensions(options.extensions)}`)];\n\t}\n\n\treturn [path.posix.join(directory, '**')];\n};\n\nmodule.exports = async (input, options) => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\t...options\n\t};\n\n\tif (typeof options.cwd !== 'string') {\n\t\tthrow new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof options.cwd}\\``);\n\t}\n\n\tconst globs = await Promise.all([].concat(input).map(async x => {\n\t\tconst isDirectory = await pathType.isDirectory(getPath(x, options.cwd));\n\t\treturn isDirectory ? getGlob(x, options) : x;\n\t}));\n\n\treturn [].concat.apply([], globs); // eslint-disable-line prefer-spread\n};\n\nmodule.exports.sync = (input, options) => {\n\toptions = {\n\t\tcwd: process.cwd(),\n\t\t...options\n\t};\n\n\tif (typeof options.cwd !== 'string') {\n\t\tthrow new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof options.cwd}\\``);\n\t}\n\n\tconst globs = [].concat(input).map(x => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x);\n\n\treturn [].concat.apply([], globs); // eslint-disable-line prefer-spread\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/dir-glob/index.js?");
11604
-
11605
- /***/ }),
11606
-
11607
11288
  /***/ "./node_modules/dot-prop/index.js":
11608
11289
  /*!****************************************!*\
11609
11290
  !*** ./node_modules/dot-prop/index.js ***!
@@ -11719,330 +11400,44 @@ eval("/*\n Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com>\n\n Redist
11719
11400
  /***/ }),
11720
11401
 
11721
11402
  /***/ "./node_modules/esutils/lib/utils.js":
11722
- /*!*******************************************!*\
11723
- !*** ./node_modules/esutils/lib/utils.js ***!
11724
- \*******************************************/
11725
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11726
-
11727
- eval("/*\n Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com>\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n\n(function () {\n 'use strict';\n\n exports.ast = __webpack_require__(/*! ./ast */ \"./node_modules/esutils/lib/ast.js\");\n exports.code = __webpack_require__(/*! ./code */ \"./node_modules/esutils/lib/code.js\");\n exports.keyword = __webpack_require__(/*! ./keyword */ \"./node_modules/esutils/lib/keyword.js\");\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n\n\n//# sourceURL=webpack://open-lens/./node_modules/esutils/lib/utils.js?");
11728
-
11729
- /***/ }),
11730
-
11731
- /***/ "./node_modules/extend/index.js":
11732
- /*!**************************************!*\
11733
- !*** ./node_modules/extend/index.js ***!
11734
- \**************************************/
11735
- /***/ ((module) => {
11736
-
11737
- "use strict";
11738
- eval("\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/extend/index.js?");
11739
-
11740
- /***/ }),
11741
-
11742
- /***/ "./node_modules/extsprintf/lib/extsprintf.js":
11743
- /*!***************************************************!*\
11744
- !*** ./node_modules/extsprintf/lib/extsprintf.js ***!
11745
- \***************************************************/
11746
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11747
-
11748
- eval("/*\n * extsprintf.js: extended POSIX-style sprintf\n */\n\nvar mod_assert = __webpack_require__(/*! assert */ \"assert\");\nvar mod_util = __webpack_require__(/*! util */ \"util\");\n\n/*\n * Public interface\n */\nexports.sprintf = jsSprintf;\nexports.printf = jsPrintf;\nexports.fprintf = jsFprintf;\n\n/*\n * Stripped down version of s[n]printf(3c). We make a best effort to throw an\n * exception when given a format string we don't understand, rather than\n * ignoring it, so that we won't break existing programs if/when we go implement\n * the rest of this.\n *\n * This implementation currently supports specifying\n *\t- field alignment ('-' flag),\n * \t- zero-pad ('0' flag)\n *\t- always show numeric sign ('+' flag),\n *\t- field width\n *\t- conversions for strings, decimal integers, and floats (numbers).\n *\t- argument size specifiers. These are all accepted but ignored, since\n *\t Javascript has no notion of the physical size of an argument.\n *\n * Everything else is currently unsupported, most notably precision, unsigned\n * numbers, non-decimal numbers, and characters.\n */\nfunction jsSprintf(ofmt)\n{\n\tvar regex = [\n\t '([^%]*)',\t\t\t\t/* normal text */\n\t '%',\t\t\t\t/* start of format */\n\t '([\\'\\\\-+ #0]*?)',\t\t\t/* flags (optional) */\n\t '([1-9]\\\\d*)?',\t\t\t/* width (optional) */\n\t '(\\\\.([1-9]\\\\d*))?',\t\t/* precision (optional) */\n\t '[lhjztL]*?',\t\t\t/* length mods (ignored) */\n\t '([diouxXfFeEgGaAcCsSp%jr])'\t/* conversion */\n\t].join('');\n\n\tvar re = new RegExp(regex);\n\n\t/* variadic arguments used to fill in conversion specifiers */\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\t/* remaining format string */\n\tvar fmt = ofmt;\n\n\t/* components of the current conversion specifier */\n\tvar flags, width, precision, conversion;\n\tvar left, pad, sign, arg, match;\n\n\t/* return value */\n\tvar ret = '';\n\n\t/* current variadic argument (1-based) */\n\tvar argn = 1;\n\t/* 0-based position in the format string that we've read */\n\tvar posn = 0;\n\t/* 1-based position in the format string of the current conversion */\n\tvar convposn;\n\t/* current conversion specifier */\n\tvar curconv;\n\n\tmod_assert.equal('string', typeof (fmt),\n\t 'first argument must be a format string');\n\n\twhile ((match = re.exec(fmt)) !== null) {\n\t\tret += match[1];\n\t\tfmt = fmt.substring(match[0].length);\n\n\t\t/*\n\t\t * Update flags related to the current conversion specifier's\n\t\t * position so that we can report clear error messages.\n\t\t */\n\t\tcurconv = match[0].substring(match[1].length);\n\t\tconvposn = posn + match[1].length + 1;\n\t\tposn += match[0].length;\n\n\t\tflags = match[2] || '';\n\t\twidth = match[3] || 0;\n\t\tprecision = match[4] || '';\n\t\tconversion = match[6];\n\t\tleft = false;\n\t\tsign = false;\n\t\tpad = ' ';\n\n\t\tif (conversion == '%') {\n\t\t\tret += '%';\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (args.length === 0) {\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'has no matching argument ' +\n\t\t\t '(too few arguments passed)'));\n\t\t}\n\n\t\targ = args.shift();\n\t\targn++;\n\n\t\tif (flags.match(/[\\' #]/)) {\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'uses unsupported flags'));\n\t\t}\n\n\t\tif (precision.length > 0) {\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'uses non-zero precision (not supported)'));\n\t\t}\n\n\t\tif (flags.match(/-/))\n\t\t\tleft = true;\n\n\t\tif (flags.match(/0/))\n\t\t\tpad = '0';\n\n\t\tif (flags.match(/\\+/))\n\t\t\tsign = true;\n\n\t\tswitch (conversion) {\n\t\tcase 's':\n\t\t\tif (arg === undefined || arg === null) {\n\t\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t\t 'attempted to print undefined or null ' +\n\t\t\t\t 'as a string (argument ' + argn + ' to ' +\n\t\t\t\t 'sprintf)'));\n\t\t\t}\n\t\t\tret += doPad(pad, width, left, arg.toString());\n\t\t\tbreak;\n\n\t\tcase 'd':\n\t\t\targ = Math.floor(arg);\n\t\t\t/*jsl:fallthru*/\n\t\tcase 'f':\n\t\t\tsign = sign && arg > 0 ? '+' : '';\n\t\t\tret += sign + doPad(pad, width, left,\n\t\t\t arg.toString());\n\t\t\tbreak;\n\n\t\tcase 'x':\n\t\t\tret += doPad(pad, width, left, arg.toString(16));\n\t\t\tbreak;\n\n\t\tcase 'j': /* non-standard */\n\t\t\tif (width === 0)\n\t\t\t\twidth = 10;\n\t\t\tret += mod_util.inspect(arg, false, width);\n\t\t\tbreak;\n\n\t\tcase 'r': /* non-standard */\n\t\t\tret += dumpException(arg);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'is not supported'));\n\t\t}\n\t}\n\n\tret += fmt;\n\treturn (ret);\n}\n\nfunction jsError(fmtstr, convposn, curconv, reason) {\n\tmod_assert.equal(typeof (fmtstr), 'string');\n\tmod_assert.equal(typeof (curconv), 'string');\n\tmod_assert.equal(typeof (convposn), 'number');\n\tmod_assert.equal(typeof (reason), 'string');\n\treturn (new Error('format string \"' + fmtstr +\n\t '\": conversion specifier \"' + curconv + '\" at character ' +\n\t convposn + ' ' + reason));\n}\n\nfunction jsPrintf() {\n\tvar args = Array.prototype.slice.call(arguments);\n\targs.unshift(process.stdout);\n\tjsFprintf.apply(null, args);\n}\n\nfunction jsFprintf(stream) {\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\treturn (stream.write(jsSprintf.apply(this, args)));\n}\n\nfunction doPad(chr, width, left, str)\n{\n\tvar ret = str;\n\n\twhile (ret.length < width) {\n\t\tif (left)\n\t\t\tret += chr;\n\t\telse\n\t\t\tret = chr + ret;\n\t}\n\n\treturn (ret);\n}\n\n/*\n * This function dumps long stack traces for exceptions having a cause() method.\n * See node-verror for an example.\n */\nfunction dumpException(ex)\n{\n\tvar ret;\n\n\tif (!(ex instanceof Error))\n\t\tthrow (new Error(jsSprintf('invalid type for %%r: %j', ex)));\n\n\t/* Note that V8 prepends \"ex.stack\" with ex.toString(). */\n\tret = 'EXCEPTION: ' + ex.constructor.name + ': ' + ex.stack;\n\n\tif (ex.cause && typeof (ex.cause) === 'function') {\n\t\tvar cex = ex.cause();\n\t\tif (cex) {\n\t\t\tret += '\\nCaused by: ' + dumpException(cex);\n\t\t}\n\t}\n\n\treturn (ret);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/extsprintf/lib/extsprintf.js?");
11749
-
11750
- /***/ }),
11751
-
11752
- /***/ "./node_modules/fast-deep-equal/index.js":
11753
- /*!***********************************************!*\
11754
- !*** ./node_modules/fast-deep-equal/index.js ***!
11755
- \***********************************************/
11756
- /***/ ((module) => {
11757
-
11758
- "use strict";
11759
- eval("\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-deep-equal/index.js?");
11760
-
11761
- /***/ }),
11762
-
11763
- /***/ "./node_modules/fast-glob/out/index.js":
11764
- /*!*********************************************!*\
11765
- !*** ./node_modules/fast-glob/out/index.js ***!
11766
- \*********************************************/
11767
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11768
-
11769
- "use strict";
11770
- eval("\r\nconst taskManager = __webpack_require__(/*! ./managers/tasks */ \"./node_modules/fast-glob/out/managers/tasks.js\");\r\nconst patternManager = __webpack_require__(/*! ./managers/patterns */ \"./node_modules/fast-glob/out/managers/patterns.js\");\r\nconst async_1 = __webpack_require__(/*! ./providers/async */ \"./node_modules/fast-glob/out/providers/async.js\");\r\nconst stream_1 = __webpack_require__(/*! ./providers/stream */ \"./node_modules/fast-glob/out/providers/stream.js\");\r\nconst sync_1 = __webpack_require__(/*! ./providers/sync */ \"./node_modules/fast-glob/out/providers/sync.js\");\r\nconst settings_1 = __webpack_require__(/*! ./settings */ \"./node_modules/fast-glob/out/settings.js\");\r\nconst utils = __webpack_require__(/*! ./utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nasync function FastGlob(source, options) {\r\n assertPatternsInput(source);\r\n const works = getWorks(source, async_1.default, options);\r\n const result = await Promise.all(works);\r\n return utils.array.flatten(result);\r\n}\r\n// https://github.com/typescript-eslint/typescript-eslint/issues/60\r\n// eslint-disable-next-line no-redeclare\r\n(function (FastGlob) {\r\n function sync(source, options) {\r\n assertPatternsInput(source);\r\n const works = getWorks(source, sync_1.default, options);\r\n return utils.array.flatten(works);\r\n }\r\n FastGlob.sync = sync;\r\n function stream(source, options) {\r\n assertPatternsInput(source);\r\n const works = getWorks(source, stream_1.default, options);\r\n /**\r\n * The stream returned by the provider cannot work with an asynchronous iterator.\r\n * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams.\r\n * This affects performance (+25%). I don't see best solution right now.\r\n */\r\n return utils.stream.merge(works);\r\n }\r\n FastGlob.stream = stream;\r\n function generateTasks(source, options) {\r\n assertPatternsInput(source);\r\n const patterns = patternManager.transform([].concat(source));\r\n const settings = new settings_1.default(options);\r\n return taskManager.generate(patterns, settings);\r\n }\r\n FastGlob.generateTasks = generateTasks;\r\n function isDynamicPattern(source, options) {\r\n assertPatternsInput(source);\r\n const settings = new settings_1.default(options);\r\n return utils.pattern.isDynamicPattern(source, settings);\r\n }\r\n FastGlob.isDynamicPattern = isDynamicPattern;\r\n function escapePath(source) {\r\n assertPatternsInput(source);\r\n return utils.path.escape(source);\r\n }\r\n FastGlob.escapePath = escapePath;\r\n})(FastGlob || (FastGlob = {}));\r\nfunction getWorks(source, _Provider, options) {\r\n const patterns = patternManager.transform([].concat(source));\r\n const settings = new settings_1.default(options);\r\n const tasks = taskManager.generate(patterns, settings);\r\n const provider = new _Provider(settings);\r\n return tasks.map(provider.read, provider);\r\n}\r\nfunction assertPatternsInput(input) {\r\n const source = [].concat(input);\r\n const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));\r\n if (!isValidSource) {\r\n throw new TypeError('Patterns must be a string (non empty) or an array of strings');\r\n }\r\n}\r\nmodule.exports = FastGlob;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/index.js?");
11771
-
11772
- /***/ }),
11773
-
11774
- /***/ "./node_modules/fast-glob/out/managers/patterns.js":
11775
- /*!*********************************************************!*\
11776
- !*** ./node_modules/fast-glob/out/managers/patterns.js ***!
11777
- \*********************************************************/
11778
- /***/ ((__unused_webpack_module, exports) => {
11779
-
11780
- "use strict";
11781
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.removeDuplicateSlashes = exports.transform = void 0;\r\n/**\r\n * Matches a sequence of two or more consecutive slashes, excluding the first two slashes at the beginning of the string.\r\n * The latter is due to the presence of the device path at the beginning of the UNC path.\r\n * @todo rewrite to negative lookbehind with the next major release.\r\n */\r\nconst DOUBLE_SLASH_RE = /(?!^)\\/{2,}/g;\r\nfunction transform(patterns) {\r\n return patterns.map((pattern) => removeDuplicateSlashes(pattern));\r\n}\r\nexports.transform = transform;\r\n/**\r\n * This package only works with forward slashes as a path separator.\r\n * Because of this, we cannot use the standard `path.normalize` method, because on Windows platform it will use of backslashes.\r\n */\r\nfunction removeDuplicateSlashes(pattern) {\r\n return pattern.replace(DOUBLE_SLASH_RE, '/');\r\n}\r\nexports.removeDuplicateSlashes = removeDuplicateSlashes;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/managers/patterns.js?");
11782
-
11783
- /***/ }),
11784
-
11785
- /***/ "./node_modules/fast-glob/out/managers/tasks.js":
11786
- /*!******************************************************!*\
11787
- !*** ./node_modules/fast-glob/out/managers/tasks.js ***!
11788
- \******************************************************/
11789
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11790
-
11791
- "use strict";
11792
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0;\r\nconst utils = __webpack_require__(/*! ../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nfunction generate(patterns, settings) {\r\n const positivePatterns = getPositivePatterns(patterns);\r\n const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore);\r\n const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));\r\n const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));\r\n const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false);\r\n const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true);\r\n return staticTasks.concat(dynamicTasks);\r\n}\r\nexports.generate = generate;\r\n/**\r\n * Returns tasks grouped by basic pattern directories.\r\n *\r\n * Patterns that can be found inside (`./`) and outside (`../`) the current directory are handled separately.\r\n * This is necessary because directory traversal starts at the base directory and goes deeper.\r\n */\r\nfunction convertPatternsToTasks(positive, negative, dynamic) {\r\n const tasks = [];\r\n const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);\r\n const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);\r\n const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);\r\n const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);\r\n tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));\r\n /*\r\n * For the sake of reducing future accesses to the file system, we merge all tasks within the current directory\r\n * into a global task, if at least one pattern refers to the root (`.`). In this case, the global task covers the rest.\r\n */\r\n if ('.' in insideCurrentDirectoryGroup) {\r\n tasks.push(convertPatternGroupToTask('.', patternsInsideCurrentDirectory, negative, dynamic));\r\n }\r\n else {\r\n tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));\r\n }\r\n return tasks;\r\n}\r\nexports.convertPatternsToTasks = convertPatternsToTasks;\r\nfunction getPositivePatterns(patterns) {\r\n return utils.pattern.getPositivePatterns(patterns);\r\n}\r\nexports.getPositivePatterns = getPositivePatterns;\r\nfunction getNegativePatternsAsPositive(patterns, ignore) {\r\n const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);\r\n const positive = negative.map(utils.pattern.convertToPositivePattern);\r\n return positive;\r\n}\r\nexports.getNegativePatternsAsPositive = getNegativePatternsAsPositive;\r\nfunction groupPatternsByBaseDirectory(patterns) {\r\n const group = {};\r\n return patterns.reduce((collection, pattern) => {\r\n const base = utils.pattern.getBaseDirectory(pattern);\r\n if (base in collection) {\r\n collection[base].push(pattern);\r\n }\r\n else {\r\n collection[base] = [pattern];\r\n }\r\n return collection;\r\n }, group);\r\n}\r\nexports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;\r\nfunction convertPatternGroupsToTasks(positive, negative, dynamic) {\r\n return Object.keys(positive).map((base) => {\r\n return convertPatternGroupToTask(base, positive[base], negative, dynamic);\r\n });\r\n}\r\nexports.convertPatternGroupsToTasks = convertPatternGroupsToTasks;\r\nfunction convertPatternGroupToTask(base, positive, negative, dynamic) {\r\n return {\r\n dynamic,\r\n positive,\r\n negative,\r\n base,\r\n patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))\r\n };\r\n}\r\nexports.convertPatternGroupToTask = convertPatternGroupToTask;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/managers/tasks.js?");
11793
-
11794
- /***/ }),
11795
-
11796
- /***/ "./node_modules/fast-glob/out/providers/async.js":
11797
- /*!*******************************************************!*\
11798
- !*** ./node_modules/fast-glob/out/providers/async.js ***!
11799
- \*******************************************************/
11800
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11801
-
11802
- "use strict";
11803
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst async_1 = __webpack_require__(/*! ../readers/async */ \"./node_modules/fast-glob/out/readers/async.js\");\r\nconst provider_1 = __webpack_require__(/*! ./provider */ \"./node_modules/fast-glob/out/providers/provider.js\");\r\nclass ProviderAsync extends provider_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._reader = new async_1.default(this._settings);\r\n }\r\n async read(task) {\r\n const root = this._getRootDirectory(task);\r\n const options = this._getReaderOptions(task);\r\n const entries = await this.api(root, task, options);\r\n return entries.map((entry) => options.transform(entry));\r\n }\r\n api(root, task, options) {\r\n if (task.dynamic) {\r\n return this._reader.dynamic(root, options);\r\n }\r\n return this._reader.static(task.patterns, options);\r\n }\r\n}\r\nexports[\"default\"] = ProviderAsync;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/async.js?");
11804
-
11805
- /***/ }),
11806
-
11807
- /***/ "./node_modules/fast-glob/out/providers/filters/deep.js":
11808
- /*!**************************************************************!*\
11809
- !*** ./node_modules/fast-glob/out/providers/filters/deep.js ***!
11810
- \**************************************************************/
11811
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11812
-
11813
- "use strict";
11814
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst utils = __webpack_require__(/*! ../../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nconst partial_1 = __webpack_require__(/*! ../matchers/partial */ \"./node_modules/fast-glob/out/providers/matchers/partial.js\");\r\nclass DeepFilter {\r\n constructor(_settings, _micromatchOptions) {\r\n this._settings = _settings;\r\n this._micromatchOptions = _micromatchOptions;\r\n }\r\n getFilter(basePath, positive, negative) {\r\n const matcher = this._getMatcher(positive);\r\n const negativeRe = this._getNegativePatternsRe(negative);\r\n return (entry) => this._filter(basePath, entry, matcher, negativeRe);\r\n }\r\n _getMatcher(patterns) {\r\n return new partial_1.default(patterns, this._settings, this._micromatchOptions);\r\n }\r\n _getNegativePatternsRe(patterns) {\r\n const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);\r\n return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);\r\n }\r\n _filter(basePath, entry, matcher, negativeRe) {\r\n if (this._isSkippedByDeep(basePath, entry.path)) {\r\n return false;\r\n }\r\n if (this._isSkippedSymbolicLink(entry)) {\r\n return false;\r\n }\r\n const filepath = utils.path.removeLeadingDotSegment(entry.path);\r\n if (this._isSkippedByPositivePatterns(filepath, matcher)) {\r\n return false;\r\n }\r\n return this._isSkippedByNegativePatterns(filepath, negativeRe);\r\n }\r\n _isSkippedByDeep(basePath, entryPath) {\r\n /**\r\n * Avoid unnecessary depth calculations when it doesn't matter.\r\n */\r\n if (this._settings.deep === Infinity) {\r\n return false;\r\n }\r\n return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;\r\n }\r\n _getEntryLevel(basePath, entryPath) {\r\n const entryPathDepth = entryPath.split('/').length;\r\n if (basePath === '') {\r\n return entryPathDepth;\r\n }\r\n const basePathDepth = basePath.split('/').length;\r\n return entryPathDepth - basePathDepth;\r\n }\r\n _isSkippedSymbolicLink(entry) {\r\n return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();\r\n }\r\n _isSkippedByPositivePatterns(entryPath, matcher) {\r\n return !this._settings.baseNameMatch && !matcher.match(entryPath);\r\n }\r\n _isSkippedByNegativePatterns(entryPath, patternsRe) {\r\n return !utils.pattern.matchAny(entryPath, patternsRe);\r\n }\r\n}\r\nexports[\"default\"] = DeepFilter;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/filters/deep.js?");
11815
-
11816
- /***/ }),
11817
-
11818
- /***/ "./node_modules/fast-glob/out/providers/filters/entry.js":
11819
- /*!***************************************************************!*\
11820
- !*** ./node_modules/fast-glob/out/providers/filters/entry.js ***!
11821
- \***************************************************************/
11822
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11823
-
11824
- "use strict";
11825
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst utils = __webpack_require__(/*! ../../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nclass EntryFilter {\r\n constructor(_settings, _micromatchOptions) {\r\n this._settings = _settings;\r\n this._micromatchOptions = _micromatchOptions;\r\n this.index = new Map();\r\n }\r\n getFilter(positive, negative) {\r\n const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions);\r\n const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions);\r\n return (entry) => this._filter(entry, positiveRe, negativeRe);\r\n }\r\n _filter(entry, positiveRe, negativeRe) {\r\n if (this._settings.unique && this._isDuplicateEntry(entry)) {\r\n return false;\r\n }\r\n if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {\r\n return false;\r\n }\r\n if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) {\r\n return false;\r\n }\r\n const filepath = this._settings.baseNameMatch ? entry.name : entry.path;\r\n const isDirectory = entry.dirent.isDirectory();\r\n const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(entry.path, negativeRe, isDirectory);\r\n if (this._settings.unique && isMatched) {\r\n this._createIndexRecord(entry);\r\n }\r\n return isMatched;\r\n }\r\n _isDuplicateEntry(entry) {\r\n return this.index.has(entry.path);\r\n }\r\n _createIndexRecord(entry) {\r\n this.index.set(entry.path, undefined);\r\n }\r\n _onlyFileFilter(entry) {\r\n return this._settings.onlyFiles && !entry.dirent.isFile();\r\n }\r\n _onlyDirectoryFilter(entry) {\r\n return this._settings.onlyDirectories && !entry.dirent.isDirectory();\r\n }\r\n _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {\r\n if (!this._settings.absolute) {\r\n return false;\r\n }\r\n const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath);\r\n return utils.pattern.matchAny(fullpath, patternsRe);\r\n }\r\n _isMatchToPatterns(entryPath, patternsRe, isDirectory) {\r\n const filepath = utils.path.removeLeadingDotSegment(entryPath);\r\n // Trying to match files and directories by patterns.\r\n const isMatched = utils.pattern.matchAny(filepath, patternsRe);\r\n // A pattern with a trailling slash can be used for directory matching.\r\n // To apply such pattern, we need to add a tralling slash to the path.\r\n if (!isMatched && isDirectory) {\r\n return utils.pattern.matchAny(filepath + '/', patternsRe);\r\n }\r\n return isMatched;\r\n }\r\n}\r\nexports[\"default\"] = EntryFilter;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/filters/entry.js?");
11826
-
11827
- /***/ }),
11828
-
11829
- /***/ "./node_modules/fast-glob/out/providers/filters/error.js":
11830
- /*!***************************************************************!*\
11831
- !*** ./node_modules/fast-glob/out/providers/filters/error.js ***!
11832
- \***************************************************************/
11833
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11834
-
11835
- "use strict";
11836
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst utils = __webpack_require__(/*! ../../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nclass ErrorFilter {\r\n constructor(_settings) {\r\n this._settings = _settings;\r\n }\r\n getFilter() {\r\n return (error) => this._isNonFatalError(error);\r\n }\r\n _isNonFatalError(error) {\r\n return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;\r\n }\r\n}\r\nexports[\"default\"] = ErrorFilter;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/filters/error.js?");
11837
-
11838
- /***/ }),
11839
-
11840
- /***/ "./node_modules/fast-glob/out/providers/matchers/matcher.js":
11841
- /*!******************************************************************!*\
11842
- !*** ./node_modules/fast-glob/out/providers/matchers/matcher.js ***!
11843
- \******************************************************************/
11844
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11845
-
11846
- "use strict";
11847
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst utils = __webpack_require__(/*! ../../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nclass Matcher {\r\n constructor(_patterns, _settings, _micromatchOptions) {\r\n this._patterns = _patterns;\r\n this._settings = _settings;\r\n this._micromatchOptions = _micromatchOptions;\r\n this._storage = [];\r\n this._fillStorage();\r\n }\r\n _fillStorage() {\r\n /**\r\n * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level).\r\n * So, before expand patterns with brace expansion into separated patterns.\r\n */\r\n const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns);\r\n for (const pattern of patterns) {\r\n const segments = this._getPatternSegments(pattern);\r\n const sections = this._splitSegmentsIntoSections(segments);\r\n this._storage.push({\r\n complete: sections.length <= 1,\r\n pattern,\r\n segments,\r\n sections\r\n });\r\n }\r\n }\r\n _getPatternSegments(pattern) {\r\n const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);\r\n return parts.map((part) => {\r\n const dynamic = utils.pattern.isDynamicPattern(part, this._settings);\r\n if (!dynamic) {\r\n return {\r\n dynamic: false,\r\n pattern: part\r\n };\r\n }\r\n return {\r\n dynamic: true,\r\n pattern: part,\r\n patternRe: utils.pattern.makeRe(part, this._micromatchOptions)\r\n };\r\n });\r\n }\r\n _splitSegmentsIntoSections(segments) {\r\n return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));\r\n }\r\n}\r\nexports[\"default\"] = Matcher;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/matchers/matcher.js?");
11848
-
11849
- /***/ }),
11850
-
11851
- /***/ "./node_modules/fast-glob/out/providers/matchers/partial.js":
11852
- /*!******************************************************************!*\
11853
- !*** ./node_modules/fast-glob/out/providers/matchers/partial.js ***!
11854
- \******************************************************************/
11855
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11856
-
11857
- "use strict";
11858
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst matcher_1 = __webpack_require__(/*! ./matcher */ \"./node_modules/fast-glob/out/providers/matchers/matcher.js\");\r\nclass PartialMatcher extends matcher_1.default {\r\n match(filepath) {\r\n const parts = filepath.split('/');\r\n const levels = parts.length;\r\n const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);\r\n for (const pattern of patterns) {\r\n const section = pattern.sections[0];\r\n /**\r\n * In this case, the pattern has a globstar and we must read all directories unconditionally,\r\n * but only if the level has reached the end of the first group.\r\n *\r\n * fixtures/{a,b}/**\r\n * ^ true/false ^ always true\r\n */\r\n if (!pattern.complete && levels > section.length) {\r\n return true;\r\n }\r\n const match = parts.every((part, index) => {\r\n const segment = pattern.segments[index];\r\n if (segment.dynamic && segment.patternRe.test(part)) {\r\n return true;\r\n }\r\n if (!segment.dynamic && segment.pattern === part) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (match) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\nexports[\"default\"] = PartialMatcher;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/matchers/partial.js?");
11859
-
11860
- /***/ }),
11861
-
11862
- /***/ "./node_modules/fast-glob/out/providers/provider.js":
11863
- /*!**********************************************************!*\
11864
- !*** ./node_modules/fast-glob/out/providers/provider.js ***!
11865
- \**********************************************************/
11866
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11867
-
11868
- "use strict";
11869
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst path = __webpack_require__(/*! path */ \"path\");\r\nconst deep_1 = __webpack_require__(/*! ./filters/deep */ \"./node_modules/fast-glob/out/providers/filters/deep.js\");\r\nconst entry_1 = __webpack_require__(/*! ./filters/entry */ \"./node_modules/fast-glob/out/providers/filters/entry.js\");\r\nconst error_1 = __webpack_require__(/*! ./filters/error */ \"./node_modules/fast-glob/out/providers/filters/error.js\");\r\nconst entry_2 = __webpack_require__(/*! ./transformers/entry */ \"./node_modules/fast-glob/out/providers/transformers/entry.js\");\r\nclass Provider {\r\n constructor(_settings) {\r\n this._settings = _settings;\r\n this.errorFilter = new error_1.default(this._settings);\r\n this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());\r\n this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());\r\n this.entryTransformer = new entry_2.default(this._settings);\r\n }\r\n _getRootDirectory(task) {\r\n return path.resolve(this._settings.cwd, task.base);\r\n }\r\n _getReaderOptions(task) {\r\n const basePath = task.base === '.' ? '' : task.base;\r\n return {\r\n basePath,\r\n pathSegmentSeparator: '/',\r\n concurrency: this._settings.concurrency,\r\n deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),\r\n entryFilter: this.entryFilter.getFilter(task.positive, task.negative),\r\n errorFilter: this.errorFilter.getFilter(),\r\n followSymbolicLinks: this._settings.followSymbolicLinks,\r\n fs: this._settings.fs,\r\n stats: this._settings.stats,\r\n throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,\r\n transform: this.entryTransformer.getTransformer()\r\n };\r\n }\r\n _getMicromatchOptions() {\r\n return {\r\n dot: this._settings.dot,\r\n matchBase: this._settings.baseNameMatch,\r\n nobrace: !this._settings.braceExpansion,\r\n nocase: !this._settings.caseSensitiveMatch,\r\n noext: !this._settings.extglob,\r\n noglobstar: !this._settings.globstar,\r\n posix: true,\r\n strictSlashes: false\r\n };\r\n }\r\n}\r\nexports[\"default\"] = Provider;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/provider.js?");
11870
-
11871
- /***/ }),
11872
-
11873
- /***/ "./node_modules/fast-glob/out/providers/stream.js":
11874
- /*!********************************************************!*\
11875
- !*** ./node_modules/fast-glob/out/providers/stream.js ***!
11876
- \********************************************************/
11877
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11878
-
11879
- "use strict";
11880
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\r\nconst stream_2 = __webpack_require__(/*! ../readers/stream */ \"./node_modules/fast-glob/out/readers/stream.js\");\r\nconst provider_1 = __webpack_require__(/*! ./provider */ \"./node_modules/fast-glob/out/providers/provider.js\");\r\nclass ProviderStream extends provider_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._reader = new stream_2.default(this._settings);\r\n }\r\n read(task) {\r\n const root = this._getRootDirectory(task);\r\n const options = this._getReaderOptions(task);\r\n const source = this.api(root, task, options);\r\n const destination = new stream_1.Readable({ objectMode: true, read: () => { } });\r\n source\r\n .once('error', (error) => destination.emit('error', error))\r\n .on('data', (entry) => destination.emit('data', options.transform(entry)))\r\n .once('end', () => destination.emit('end'));\r\n destination\r\n .once('close', () => source.destroy());\r\n return destination;\r\n }\r\n api(root, task, options) {\r\n if (task.dynamic) {\r\n return this._reader.dynamic(root, options);\r\n }\r\n return this._reader.static(task.patterns, options);\r\n }\r\n}\r\nexports[\"default\"] = ProviderStream;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/stream.js?");
11881
-
11882
- /***/ }),
11883
-
11884
- /***/ "./node_modules/fast-glob/out/providers/sync.js":
11885
- /*!******************************************************!*\
11886
- !*** ./node_modules/fast-glob/out/providers/sync.js ***!
11887
- \******************************************************/
11888
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11889
-
11890
- "use strict";
11891
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst sync_1 = __webpack_require__(/*! ../readers/sync */ \"./node_modules/fast-glob/out/readers/sync.js\");\r\nconst provider_1 = __webpack_require__(/*! ./provider */ \"./node_modules/fast-glob/out/providers/provider.js\");\r\nclass ProviderSync extends provider_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._reader = new sync_1.default(this._settings);\r\n }\r\n read(task) {\r\n const root = this._getRootDirectory(task);\r\n const options = this._getReaderOptions(task);\r\n const entries = this.api(root, task, options);\r\n return entries.map(options.transform);\r\n }\r\n api(root, task, options) {\r\n if (task.dynamic) {\r\n return this._reader.dynamic(root, options);\r\n }\r\n return this._reader.static(task.patterns, options);\r\n }\r\n}\r\nexports[\"default\"] = ProviderSync;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/sync.js?");
11892
-
11893
- /***/ }),
11894
-
11895
- /***/ "./node_modules/fast-glob/out/providers/transformers/entry.js":
11896
- /*!********************************************************************!*\
11897
- !*** ./node_modules/fast-glob/out/providers/transformers/entry.js ***!
11898
- \********************************************************************/
11899
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11900
-
11901
- "use strict";
11902
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst utils = __webpack_require__(/*! ../../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nclass EntryTransformer {\r\n constructor(_settings) {\r\n this._settings = _settings;\r\n }\r\n getTransformer() {\r\n return (entry) => this._transform(entry);\r\n }\r\n _transform(entry) {\r\n let filepath = entry.path;\r\n if (this._settings.absolute) {\r\n filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);\r\n filepath = utils.path.unixify(filepath);\r\n }\r\n if (this._settings.markDirectories && entry.dirent.isDirectory()) {\r\n filepath += '/';\r\n }\r\n if (!this._settings.objectMode) {\r\n return filepath;\r\n }\r\n return Object.assign(Object.assign({}, entry), { path: filepath });\r\n }\r\n}\r\nexports[\"default\"] = EntryTransformer;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/providers/transformers/entry.js?");
11903
-
11904
- /***/ }),
11905
-
11906
- /***/ "./node_modules/fast-glob/out/readers/async.js":
11907
- /*!*****************************************************!*\
11908
- !*** ./node_modules/fast-glob/out/readers/async.js ***!
11909
- \*****************************************************/
11910
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11911
-
11912
- "use strict";
11913
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst fsWalk = __webpack_require__(/*! @nodelib/fs.walk */ \"./node_modules/@nodelib/fs.walk/out/index.js\");\r\nconst reader_1 = __webpack_require__(/*! ./reader */ \"./node_modules/fast-glob/out/readers/reader.js\");\r\nconst stream_1 = __webpack_require__(/*! ./stream */ \"./node_modules/fast-glob/out/readers/stream.js\");\r\nclass ReaderAsync extends reader_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._walkAsync = fsWalk.walk;\r\n this._readerStream = new stream_1.default(this._settings);\r\n }\r\n dynamic(root, options) {\r\n return new Promise((resolve, reject) => {\r\n this._walkAsync(root, options, (error, entries) => {\r\n if (error === null) {\r\n resolve(entries);\r\n }\r\n else {\r\n reject(error);\r\n }\r\n });\r\n });\r\n }\r\n async static(patterns, options) {\r\n const entries = [];\r\n const stream = this._readerStream.static(patterns, options);\r\n // After #235, replace it with an asynchronous iterator.\r\n return new Promise((resolve, reject) => {\r\n stream.once('error', reject);\r\n stream.on('data', (entry) => entries.push(entry));\r\n stream.once('end', () => resolve(entries));\r\n });\r\n }\r\n}\r\nexports[\"default\"] = ReaderAsync;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/readers/async.js?");
11914
-
11915
- /***/ }),
11916
-
11917
- /***/ "./node_modules/fast-glob/out/readers/reader.js":
11918
- /*!******************************************************!*\
11919
- !*** ./node_modules/fast-glob/out/readers/reader.js ***!
11920
- \******************************************************/
11921
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11922
-
11923
- "use strict";
11924
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst path = __webpack_require__(/*! path */ \"path\");\r\nconst fsStat = __webpack_require__(/*! @nodelib/fs.stat */ \"./node_modules/@nodelib/fs.stat/out/index.js\");\r\nconst utils = __webpack_require__(/*! ../utils */ \"./node_modules/fast-glob/out/utils/index.js\");\r\nclass Reader {\r\n constructor(_settings) {\r\n this._settings = _settings;\r\n this._fsStatSettings = new fsStat.Settings({\r\n followSymbolicLink: this._settings.followSymbolicLinks,\r\n fs: this._settings.fs,\r\n throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks\r\n });\r\n }\r\n _getFullEntryPath(filepath) {\r\n return path.resolve(this._settings.cwd, filepath);\r\n }\r\n _makeEntry(stats, pattern) {\r\n const entry = {\r\n name: pattern,\r\n path: pattern,\r\n dirent: utils.fs.createDirentFromStats(pattern, stats)\r\n };\r\n if (this._settings.stats) {\r\n entry.stats = stats;\r\n }\r\n return entry;\r\n }\r\n _isFatalError(error) {\r\n return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;\r\n }\r\n}\r\nexports[\"default\"] = Reader;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/readers/reader.js?");
11925
-
11926
- /***/ }),
11927
-
11928
- /***/ "./node_modules/fast-glob/out/readers/stream.js":
11929
- /*!******************************************************!*\
11930
- !*** ./node_modules/fast-glob/out/readers/stream.js ***!
11931
- \******************************************************/
11932
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11933
-
11934
- "use strict";
11935
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\r\nconst fsStat = __webpack_require__(/*! @nodelib/fs.stat */ \"./node_modules/@nodelib/fs.stat/out/index.js\");\r\nconst fsWalk = __webpack_require__(/*! @nodelib/fs.walk */ \"./node_modules/@nodelib/fs.walk/out/index.js\");\r\nconst reader_1 = __webpack_require__(/*! ./reader */ \"./node_modules/fast-glob/out/readers/reader.js\");\r\nclass ReaderStream extends reader_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._walkStream = fsWalk.walkStream;\r\n this._stat = fsStat.stat;\r\n }\r\n dynamic(root, options) {\r\n return this._walkStream(root, options);\r\n }\r\n static(patterns, options) {\r\n const filepaths = patterns.map(this._getFullEntryPath, this);\r\n const stream = new stream_1.PassThrough({ objectMode: true });\r\n stream._write = (index, _enc, done) => {\r\n return this._getEntry(filepaths[index], patterns[index], options)\r\n .then((entry) => {\r\n if (entry !== null && options.entryFilter(entry)) {\r\n stream.push(entry);\r\n }\r\n if (index === filepaths.length - 1) {\r\n stream.end();\r\n }\r\n done();\r\n })\r\n .catch(done);\r\n };\r\n for (let i = 0; i < filepaths.length; i++) {\r\n stream.write(i);\r\n }\r\n return stream;\r\n }\r\n _getEntry(filepath, pattern, options) {\r\n return this._getStat(filepath)\r\n .then((stats) => this._makeEntry(stats, pattern))\r\n .catch((error) => {\r\n if (options.errorFilter(error)) {\r\n return null;\r\n }\r\n throw error;\r\n });\r\n }\r\n _getStat(filepath) {\r\n return new Promise((resolve, reject) => {\r\n this._stat(filepath, this._fsStatSettings, (error, stats) => {\r\n return error === null ? resolve(stats) : reject(error);\r\n });\r\n });\r\n }\r\n}\r\nexports[\"default\"] = ReaderStream;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/readers/stream.js?");
11936
-
11937
- /***/ }),
11938
-
11939
- /***/ "./node_modules/fast-glob/out/readers/sync.js":
11940
- /*!****************************************************!*\
11941
- !*** ./node_modules/fast-glob/out/readers/sync.js ***!
11942
- \****************************************************/
11943
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11944
-
11945
- "use strict";
11946
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst fsStat = __webpack_require__(/*! @nodelib/fs.stat */ \"./node_modules/@nodelib/fs.stat/out/index.js\");\r\nconst fsWalk = __webpack_require__(/*! @nodelib/fs.walk */ \"./node_modules/@nodelib/fs.walk/out/index.js\");\r\nconst reader_1 = __webpack_require__(/*! ./reader */ \"./node_modules/fast-glob/out/readers/reader.js\");\r\nclass ReaderSync extends reader_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._walkSync = fsWalk.walkSync;\r\n this._statSync = fsStat.statSync;\r\n }\r\n dynamic(root, options) {\r\n return this._walkSync(root, options);\r\n }\r\n static(patterns, options) {\r\n const entries = [];\r\n for (const pattern of patterns) {\r\n const filepath = this._getFullEntryPath(pattern);\r\n const entry = this._getEntry(filepath, pattern, options);\r\n if (entry === null || !options.entryFilter(entry)) {\r\n continue;\r\n }\r\n entries.push(entry);\r\n }\r\n return entries;\r\n }\r\n _getEntry(filepath, pattern, options) {\r\n try {\r\n const stats = this._getStat(filepath);\r\n return this._makeEntry(stats, pattern);\r\n }\r\n catch (error) {\r\n if (options.errorFilter(error)) {\r\n return null;\r\n }\r\n throw error;\r\n }\r\n }\r\n _getStat(filepath) {\r\n return this._statSync(filepath, this._fsStatSettings);\r\n }\r\n}\r\nexports[\"default\"] = ReaderSync;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/readers/sync.js?");
11947
-
11948
- /***/ }),
11949
-
11950
- /***/ "./node_modules/fast-glob/out/settings.js":
11951
- /*!************************************************!*\
11952
- !*** ./node_modules/fast-glob/out/settings.js ***!
11953
- \************************************************/
11954
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11955
-
11956
- "use strict";
11957
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;\r\nconst fs = __webpack_require__(/*! fs */ \"fs\");\r\nconst os = __webpack_require__(/*! os */ \"os\");\r\n/**\r\n * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero.\r\n * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107\r\n */\r\nconst CPU_COUNT = Math.max(os.cpus().length, 1);\r\nexports.DEFAULT_FILE_SYSTEM_ADAPTER = {\r\n lstat: fs.lstat,\r\n lstatSync: fs.lstatSync,\r\n stat: fs.stat,\r\n statSync: fs.statSync,\r\n readdir: fs.readdir,\r\n readdirSync: fs.readdirSync\r\n};\r\nclass Settings {\r\n constructor(_options = {}) {\r\n this._options = _options;\r\n this.absolute = this._getValue(this._options.absolute, false);\r\n this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);\r\n this.braceExpansion = this._getValue(this._options.braceExpansion, true);\r\n this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);\r\n this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);\r\n this.cwd = this._getValue(this._options.cwd, process.cwd());\r\n this.deep = this._getValue(this._options.deep, Infinity);\r\n this.dot = this._getValue(this._options.dot, false);\r\n this.extglob = this._getValue(this._options.extglob, true);\r\n this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);\r\n this.fs = this._getFileSystemMethods(this._options.fs);\r\n this.globstar = this._getValue(this._options.globstar, true);\r\n this.ignore = this._getValue(this._options.ignore, []);\r\n this.markDirectories = this._getValue(this._options.markDirectories, false);\r\n this.objectMode = this._getValue(this._options.objectMode, false);\r\n this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);\r\n this.onlyFiles = this._getValue(this._options.onlyFiles, true);\r\n this.stats = this._getValue(this._options.stats, false);\r\n this.suppressErrors = this._getValue(this._options.suppressErrors, false);\r\n this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);\r\n this.unique = this._getValue(this._options.unique, true);\r\n if (this.onlyDirectories) {\r\n this.onlyFiles = false;\r\n }\r\n if (this.stats) {\r\n this.objectMode = true;\r\n }\r\n }\r\n _getValue(option, value) {\r\n return option === undefined ? value : option;\r\n }\r\n _getFileSystemMethods(methods = {}) {\r\n return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);\r\n }\r\n}\r\nexports[\"default\"] = Settings;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/settings.js?");
11958
-
11959
- /***/ }),
11960
-
11961
- /***/ "./node_modules/fast-glob/out/utils/array.js":
11962
- /*!***************************************************!*\
11963
- !*** ./node_modules/fast-glob/out/utils/array.js ***!
11964
- \***************************************************/
11965
- /***/ ((__unused_webpack_module, exports) => {
11966
-
11967
- "use strict";
11968
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.splitWhen = exports.flatten = void 0;\r\nfunction flatten(items) {\r\n return items.reduce((collection, item) => [].concat(collection, item), []);\r\n}\r\nexports.flatten = flatten;\r\nfunction splitWhen(items, predicate) {\r\n const result = [[]];\r\n let groupIndex = 0;\r\n for (const item of items) {\r\n if (predicate(item)) {\r\n groupIndex++;\r\n result[groupIndex] = [];\r\n }\r\n else {\r\n result[groupIndex].push(item);\r\n }\r\n }\r\n return result;\r\n}\r\nexports.splitWhen = splitWhen;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/array.js?");
11969
-
11970
- /***/ }),
11971
-
11972
- /***/ "./node_modules/fast-glob/out/utils/errno.js":
11973
- /*!***************************************************!*\
11974
- !*** ./node_modules/fast-glob/out/utils/errno.js ***!
11975
- \***************************************************/
11976
- /***/ ((__unused_webpack_module, exports) => {
11977
-
11978
- "use strict";
11979
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.isEnoentCodeError = void 0;\r\nfunction isEnoentCodeError(error) {\r\n return error.code === 'ENOENT';\r\n}\r\nexports.isEnoentCodeError = isEnoentCodeError;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/errno.js?");
11980
-
11981
- /***/ }),
11982
-
11983
- /***/ "./node_modules/fast-glob/out/utils/fs.js":
11984
- /*!************************************************!*\
11985
- !*** ./node_modules/fast-glob/out/utils/fs.js ***!
11986
- \************************************************/
11987
- /***/ ((__unused_webpack_module, exports) => {
11988
-
11989
- "use strict";
11990
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.createDirentFromStats = void 0;\r\nclass DirentFromStats {\r\n constructor(name, stats) {\r\n this.name = name;\r\n this.isBlockDevice = stats.isBlockDevice.bind(stats);\r\n this.isCharacterDevice = stats.isCharacterDevice.bind(stats);\r\n this.isDirectory = stats.isDirectory.bind(stats);\r\n this.isFIFO = stats.isFIFO.bind(stats);\r\n this.isFile = stats.isFile.bind(stats);\r\n this.isSocket = stats.isSocket.bind(stats);\r\n this.isSymbolicLink = stats.isSymbolicLink.bind(stats);\r\n }\r\n}\r\nfunction createDirentFromStats(name, stats) {\r\n return new DirentFromStats(name, stats);\r\n}\r\nexports.createDirentFromStats = createDirentFromStats;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/fs.js?");
11991
-
11992
- /***/ }),
11993
-
11994
- /***/ "./node_modules/fast-glob/out/utils/index.js":
11995
- /*!***************************************************!*\
11996
- !*** ./node_modules/fast-glob/out/utils/index.js ***!
11997
- \***************************************************/
11998
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11999
-
12000
- "use strict";
12001
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0;\r\nconst array = __webpack_require__(/*! ./array */ \"./node_modules/fast-glob/out/utils/array.js\");\r\nexports.array = array;\r\nconst errno = __webpack_require__(/*! ./errno */ \"./node_modules/fast-glob/out/utils/errno.js\");\r\nexports.errno = errno;\r\nconst fs = __webpack_require__(/*! ./fs */ \"./node_modules/fast-glob/out/utils/fs.js\");\r\nexports.fs = fs;\r\nconst path = __webpack_require__(/*! ./path */ \"./node_modules/fast-glob/out/utils/path.js\");\r\nexports.path = path;\r\nconst pattern = __webpack_require__(/*! ./pattern */ \"./node_modules/fast-glob/out/utils/pattern.js\");\r\nexports.pattern = pattern;\r\nconst stream = __webpack_require__(/*! ./stream */ \"./node_modules/fast-glob/out/utils/stream.js\");\r\nexports.stream = stream;\r\nconst string = __webpack_require__(/*! ./string */ \"./node_modules/fast-glob/out/utils/string.js\");\r\nexports.string = string;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/index.js?");
12002
-
12003
- /***/ }),
12004
-
12005
- /***/ "./node_modules/fast-glob/out/utils/path.js":
12006
- /*!**************************************************!*\
12007
- !*** ./node_modules/fast-glob/out/utils/path.js ***!
12008
- \**************************************************/
11403
+ /*!*******************************************!*\
11404
+ !*** ./node_modules/esutils/lib/utils.js ***!
11405
+ \*******************************************/
12009
11406
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12010
11407
 
12011
- "use strict";
12012
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.removeLeadingDotSegment = exports.escape = exports.makeAbsolute = exports.unixify = void 0;\r\nconst path = __webpack_require__(/*! path */ \"path\");\r\nconst LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\\\\r\nconst UNESCAPED_GLOB_SYMBOLS_RE = /(\\\\?)([()*?[\\]{|}]|^!|[!+@](?=\\())/g;\r\n/**\r\n * Designed to work only with simple paths: `dir\\\\file`.\r\n */\r\nfunction unixify(filepath) {\r\n return filepath.replace(/\\\\/g, '/');\r\n}\r\nexports.unixify = unixify;\r\nfunction makeAbsolute(cwd, filepath) {\r\n return path.resolve(cwd, filepath);\r\n}\r\nexports.makeAbsolute = makeAbsolute;\r\nfunction escape(pattern) {\r\n return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, '\\\\$2');\r\n}\r\nexports.escape = escape;\r\nfunction removeLeadingDotSegment(entry) {\r\n // We do not use `startsWith` because this is 10x slower than current implementation for some cases.\r\n // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with\r\n if (entry.charAt(0) === '.') {\r\n const secondCharactery = entry.charAt(1);\r\n if (secondCharactery === '/' || secondCharactery === '\\\\') {\r\n return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);\r\n }\r\n }\r\n return entry;\r\n}\r\nexports.removeLeadingDotSegment = removeLeadingDotSegment;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/path.js?");
11408
+ eval("/*\n Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com>\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n\n(function () {\n 'use strict';\n\n exports.ast = __webpack_require__(/*! ./ast */ \"./node_modules/esutils/lib/ast.js\");\n exports.code = __webpack_require__(/*! ./code */ \"./node_modules/esutils/lib/code.js\");\n exports.keyword = __webpack_require__(/*! ./keyword */ \"./node_modules/esutils/lib/keyword.js\");\n}());\n/* vim: set sw=4 ts=4 et tw=80 : */\n\n\n//# sourceURL=webpack://open-lens/./node_modules/esutils/lib/utils.js?");
12013
11409
 
12014
11410
  /***/ }),
12015
11411
 
12016
- /***/ "./node_modules/fast-glob/out/utils/pattern.js":
12017
- /*!*****************************************************!*\
12018
- !*** ./node_modules/fast-glob/out/utils/pattern.js ***!
12019
- \*****************************************************/
12020
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11412
+ /***/ "./node_modules/extend/index.js":
11413
+ /*!**************************************!*\
11414
+ !*** ./node_modules/extend/index.js ***!
11415
+ \**************************************/
11416
+ /***/ ((module) => {
12021
11417
 
12022
11418
  "use strict";
12023
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;\r\nconst path = __webpack_require__(/*! path */ \"path\");\r\nconst globParent = __webpack_require__(/*! glob-parent */ \"./node_modules/glob-parent/index.js\");\r\nconst micromatch = __webpack_require__(/*! micromatch */ \"./node_modules/micromatch/index.js\");\r\nconst GLOBSTAR = '**';\r\nconst ESCAPE_SYMBOL = '\\\\';\r\nconst COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;\r\nconst REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\\[[^[]*]/;\r\nconst REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\\([^(]*\\|[^|]*\\)/;\r\nconst GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\\([^(]*\\)/;\r\nconst BRACE_EXPANSION_SEPARATORS_RE = /,|\\.\\./;\r\nfunction isStaticPattern(pattern, options = {}) {\r\n return !isDynamicPattern(pattern, options);\r\n}\r\nexports.isStaticPattern = isStaticPattern;\r\nfunction isDynamicPattern(pattern, options = {}) {\r\n /**\r\n * A special case with an empty string is necessary for matching patterns that start with a forward slash.\r\n * An empty string cannot be a dynamic pattern.\r\n * For example, the pattern `/lib/*` will be spread into parts: '', 'lib', '*'.\r\n */\r\n if (pattern === '') {\r\n return false;\r\n }\r\n /**\r\n * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check\r\n * filepath directly (without read directory).\r\n */\r\n if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {\r\n return true;\r\n }\r\n if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {\r\n return true;\r\n }\r\n if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {\r\n return true;\r\n }\r\n if (options.braceExpansion !== false && hasBraceExpansion(pattern)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isDynamicPattern = isDynamicPattern;\r\nfunction hasBraceExpansion(pattern) {\r\n const openingBraceIndex = pattern.indexOf('{');\r\n if (openingBraceIndex === -1) {\r\n return false;\r\n }\r\n const closingBraceIndex = pattern.indexOf('}', openingBraceIndex + 1);\r\n if (closingBraceIndex === -1) {\r\n return false;\r\n }\r\n const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);\r\n return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);\r\n}\r\nfunction convertToPositivePattern(pattern) {\r\n return isNegativePattern(pattern) ? pattern.slice(1) : pattern;\r\n}\r\nexports.convertToPositivePattern = convertToPositivePattern;\r\nfunction convertToNegativePattern(pattern) {\r\n return '!' + pattern;\r\n}\r\nexports.convertToNegativePattern = convertToNegativePattern;\r\nfunction isNegativePattern(pattern) {\r\n return pattern.startsWith('!') && pattern[1] !== '(';\r\n}\r\nexports.isNegativePattern = isNegativePattern;\r\nfunction isPositivePattern(pattern) {\r\n return !isNegativePattern(pattern);\r\n}\r\nexports.isPositivePattern = isPositivePattern;\r\nfunction getNegativePatterns(patterns) {\r\n return patterns.filter(isNegativePattern);\r\n}\r\nexports.getNegativePatterns = getNegativePatterns;\r\nfunction getPositivePatterns(patterns) {\r\n return patterns.filter(isPositivePattern);\r\n}\r\nexports.getPositivePatterns = getPositivePatterns;\r\n/**\r\n * Returns patterns that can be applied inside the current directory.\r\n *\r\n * @example\r\n * // ['./*', '*', 'a/*']\r\n * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])\r\n */\r\nfunction getPatternsInsideCurrentDirectory(patterns) {\r\n return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));\r\n}\r\nexports.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;\r\n/**\r\n * Returns patterns to be expanded relative to (outside) the current directory.\r\n *\r\n * @example\r\n * // ['../*', './../*']\r\n * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])\r\n */\r\nfunction getPatternsOutsideCurrentDirectory(patterns) {\r\n return patterns.filter(isPatternRelatedToParentDirectory);\r\n}\r\nexports.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;\r\nfunction isPatternRelatedToParentDirectory(pattern) {\r\n return pattern.startsWith('..') || pattern.startsWith('./..');\r\n}\r\nexports.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;\r\nfunction getBaseDirectory(pattern) {\r\n return globParent(pattern, { flipBackslashes: false });\r\n}\r\nexports.getBaseDirectory = getBaseDirectory;\r\nfunction hasGlobStar(pattern) {\r\n return pattern.includes(GLOBSTAR);\r\n}\r\nexports.hasGlobStar = hasGlobStar;\r\nfunction endsWithSlashGlobStar(pattern) {\r\n return pattern.endsWith('/' + GLOBSTAR);\r\n}\r\nexports.endsWithSlashGlobStar = endsWithSlashGlobStar;\r\nfunction isAffectDepthOfReadingPattern(pattern) {\r\n const basename = path.basename(pattern);\r\n return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);\r\n}\r\nexports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;\r\nfunction expandPatternsWithBraceExpansion(patterns) {\r\n return patterns.reduce((collection, pattern) => {\r\n return collection.concat(expandBraceExpansion(pattern));\r\n }, []);\r\n}\r\nexports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;\r\nfunction expandBraceExpansion(pattern) {\r\n return micromatch.braces(pattern, {\r\n expand: true,\r\n nodupes: true\r\n });\r\n}\r\nexports.expandBraceExpansion = expandBraceExpansion;\r\nfunction getPatternParts(pattern, options) {\r\n let { parts } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true }));\r\n /**\r\n * The scan method returns an empty array in some cases.\r\n * See micromatch/picomatch#58 for more details.\r\n */\r\n if (parts.length === 0) {\r\n parts = [pattern];\r\n }\r\n /**\r\n * The scan method does not return an empty part for the pattern with a forward slash.\r\n * This is another part of micromatch/picomatch#58.\r\n */\r\n if (parts[0].startsWith('/')) {\r\n parts[0] = parts[0].slice(1);\r\n parts.unshift('');\r\n }\r\n return parts;\r\n}\r\nexports.getPatternParts = getPatternParts;\r\nfunction makeRe(pattern, options) {\r\n return micromatch.makeRe(pattern, options);\r\n}\r\nexports.makeRe = makeRe;\r\nfunction convertPatternsToRe(patterns, options) {\r\n return patterns.map((pattern) => makeRe(pattern, options));\r\n}\r\nexports.convertPatternsToRe = convertPatternsToRe;\r\nfunction matchAny(entry, patternsRe) {\r\n return patternsRe.some((patternRe) => patternRe.test(entry));\r\n}\r\nexports.matchAny = matchAny;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/pattern.js?");
11419
+ eval("\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/extend/index.js?");
12024
11420
 
12025
11421
  /***/ }),
12026
11422
 
12027
- /***/ "./node_modules/fast-glob/out/utils/stream.js":
12028
- /*!****************************************************!*\
12029
- !*** ./node_modules/fast-glob/out/utils/stream.js ***!
12030
- \****************************************************/
11423
+ /***/ "./node_modules/extsprintf/lib/extsprintf.js":
11424
+ /*!***************************************************!*\
11425
+ !*** ./node_modules/extsprintf/lib/extsprintf.js ***!
11426
+ \***************************************************/
12031
11427
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12032
11428
 
12033
- "use strict";
12034
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.merge = void 0;\r\nconst merge2 = __webpack_require__(/*! merge2 */ \"./node_modules/merge2/index.js\");\r\nfunction merge(streams) {\r\n const mergedStream = merge2(streams);\r\n streams.forEach((stream) => {\r\n stream.once('error', (error) => mergedStream.emit('error', error));\r\n });\r\n mergedStream.once('close', () => propagateCloseEventToSources(streams));\r\n mergedStream.once('end', () => propagateCloseEventToSources(streams));\r\n return mergedStream;\r\n}\r\nexports.merge = merge;\r\nfunction propagateCloseEventToSources(streams) {\r\n streams.forEach((stream) => stream.emit('close'));\r\n}\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/stream.js?");
11429
+ eval("/*\n * extsprintf.js: extended POSIX-style sprintf\n */\n\nvar mod_assert = __webpack_require__(/*! assert */ \"assert\");\nvar mod_util = __webpack_require__(/*! util */ \"util\");\n\n/*\n * Public interface\n */\nexports.sprintf = jsSprintf;\nexports.printf = jsPrintf;\nexports.fprintf = jsFprintf;\n\n/*\n * Stripped down version of s[n]printf(3c). We make a best effort to throw an\n * exception when given a format string we don't understand, rather than\n * ignoring it, so that we won't break existing programs if/when we go implement\n * the rest of this.\n *\n * This implementation currently supports specifying\n *\t- field alignment ('-' flag),\n * \t- zero-pad ('0' flag)\n *\t- always show numeric sign ('+' flag),\n *\t- field width\n *\t- conversions for strings, decimal integers, and floats (numbers).\n *\t- argument size specifiers. These are all accepted but ignored, since\n *\t Javascript has no notion of the physical size of an argument.\n *\n * Everything else is currently unsupported, most notably precision, unsigned\n * numbers, non-decimal numbers, and characters.\n */\nfunction jsSprintf(ofmt)\n{\n\tvar regex = [\n\t '([^%]*)',\t\t\t\t/* normal text */\n\t '%',\t\t\t\t/* start of format */\n\t '([\\'\\\\-+ #0]*?)',\t\t\t/* flags (optional) */\n\t '([1-9]\\\\d*)?',\t\t\t/* width (optional) */\n\t '(\\\\.([1-9]\\\\d*))?',\t\t/* precision (optional) */\n\t '[lhjztL]*?',\t\t\t/* length mods (ignored) */\n\t '([diouxXfFeEgGaAcCsSp%jr])'\t/* conversion */\n\t].join('');\n\n\tvar re = new RegExp(regex);\n\n\t/* variadic arguments used to fill in conversion specifiers */\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\t/* remaining format string */\n\tvar fmt = ofmt;\n\n\t/* components of the current conversion specifier */\n\tvar flags, width, precision, conversion;\n\tvar left, pad, sign, arg, match;\n\n\t/* return value */\n\tvar ret = '';\n\n\t/* current variadic argument (1-based) */\n\tvar argn = 1;\n\t/* 0-based position in the format string that we've read */\n\tvar posn = 0;\n\t/* 1-based position in the format string of the current conversion */\n\tvar convposn;\n\t/* current conversion specifier */\n\tvar curconv;\n\n\tmod_assert.equal('string', typeof (fmt),\n\t 'first argument must be a format string');\n\n\twhile ((match = re.exec(fmt)) !== null) {\n\t\tret += match[1];\n\t\tfmt = fmt.substring(match[0].length);\n\n\t\t/*\n\t\t * Update flags related to the current conversion specifier's\n\t\t * position so that we can report clear error messages.\n\t\t */\n\t\tcurconv = match[0].substring(match[1].length);\n\t\tconvposn = posn + match[1].length + 1;\n\t\tposn += match[0].length;\n\n\t\tflags = match[2] || '';\n\t\twidth = match[3] || 0;\n\t\tprecision = match[4] || '';\n\t\tconversion = match[6];\n\t\tleft = false;\n\t\tsign = false;\n\t\tpad = ' ';\n\n\t\tif (conversion == '%') {\n\t\t\tret += '%';\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (args.length === 0) {\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'has no matching argument ' +\n\t\t\t '(too few arguments passed)'));\n\t\t}\n\n\t\targ = args.shift();\n\t\targn++;\n\n\t\tif (flags.match(/[\\' #]/)) {\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'uses unsupported flags'));\n\t\t}\n\n\t\tif (precision.length > 0) {\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'uses non-zero precision (not supported)'));\n\t\t}\n\n\t\tif (flags.match(/-/))\n\t\t\tleft = true;\n\n\t\tif (flags.match(/0/))\n\t\t\tpad = '0';\n\n\t\tif (flags.match(/\\+/))\n\t\t\tsign = true;\n\n\t\tswitch (conversion) {\n\t\tcase 's':\n\t\t\tif (arg === undefined || arg === null) {\n\t\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t\t 'attempted to print undefined or null ' +\n\t\t\t\t 'as a string (argument ' + argn + ' to ' +\n\t\t\t\t 'sprintf)'));\n\t\t\t}\n\t\t\tret += doPad(pad, width, left, arg.toString());\n\t\t\tbreak;\n\n\t\tcase 'd':\n\t\t\targ = Math.floor(arg);\n\t\t\t/*jsl:fallthru*/\n\t\tcase 'f':\n\t\t\tsign = sign && arg > 0 ? '+' : '';\n\t\t\tret += sign + doPad(pad, width, left,\n\t\t\t arg.toString());\n\t\t\tbreak;\n\n\t\tcase 'x':\n\t\t\tret += doPad(pad, width, left, arg.toString(16));\n\t\t\tbreak;\n\n\t\tcase 'j': /* non-standard */\n\t\t\tif (width === 0)\n\t\t\t\twidth = 10;\n\t\t\tret += mod_util.inspect(arg, false, width);\n\t\t\tbreak;\n\n\t\tcase 'r': /* non-standard */\n\t\t\tret += dumpException(arg);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tthrow (jsError(ofmt, convposn, curconv,\n\t\t\t 'is not supported'));\n\t\t}\n\t}\n\n\tret += fmt;\n\treturn (ret);\n}\n\nfunction jsError(fmtstr, convposn, curconv, reason) {\n\tmod_assert.equal(typeof (fmtstr), 'string');\n\tmod_assert.equal(typeof (curconv), 'string');\n\tmod_assert.equal(typeof (convposn), 'number');\n\tmod_assert.equal(typeof (reason), 'string');\n\treturn (new Error('format string \"' + fmtstr +\n\t '\": conversion specifier \"' + curconv + '\" at character ' +\n\t convposn + ' ' + reason));\n}\n\nfunction jsPrintf() {\n\tvar args = Array.prototype.slice.call(arguments);\n\targs.unshift(process.stdout);\n\tjsFprintf.apply(null, args);\n}\n\nfunction jsFprintf(stream) {\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\treturn (stream.write(jsSprintf.apply(this, args)));\n}\n\nfunction doPad(chr, width, left, str)\n{\n\tvar ret = str;\n\n\twhile (ret.length < width) {\n\t\tif (left)\n\t\t\tret += chr;\n\t\telse\n\t\t\tret = chr + ret;\n\t}\n\n\treturn (ret);\n}\n\n/*\n * This function dumps long stack traces for exceptions having a cause() method.\n * See node-verror for an example.\n */\nfunction dumpException(ex)\n{\n\tvar ret;\n\n\tif (!(ex instanceof Error))\n\t\tthrow (new Error(jsSprintf('invalid type for %%r: %j', ex)));\n\n\t/* Note that V8 prepends \"ex.stack\" with ex.toString(). */\n\tret = 'EXCEPTION: ' + ex.constructor.name + ': ' + ex.stack;\n\n\tif (ex.cause && typeof (ex.cause) === 'function') {\n\t\tvar cex = ex.cause();\n\t\tif (cex) {\n\t\t\tret += '\\nCaused by: ' + dumpException(cex);\n\t\t}\n\t}\n\n\treturn (ret);\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/extsprintf/lib/extsprintf.js?");
12035
11430
 
12036
11431
  /***/ }),
12037
11432
 
12038
- /***/ "./node_modules/fast-glob/out/utils/string.js":
12039
- /*!****************************************************!*\
12040
- !*** ./node_modules/fast-glob/out/utils/string.js ***!
12041
- \****************************************************/
12042
- /***/ ((__unused_webpack_module, exports) => {
11433
+ /***/ "./node_modules/fast-deep-equal/index.js":
11434
+ /*!***********************************************!*\
11435
+ !*** ./node_modules/fast-deep-equal/index.js ***!
11436
+ \***********************************************/
11437
+ /***/ ((module) => {
12043
11438
 
12044
11439
  "use strict";
12045
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.isEmpty = exports.isString = void 0;\r\nfunction isString(input) {\r\n return typeof input === 'string';\r\n}\r\nexports.isString = isString;\r\nfunction isEmpty(input) {\r\n return input === '';\r\n}\r\nexports.isEmpty = isEmpty;\r\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-glob/out/utils/string.js?");
11440
+ eval("\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fast-deep-equal/index.js?");
12046
11441
 
12047
11442
  /***/ }),
12048
11443
 
@@ -12057,17 +11452,6 @@ eval("\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n
12057
11452
 
12058
11453
  /***/ }),
12059
11454
 
12060
- /***/ "./node_modules/fastq/queue.js":
12061
- /*!*************************************!*\
12062
- !*** ./node_modules/fastq/queue.js ***!
12063
- \*************************************/
12064
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12065
-
12066
- "use strict";
12067
- eval("\n\n/* eslint-disable no-var */\n\nvar reusify = __webpack_require__(/*! reusify */ \"./node_modules/reusify/reusify.js\")\n\nfunction fastqueue (context, worker, concurrency) {\n if (typeof context === 'function') {\n concurrency = worker\n worker = context\n context = null\n }\n\n if (concurrency < 1) {\n throw new Error('fastqueue concurrency must be greater than 1')\n }\n\n var cache = reusify(Task)\n var queueHead = null\n var queueTail = null\n var _running = 0\n var errorHandler = null\n\n var self = {\n push: push,\n drain: noop,\n saturated: noop,\n pause: pause,\n paused: false,\n concurrency: concurrency,\n running: running,\n resume: resume,\n idle: idle,\n length: length,\n getQueue: getQueue,\n unshift: unshift,\n empty: noop,\n kill: kill,\n killAndDrain: killAndDrain,\n error: error\n }\n\n return self\n\n function running () {\n return _running\n }\n\n function pause () {\n self.paused = true\n }\n\n function length () {\n var current = queueHead\n var counter = 0\n\n while (current) {\n current = current.next\n counter++\n }\n\n return counter\n }\n\n function getQueue () {\n var current = queueHead\n var tasks = []\n\n while (current) {\n tasks.push(current.value)\n current = current.next\n }\n\n return tasks\n }\n\n function resume () {\n if (!self.paused) return\n self.paused = false\n for (var i = 0; i < self.concurrency; i++) {\n _running++\n release()\n }\n }\n\n function idle () {\n return _running === 0 && self.length() === 0\n }\n\n function push (value, done) {\n var current = cache.get()\n\n current.context = context\n current.release = release\n current.value = value\n current.callback = done || noop\n current.errorHandler = errorHandler\n\n if (_running === self.concurrency || self.paused) {\n if (queueTail) {\n queueTail.next = current\n queueTail = current\n } else {\n queueHead = current\n queueTail = current\n self.saturated()\n }\n } else {\n _running++\n worker.call(context, current.value, current.worked)\n }\n }\n\n function unshift (value, done) {\n var current = cache.get()\n\n current.context = context\n current.release = release\n current.value = value\n current.callback = done || noop\n\n if (_running === self.concurrency || self.paused) {\n if (queueHead) {\n current.next = queueHead\n queueHead = current\n } else {\n queueHead = current\n queueTail = current\n self.saturated()\n }\n } else {\n _running++\n worker.call(context, current.value, current.worked)\n }\n }\n\n function release (holder) {\n if (holder) {\n cache.release(holder)\n }\n var next = queueHead\n if (next) {\n if (!self.paused) {\n if (queueTail === queueHead) {\n queueTail = null\n }\n queueHead = next.next\n next.next = null\n worker.call(context, next.value, next.worked)\n if (queueTail === null) {\n self.empty()\n }\n } else {\n _running--\n }\n } else if (--_running === 0) {\n self.drain()\n }\n }\n\n function kill () {\n queueHead = null\n queueTail = null\n self.drain = noop\n }\n\n function killAndDrain () {\n queueHead = null\n queueTail = null\n self.drain()\n self.drain = noop\n }\n\n function error (handler) {\n errorHandler = handler\n }\n}\n\nfunction noop () {}\n\nfunction Task () {\n this.value = null\n this.callback = noop\n this.next = null\n this.release = noop\n this.context = null\n this.errorHandler = null\n\n var self = this\n\n this.worked = function worked (err, result) {\n var callback = self.callback\n var errorHandler = self.errorHandler\n var val = self.value\n self.value = null\n self.callback = noop\n if (self.errorHandler) {\n errorHandler(err, val)\n }\n callback.call(self.context, err, result)\n self.release(self)\n }\n}\n\nfunction queueAsPromised (context, worker, concurrency) {\n if (typeof context === 'function') {\n concurrency = worker\n worker = context\n context = null\n }\n\n function asyncWrapper (arg, cb) {\n worker.call(this, arg)\n .then(function (res) {\n cb(null, res)\n }, cb)\n }\n\n var queue = fastqueue(context, asyncWrapper, concurrency)\n\n var pushCb = queue.push\n var unshiftCb = queue.unshift\n\n queue.push = push\n queue.unshift = unshift\n queue.drained = drained\n\n return queue\n\n function push (value) {\n var p = new Promise(function (resolve, reject) {\n pushCb(value, function (err, result) {\n if (err) {\n reject(err)\n return\n }\n resolve(result)\n })\n })\n\n // Let's fork the promise chain to\n // make the error bubble up to the user but\n // not lead to a unhandledRejection\n p.catch(noop)\n\n return p\n }\n\n function unshift (value) {\n var p = new Promise(function (resolve, reject) {\n unshiftCb(value, function (err, result) {\n if (err) {\n reject(err)\n return\n }\n resolve(result)\n })\n })\n\n // Let's fork the promise chain to\n // make the error bubble up to the user but\n // not lead to a unhandledRejection\n p.catch(noop)\n\n return p\n }\n\n function drained () {\n var previousDrain = queue.drain\n\n var p = new Promise(function (resolve) {\n queue.drain = function () {\n previousDrain()\n resolve()\n }\n })\n\n return p\n }\n}\n\nmodule.exports = fastqueue\nmodule.exports.promise = queueAsPromised\n\n\n//# sourceURL=webpack://open-lens/./node_modules/fastq/queue.js?");
12068
-
12069
- /***/ }),
12070
-
12071
11455
  /***/ "./node_modules/fecha/lib/fecha.js":
12072
11456
  /*!*****************************************!*\
12073
11457
  !*** ./node_modules/fecha/lib/fecha.js ***!
@@ -12522,39 +11906,6 @@ eval("module.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar rp = __webp
12522
11906
 
12523
11907
  /***/ }),
12524
11908
 
12525
- /***/ "./node_modules/globby/gitignore.js":
12526
- /*!******************************************!*\
12527
- !*** ./node_modules/globby/gitignore.js ***!
12528
- \******************************************/
12529
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12530
-
12531
- "use strict";
12532
- eval("\nconst {promisify} = __webpack_require__(/*! util */ \"util\");\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst fastGlob = __webpack_require__(/*! fast-glob */ \"./node_modules/fast-glob/out/index.js\");\nconst gitIgnore = __webpack_require__(/*! ignore */ \"./node_modules/ignore/index.js\");\nconst slash = __webpack_require__(/*! slash */ \"./node_modules/slash/index.js\");\n\nconst DEFAULT_IGNORE = [\n\t'**/node_modules/**',\n\t'**/flow-typed/**',\n\t'**/coverage/**',\n\t'**/.git'\n];\n\nconst readFileP = promisify(fs.readFile);\n\nconst mapGitIgnorePatternTo = base => ignore => {\n\tif (ignore.startsWith('!')) {\n\t\treturn '!' + path.posix.join(base, ignore.slice(1));\n\t}\n\n\treturn path.posix.join(base, ignore);\n};\n\nconst parseGitIgnore = (content, options) => {\n\tconst base = slash(path.relative(options.cwd, path.dirname(options.fileName)));\n\n\treturn content\n\t\t.split(/\\r?\\n/)\n\t\t.filter(Boolean)\n\t\t.filter(line => !line.startsWith('#'))\n\t\t.map(mapGitIgnorePatternTo(base));\n};\n\nconst reduceIgnore = files => {\n\tconst ignores = gitIgnore();\n\tfor (const file of files) {\n\t\tignores.add(parseGitIgnore(file.content, {\n\t\t\tcwd: file.cwd,\n\t\t\tfileName: file.filePath\n\t\t}));\n\t}\n\n\treturn ignores;\n};\n\nconst ensureAbsolutePathForCwd = (cwd, p) => {\n\tcwd = slash(cwd);\n\tif (path.isAbsolute(p)) {\n\t\tif (slash(p).startsWith(cwd)) {\n\t\t\treturn p;\n\t\t}\n\n\t\tthrow new Error(`Path ${p} is not in cwd ${cwd}`);\n\t}\n\n\treturn path.join(cwd, p);\n};\n\nconst getIsIgnoredPredecate = (ignores, cwd) => {\n\treturn p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p.path || p))));\n};\n\nconst getFile = async (file, cwd) => {\n\tconst filePath = path.join(cwd, file);\n\tconst content = await readFileP(filePath, 'utf8');\n\n\treturn {\n\t\tcwd,\n\t\tfilePath,\n\t\tcontent\n\t};\n};\n\nconst getFileSync = (file, cwd) => {\n\tconst filePath = path.join(cwd, file);\n\tconst content = fs.readFileSync(filePath, 'utf8');\n\n\treturn {\n\t\tcwd,\n\t\tfilePath,\n\t\tcontent\n\t};\n};\n\nconst normalizeOptions = ({\n\tignore = [],\n\tcwd = slash(process.cwd())\n} = {}) => {\n\treturn {ignore, cwd};\n};\n\nmodule.exports = async options => {\n\toptions = normalizeOptions(options);\n\n\tconst paths = await fastGlob('**/.gitignore', {\n\t\tignore: DEFAULT_IGNORE.concat(options.ignore),\n\t\tcwd: options.cwd\n\t});\n\n\tconst files = await Promise.all(paths.map(file => getFile(file, options.cwd)));\n\tconst ignores = reduceIgnore(files);\n\n\treturn getIsIgnoredPredecate(ignores, options.cwd);\n};\n\nmodule.exports.sync = options => {\n\toptions = normalizeOptions(options);\n\n\tconst paths = fastGlob.sync('**/.gitignore', {\n\t\tignore: DEFAULT_IGNORE.concat(options.ignore),\n\t\tcwd: options.cwd\n\t});\n\n\tconst files = paths.map(file => getFileSync(file, options.cwd));\n\tconst ignores = reduceIgnore(files);\n\n\treturn getIsIgnoredPredecate(ignores, options.cwd);\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/globby/gitignore.js?");
12533
-
12534
- /***/ }),
12535
-
12536
- /***/ "./node_modules/globby/index.js":
12537
- /*!**************************************!*\
12538
- !*** ./node_modules/globby/index.js ***!
12539
- \**************************************/
12540
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12541
-
12542
- "use strict";
12543
- eval("\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nconst arrayUnion = __webpack_require__(/*! array-union */ \"./node_modules/array-union/index.js\");\nconst merge2 = __webpack_require__(/*! merge2 */ \"./node_modules/merge2/index.js\");\nconst fastGlob = __webpack_require__(/*! fast-glob */ \"./node_modules/fast-glob/out/index.js\");\nconst dirGlob = __webpack_require__(/*! dir-glob */ \"./node_modules/dir-glob/index.js\");\nconst gitignore = __webpack_require__(/*! ./gitignore */ \"./node_modules/globby/gitignore.js\");\nconst {FilterStream, UniqueStream} = __webpack_require__(/*! ./stream-utils */ \"./node_modules/globby/stream-utils.js\");\n\nconst DEFAULT_FILTER = () => false;\n\nconst isNegative = pattern => pattern[0] === '!';\n\nconst assertPatternsInput = patterns => {\n\tif (!patterns.every(pattern => typeof pattern === 'string')) {\n\t\tthrow new TypeError('Patterns must be a string or an array of strings');\n\t}\n};\n\nconst checkCwdOption = (options = {}) => {\n\tif (!options.cwd) {\n\t\treturn;\n\t}\n\n\tlet stat;\n\ttry {\n\t\tstat = fs.statSync(options.cwd);\n\t} catch {\n\t\treturn;\n\t}\n\n\tif (!stat.isDirectory()) {\n\t\tthrow new Error('The `cwd` option must be a path to a directory');\n\t}\n};\n\nconst getPathString = p => p.stats instanceof fs.Stats ? p.path : p;\n\nconst generateGlobTasks = (patterns, taskOptions) => {\n\tpatterns = arrayUnion([].concat(patterns));\n\tassertPatternsInput(patterns);\n\tcheckCwdOption(taskOptions);\n\n\tconst globTasks = [];\n\n\ttaskOptions = {\n\t\tignore: [],\n\t\texpandDirectories: true,\n\t\t...taskOptions\n\t};\n\n\tfor (const [index, pattern] of patterns.entries()) {\n\t\tif (isNegative(pattern)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst ignore = patterns\n\t\t\t.slice(index)\n\t\t\t.filter(pattern => isNegative(pattern))\n\t\t\t.map(pattern => pattern.slice(1));\n\n\t\tconst options = {\n\t\t\t...taskOptions,\n\t\t\tignore: taskOptions.ignore.concat(ignore)\n\t\t};\n\n\t\tglobTasks.push({pattern, options});\n\t}\n\n\treturn globTasks;\n};\n\nconst globDirs = (task, fn) => {\n\tlet options = {};\n\tif (task.options.cwd) {\n\t\toptions.cwd = task.options.cwd;\n\t}\n\n\tif (Array.isArray(task.options.expandDirectories)) {\n\t\toptions = {\n\t\t\t...options,\n\t\t\tfiles: task.options.expandDirectories\n\t\t};\n\t} else if (typeof task.options.expandDirectories === 'object') {\n\t\toptions = {\n\t\t\t...options,\n\t\t\t...task.options.expandDirectories\n\t\t};\n\t}\n\n\treturn fn(task.pattern, options);\n};\n\nconst getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern];\n\nconst getFilterSync = options => {\n\treturn options && options.gitignore ?\n\t\tgitignore.sync({cwd: options.cwd, ignore: options.ignore}) :\n\t\tDEFAULT_FILTER;\n};\n\nconst globToTask = task => glob => {\n\tconst {options} = task;\n\tif (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) {\n\t\toptions.ignore = dirGlob.sync(options.ignore);\n\t}\n\n\treturn {\n\t\tpattern: glob,\n\t\toptions\n\t};\n};\n\nmodule.exports = async (patterns, options) => {\n\tconst globTasks = generateGlobTasks(patterns, options);\n\n\tconst getFilter = async () => {\n\t\treturn options && options.gitignore ?\n\t\t\tgitignore({cwd: options.cwd, ignore: options.ignore}) :\n\t\t\tDEFAULT_FILTER;\n\t};\n\n\tconst getTasks = async () => {\n\t\tconst tasks = await Promise.all(globTasks.map(async task => {\n\t\t\tconst globs = await getPattern(task, dirGlob);\n\t\t\treturn Promise.all(globs.map(globToTask(task)));\n\t\t}));\n\n\t\treturn arrayUnion(...tasks);\n\t};\n\n\tconst [filter, tasks] = await Promise.all([getFilter(), getTasks()]);\n\tconst paths = await Promise.all(tasks.map(task => fastGlob(task.pattern, task.options)));\n\n\treturn arrayUnion(...paths).filter(path_ => !filter(getPathString(path_)));\n};\n\nmodule.exports.sync = (patterns, options) => {\n\tconst globTasks = generateGlobTasks(patterns, options);\n\n\tconst tasks = [];\n\tfor (const task of globTasks) {\n\t\tconst newTask = getPattern(task, dirGlob.sync).map(globToTask(task));\n\t\ttasks.push(...newTask);\n\t}\n\n\tconst filter = getFilterSync(options);\n\n\tlet matches = [];\n\tfor (const task of tasks) {\n\t\tmatches = arrayUnion(matches, fastGlob.sync(task.pattern, task.options));\n\t}\n\n\treturn matches.filter(path_ => !filter(path_));\n};\n\nmodule.exports.stream = (patterns, options) => {\n\tconst globTasks = generateGlobTasks(patterns, options);\n\n\tconst tasks = [];\n\tfor (const task of globTasks) {\n\t\tconst newTask = getPattern(task, dirGlob.sync).map(globToTask(task));\n\t\ttasks.push(...newTask);\n\t}\n\n\tconst filter = getFilterSync(options);\n\tconst filterStream = new FilterStream(p => !filter(p));\n\tconst uniqueStream = new UniqueStream();\n\n\treturn merge2(tasks.map(task => fastGlob.stream(task.pattern, task.options)))\n\t\t.pipe(filterStream)\n\t\t.pipe(uniqueStream);\n};\n\nmodule.exports.generateGlobTasks = generateGlobTasks;\n\nmodule.exports.hasMagic = (patterns, options) => []\n\t.concat(patterns)\n\t.some(pattern => fastGlob.isDynamicPattern(pattern, options));\n\nmodule.exports.gitignore = gitignore;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/globby/index.js?");
12544
-
12545
- /***/ }),
12546
-
12547
- /***/ "./node_modules/globby/stream-utils.js":
12548
- /*!*********************************************!*\
12549
- !*** ./node_modules/globby/stream-utils.js ***!
12550
- \*********************************************/
12551
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12552
-
12553
- "use strict";
12554
- eval("\nconst {Transform} = __webpack_require__(/*! stream */ \"stream\");\n\nclass ObjectTransform extends Transform {\n\tconstructor() {\n\t\tsuper({\n\t\t\tobjectMode: true\n\t\t});\n\t}\n}\n\nclass FilterStream extends ObjectTransform {\n\tconstructor(filter) {\n\t\tsuper();\n\t\tthis._filter = filter;\n\t}\n\n\t_transform(data, encoding, callback) {\n\t\tif (this._filter(data)) {\n\t\t\tthis.push(data);\n\t\t}\n\n\t\tcallback();\n\t}\n}\n\nclass UniqueStream extends ObjectTransform {\n\tconstructor() {\n\t\tsuper();\n\t\tthis._pushed = new Set();\n\t}\n\n\t_transform(data, encoding, callback) {\n\t\tif (!this._pushed.has(data)) {\n\t\t\tthis.push(data);\n\t\t\tthis._pushed.add(data);\n\t\t}\n\n\t\tcallback();\n\t}\n}\n\nmodule.exports = {\n\tFilterStream,\n\tUniqueStream\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/globby/stream-utils.js?");
12555
-
12556
- /***/ }),
12557
-
12558
11909
  /***/ "./node_modules/graceful-fs/clone.js":
12559
11910
  /*!*******************************************!*\
12560
11911
  !*** ./node_modules/graceful-fs/clone.js ***!
@@ -13138,27 +12489,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
13138
12489
 
13139
12490
  /***/ }),
13140
12491
 
13141
- /***/ "./node_modules/ignore/index.js":
13142
- /*!**************************************!*\
13143
- !*** ./node_modules/ignore/index.js ***!
13144
- \**************************************/
13145
- /***/ ((module) => {
13146
-
13147
- eval("// A simple implementation of make-array\nfunction makeArray (subject) {\n return Array.isArray(subject)\n ? subject\n : [subject]\n}\n\nconst EMPTY = ''\nconst SPACE = ' '\nconst ESCAPE = '\\\\'\nconst REGEX_TEST_BLANK_LINE = /^\\s+$/\nconst REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\\\!/\nconst REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\\\#/\nconst REGEX_SPLITALL_CRLF = /\\r?\\n/g\n// /foo,\n// ./foo,\n// ../foo,\n// .\n// ..\nconst REGEX_TEST_INVALID_PATH = /^\\.*\\/|^\\.+$/\n\nconst SLASH = '/'\nconst KEY_IGNORE = typeof Symbol !== 'undefined'\n ? Symbol.for('node-ignore')\n /* istanbul ignore next */\n : 'node-ignore'\n\nconst define = (object, key, value) =>\n Object.defineProperty(object, key, {value})\n\nconst REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g\n\nconst RETURN_FALSE = () => false\n\n// Sanitize the range of a regular expression\n// The cases are complicated, see test cases for details\nconst sanitizeRange = range => range.replace(\n REGEX_REGEXP_RANGE,\n (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0)\n ? match\n // Invalid range (out of order) which is ok for gitignore rules but\n // fatal for JavaScript regular expression, so eliminate it.\n : EMPTY\n)\n\n// See fixtures #59\nconst cleanRangeBackSlash = slashes => {\n const {length} = slashes\n return slashes.slice(0, length - length % 2)\n}\n\n// > If the pattern ends with a slash,\n// > it is removed for the purpose of the following description,\n// > but it would only find a match with a directory.\n// > In other words, foo/ will match a directory foo and paths underneath it,\n// > but will not match a regular file or a symbolic link foo\n// > (this is consistent with the way how pathspec works in general in Git).\n// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'\n// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call\n// you could use option `mark: true` with `glob`\n\n// '`foo/`' should not continue with the '`..`'\nconst REPLACERS = [\n\n // > Trailing spaces are ignored unless they are quoted with backslash (\"\\\")\n [\n // (a\\ ) -> (a )\n // (a ) -> (a)\n // (a \\ ) -> (a )\n /\\\\?\\s+$/,\n match => match.indexOf('\\\\') === 0\n ? SPACE\n : EMPTY\n ],\n\n // replace (\\ ) with ' '\n [\n /\\\\\\s/g,\n () => SPACE\n ],\n\n // Escape metacharacters\n // which is written down by users but means special for regular expressions.\n\n // > There are 12 characters with special meanings:\n // > - the backslash \\,\n // > - the caret ^,\n // > - the dollar sign $,\n // > - the period or dot .,\n // > - the vertical bar or pipe symbol |,\n // > - the question mark ?,\n // > - the asterisk or star *,\n // > - the plus sign +,\n // > - the opening parenthesis (,\n // > - the closing parenthesis ),\n // > - and the opening square bracket [,\n // > - the opening curly brace {,\n // > These special characters are often called \"metacharacters\".\n [\n /[\\\\$.|*+(){^]/g,\n match => `\\\\${match}`\n ],\n\n [\n // > a question mark (?) matches a single character\n /(?!\\\\)\\?/g,\n () => '[^/]'\n ],\n\n // leading slash\n [\n\n // > A leading slash matches the beginning of the pathname.\n // > For example, \"/*.c\" matches \"cat-file.c\" but not \"mozilla-sha1/sha1.c\".\n // A leading slash matches the beginning of the pathname\n /^\\//,\n () => '^'\n ],\n\n // replace special metacharacter slash after the leading slash\n [\n /\\//g,\n () => '\\\\/'\n ],\n\n [\n // > A leading \"**\" followed by a slash means match in all directories.\n // > For example, \"**/foo\" matches file or directory \"foo\" anywhere,\n // > the same as pattern \"foo\".\n // > \"**/foo/bar\" matches file or directory \"bar\" anywhere that is directly\n // > under directory \"foo\".\n // Notice that the '*'s have been replaced as '\\\\*'\n /^\\^*\\\\\\*\\\\\\*\\\\\\//,\n\n // '**/foo' <-> 'foo'\n () => '^(?:.*\\\\/)?'\n ],\n\n // starting\n [\n // there will be no leading '/'\n // (which has been replaced by section \"leading slash\")\n // If starts with '**', adding a '^' to the regular expression also works\n /^(?=[^^])/,\n function startingReplacer () {\n // If has a slash `/` at the beginning or middle\n return !/\\/(?!$)/.test(this)\n // > Prior to 2.22.1\n // > If the pattern does not contain a slash /,\n // > Git treats it as a shell glob pattern\n // Actually, if there is only a trailing slash,\n // git also treats it as a shell glob pattern\n\n // After 2.22.1 (compatible but clearer)\n // > If there is a separator at the beginning or middle (or both)\n // > of the pattern, then the pattern is relative to the directory\n // > level of the particular .gitignore file itself.\n // > Otherwise the pattern may also match at any level below\n // > the .gitignore level.\n ? '(?:^|\\\\/)'\n\n // > Otherwise, Git treats the pattern as a shell glob suitable for\n // > consumption by fnmatch(3)\n : '^'\n }\n ],\n\n // two globstars\n [\n // Use lookahead assertions so that we could match more than one `'/**'`\n /\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,\n\n // Zero, one or several directories\n // should not use '*', or it will be replaced by the next replacer\n\n // Check if it is not the last `'/**'`\n (_, index, str) => index + 6 < str.length\n\n // case: /**/\n // > A slash followed by two consecutive asterisks then a slash matches\n // > zero or more directories.\n // > For example, \"a/**/b\" matches \"a/b\", \"a/x/b\", \"a/x/y/b\" and so on.\n // '/**/'\n ? '(?:\\\\/[^\\\\/]+)*'\n\n // case: /**\n // > A trailing `\"/**\"` matches everything inside.\n\n // #21: everything inside but it should not include the current folder\n : '\\\\/.+'\n ],\n\n // intermediate wildcards\n [\n // Never replace escaped '*'\n // ignore rule '\\*' will match the path '*'\n\n // 'abc.*/' -> go\n // 'abc.*' -> skip this rule\n /(^|[^\\\\]+)\\\\\\*(?=.+)/g,\n\n // '*.js' matches '.js'\n // '*.js' doesn't match 'abc'\n (_, p1) => `${p1}[^\\\\/]*`\n ],\n\n [\n // unescape, revert step 3 except for back slash\n // For example, if a user escape a '\\\\*',\n // after step 3, the result will be '\\\\\\\\\\\\*'\n /\\\\\\\\\\\\(?=[$.|*+(){^])/g,\n () => ESCAPE\n ],\n\n [\n // '\\\\\\\\' -> '\\\\'\n /\\\\\\\\/g,\n () => ESCAPE\n ],\n\n [\n // > The range notation, e.g. [a-zA-Z],\n // > can be used to match one of the characters in a range.\n\n // `\\` is escaped by step 3\n /(\\\\)?\\[([^\\]/]*?)(\\\\*)($|\\])/g,\n (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE\n // '\\\\[bar]' -> '\\\\\\\\[bar\\\\]'\n ? `\\\\[${range}${cleanRangeBackSlash(endEscape)}${close}`\n : close === ']'\n ? endEscape.length % 2 === 0\n // A normal case, and it is a range notation\n // '[bar]'\n // '[bar\\\\\\\\]'\n ? `[${sanitizeRange(range)}${endEscape}]`\n // Invalid range notaton\n // '[bar\\\\]' -> '[bar\\\\\\\\]'\n : '[]'\n : '[]'\n ],\n\n // ending\n [\n // 'js' will not match 'js.'\n // 'ab' will not match 'abc'\n /(?:[^*])$/,\n\n // WTF!\n // https://git-scm.com/docs/gitignore\n // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)\n // which re-fixes #24, #38\n\n // > If there is a separator at the end of the pattern then the pattern\n // > will only match directories, otherwise the pattern can match both\n // > files and directories.\n\n // 'js*' will not match 'a.js'\n // 'js/' will not match 'a.js'\n // 'js' will match 'a.js' and 'a.js/'\n match => /\\/$/.test(match)\n // foo/ will not match 'foo'\n ? `${match}$`\n // foo matches 'foo' and 'foo/'\n : `${match}(?=$|\\\\/$)`\n ],\n\n // trailing wildcard\n [\n /(\\^|\\\\\\/)?\\\\\\*$/,\n (_, p1) => {\n const prefix = p1\n // '\\^':\n // '/*' does not match EMPTY\n // '/*' does not match everything\n\n // '\\\\\\/':\n // 'abc/*' does not match 'abc/'\n ? `${p1}[^/]+`\n\n // 'a*' matches 'a'\n // 'a*' matches 'aa'\n : '[^/]*'\n\n return `${prefix}(?=$|\\\\/$)`\n }\n ],\n]\n\n// A simple cache, because an ignore rule only has only one certain meaning\nconst regexCache = Object.create(null)\n\n// @param {pattern}\nconst makeRegex = (pattern, ignoreCase) => {\n let source = regexCache[pattern]\n\n if (!source) {\n source = REPLACERS.reduce(\n (prev, current) => prev.replace(current[0], current[1].bind(pattern)),\n pattern\n )\n regexCache[pattern] = source\n }\n\n return ignoreCase\n ? new RegExp(source, 'i')\n : new RegExp(source)\n}\n\nconst isString = subject => typeof subject === 'string'\n\n// > A blank line matches no files, so it can serve as a separator for readability.\nconst checkPattern = pattern => pattern\n && isString(pattern)\n && !REGEX_TEST_BLANK_LINE.test(pattern)\n\n // > A line starting with # serves as a comment.\n && pattern.indexOf('#') !== 0\n\nconst splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF)\n\nclass IgnoreRule {\n constructor (\n origin,\n pattern,\n negative,\n regex\n ) {\n this.origin = origin\n this.pattern = pattern\n this.negative = negative\n this.regex = regex\n }\n}\n\nconst createRule = (pattern, ignoreCase) => {\n const origin = pattern\n let negative = false\n\n // > An optional prefix \"!\" which negates the pattern;\n if (pattern.indexOf('!') === 0) {\n negative = true\n pattern = pattern.substr(1)\n }\n\n pattern = pattern\n // > Put a backslash (\"\\\") in front of the first \"!\" for patterns that\n // > begin with a literal \"!\", for example, `\"\\!important!.txt\"`.\n .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')\n // > Put a backslash (\"\\\") in front of the first hash for patterns that\n // > begin with a hash.\n .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#')\n\n const regex = makeRegex(pattern, ignoreCase)\n\n return new IgnoreRule(\n origin,\n pattern,\n negative,\n regex\n )\n}\n\nconst throwError = (message, Ctor) => {\n throw new Ctor(message)\n}\n\nconst checkPath = (path, originalPath, doThrow) => {\n if (!isString(path)) {\n return doThrow(\n `path must be a string, but got \\`${originalPath}\\``,\n TypeError\n )\n }\n\n // We don't know if we should ignore EMPTY, so throw\n if (!path) {\n return doThrow(`path must not be empty`, TypeError)\n }\n\n // Check if it is a relative path\n if (checkPath.isNotRelative(path)) {\n const r = '`path.relative()`d'\n return doThrow(\n `path should be a ${r} string, but got \"${originalPath}\"`,\n RangeError\n )\n }\n\n return true\n}\n\nconst isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path)\n\ncheckPath.isNotRelative = isNotRelative\ncheckPath.convert = p => p\n\nclass Ignore {\n constructor ({\n ignorecase = true,\n ignoreCase = ignorecase,\n allowRelativePaths = false\n } = {}) {\n define(this, KEY_IGNORE, true)\n\n this._rules = []\n this._ignoreCase = ignoreCase\n this._allowRelativePaths = allowRelativePaths\n this._initCache()\n }\n\n _initCache () {\n this._ignoreCache = Object.create(null)\n this._testCache = Object.create(null)\n }\n\n _addPattern (pattern) {\n // #32\n if (pattern && pattern[KEY_IGNORE]) {\n this._rules = this._rules.concat(pattern._rules)\n this._added = true\n return\n }\n\n if (checkPattern(pattern)) {\n const rule = createRule(pattern, this._ignoreCase)\n this._added = true\n this._rules.push(rule)\n }\n }\n\n // @param {Array<string> | string | Ignore} pattern\n add (pattern) {\n this._added = false\n\n makeArray(\n isString(pattern)\n ? splitPattern(pattern)\n : pattern\n ).forEach(this._addPattern, this)\n\n // Some rules have just added to the ignore,\n // making the behavior changed.\n if (this._added) {\n this._initCache()\n }\n\n return this\n }\n\n // legacy\n addPattern (pattern) {\n return this.add(pattern)\n }\n\n // | ignored : unignored\n // negative | 0:0 | 0:1 | 1:0 | 1:1\n // -------- | ------- | ------- | ------- | --------\n // 0 | TEST | TEST | SKIP | X\n // 1 | TESTIF | SKIP | TEST | X\n\n // - SKIP: always skip\n // - TEST: always test\n // - TESTIF: only test if checkUnignored\n // - X: that never happen\n\n // @param {boolean} whether should check if the path is unignored,\n // setting `checkUnignored` to `false` could reduce additional\n // path matching.\n\n // @returns {TestResult} true if a file is ignored\n _testOne (path, checkUnignored) {\n let ignored = false\n let unignored = false\n\n this._rules.forEach(rule => {\n const {negative} = rule\n if (\n unignored === negative && ignored !== unignored\n || negative && !ignored && !unignored && !checkUnignored\n ) {\n return\n }\n\n const matched = rule.regex.test(path)\n\n if (matched) {\n ignored = !negative\n unignored = negative\n }\n })\n\n return {\n ignored,\n unignored\n }\n }\n\n // @returns {TestResult}\n _test (originalPath, cache, checkUnignored, slices) {\n const path = originalPath\n // Supports nullable path\n && checkPath.convert(originalPath)\n\n checkPath(\n path,\n originalPath,\n this._allowRelativePaths\n ? RETURN_FALSE\n : throwError\n )\n\n return this._t(path, cache, checkUnignored, slices)\n }\n\n _t (path, cache, checkUnignored, slices) {\n if (path in cache) {\n return cache[path]\n }\n\n if (!slices) {\n // path/to/a.js\n // ['path', 'to', 'a.js']\n slices = path.split(SLASH)\n }\n\n slices.pop()\n\n // If the path has no parent directory, just test it\n if (!slices.length) {\n return cache[path] = this._testOne(path, checkUnignored)\n }\n\n const parent = this._t(\n slices.join(SLASH) + SLASH,\n cache,\n checkUnignored,\n slices\n )\n\n // If the path contains a parent directory, check the parent first\n return cache[path] = parent.ignored\n // > It is not possible to re-include a file if a parent directory of\n // > that file is excluded.\n ? parent\n : this._testOne(path, checkUnignored)\n }\n\n ignores (path) {\n return this._test(path, this._ignoreCache, false).ignored\n }\n\n createFilter () {\n return path => !this.ignores(path)\n }\n\n filter (paths) {\n return makeArray(paths).filter(this.createFilter())\n }\n\n // @returns {TestResult}\n test (path) {\n return this._test(path, this._testCache, true)\n }\n}\n\nconst factory = options => new Ignore(options)\n\nconst isPathValid = path =>\n checkPath(path && checkPath.convert(path), path, RETURN_FALSE)\n\nfactory.isPathValid = isPathValid\n\n// Fixes typescript\nfactory.default = factory\n\nmodule.exports = factory\n\n// Windows\n// --------------------------------------------------------------\n/* istanbul ignore if */\nif (\n // Detect `process` so that it can run in browsers.\n typeof process !== 'undefined'\n && (\n process.env && process.env.IGNORE_TEST_WIN32\n || process.platform === 'win32'\n )\n) {\n /* eslint no-control-regex: \"off\" */\n const makePosix = str => /^\\\\\\\\\\?\\\\/.test(str)\n || /[\"<>|\\u0000-\\u001F]+/u.test(str)\n ? str\n : str.replace(/\\\\/g, '/')\n\n checkPath.convert = makePosix\n\n // 'C:\\\\foo' <- 'C:\\\\foo' has been converted to 'C:/'\n // 'd:\\\\foo'\n const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\\//i\n checkPath.isNotRelative = path =>\n REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path)\n || isNotRelative(path)\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/ignore/index.js?");
13148
-
13149
- /***/ }),
13150
-
13151
- /***/ "./node_modules/indent-string/index.js":
13152
- /*!*********************************************!*\
13153
- !*** ./node_modules/indent-string/index.js ***!
13154
- \*********************************************/
13155
- /***/ ((module) => {
13156
-
13157
- "use strict";
13158
- eval("\n\nmodule.exports = (string, count = 1, options) => {\n\toptions = {\n\t\tindent: ' ',\n\t\tincludeEmptyLines: false,\n\t\t...options\n\t};\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (typeof options.indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof options.indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = options.includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, options.indent.repeat(count));\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/indent-string/index.js?");
13159
-
13160
- /***/ }),
13161
-
13162
12492
  /***/ "./node_modules/inflight/inflight.js":
13163
12493
  /*!*******************************************!*\
13164
12494
  !*** ./node_modules/inflight/inflight.js ***!
@@ -13232,28 +12562,6 @@ eval("\n\nmodule.exports = value => {\n\tconst type = typeof value;\n\treturn va
13232
12562
 
13233
12563
  /***/ }),
13234
12564
 
13235
- /***/ "./node_modules/is-path-cwd/index.js":
13236
- /*!*******************************************!*\
13237
- !*** ./node_modules/is-path-cwd/index.js ***!
13238
- \*******************************************/
13239
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13240
-
13241
- "use strict";
13242
- eval("\nconst path = __webpack_require__(/*! path */ \"path\");\n\nmodule.exports = path_ => {\n\tlet cwd = process.cwd();\n\n\tpath_ = path.resolve(path_);\n\n\tif (process.platform === 'win32') {\n\t\tcwd = cwd.toLowerCase();\n\t\tpath_ = path_.toLowerCase();\n\t}\n\n\treturn path_ === cwd;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/is-path-cwd/index.js?");
13243
-
13244
- /***/ }),
13245
-
13246
- /***/ "./node_modules/is-path-inside/index.js":
13247
- /*!**********************************************!*\
13248
- !*** ./node_modules/is-path-inside/index.js ***!
13249
- \**********************************************/
13250
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13251
-
13252
- "use strict";
13253
- eval("\nconst path = __webpack_require__(/*! path */ \"path\");\n\nmodule.exports = (childPath, parentPath) => {\n\tconst relation = path.relative(parentPath, childPath);\n\treturn Boolean(\n\t\trelation &&\n\t\trelation !== '..' &&\n\t\t!relation.startsWith(`..${path.sep}`) &&\n\t\trelation !== path.resolve(childPath)\n\t);\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/is-path-inside/index.js?");
13254
-
13255
- /***/ }),
13256
-
13257
12565
  /***/ "./node_modules/is-stream/index.js":
13258
12566
  /*!*****************************************!*\
13259
12567
  !*** ./node_modules/is-stream/index.js ***!
@@ -15966,28 +15274,6 @@ eval("\n\nconst { PassThrough } = __webpack_require__(/*! stream */ \"stream\");
15966
15274
 
15967
15275
  /***/ }),
15968
15276
 
15969
- /***/ "./node_modules/merge2/index.js":
15970
- /*!**************************************!*\
15971
- !*** ./node_modules/merge2/index.js ***!
15972
- \**************************************/
15973
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15974
-
15975
- "use strict";
15976
- eval("\n/*\n * merge2\n * https://github.com/teambition/merge2\n *\n * Copyright (c) 2014-2020 Teambition\n * Licensed under the MIT license.\n */\nconst Stream = __webpack_require__(/*! stream */ \"stream\")\nconst PassThrough = Stream.PassThrough\nconst slice = Array.prototype.slice\n\nmodule.exports = merge2\n\nfunction merge2 () {\n const streamsQueue = []\n const args = slice.call(arguments)\n let merging = false\n let options = args[args.length - 1]\n\n if (options && !Array.isArray(options) && options.pipe == null) {\n args.pop()\n } else {\n options = {}\n }\n\n const doEnd = options.end !== false\n const doPipeError = options.pipeError === true\n if (options.objectMode == null) {\n options.objectMode = true\n }\n if (options.highWaterMark == null) {\n options.highWaterMark = 64 * 1024\n }\n const mergedStream = PassThrough(options)\n\n function addStream () {\n for (let i = 0, len = arguments.length; i < len; i++) {\n streamsQueue.push(pauseStreams(arguments[i], options))\n }\n mergeStream()\n return this\n }\n\n function mergeStream () {\n if (merging) {\n return\n }\n merging = true\n\n let streams = streamsQueue.shift()\n if (!streams) {\n process.nextTick(endStream)\n return\n }\n if (!Array.isArray(streams)) {\n streams = [streams]\n }\n\n let pipesCount = streams.length + 1\n\n function next () {\n if (--pipesCount > 0) {\n return\n }\n merging = false\n mergeStream()\n }\n\n function pipe (stream) {\n function onend () {\n stream.removeListener('merge2UnpipeEnd', onend)\n stream.removeListener('end', onend)\n if (doPipeError) {\n stream.removeListener('error', onerror)\n }\n next()\n }\n function onerror (err) {\n mergedStream.emit('error', err)\n }\n // skip ended stream\n if (stream._readableState.endEmitted) {\n return next()\n }\n\n stream.on('merge2UnpipeEnd', onend)\n stream.on('end', onend)\n\n if (doPipeError) {\n stream.on('error', onerror)\n }\n\n stream.pipe(mergedStream, { end: false })\n // compatible for old stream\n stream.resume()\n }\n\n for (let i = 0; i < streams.length; i++) {\n pipe(streams[i])\n }\n\n next()\n }\n\n function endStream () {\n merging = false\n // emit 'queueDrain' when all streams merged.\n mergedStream.emit('queueDrain')\n if (doEnd) {\n mergedStream.end()\n }\n }\n\n mergedStream.setMaxListeners(0)\n mergedStream.add = addStream\n mergedStream.on('unpipe', function (stream) {\n stream.emit('merge2UnpipeEnd')\n })\n\n if (args.length) {\n addStream.apply(null, args)\n }\n return mergedStream\n}\n\n// check and pause streams for pipe.\nfunction pauseStreams (streams, options) {\n if (!Array.isArray(streams)) {\n // Backwards-compat with old-style streams\n if (!streams._readableState && streams.pipe) {\n streams = streams.pipe(PassThrough(options))\n }\n if (!streams._readableState || !streams.pause || !streams.pipe) {\n throw new Error('Only readable stream can be merged.')\n }\n streams.pause()\n } else {\n for (let i = 0, len = streams.length; i < len; i++) {\n streams[i] = pauseStreams(streams[i], options)\n }\n }\n return streams\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/merge2/index.js?");
15977
-
15978
- /***/ }),
15979
-
15980
- /***/ "./node_modules/micromatch/index.js":
15981
- /*!******************************************!*\
15982
- !*** ./node_modules/micromatch/index.js ***!
15983
- \******************************************/
15984
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15985
-
15986
- "use strict";
15987
- eval("\n\nconst util = __webpack_require__(/*! util */ \"util\");\nconst braces = __webpack_require__(/*! braces */ \"./node_modules/braces/index.js\");\nconst picomatch = __webpack_require__(/*! picomatch */ \"./node_modules/picomatch/index.js\");\nconst utils = __webpack_require__(/*! picomatch/lib/utils */ \"./node_modules/picomatch/lib/utils.js\");\nconst isEmptyString = val => val === '' || val === './';\n\n/**\n * Returns an array of strings that match one or more glob patterns.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm(list, patterns[, options]);\n *\n * console.log(mm(['a.js', 'a.txt'], ['*.js']));\n * //=> [ 'a.js' ]\n * ```\n * @param {String|Array<string>} `list` List of strings to match.\n * @param {String|Array<string>} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options)\n * @return {Array} Returns an array of matches\n * @summary false\n * @api public\n */\n\nconst micromatch = (list, patterns, options) => {\n patterns = [].concat(patterns);\n list = [].concat(list);\n\n let omit = new Set();\n let keep = new Set();\n let items = new Set();\n let negatives = 0;\n\n let onResult = state => {\n items.add(state.output);\n if (options && options.onResult) {\n options.onResult(state);\n }\n };\n\n for (let i = 0; i < patterns.length; i++) {\n let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true);\n let negated = isMatch.state.negated || isMatch.state.negatedExtglob;\n if (negated) negatives++;\n\n for (let item of list) {\n let matched = isMatch(item, true);\n\n let match = negated ? !matched.isMatch : matched.isMatch;\n if (!match) continue;\n\n if (negated) {\n omit.add(matched.output);\n } else {\n omit.delete(matched.output);\n keep.add(matched.output);\n }\n }\n }\n\n let result = negatives === patterns.length ? [...items] : [...keep];\n let matches = result.filter(item => !omit.has(item));\n\n if (options && matches.length === 0) {\n if (options.failglob === true) {\n throw new Error(`No matches found for \"${patterns.join(', ')}\"`);\n }\n\n if (options.nonull === true || options.nullglob === true) {\n return options.unescape ? patterns.map(p => p.replace(/\\\\/g, '')) : patterns;\n }\n }\n\n return matches;\n};\n\n/**\n * Backwards compatibility\n */\n\nmicromatch.match = micromatch;\n\n/**\n * Returns a matcher function from the given glob `pattern` and `options`.\n * The returned function takes a string to match as its only argument and returns\n * true if the string is a match.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.matcher(pattern[, options]);\n *\n * const isMatch = mm.matcher('*.!(*a)');\n * console.log(isMatch('a.a')); //=> false\n * console.log(isMatch('a.b')); //=> true\n * ```\n * @param {String} `pattern` Glob pattern\n * @param {Object} `options`\n * @return {Function} Returns a matcher function.\n * @api public\n */\n\nmicromatch.matcher = (pattern, options) => picomatch(pattern, options);\n\n/**\n * Returns true if **any** of the given glob `patterns` match the specified `string`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.isMatch(string, patterns[, options]);\n *\n * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true\n * console.log(mm.isMatch('a.a', 'b.*')); //=> false\n * ```\n * @param {String} `str` The string to test.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `[options]` See available [options](#options).\n * @return {Boolean} Returns true if any patterns match `str`\n * @api public\n */\n\nmicromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);\n\n/**\n * Backwards compatibility\n */\n\nmicromatch.any = micromatch.isMatch;\n\n/**\n * Returns a list of strings that _**do not match any**_ of the given `patterns`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.not(list, patterns[, options]);\n *\n * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a'));\n * //=> ['b.b', 'c.c']\n * ```\n * @param {Array} `list` Array of strings to match.\n * @param {String|Array} `patterns` One or more glob pattern to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Array} Returns an array of strings that **do not match** the given patterns.\n * @api public\n */\n\nmicromatch.not = (list, patterns, options = {}) => {\n patterns = [].concat(patterns).map(String);\n let result = new Set();\n let items = [];\n\n let onResult = state => {\n if (options.onResult) options.onResult(state);\n items.push(state.output);\n };\n\n let matches = new Set(micromatch(list, patterns, { ...options, onResult }));\n\n for (let item of items) {\n if (!matches.has(item)) {\n result.add(item);\n }\n }\n return [...result];\n};\n\n/**\n * Returns true if the given `string` contains the given pattern. Similar\n * to [.isMatch](#isMatch) but the pattern can match any part of the string.\n *\n * ```js\n * var mm = require('micromatch');\n * // mm.contains(string, pattern[, options]);\n *\n * console.log(mm.contains('aa/bb/cc', '*b'));\n * //=> true\n * console.log(mm.contains('aa/bb/cc', '*d'));\n * //=> false\n * ```\n * @param {String} `str` The string to match.\n * @param {String|Array} `patterns` Glob pattern to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if any of the patterns matches any part of `str`.\n * @api public\n */\n\nmicromatch.contains = (str, pattern, options) => {\n if (typeof str !== 'string') {\n throw new TypeError(`Expected a string: \"${util.inspect(str)}\"`);\n }\n\n if (Array.isArray(pattern)) {\n return pattern.some(p => micromatch.contains(str, p, options));\n }\n\n if (typeof pattern === 'string') {\n if (isEmptyString(str) || isEmptyString(pattern)) {\n return false;\n }\n\n if (str.includes(pattern) || (str.startsWith('./') && str.slice(2).includes(pattern))) {\n return true;\n }\n }\n\n return micromatch.isMatch(str, pattern, { ...options, contains: true });\n};\n\n/**\n * Filter the keys of the given object with the given `glob` pattern\n * and `options`. Does not attempt to match nested keys. If you need this feature,\n * use [glob-object][] instead.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.matchKeys(object, patterns[, options]);\n *\n * const obj = { aa: 'a', ab: 'b', ac: 'c' };\n * console.log(mm.matchKeys(obj, '*b'));\n * //=> { ab: 'b' }\n * ```\n * @param {Object} `object` The object with keys to filter.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Object} Returns an object with only keys that match the given patterns.\n * @api public\n */\n\nmicromatch.matchKeys = (obj, patterns, options) => {\n if (!utils.isObject(obj)) {\n throw new TypeError('Expected the first argument to be an object');\n }\n let keys = micromatch(Object.keys(obj), patterns, options);\n let res = {};\n for (let key of keys) res[key] = obj[key];\n return res;\n};\n\n/**\n * Returns true if some of the strings in the given `list` match any of the given glob `patterns`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.some(list, patterns[, options]);\n *\n * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js']));\n * // true\n * console.log(mm.some(['foo.js'], ['*.js', '!foo.js']));\n * // false\n * ```\n * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list`\n * @api public\n */\n\nmicromatch.some = (list, patterns, options) => {\n let items = [].concat(list);\n\n for (let pattern of [].concat(patterns)) {\n let isMatch = picomatch(String(pattern), options);\n if (items.some(item => isMatch(item))) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * Returns true if every string in the given `list` matches\n * any of the given glob `patterns`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.every(list, patterns[, options]);\n *\n * console.log(mm.every('foo.js', ['foo.js']));\n * // true\n * console.log(mm.every(['foo.js', 'bar.js'], ['*.js']));\n * // true\n * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js']));\n * // false\n * console.log(mm.every(['foo.js'], ['*.js', '!foo.js']));\n * // false\n * ```\n * @param {String|Array} `list` The string or array of strings to test.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list`\n * @api public\n */\n\nmicromatch.every = (list, patterns, options) => {\n let items = [].concat(list);\n\n for (let pattern of [].concat(patterns)) {\n let isMatch = picomatch(String(pattern), options);\n if (!items.every(item => isMatch(item))) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * Returns true if **all** of the given `patterns` match\n * the specified string.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.all(string, patterns[, options]);\n *\n * console.log(mm.all('foo.js', ['foo.js']));\n * // true\n *\n * console.log(mm.all('foo.js', ['*.js', '!foo.js']));\n * // false\n *\n * console.log(mm.all('foo.js', ['*.js', 'foo.js']));\n * // true\n *\n * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js']));\n * // true\n * ```\n * @param {String|Array} `str` The string to test.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if any patterns match `str`\n * @api public\n */\n\nmicromatch.all = (str, patterns, options) => {\n if (typeof str !== 'string') {\n throw new TypeError(`Expected a string: \"${util.inspect(str)}\"`);\n }\n\n return [].concat(patterns).every(p => picomatch(p, options)(str));\n};\n\n/**\n * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.capture(pattern, string[, options]);\n *\n * console.log(mm.capture('test/*.js', 'test/foo.js'));\n * //=> ['foo']\n * console.log(mm.capture('test/*.js', 'foo/bar.css'));\n * //=> null\n * ```\n * @param {String} `glob` Glob pattern to use for matching.\n * @param {String} `input` String to match\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`.\n * @api public\n */\n\nmicromatch.capture = (glob, input, options) => {\n let posix = utils.isWindows(options);\n let regex = picomatch.makeRe(String(glob), { ...options, capture: true });\n let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);\n\n if (match) {\n return match.slice(1).map(v => v === void 0 ? '' : v);\n }\n};\n\n/**\n * Create a regular expression from the given glob `pattern`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.makeRe(pattern[, options]);\n *\n * console.log(mm.makeRe('*.js'));\n * //=> /^(?:(\\.[\\\\\\/])?(?!\\.)(?=.)[^\\/]*?\\.js)$/\n * ```\n * @param {String} `pattern` A glob pattern to convert to regex.\n * @param {Object} `options`\n * @return {RegExp} Returns a regex created from the given pattern.\n * @api public\n */\n\nmicromatch.makeRe = (...args) => picomatch.makeRe(...args);\n\n/**\n * Scan a glob pattern to separate the pattern into segments. Used\n * by the [split](#split) method.\n *\n * ```js\n * const mm = require('micromatch');\n * const state = mm.scan(pattern[, options]);\n * ```\n * @param {String} `pattern`\n * @param {Object} `options`\n * @return {Object} Returns an object with\n * @api public\n */\n\nmicromatch.scan = (...args) => picomatch.scan(...args);\n\n/**\n * Parse a glob pattern to create the source string for a regular\n * expression.\n *\n * ```js\n * const mm = require('micromatch');\n * const state = mm.parse(pattern[, options]);\n * ```\n * @param {String} `glob`\n * @param {Object} `options`\n * @return {Object} Returns an object with useful properties and output to be used as regex source string.\n * @api public\n */\n\nmicromatch.parse = (patterns, options) => {\n let res = [];\n for (let pattern of [].concat(patterns || [])) {\n for (let str of braces(String(pattern), options)) {\n res.push(picomatch.parse(str, options));\n }\n }\n return res;\n};\n\n/**\n * Process the given brace `pattern`.\n *\n * ```js\n * const { braces } = require('micromatch');\n * console.log(braces('foo/{a,b,c}/bar'));\n * //=> [ 'foo/(a|b|c)/bar' ]\n *\n * console.log(braces('foo/{a,b,c}/bar', { expand: true }));\n * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ]\n * ```\n * @param {String} `pattern` String with brace pattern to process.\n * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options.\n * @return {Array}\n * @api public\n */\n\nmicromatch.braces = (pattern, options) => {\n if (typeof pattern !== 'string') throw new TypeError('Expected a string');\n if ((options && options.nobrace === true) || !/\\{.*\\}/.test(pattern)) {\n return [pattern];\n }\n return braces(pattern, options);\n};\n\n/**\n * Expand braces\n */\n\nmicromatch.braceExpand = (pattern, options) => {\n if (typeof pattern !== 'string') throw new TypeError('Expected a string');\n return micromatch.braces(pattern, { ...options, expand: true });\n};\n\n/**\n * Expose micromatch\n */\n\nmodule.exports = micromatch;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/micromatch/index.js?");
15988
-
15989
- /***/ }),
15990
-
15991
15277
  /***/ "./node_modules/mime-db/index.js":
15992
15278
  /*!***************************************!*\
15993
15279
  !*** ./node_modules/mime-db/index.js ***!
@@ -25132,17 +24418,6 @@ eval("\nconst Queue = __webpack_require__(/*! yocto-queue */ \"./node_modules/yo
25132
24418
 
25133
24419
  /***/ }),
25134
24420
 
25135
- /***/ "./node_modules/p-map/index.js":
25136
- /*!*************************************!*\
25137
- !*** ./node_modules/p-map/index.js ***!
25138
- \*************************************/
25139
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
25140
-
25141
- "use strict";
25142
- eval("\nconst AggregateError = __webpack_require__(/*! aggregate-error */ \"./node_modules/aggregate-error/index.js\");\n\nmodule.exports = async (\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Infinity,\n\t\tstopOnError = true\n\t} = {}\n) => {\n\treturn new Promise((resolve, reject) => {\n\t\tif (typeof mapper !== 'function') {\n\t\t\tthrow new TypeError('Mapper function is required');\n\t\t}\n\n\t\tif (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) {\n\t\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t\t}\n\n\t\tconst result = [];\n\t\tconst errors = [];\n\t\tconst iterator = iterable[Symbol.iterator]();\n\t\tlet isRejected = false;\n\t\tlet isIterableDone = false;\n\t\tlet resolvingCount = 0;\n\t\tlet currentIndex = 0;\n\n\t\tconst next = () => {\n\t\t\tif (isRejected) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextItem = iterator.next();\n\t\t\tconst index = currentIndex;\n\t\t\tcurrentIndex++;\n\n\t\t\tif (nextItem.done) {\n\t\t\t\tisIterableDone = true;\n\n\t\t\t\tif (resolvingCount === 0) {\n\t\t\t\t\tif (!stopOnError && errors.length !== 0) {\n\t\t\t\t\t\treject(new AggregateError(errors));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolvingCount++;\n\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst element = await nextItem.value;\n\t\t\t\t\tresult[index] = await mapper(element, index);\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (stopOnError) {\n\t\t\t\t\t\tisRejected = true;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.push(error);\n\t\t\t\t\t\tresolvingCount--;\n\t\t\t\t\t\tnext();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t};\n\n\t\tfor (let i = 0; i < concurrency; i++) {\n\t\t\tnext();\n\n\t\t\tif (isIterableDone) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/p-map/index.js?");
25143
-
25144
- /***/ }),
25145
-
25146
24421
  /***/ "./node_modules/p-try/index.js":
25147
24422
  /*!*************************************!*\
25148
24423
  !*** ./node_modules/p-try/index.js ***!
@@ -25198,17 +24473,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
25198
24473
 
25199
24474
  /***/ }),
25200
24475
 
25201
- /***/ "./node_modules/path-type/index.js":
25202
- /*!*****************************************!*\
25203
- !*** ./node_modules/path-type/index.js ***!
25204
- \*****************************************/
25205
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
25206
-
25207
- "use strict";
25208
- eval("\nconst {promisify} = __webpack_require__(/*! util */ \"util\");\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nasync function isType(fsStatType, statsMethodName, filePath) {\n\tif (typeof filePath !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof filePath}`);\n\t}\n\n\ttry {\n\t\tconst stats = await promisify(fs[fsStatType])(filePath);\n\t\treturn stats[statsMethodName]();\n\t} catch (error) {\n\t\tif (error.code === 'ENOENT') {\n\t\t\treturn false;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nfunction isTypeSync(fsStatType, statsMethodName, filePath) {\n\tif (typeof filePath !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof filePath}`);\n\t}\n\n\ttry {\n\t\treturn fs[fsStatType](filePath)[statsMethodName]();\n\t} catch (error) {\n\t\tif (error.code === 'ENOENT') {\n\t\t\treturn false;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nexports.isFile = isType.bind(null, 'stat', 'isFile');\nexports.isDirectory = isType.bind(null, 'stat', 'isDirectory');\nexports.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');\nexports.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');\nexports.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');\nexports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');\n\n\n//# sourceURL=webpack://open-lens/./node_modules/path-type/index.js?");
25209
-
25210
- /***/ }),
25211
-
25212
24476
  /***/ "./node_modules/performance-now/lib/performance-now.js":
25213
24477
  /*!*************************************************************!*\
25214
24478
  !*** ./node_modules/performance-now/lib/performance-now.js ***!
@@ -25426,16 +24690,6 @@ eval("/*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */\n\n\n\
25426
24690
 
25427
24691
  /***/ }),
25428
24692
 
25429
- /***/ "./node_modules/queue-microtask/index.js":
25430
- /*!***********************************************!*\
25431
- !*** ./node_modules/queue-microtask/index.js ***!
25432
- \***********************************************/
25433
- /***/ ((module) => {
25434
-
25435
- eval("/*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nlet promise\n\nmodule.exports = typeof queueMicrotask === 'function'\n ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)\n // reuse resolved promise, and allocate it lazily\n : cb => (promise || (promise = Promise.resolve()))\n .then(cb)\n .catch(err => setTimeout(() => { throw err }, 0))\n\n\n//# sourceURL=webpack://open-lens/./node_modules/queue-microtask/index.js?");
25436
-
25437
- /***/ }),
25438
-
25439
24693
  /***/ "./node_modules/react-dom/cjs/react-dom.development.js":
25440
24694
  /*!*************************************************************!*\
25441
24695
  !*** ./node_modules/react-dom/cjs/react-dom.development.js ***!
@@ -26109,17 +25363,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
26109
25363
 
26110
25364
  /***/ }),
26111
25365
 
26112
- /***/ "./node_modules/reusify/reusify.js":
26113
- /*!*****************************************!*\
26114
- !*** ./node_modules/reusify/reusify.js ***!
26115
- \*****************************************/
26116
- /***/ ((module) => {
26117
-
26118
- "use strict";
26119
- eval("\n\nfunction reusify (Constructor) {\n var head = new Constructor()\n var tail = head\n\n function get () {\n var current = head\n\n if (current.next) {\n head = current.next\n } else {\n head = new Constructor()\n tail = head\n }\n\n current.next = null\n\n return current\n }\n\n function release (obj) {\n tail.next = obj\n tail = obj\n }\n\n return {\n get: get,\n release: release\n }\n}\n\nmodule.exports = reusify\n\n\n//# sourceURL=webpack://open-lens/./node_modules/reusify/reusify.js?");
26120
-
26121
- /***/ }),
26122
-
26123
25366
  /***/ "./node_modules/rfc4648/lib/index.js":
26124
25367
  /*!*******************************************!*\
26125
25368
  !*** ./node_modules/rfc4648/lib/index.js ***!
@@ -26141,16 +25384,6 @@ eval("const assert = __webpack_require__(/*! assert */ \"assert\")\nconst path =
26141
25384
 
26142
25385
  /***/ }),
26143
25386
 
26144
- /***/ "./node_modules/run-parallel/index.js":
26145
- /*!********************************************!*\
26146
- !*** ./node_modules/run-parallel/index.js ***!
26147
- \********************************************/
26148
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
26149
-
26150
- eval("/*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nmodule.exports = runParallel\n\nconst queueMicrotask = __webpack_require__(/*! queue-microtask */ \"./node_modules/queue-microtask/index.js\")\n\nfunction runParallel (tasks, cb) {\n let results, pending, keys\n let isSync = true\n\n if (Array.isArray(tasks)) {\n results = []\n pending = tasks.length\n } else {\n keys = Object.keys(tasks)\n results = {}\n pending = keys.length\n }\n\n function done (err) {\n function end () {\n if (cb) cb(err, results)\n cb = null\n }\n if (isSync) queueMicrotask(end)\n else end()\n }\n\n function each (i, err, result) {\n results[i] = result\n if (--pending === 0 || err) {\n done(err)\n }\n }\n\n if (!pending) {\n // empty\n done(null)\n } else if (keys) {\n // object\n keys.forEach(function (key) {\n tasks[key](function (err, result) { each(key, err, result) })\n })\n } else {\n // array\n tasks.forEach(function (task, i) {\n task(function (err, result) { each(i, err, result) })\n })\n }\n\n isSync = false\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/run-parallel/index.js?");
26151
-
26152
- /***/ }),
26153
-
26154
25387
  /***/ "./node_modules/safe-buffer/index.js":
26155
25388
  /*!*******************************************!*\
26156
25389
  !*** ./node_modules/safe-buffer/index.js ***!
@@ -27081,17 +26314,6 @@ eval("module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj ===
27081
26314
 
27082
26315
  /***/ }),
27083
26316
 
27084
- /***/ "./node_modules/slash/index.js":
27085
- /*!*************************************!*\
27086
- !*** ./node_modules/slash/index.js ***!
27087
- \*************************************/
27088
- /***/ ((module) => {
27089
-
27090
- "use strict";
27091
- eval("\nmodule.exports = path => {\n\tconst isExtendedLengthPath = /^\\\\\\\\\\?\\\\/.test(path);\n\tconst hasNonAscii = /[^\\u0000-\\u0080]+/.test(path); // eslint-disable-line no-control-regex\n\n\tif (isExtendedLengthPath || hasNonAscii) {\n\t\treturn path;\n\t}\n\n\treturn path.replace(/\\\\/g, '/');\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/slash/index.js?");
27092
-
27093
- /***/ }),
27094
-
27095
26317
  /***/ "./node_modules/source-map/lib/array-set.js":
27096
26318
  /*!**************************************************!*\
27097
26319
  !*** ./node_modules/source-map/lib/array-set.js ***!
@@ -29312,28 +28534,6 @@ eval("\nconst MiniPass = __webpack_require__(/*! minipass */ \"./node_modules/mi
29312
28534
 
29313
28535
  /***/ }),
29314
28536
 
29315
- /***/ "./node_modules/temp-dir/index.js":
29316
- /*!****************************************!*\
29317
- !*** ./node_modules/temp-dir/index.js ***!
29318
- \****************************************/
29319
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
29320
-
29321
- "use strict";
29322
- eval("\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nconst os = __webpack_require__(/*! os */ \"os\");\n\nconst tempDirectorySymbol = Symbol.for('__RESOLVED_TEMP_DIRECTORY__');\n\nif (!global[tempDirectorySymbol]) {\n\tObject.defineProperty(global, tempDirectorySymbol, {\n\t\tvalue: fs.realpathSync(os.tmpdir())\n\t});\n}\n\nmodule.exports = global[tempDirectorySymbol];\n\n\n//# sourceURL=webpack://open-lens/./node_modules/temp-dir/index.js?");
29323
-
29324
- /***/ }),
29325
-
29326
- /***/ "./node_modules/tempy/index.js":
29327
- /*!*************************************!*\
29328
- !*** ./node_modules/tempy/index.js ***!
29329
- \*************************************/
29330
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
29331
-
29332
- "use strict";
29333
- eval("\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst uniqueString = __webpack_require__(/*! unique-string */ \"./node_modules/unique-string/index.js\");\nconst tempDir = __webpack_require__(/*! temp-dir */ \"./node_modules/temp-dir/index.js\");\nconst isStream = __webpack_require__(/*! is-stream */ \"./node_modules/is-stream/index.js\");\nconst del = __webpack_require__(/*! del */ \"./node_modules/del/index.js\");\nconst stream = __webpack_require__(/*! stream */ \"stream\");\nconst {promisify} = __webpack_require__(/*! util */ \"util\");\n\nconst pipeline = promisify(stream.pipeline);\nconst {writeFile} = fs.promises;\n\nconst getPath = (prefix = '') => path.join(tempDir, prefix + uniqueString());\n\nconst writeStream = async (filePath, data) => pipeline(data, fs.createWriteStream(filePath));\n\nconst createTask = (tempyFunction, {extraArguments = 0} = {}) => async (...arguments_) => {\n\tconst [callback, options] = arguments_.slice(extraArguments);\n\tconst result = await tempyFunction(...arguments_.slice(0, extraArguments), options);\n\n\ttry {\n\t\treturn await callback(result);\n\t} finally {\n\t\tawait del(result, {force: true});\n\t}\n};\n\nmodule.exports.file = options => {\n\toptions = {\n\t\t...options\n\t};\n\n\tif (options.name) {\n\t\tif (options.extension !== undefined && options.extension !== null) {\n\t\t\tthrow new Error('The `name` and `extension` options are mutually exclusive');\n\t\t}\n\n\t\treturn path.join(module.exports.directory(), options.name);\n\t}\n\n\treturn getPath() + (options.extension === undefined || options.extension === null ? '' : '.' + options.extension.replace(/^\\./, ''));\n};\n\nmodule.exports.file.task = createTask(module.exports.file);\n\nmodule.exports.directory = ({prefix = ''} = {}) => {\n\tconst directory = getPath(prefix);\n\tfs.mkdirSync(directory);\n\treturn directory;\n};\n\nmodule.exports.directory.task = createTask(module.exports.directory);\n\nmodule.exports.write = async (data, options) => {\n\tconst filename = module.exports.file(options);\n\tconst write = isStream(data) ? writeStream : writeFile;\n\tawait write(filename, data);\n\treturn filename;\n};\n\nmodule.exports.write.task = createTask(module.exports.write, {extraArguments: 1});\n\nmodule.exports.writeSync = (data, options) => {\n\tconst filename = module.exports.file(options);\n\tfs.writeFileSync(filename, data);\n\treturn filename;\n};\n\nObject.defineProperty(module.exports, \"root\", ({\n\tget() {\n\t\treturn tempDir;\n\t}\n}));\n\n\n//# sourceURL=webpack://open-lens/./node_modules/tempy/index.js?");
29334
-
29335
- /***/ }),
29336
-
29337
28537
  /***/ "./node_modules/text-hex/index.js":
29338
28538
  /*!****************************************!*\
29339
28539
  !*** ./node_modules/text-hex/index.js ***!
@@ -29812,7 +29012,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
29812
29012
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29813
29013
 
29814
29014
  "use strict";
29815
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cluster\": () => (/* binding */ Cluster)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @kubernetes/client-node */ \"./node_modules/@kubernetes/client-node/dist/index.js\");\n/* harmony import */ var _kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rbac__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rbac */ \"./src/common/rbac.ts\");\n/* harmony import */ var p_limit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! p-limit */ \"./node_modules/p-limit/index.js\");\n/* harmony import */ var p_limit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(p_limit__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _cluster_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../cluster-types */ \"./src/common/cluster-types.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _ipc_cluster__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ipc/cluster */ \"./src/common/ipc/cluster.ts\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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 * Cluster\n *\n * @beta\n */\nclass Cluster {\n get contextHandler() {\n // TODO: remove these once main/renderer are seperate classes\n assert__WEBPACK_IMPORTED_MODULE_6___default()(this._contextHandler, \"contextHandler is only defined in the main environment\");\n return this._contextHandler;\n }\n get proxyKubeconfigManager() {\n // TODO: remove these once main/renderer are seperate classes\n assert__WEBPACK_IMPORTED_MODULE_6___default()(this._proxyKubeconfigManager, \"proxyKubeconfigManager is only defined in the main environment\");\n return this._proxyKubeconfigManager;\n }\n get whenReady() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_7__.when)(() => this.ready);\n }\n /**\n * Is cluster available\n *\n * @computed\n */\n get available() {\n return this.accessible && !this.disconnected;\n }\n /**\n * Cluster name\n *\n * @computed\n */\n get name() {\n return this.preferences.clusterName || this.contextName;\n }\n /**\n * The detected kubernetes distribution\n */\n get distribution() {\n var _a;\n return ((_a = this.metadata[_cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterMetadataKey.DISTRIBUTION]) === null || _a === void 0 ? void 0 : _a.toString()) || \"unknown\";\n }\n /**\n * The detected kubernetes version\n */\n get version() {\n var _a;\n return ((_a = this.metadata[_cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterMetadataKey.VERSION]) === null || _a === void 0 ? void 0 : _a.toString()) || \"unknown\";\n }\n /**\n * Prometheus preferences\n *\n * @computed\n * @internal\n */\n get prometheusPreferences() {\n const { prometheus, prometheusProvider } = this.preferences;\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.toJS)({ prometheus, prometheusProvider });\n }\n /**\n * defaultNamespace preference\n *\n * @computed\n * @internal\n */\n get defaultNamespace() {\n return this.preferences.defaultNamespace;\n }\n constructor(dependencies, { id, ...model }, configData) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n /** Unique id for a cluster */\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"kubeCtl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Context handler\n *\n * @internal\n */\n Object.defineProperty(this, \"_contextHandler\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_proxyKubeconfigManager\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"eventsDisposer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.disposer)()\n });\n Object.defineProperty(this, \"activated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"resourceAccessStatuses\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n /**\n * Kubeconfig context name\n *\n * @observable\n */\n Object.defineProperty(this, \"contextName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Path to kubeconfig\n *\n * @observable\n */\n Object.defineProperty(this, \"kubeConfigPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * @deprecated\n */\n Object.defineProperty(this, \"workspace\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * @deprecated\n */\n Object.defineProperty(this, \"workspaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Kubernetes API server URL\n *\n * @observable\n */\n Object.defineProperty(this, \"apiUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n }); // cluster server url\n /**\n * Is cluster online\n *\n * @observable\n */\n Object.defineProperty(this, \"online\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // describes if we can detect that cluster is online\n /**\n * Can user access cluster resources\n *\n * @observable\n */\n Object.defineProperty(this, \"accessible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // if user is able to access cluster resources\n /**\n * Is cluster instance in usable state\n *\n * @observable\n */\n Object.defineProperty(this, \"ready\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // cluster is in usable state\n /**\n * Is cluster currently reconnecting\n *\n * @observable\n */\n Object.defineProperty(this, \"reconnecting\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n /**\n * Is cluster disconnected. False if user has selected to connect.\n *\n * @observable\n */\n Object.defineProperty(this, \"disconnected\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n /**\n * Does user have admin like access\n *\n * @observable\n */\n Object.defineProperty(this, \"isAdmin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n /**\n * Global watch-api accessibility , e.g. \"/api/v1/services?watch=1\"\n *\n * @observable\n */\n Object.defineProperty(this, \"isGlobalWatchEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n /**\n * Preferences\n *\n * @observable\n */\n Object.defineProperty(this, \"preferences\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n /**\n * Metadata\n *\n * @observable\n */\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n /**\n * List of allowed namespaces verified via K8S::SelfSubjectAccessReview api\n *\n * @observable\n */\n Object.defineProperty(this, \"allowedNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * List of allowed resources\n *\n * @observable\n * @internal\n */\n Object.defineProperty(this, \"allowedResources\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * List of accessible namespaces provided by user in the Cluster Settings\n *\n * @observable\n */\n Object.defineProperty(this, \"accessibleNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * Labels for the catalog entity\n */\n Object.defineProperty(this, \"labels\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_7__.makeObservable)(this);\n const { error } = _cluster_types__WEBPACK_IMPORTED_MODULE_3__.clusterModelIdChecker.validate({ id });\n if (error) {\n throw error;\n }\n this.id = id;\n this.updateModel(model);\n this.apiUrl = configData.clusterServerUrl;\n // for the time being, until renderer gets its own cluster type\n this._contextHandler = this.dependencies.createContextHandler(this);\n this._proxyKubeconfigManager = this.dependencies.createKubeconfigManager(this);\n this.dependencies.logger.debug(`[CLUSTER]: Cluster init success`, {\n id: this.id,\n context: this.contextName,\n apiUrl: this.apiUrl,\n });\n }\n /**\n * Update cluster data model\n *\n * @param model\n */\n updateModel(model) {\n // Note: do not assign ID as that should never be updated\n const { error } = _cluster_types__WEBPACK_IMPORTED_MODULE_3__.updateClusterModelChecker.validate(model, { allowUnknown: true });\n if (error) {\n throw error;\n }\n this.kubeConfigPath = model.kubeConfigPath;\n this.contextName = model.contextName;\n if (model.workspace) {\n this.workspace = model.workspace;\n }\n if (model.workspaces) {\n this.workspaces = model.workspaces;\n }\n if (model.preferences) {\n this.preferences = model.preferences;\n }\n if (model.metadata) {\n this.metadata = model.metadata;\n }\n if (model.accessibleNamespaces) {\n this.accessibleNamespaces = model.accessibleNamespaces;\n }\n if (model.labels) {\n this.labels = model.labels;\n }\n }\n /**\n * @internal\n */\n bindEvents() {\n this.dependencies.logger.info(`[CLUSTER]: bind events`, this.getMeta());\n const refreshTimer = setInterval(() => !this.disconnected && this.refresh(), 30000); // every 30s\n const refreshMetadataTimer = setInterval(() => !this.disconnected && this.refreshMetadata(), 900000); // every 15 minutes\n this.eventsDisposer.push((0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => this.getState(), state => this.pushState(state)), (0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => this.prometheusPreferences, prefs => this.contextHandler.setupPrometheus(prefs), { equals: mobx__WEBPACK_IMPORTED_MODULE_7__.comparer.structural }), () => clearInterval(refreshTimer), () => clearInterval(refreshMetadataTimer), (0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => this.defaultNamespace, () => this.recreateProxyKubeconfig()));\n }\n /**\n * @internal\n */\n async recreateProxyKubeconfig() {\n this.dependencies.logger.info(\"[CLUSTER]: Recreating proxy kubeconfig\");\n try {\n await this.proxyKubeconfigManager.clear();\n await this.getProxyKubeconfig();\n }\n catch (error) {\n this.dependencies.logger.error(`[CLUSTER]: failed to recreate proxy kubeconfig`, error);\n }\n }\n /**\n * @param force force activation\n * @internal\n */\n async activate(force = false) {\n if (this.activated && !force) {\n return this.pushState();\n }\n this.dependencies.logger.info(`[CLUSTER]: activate`, this.getMeta());\n if (!this.eventsDisposer.length) {\n this.bindEvents();\n }\n if (this.disconnected || !this.accessible) {\n try {\n this.broadcastConnectUpdate(\"Starting connection ...\");\n await this.reconnect();\n }\n catch (error) {\n this.broadcastConnectUpdate(`Failed to start connection: ${error}`, true);\n return;\n }\n }\n try {\n this.broadcastConnectUpdate(\"Refreshing connection status ...\");\n await this.refreshConnectionStatus();\n }\n catch (error) {\n this.broadcastConnectUpdate(`Failed to connection status: ${error}`, true);\n return;\n }\n if (this.accessible) {\n try {\n this.broadcastConnectUpdate(\"Refreshing cluster accessibility ...\");\n await this.refreshAccessibility();\n }\n catch (error) {\n this.broadcastConnectUpdate(`Failed to refresh accessibility: ${error}`, true);\n return;\n }\n // download kubectl in background, so it's not blocking dashboard\n this.ensureKubectl()\n .catch(error => this.dependencies.logger.warn(`[CLUSTER]: failed to download kubectl for clusterId=${this.id}`, error));\n this.broadcastConnectUpdate(\"Connected, waiting for view to load ...\");\n }\n this.activated = true;\n this.pushState();\n }\n /**\n * @internal\n */\n async ensureKubectl() {\n var _a;\n (_a = this.kubeCtl) !== null && _a !== void 0 ? _a : (this.kubeCtl = this.dependencies.createKubectl(this.version));\n await this.kubeCtl.ensureKubectl();\n return this.kubeCtl;\n }\n /**\n * @internal\n */\n async reconnect() {\n var _a;\n this.dependencies.logger.info(`[CLUSTER]: reconnect`, this.getMeta());\n await ((_a = this.contextHandler) === null || _a === void 0 ? void 0 : _a.restartServer());\n this.disconnected = false;\n }\n /**\n * @internal\n */\n disconnect() {\n var _a;\n if (this.disconnected) {\n return void this.dependencies.logger.debug(\"[CLUSTER]: already disconnected\", { id: this.id });\n }\n this.dependencies.logger.info(`[CLUSTER]: disconnecting`, { id: this.id });\n this.eventsDisposer();\n (_a = this.contextHandler) === null || _a === void 0 ? void 0 : _a.stopServer();\n this.disconnected = true;\n this.online = false;\n this.accessible = false;\n this.ready = false;\n this.activated = false;\n this.allowedNamespaces = [];\n this.resourceAccessStatuses.clear();\n this.pushState();\n this.dependencies.logger.info(`[CLUSTER]: disconnected`, { id: this.id });\n }\n /**\n * @internal\n * @param opts refresh options\n */\n async refresh(opts = {}) {\n this.dependencies.logger.info(`[CLUSTER]: refresh`, this.getMeta());\n await this.refreshConnectionStatus();\n if (this.accessible) {\n await this.refreshAccessibility();\n if (opts.refreshMetadata) {\n this.refreshMetadata();\n }\n }\n this.pushState();\n }\n /**\n * @internal\n */\n async refreshMetadata() {\n this.dependencies.logger.info(`[CLUSTER]: refreshMetadata`, this.getMeta());\n const metadata = await this.dependencies.detectorRegistry.detectForCluster(this);\n const existingMetadata = this.metadata;\n this.metadata = Object.assign(existingMetadata, metadata);\n }\n /**\n * @internal\n */\n async refreshAccessibility() {\n const proxyConfig = await this.getProxyKubeconfig();\n const canI = this.dependencies.createAuthorizationReview(proxyConfig);\n this.isAdmin = await canI({\n namespace: \"kube-system\",\n resource: \"*\",\n verb: \"create\",\n });\n this.isGlobalWatchEnabled = await canI({\n verb: \"watch\",\n resource: \"*\",\n });\n this.allowedNamespaces = await this.getAllowedNamespaces(proxyConfig);\n this.allowedResources = await this.getAllowedResources(canI);\n this.ready = true;\n }\n /**\n * @internal\n */\n async refreshConnectionStatus() {\n const connectionStatus = await this.getConnectionStatus();\n this.online = connectionStatus > _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n this.accessible = connectionStatus == _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessGranted;\n }\n async getKubeconfig() {\n const { config } = await this.dependencies.loadConfigfromFile(this.kubeConfigPath);\n return config;\n }\n /**\n * @internal\n */\n async getProxyKubeconfig() {\n const proxyKCPath = await this.getProxyKubeconfigPath();\n const { config } = await this.dependencies.loadConfigfromFile(proxyKCPath);\n return config;\n }\n /**\n * @internal\n */\n async getProxyKubeconfigPath() {\n return this.proxyKubeconfigManager.getPath();\n }\n async getConnectionStatus() {\n try {\n const versionDetector = this.dependencies.createVersionDetector(this);\n const versionData = await versionDetector.detect();\n this.metadata.version = versionData.value;\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessGranted;\n }\n catch (error) {\n this.dependencies.logger.error(`[CLUSTER]: Failed to connect to \"${this.contextName}\": ${error}`);\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_4__.isRequestError)(error)) {\n if (error.statusCode) {\n if (error.statusCode >= 400 && error.statusCode < 500) {\n this.broadcastConnectUpdate(\"Invalid credentials\", true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessDenied;\n }\n const message = String(error.error || error.message) || String(error);\n this.broadcastConnectUpdate(message, true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n }\n if (error.failed === true) {\n if (error.timedOut === true) {\n this.broadcastConnectUpdate(\"Connection timed out\", true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n }\n this.broadcastConnectUpdate(\"Failed to fetch credentials\", true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessDenied;\n }\n const message = String(error.error || error.message) || String(error);\n this.broadcastConnectUpdate(message, true);\n }\n else {\n this.broadcastConnectUpdate(\"Unknown error has occurred\", true);\n }\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n }\n }\n toJSON() {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.toJS)({\n id: this.id,\n contextName: this.contextName,\n kubeConfigPath: this.kubeConfigPath,\n workspace: this.workspace,\n workspaces: this.workspaces,\n preferences: this.preferences,\n metadata: this.metadata,\n accessibleNamespaces: this.accessibleNamespaces,\n labels: this.labels,\n });\n }\n /**\n * Serializable cluster-state used for sync btw main <-> renderer\n */\n getState() {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.toJS)({\n apiUrl: this.apiUrl,\n online: this.online,\n ready: this.ready,\n disconnected: this.disconnected,\n accessible: this.accessible,\n isAdmin: this.isAdmin,\n allowedNamespaces: this.allowedNamespaces,\n allowedResources: this.allowedResources,\n isGlobalWatchEnabled: this.isGlobalWatchEnabled,\n });\n }\n /**\n * @internal\n * @param state cluster state\n */\n setState(state) {\n Object.assign(this, state);\n }\n /**\n * @internal\n * @param state cluster state\n */\n pushState(state = this.getState()) {\n this.dependencies.logger.silly(`[CLUSTER]: push-state`, state);\n this.dependencies.broadcastMessage(\"cluster:state\", this.id, state);\n }\n // get cluster system meta, e.g. use in \"logger\"\n getMeta() {\n return {\n id: this.id,\n name: this.contextName,\n ready: this.ready,\n online: this.online,\n accessible: this.accessible,\n disconnected: this.disconnected,\n };\n }\n /**\n * broadcast an authentication update concerning this cluster\n * @internal\n */\n broadcastConnectUpdate(message, isError = false) {\n const update = { message, isError };\n this.dependencies.logger.debug(`[CLUSTER]: broadcasting connection update`, { ...update, meta: this.getMeta() });\n this.dependencies.broadcastMessage(`cluster:${this.id}:connection-update`, update);\n }\n async getAllowedNamespaces(proxyConfig) {\n if (this.accessibleNamespaces.length) {\n return this.accessibleNamespaces;\n }\n try {\n const listNamespaces = this.dependencies.createListNamespaces(proxyConfig);\n return await listNamespaces();\n }\n catch (error) {\n const ctx = proxyConfig.getContextObject(this.contextName);\n const namespaceList = [ctx === null || ctx === void 0 ? void 0 : ctx.namespace].filter(_utils__WEBPACK_IMPORTED_MODULE_4__.isDefined);\n if (namespaceList.length === 0 && error instanceof _kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0__.HttpError && error.statusCode === 403) {\n const { response } = error;\n this.dependencies.logger.info(\"[CLUSTER]: listing namespaces is forbidden, broadcasting\", { clusterId: this.id, error: response.body });\n this.dependencies.broadcastMessage(_ipc_cluster__WEBPACK_IMPORTED_MODULE_5__.clusterListNamespaceForbiddenChannel, this.id);\n }\n return namespaceList;\n }\n }\n async getAllowedResources(canI) {\n try {\n if (!this.allowedNamespaces.length) {\n return [];\n }\n const resources = _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResources.filter((resource) => this.resourceAccessStatuses.get(resource) === undefined);\n const apiLimit = p_limit__WEBPACK_IMPORTED_MODULE_2___default()(5); // 5 concurrent api requests\n const requests = [];\n for (const apiResource of resources) {\n requests.push(apiLimit(async () => {\n for (const namespace of this.allowedNamespaces.slice(0, 10)) {\n if (!this.resourceAccessStatuses.get(apiResource)) {\n const result = await canI({\n resource: apiResource.apiName,\n group: apiResource.group,\n verb: \"list\",\n namespace,\n });\n this.resourceAccessStatuses.set(apiResource, result);\n }\n }\n }));\n }\n await Promise.all(requests);\n return _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResources.filter((resource) => this.resourceAccessStatuses.get(resource))\n .map(apiResource => apiResource.apiName);\n }\n catch (error) {\n return [];\n }\n }\n isAllowedResource(kind) {\n if (kind in _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResourceRecord) {\n return this.allowedResources.includes(kind);\n }\n const apiResource = _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResources.find(resource => resource.kind === kind);\n if (apiResource) {\n return this.allowedResources.includes(apiResource.apiName);\n }\n return true; // allowed by default for other resources\n }\n isMetricHidden(resource) {\n var _a;\n return Boolean((_a = this.preferences.hiddenMetrics) === null || _a === void 0 ? void 0 : _a.includes(resource));\n }\n get nodeShellImage() {\n var _a;\n return ((_a = this.preferences) === null || _a === void 0 ? void 0 : _a.nodeShellImage) || _cluster_types__WEBPACK_IMPORTED_MODULE_3__.initialNodeShellImage;\n }\n get imagePullSecret() {\n var _a;\n return (_a = this.preferences) === null || _a === void 0 ? void 0 : _a.imagePullSecret;\n }\n isInLocalKubeconfig() {\n return this.kubeConfigPath.startsWith(this.dependencies.directoryForKubeConfigs);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"contextName\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"kubeConfigPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"workspace\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"workspaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"apiUrl\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"online\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"accessible\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"ready\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"reconnecting\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"disconnected\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"isAdmin\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"isGlobalWatchEnabled\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"preferences\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"metadata\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"allowedNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"allowedResources\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"accessibleNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"labels\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"available\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"name\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"distribution\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"version\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"prometheusPreferences\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"defaultNamespace\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Cluster.prototype, \"updateModel\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"activate\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"reconnect\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Cluster.prototype, \"disconnect\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"refresh\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"refreshMetadata\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"refreshConnectionStatus\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Cluster.prototype, \"setState\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/common/cluster/cluster.ts?");
29015
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cluster\": () => (/* binding */ Cluster)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @kubernetes/client-node */ \"./node_modules/@kubernetes/client-node/dist/index.js\");\n/* harmony import */ var _kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rbac__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rbac */ \"./src/common/rbac.ts\");\n/* harmony import */ var p_limit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! p-limit */ \"./node_modules/p-limit/index.js\");\n/* harmony import */ var p_limit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(p_limit__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _cluster_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../cluster-types */ \"./src/common/cluster-types.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _ipc_cluster__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ipc/cluster */ \"./src/common/ipc/cluster.ts\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_6__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\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 * Cluster\n *\n * @beta\n */\nclass Cluster {\n get contextHandler() {\n // TODO: remove these once main/renderer are seperate classes\n assert__WEBPACK_IMPORTED_MODULE_6___default()(this._contextHandler, \"contextHandler is only defined in the main environment\");\n return this._contextHandler;\n }\n get proxyKubeconfigManager() {\n // TODO: remove these once main/renderer are seperate classes\n assert__WEBPACK_IMPORTED_MODULE_6___default()(this._proxyKubeconfigManager, \"proxyKubeconfigManager is only defined in the main environment\");\n return this._proxyKubeconfigManager;\n }\n get whenReady() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_7__.when)(() => this.ready);\n }\n /**\n * Is cluster available\n *\n * @computed\n */\n get available() {\n return this.accessible && !this.disconnected;\n }\n /**\n * Cluster name\n *\n * @computed\n */\n get name() {\n return this.preferences.clusterName || this.contextName;\n }\n /**\n * The detected kubernetes distribution\n */\n get distribution() {\n var _a;\n return ((_a = this.metadata[_cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterMetadataKey.DISTRIBUTION]) === null || _a === void 0 ? void 0 : _a.toString()) || \"unknown\";\n }\n /**\n * The detected kubernetes version\n */\n get version() {\n var _a;\n return ((_a = this.metadata[_cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterMetadataKey.VERSION]) === null || _a === void 0 ? void 0 : _a.toString()) || \"unknown\";\n }\n /**\n * Prometheus preferences\n *\n * @computed\n * @internal\n */\n get prometheusPreferences() {\n const { prometheus, prometheusProvider } = this.preferences;\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.toJS)({ prometheus, prometheusProvider });\n }\n /**\n * defaultNamespace preference\n *\n * @computed\n * @internal\n */\n get defaultNamespace() {\n return this.preferences.defaultNamespace;\n }\n constructor(dependencies, { id, ...model }, configData) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n /** Unique id for a cluster */\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"kubeCtl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Context handler\n *\n * @internal\n */\n Object.defineProperty(this, \"_contextHandler\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_proxyKubeconfigManager\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"eventsDisposer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.disposer)()\n });\n Object.defineProperty(this, \"activated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"resourceAccessStatuses\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n /**\n * Kubeconfig context name\n *\n * @observable\n */\n Object.defineProperty(this, \"contextName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Path to kubeconfig\n *\n * @observable\n */\n Object.defineProperty(this, \"kubeConfigPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * @deprecated\n */\n Object.defineProperty(this, \"workspace\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * @deprecated\n */\n Object.defineProperty(this, \"workspaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n /**\n * Kubernetes API server URL\n *\n * @observable\n */\n Object.defineProperty(this, \"apiUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n }); // cluster server url\n /**\n * Is cluster online\n *\n * @observable\n */\n Object.defineProperty(this, \"online\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // describes if we can detect that cluster is online\n /**\n * Can user access cluster resources\n *\n * @observable\n */\n Object.defineProperty(this, \"accessible\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // if user is able to access cluster resources\n /**\n * Is cluster instance in usable state\n *\n * @observable\n */\n Object.defineProperty(this, \"ready\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // cluster is in usable state\n /**\n * Is cluster currently reconnecting\n *\n * @observable\n */\n Object.defineProperty(this, \"reconnecting\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n /**\n * Is cluster disconnected. False if user has selected to connect.\n *\n * @observable\n */\n Object.defineProperty(this, \"disconnected\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n /**\n * Does user have admin like access\n *\n * @observable\n */\n Object.defineProperty(this, \"isAdmin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n /**\n * Global watch-api accessibility , e.g. \"/api/v1/services?watch=1\"\n *\n * @observable\n */\n Object.defineProperty(this, \"isGlobalWatchEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n /**\n * Preferences\n *\n * @observable\n */\n Object.defineProperty(this, \"preferences\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n /**\n * Metadata\n *\n * @observable\n */\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n /**\n * List of allowed namespaces verified via K8S::SelfSubjectAccessReview api\n *\n * @observable\n */\n Object.defineProperty(this, \"allowedNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * List of allowed resources\n *\n * @observable\n * @internal\n */\n Object.defineProperty(this, \"allowedResources\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * List of accessible namespaces provided by user in the Cluster Settings\n *\n * @observable\n */\n Object.defineProperty(this, \"accessibleNamespaces\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n /**\n * Labels for the catalog entity\n */\n Object.defineProperty(this, \"labels\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_7__.makeObservable)(this);\n const { error } = _cluster_types__WEBPACK_IMPORTED_MODULE_3__.clusterModelIdChecker.validate({ id });\n if (error) {\n throw error;\n }\n this.id = id;\n this.updateModel(model);\n this.apiUrl = configData.clusterServerUrl;\n // for the time being, until renderer gets its own cluster type\n this._contextHandler = this.dependencies.createContextHandler(this);\n this._proxyKubeconfigManager = this.dependencies.createKubeconfigManager(this);\n this.dependencies.logger.debug(`[CLUSTER]: Cluster init success`, {\n id: this.id,\n context: this.contextName,\n apiUrl: this.apiUrl,\n });\n }\n /**\n * Update cluster data model\n *\n * @param model\n */\n updateModel(model) {\n // Note: do not assign ID as that should never be updated\n const { error } = _cluster_types__WEBPACK_IMPORTED_MODULE_3__.updateClusterModelChecker.validate(model, { allowUnknown: true });\n if (error) {\n throw error;\n }\n this.kubeConfigPath = model.kubeConfigPath;\n this.contextName = model.contextName;\n if (model.workspace) {\n this.workspace = model.workspace;\n }\n if (model.workspaces) {\n this.workspaces = model.workspaces;\n }\n if (model.preferences) {\n this.preferences = model.preferences;\n }\n if (model.metadata) {\n this.metadata = model.metadata;\n }\n if (model.accessibleNamespaces) {\n this.accessibleNamespaces = model.accessibleNamespaces;\n }\n if (model.labels) {\n this.labels = model.labels;\n }\n }\n /**\n * @internal\n */\n bindEvents() {\n this.dependencies.logger.info(`[CLUSTER]: bind events`, this.getMeta());\n const refreshTimer = setInterval(() => !this.disconnected && this.refresh(), 30000); // every 30s\n const refreshMetadataTimer = setInterval(() => this.available && this.refreshAccessibilityAndMetadata(), 900000); // every 15 minutes\n this.eventsDisposer.push((0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => this.getState(), state => this.pushState(state)), (0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => this.prometheusPreferences, prefs => this.contextHandler.setupPrometheus(prefs), { equals: mobx__WEBPACK_IMPORTED_MODULE_7__.comparer.structural }), () => clearInterval(refreshTimer), () => clearInterval(refreshMetadataTimer), (0,mobx__WEBPACK_IMPORTED_MODULE_7__.reaction)(() => this.defaultNamespace, () => this.recreateProxyKubeconfig()));\n }\n /**\n * @internal\n */\n async recreateProxyKubeconfig() {\n this.dependencies.logger.info(\"[CLUSTER]: Recreating proxy kubeconfig\");\n try {\n await this.proxyKubeconfigManager.clear();\n await this.getProxyKubeconfig();\n }\n catch (error) {\n this.dependencies.logger.error(`[CLUSTER]: failed to recreate proxy kubeconfig`, error);\n }\n }\n /**\n * @param force force activation\n * @internal\n */\n async activate(force = false) {\n if (this.activated && !force) {\n return this.pushState();\n }\n this.dependencies.logger.info(`[CLUSTER]: activate`, this.getMeta());\n if (!this.eventsDisposer.length) {\n this.bindEvents();\n }\n if (this.disconnected || !this.accessible) {\n try {\n this.broadcastConnectUpdate(\"Starting connection ...\");\n await this.reconnect();\n }\n catch (error) {\n this.broadcastConnectUpdate(`Failed to start connection: ${error}`, true);\n return;\n }\n }\n try {\n this.broadcastConnectUpdate(\"Refreshing connection status ...\");\n await this.refreshConnectionStatus();\n }\n catch (error) {\n this.broadcastConnectUpdate(`Failed to connection status: ${error}`, true);\n return;\n }\n if (this.accessible) {\n try {\n this.broadcastConnectUpdate(\"Refreshing cluster accessibility ...\");\n await this.refreshAccessibility();\n }\n catch (error) {\n this.broadcastConnectUpdate(`Failed to refresh accessibility: ${error}`, true);\n return;\n }\n // download kubectl in background, so it's not blocking dashboard\n this.ensureKubectl()\n .catch(error => this.dependencies.logger.warn(`[CLUSTER]: failed to download kubectl for clusterId=${this.id}`, error));\n this.broadcastConnectUpdate(\"Connected, waiting for view to load ...\");\n }\n this.activated = true;\n this.pushState();\n }\n /**\n * @internal\n */\n async ensureKubectl() {\n var _a;\n (_a = this.kubeCtl) !== null && _a !== void 0 ? _a : (this.kubeCtl = this.dependencies.createKubectl(this.version));\n await this.kubeCtl.ensureKubectl();\n return this.kubeCtl;\n }\n /**\n * @internal\n */\n async reconnect() {\n var _a;\n this.dependencies.logger.info(`[CLUSTER]: reconnect`, this.getMeta());\n await ((_a = this.contextHandler) === null || _a === void 0 ? void 0 : _a.restartServer());\n this.disconnected = false;\n }\n /**\n * @internal\n */\n disconnect() {\n var _a;\n if (this.disconnected) {\n return void this.dependencies.logger.debug(\"[CLUSTER]: already disconnected\", { id: this.id });\n }\n this.dependencies.logger.info(`[CLUSTER]: disconnecting`, { id: this.id });\n this.eventsDisposer();\n (_a = this.contextHandler) === null || _a === void 0 ? void 0 : _a.stopServer();\n this.disconnected = true;\n this.online = false;\n this.accessible = false;\n this.ready = false;\n this.activated = false;\n this.allowedNamespaces = [];\n this.resourceAccessStatuses.clear();\n this.pushState();\n this.dependencies.logger.info(`[CLUSTER]: disconnected`, { id: this.id });\n }\n /**\n * @internal\n */\n async refresh() {\n this.dependencies.logger.info(`[CLUSTER]: refresh`, this.getMeta());\n await this.refreshConnectionStatus();\n this.pushState();\n }\n /**\n * @internal\n */\n async refreshAccessibilityAndMetadata() {\n await this.refreshAccessibility();\n await this.refreshMetadata();\n }\n /**\n * @internal\n */\n async refreshMetadata() {\n this.dependencies.logger.info(`[CLUSTER]: refreshMetadata`, this.getMeta());\n const metadata = await this.dependencies.detectorRegistry.detectForCluster(this);\n const existingMetadata = this.metadata;\n this.metadata = Object.assign(existingMetadata, metadata);\n }\n /**\n * @internal\n */\n async refreshAccessibility() {\n this.dependencies.logger.info(`[CLUSTER]: refreshAccessibility`, this.getMeta());\n const proxyConfig = await this.getProxyKubeconfig();\n const canI = this.dependencies.createAuthorizationReview(proxyConfig);\n const requestNamespaceResources = this.dependencies.createAuthorizationNamespaceReview(proxyConfig);\n const listApiResources = this.dependencies.createListApiResources(this);\n this.isAdmin = await canI({\n namespace: \"kube-system\",\n resource: \"*\",\n verb: \"create\",\n });\n this.isGlobalWatchEnabled = await canI({\n verb: \"watch\",\n resource: \"*\",\n });\n this.allowedNamespaces = await this.getAllowedNamespaces(proxyConfig);\n this.allowedResources = await this.getAllowedResources(listApiResources, requestNamespaceResources);\n this.ready = true;\n }\n /**\n * @internal\n */\n async refreshConnectionStatus() {\n const connectionStatus = await this.getConnectionStatus();\n this.online = connectionStatus > _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n this.accessible = connectionStatus == _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessGranted;\n }\n async getKubeconfig() {\n const { config } = await this.dependencies.loadConfigfromFile(this.kubeConfigPath);\n return config;\n }\n /**\n * @internal\n */\n async getProxyKubeconfig() {\n const proxyKCPath = await this.getProxyKubeconfigPath();\n const { config } = await this.dependencies.loadConfigfromFile(proxyKCPath);\n return config;\n }\n /**\n * @internal\n */\n async getProxyKubeconfigPath() {\n return this.proxyKubeconfigManager.getPath();\n }\n async getConnectionStatus() {\n try {\n const versionDetector = this.dependencies.createVersionDetector(this);\n const versionData = await versionDetector.detect();\n this.metadata.version = versionData.value;\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessGranted;\n }\n catch (error) {\n this.dependencies.logger.error(`[CLUSTER]: Failed to connect to \"${this.contextName}\": ${error}`);\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_4__.isRequestError)(error)) {\n if (error.statusCode) {\n if (error.statusCode >= 400 && error.statusCode < 500) {\n this.broadcastConnectUpdate(\"Invalid credentials\", true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessDenied;\n }\n const message = String(error.error || error.message) || String(error);\n this.broadcastConnectUpdate(message, true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n }\n if (error.failed === true) {\n if (error.timedOut === true) {\n this.broadcastConnectUpdate(\"Connection timed out\", true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n }\n this.broadcastConnectUpdate(\"Failed to fetch credentials\", true);\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.AccessDenied;\n }\n const message = String(error.error || error.message) || String(error);\n this.broadcastConnectUpdate(message, true);\n }\n else {\n this.broadcastConnectUpdate(\"Unknown error has occurred\", true);\n }\n return _cluster_types__WEBPACK_IMPORTED_MODULE_3__.ClusterStatus.Offline;\n }\n }\n toJSON() {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.toJS)({\n id: this.id,\n contextName: this.contextName,\n kubeConfigPath: this.kubeConfigPath,\n workspace: this.workspace,\n workspaces: this.workspaces,\n preferences: this.preferences,\n metadata: this.metadata,\n accessibleNamespaces: this.accessibleNamespaces,\n labels: this.labels,\n });\n }\n /**\n * Serializable cluster-state used for sync btw main <-> renderer\n */\n getState() {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.toJS)({\n apiUrl: this.apiUrl,\n online: this.online,\n ready: this.ready,\n disconnected: this.disconnected,\n accessible: this.accessible,\n isAdmin: this.isAdmin,\n allowedNamespaces: this.allowedNamespaces,\n allowedResources: this.allowedResources,\n isGlobalWatchEnabled: this.isGlobalWatchEnabled,\n });\n }\n /**\n * @internal\n * @param state cluster state\n */\n setState(state) {\n Object.assign(this, state);\n }\n /**\n * @internal\n * @param state cluster state\n */\n pushState(state = this.getState()) {\n this.dependencies.logger.silly(`[CLUSTER]: push-state`, state);\n this.dependencies.broadcastMessage(\"cluster:state\", this.id, state);\n }\n // get cluster system meta, e.g. use in \"logger\"\n getMeta() {\n return {\n id: this.id,\n name: this.contextName,\n ready: this.ready,\n online: this.online,\n accessible: this.accessible,\n disconnected: this.disconnected,\n };\n }\n /**\n * broadcast an authentication update concerning this cluster\n * @internal\n */\n broadcastConnectUpdate(message, isError = false) {\n const update = { message, isError };\n this.dependencies.logger.debug(`[CLUSTER]: broadcasting connection update`, { ...update, meta: this.getMeta() });\n this.dependencies.broadcastMessage(`cluster:${this.id}:connection-update`, update);\n }\n async getAllowedNamespaces(proxyConfig) {\n if (this.accessibleNamespaces.length) {\n return this.accessibleNamespaces;\n }\n try {\n const listNamespaces = this.dependencies.createListNamespaces(proxyConfig);\n return await listNamespaces();\n }\n catch (error) {\n const ctx = proxyConfig.getContextObject(this.contextName);\n const namespaceList = [ctx === null || ctx === void 0 ? void 0 : ctx.namespace].filter(_utils__WEBPACK_IMPORTED_MODULE_4__.isDefined);\n if (namespaceList.length === 0 && error instanceof _kubernetes_client_node__WEBPACK_IMPORTED_MODULE_0__.HttpError && error.statusCode === 403) {\n const { response } = error;\n this.dependencies.logger.info(\"[CLUSTER]: listing namespaces is forbidden, broadcasting\", { clusterId: this.id, error: response.body });\n this.dependencies.broadcastMessage(_ipc_cluster__WEBPACK_IMPORTED_MODULE_5__.clusterListNamespaceForbiddenChannel, this.id);\n }\n return namespaceList;\n }\n }\n async getAllowedResources(listApiResources, requestNamespaceResources) {\n try {\n if (!this.allowedNamespaces.length) {\n return [];\n }\n const unknownResources = new Map(_rbac__WEBPACK_IMPORTED_MODULE_1__.apiResources.map(resource => ([resource.apiName, resource])));\n const availableResources = await listApiResources();\n const availableResourcesNames = new Set(availableResources.map(apiResource => apiResource.apiName));\n [...unknownResources.values()].map(unknownResource => {\n if (!availableResourcesNames.has(unknownResource.apiName)) {\n this.resourceAccessStatuses.set(unknownResource, false);\n unknownResources.delete(unknownResource.apiName);\n }\n });\n if (unknownResources.size > 0) {\n const apiLimit = p_limit__WEBPACK_IMPORTED_MODULE_2___default()(5); // 5 concurrent api requests\n await Promise.all(this.allowedNamespaces.map(namespace => apiLimit(async () => {\n if (unknownResources.size === 0) {\n return;\n }\n const namespaceResources = await requestNamespaceResources(namespace, availableResources);\n for (const resourceName of namespaceResources) {\n const unknownResource = unknownResources.get(resourceName);\n if (unknownResource) {\n this.resourceAccessStatuses.set(unknownResource, true);\n unknownResources.delete(resourceName);\n }\n }\n })));\n for (const forbiddenResource of unknownResources.values()) {\n this.resourceAccessStatuses.set(forbiddenResource, false);\n }\n }\n return _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResources.filter((resource) => this.resourceAccessStatuses.get(resource))\n .map(apiResource => apiResource.apiName);\n }\n catch (error) {\n return [];\n }\n }\n isAllowedResource(kind) {\n if (kind in _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResourceRecord) {\n return this.allowedResources.includes(kind);\n }\n const apiResource = _rbac__WEBPACK_IMPORTED_MODULE_1__.apiResources.find(resource => resource.kind === kind);\n if (apiResource) {\n return this.allowedResources.includes(apiResource.apiName);\n }\n return true; // allowed by default for other resources\n }\n isMetricHidden(resource) {\n var _a;\n return Boolean((_a = this.preferences.hiddenMetrics) === null || _a === void 0 ? void 0 : _a.includes(resource));\n }\n get nodeShellImage() {\n var _a;\n return ((_a = this.preferences) === null || _a === void 0 ? void 0 : _a.nodeShellImage) || _cluster_types__WEBPACK_IMPORTED_MODULE_3__.initialNodeShellImage;\n }\n get imagePullSecret() {\n var _a;\n return (_a = this.preferences) === null || _a === void 0 ? void 0 : _a.imagePullSecret;\n }\n isInLocalKubeconfig() {\n return this.kubeConfigPath.startsWith(this.dependencies.directoryForKubeConfigs);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"contextName\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"kubeConfigPath\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"workspace\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"workspaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", String)\n], Cluster.prototype, \"apiUrl\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"online\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"accessible\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"ready\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"reconnecting\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"disconnected\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"isAdmin\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"isGlobalWatchEnabled\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"preferences\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"metadata\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"allowedNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"allowedResources\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Array)\n], Cluster.prototype, \"accessibleNamespaces\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.observable,\n __metadata(\"design:type\", Object)\n], Cluster.prototype, \"labels\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"available\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"name\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"distribution\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"version\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"prometheusPreferences\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Cluster.prototype, \"defaultNamespace\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Cluster.prototype, \"updateModel\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"activate\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"reconnect\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Cluster.prototype, \"disconnect\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"refresh\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"refreshAccessibilityAndMetadata\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], Cluster.prototype, \"refreshConnectionStatus\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Cluster.prototype, \"setState\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/common/cluster/cluster.ts?");
29816
29016
 
29817
29017
  /***/ }),
29818
29018
 
@@ -29926,36 +29126,25 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
29926
29126
 
29927
29127
  /***/ }),
29928
29128
 
29929
- /***/ "./src/common/fs/delete-file.injectable.ts":
29930
- /*!*************************************************!*\
29931
- !*** ./src/common/fs/delete-file.injectable.ts ***!
29932
- \*************************************************/
29933
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29934
-
29935
- "use strict";
29936
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fs_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fs.injectable */ \"./src/common/fs/fs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst deleteFileInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"delete-file\",\n instantiate: (di) => di.inject(_fs_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).unlink,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (deleteFileInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/delete-file.injectable.ts?");
29937
-
29938
- /***/ }),
29939
-
29940
- /***/ "./src/common/fs/exec-file.injectable.ts":
29941
- /*!***********************************************!*\
29942
- !*** ./src/common/fs/exec-file.injectable.ts ***!
29943
- \***********************************************/
29129
+ /***/ "./src/common/fs/fs.injectable.ts":
29130
+ /*!****************************************!*\
29131
+ !*** ./src/common/fs/fs.injectable.ts ***!
29132
+ \****************************************/
29944
29133
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29945
29134
 
29946
29135
  "use strict";
29947
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! child_process */ \"child_process\");\n/* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst execFileInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"exec-file\",\n instantiate: () => (filePath, args, options) => new Promise((resolve) => {\n (0,child_process__WEBPACK_IMPORTED_MODULE_1__.execFile)(filePath, args, options !== null && options !== void 0 ? options : {}, (error, stdout, stderr) => {\n if (error) {\n resolve({\n callWasSuccessful: false,\n error: Object.assign(error, { stderr }),\n });\n }\n else {\n resolve({\n callWasSuccessful: true,\n response: stdout,\n });\n }\n });\n }),\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (execFileInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/exec-file.injectable.ts?");
29136
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs-extra */ \"./node_modules/fs-extra/lib/index.js\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst fsInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"fs\",\n instantiate: () => (fs_extra__WEBPACK_IMPORTED_MODULE_1___default()),\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fsInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/fs.injectable.ts?");
29948
29137
 
29949
29138
  /***/ }),
29950
29139
 
29951
- /***/ "./src/common/fs/fs.injectable.ts":
29952
- /*!****************************************!*\
29953
- !*** ./src/common/fs/fs.injectable.ts ***!
29954
- \****************************************/
29140
+ /***/ "./src/common/fs/read-directory.injectable.ts":
29141
+ /*!****************************************************!*\
29142
+ !*** ./src/common/fs/read-directory.injectable.ts ***!
29143
+ \****************************************************/
29955
29144
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29956
29145
 
29957
29146
  "use strict";
29958
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs-extra */ \"./node_modules/fs-extra/lib/index.js\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst fsInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"fs\",\n instantiate: () => (fs_extra__WEBPACK_IMPORTED_MODULE_1___default()),\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fsInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/fs.injectable.ts?");
29147
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fs_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fs.injectable */ \"./src/common/fs/fs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst readDirectoryInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"read-directory\",\n instantiate: (di) => di.inject(_fs_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).readdir,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readDirectoryInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/read-directory.injectable.ts?");
29959
29148
 
29960
29149
  /***/ }),
29961
29150
 
@@ -29970,25 +29159,25 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
29970
29159
 
29971
29160
  /***/ }),
29972
29161
 
29973
- /***/ "./src/common/fs/read-json-file.injectable.ts":
29974
- /*!****************************************************!*\
29975
- !*** ./src/common/fs/read-json-file.injectable.ts ***!
29976
- \****************************************************/
29162
+ /***/ "./src/common/fs/read-file.injectable.ts":
29163
+ /*!***********************************************!*\
29164
+ !*** ./src/common/fs/read-file.injectable.ts ***!
29165
+ \***********************************************/
29977
29166
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29978
29167
 
29979
29168
  "use strict";
29980
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fs_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fs.injectable */ \"./src/common/fs/fs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst readJsonFileInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"read-json-file\",\n instantiate: (di) => di.inject(_fs_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).readJson,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readJsonFileInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/read-json-file.injectable.ts?");
29169
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fs_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fs.injectable */ \"./src/common/fs/fs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst readFileInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"read-file\",\n instantiate: (di) => {\n const { readFile } = di.inject(_fs_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (filePath) => readFile(filePath, \"utf-8\");\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readFileInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/read-file.injectable.ts?");
29981
29170
 
29982
29171
  /***/ }),
29983
29172
 
29984
- /***/ "./src/common/fs/write-file.injectable.ts":
29985
- /*!************************************************!*\
29986
- !*** ./src/common/fs/write-file.injectable.ts ***!
29987
- \************************************************/
29173
+ /***/ "./src/common/fs/read-json-file.injectable.ts":
29174
+ /*!****************************************************!*\
29175
+ !*** ./src/common/fs/read-json-file.injectable.ts ***!
29176
+ \****************************************************/
29988
29177
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29989
29178
 
29990
29179
  "use strict";
29991
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _path_get_dirname_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../path/get-dirname.injectable */ \"./src/common/path/get-dirname.injectable.ts\");\n/* harmony import */ var _fs_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fs.injectable */ \"./src/common/fs/fs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst writeFileInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"write-file\",\n instantiate: (di) => {\n const { writeFile, ensureDir } = di.inject(_fs_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const getDirnameOfPath = di.inject(_path_get_dirname_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return async (filePath, content, opts) => {\n await ensureDir(getDirnameOfPath(filePath), {\n mode: 0o755,\n ...(opts !== null && opts !== void 0 ? opts : {}),\n });\n await writeFile(filePath, content, {\n encoding: \"utf-8\",\n ...(opts !== null && opts !== void 0 ? opts : {}),\n });\n };\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (writeFileInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/write-file.injectable.ts?");
29180
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fs_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fs.injectable */ \"./src/common/fs/fs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst readJsonFileInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"read-json-file\",\n instantiate: (di) => di.inject(_fs_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).readJson,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readJsonFileInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/fs/read-json-file.injectable.ts?");
29992
29181
 
29993
29182
  /***/ }),
29994
29183
 
@@ -30043,7 +29232,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
30043
29232
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30044
29233
 
30045
29234
  "use strict";
30046
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clusterActivateHandler\": () => (/* binding */ clusterActivateHandler),\n/* harmony export */ \"clusterDisconnectHandler\": () => (/* binding */ clusterDisconnectHandler),\n/* harmony export */ \"clusterKubectlApplyAllHandler\": () => (/* binding */ clusterKubectlApplyAllHandler),\n/* harmony export */ \"clusterKubectlDeleteAllHandler\": () => (/* binding */ clusterKubectlDeleteAllHandler),\n/* harmony export */ \"clusterListNamespaceForbiddenChannel\": () => (/* binding */ clusterListNamespaceForbiddenChannel),\n/* harmony export */ \"clusterRefreshHandler\": () => (/* binding */ clusterRefreshHandler),\n/* harmony export */ \"clusterSetFrameIdHandler\": () => (/* binding */ clusterSetFrameIdHandler),\n/* harmony export */ \"clusterStates\": () => (/* binding */ clusterStates),\n/* harmony export */ \"isListNamespaceForbiddenArgs\": () => (/* binding */ isListNamespaceForbiddenArgs)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nconst clusterActivateHandler = \"cluster:activate\";\nconst clusterSetFrameIdHandler = \"cluster:set-frame-id\";\nconst clusterRefreshHandler = \"cluster:refresh\";\nconst clusterDisconnectHandler = \"cluster:disconnect\";\nconst clusterKubectlApplyAllHandler = \"cluster:kubectl-apply-all\";\nconst clusterKubectlDeleteAllHandler = \"cluster:kubectl-delete-all\";\nconst clusterStates = \"cluster:states\";\n/**\n * This channel is broadcast on whenever the cluster fails to list namespaces\n * during a refresh and no `accessibleNamespaces` have been set.\n */\nconst clusterListNamespaceForbiddenChannel = \"cluster:list-namespace-forbidden\";\nfunction isListNamespaceForbiddenArgs(args) {\n return args.length === 1 && typeof args[0] === \"string\";\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/ipc/cluster.ts?");
29235
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clusterActivateHandler\": () => (/* binding */ clusterActivateHandler),\n/* harmony export */ \"clusterDisconnectHandler\": () => (/* binding */ clusterDisconnectHandler),\n/* harmony export */ \"clusterListNamespaceForbiddenChannel\": () => (/* binding */ clusterListNamespaceForbiddenChannel),\n/* harmony export */ \"clusterSetFrameIdHandler\": () => (/* binding */ clusterSetFrameIdHandler),\n/* harmony export */ \"clusterStates\": () => (/* binding */ clusterStates),\n/* harmony export */ \"clusterVisibilityHandler\": () => (/* binding */ clusterVisibilityHandler),\n/* harmony export */ \"isListNamespaceForbiddenArgs\": () => (/* binding */ isListNamespaceForbiddenArgs)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nconst clusterActivateHandler = \"cluster:activate\";\nconst clusterSetFrameIdHandler = \"cluster:set-frame-id\";\nconst clusterVisibilityHandler = \"cluster:visibility\";\nconst clusterDisconnectHandler = \"cluster:disconnect\";\nconst clusterStates = \"cluster:states\";\n/**\n * This channel is broadcast on whenever the cluster fails to list namespaces\n * during a refresh and no `accessibleNamespaces` have been set.\n */\nconst clusterListNamespaceForbiddenChannel = \"cluster:list-namespace-forbidden\";\nfunction isListNamespaceForbiddenArgs(args) {\n return args.length === 1 && typeof args[0] === \"string\";\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/ipc/cluster.ts?");
30047
29236
 
30048
29237
  /***/ }),
30049
29238
 
@@ -31385,7 +30574,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31385
30574
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31386
30575
 
31387
30576
  "use strict";
31388
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeApi\": () => (/* binding */ KubeApi)\n/* harmony export */ });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var querystring__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! querystring */ \"querystring\");\n/* harmony import */ var querystring__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(querystring__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _kube_api_parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-api-parse */ \"./src/common/k8s-api/kube-api-parse.ts\");\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var byline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! byline */ \"./node_modules/byline/lib/byline.js\");\n/* harmony import */ var byline__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(byline__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _api_manager_auto_registration_emitter_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./api-manager/auto-registration-emitter.injectable */ \"./src/common/k8s-api/api-manager/auto-registration-emitter.injectable.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api.ts\");\n/* harmony import */ var _api_kube__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./api-kube */ \"./src/common/k8s-api/api-kube.ts\");\n/* harmony import */ var _logger_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../logger.injectable */ \"./src/common/logger.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_12__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Base class for building all kubernetes apis\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst not = (fn) => (val) => !(fn(val));\nconst getOrderedVersions = (list) => [\n list.preferredVersion,\n ...list.versions.filter(not((0,lodash_fp__WEBPACK_IMPORTED_MODULE_12__.matches)(list.preferredVersion))),\n];\nconst patchTypeHeaders = {\n \"merge\": \"application/merge-patch+json\",\n \"json\": \"application/json-patch+json\",\n \"strategic\": \"application/strategic-merge-patch+json\",\n};\n/**\n * @deprecated In the new extension API, don't expose `KubeApi`'s constructor\n */\nfunction legacyRegisterApi(api) {\n try {\n /**\n * This function throws if called in `main`, so the `try..catch` is to make sure that doesn't\n * leak.\n *\n * However, we need this code to be run in `renderer` so that the auto registering of `KubeApi`\n * instances still works. That auto registering never worked or was applicable in `main` because\n * there is no \"single cluster\" on `main`.\n *\n * TODO: rearchitect this design pattern in the new extension API\n */\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_7__.getEnvironmentSpecificLegacyGlobalDiForExtensionApi)(_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_7__.Environments.renderer);\n const autoRegistrationEmitter = di.inject(_api_manager_auto_registration_emitter_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n autoRegistrationEmitter.emit(\"kubeApi\", api);\n }\n catch {\n // ignore error\n }\n}\nclass KubeApi {\n constructor(opts) {\n var _a;\n Object.defineProperty(this, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiPrefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiVersionPreferred\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiResource\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isNamespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"objectConstructor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"request\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"resourceVersions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"watchDisposer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"watchId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 1\n });\n Object.defineProperty(this, \"doCheckPreferredVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"fullApiPathname\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"fallbackApiBases\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n const { objectConstructor, request = (0,_extensions_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_9__.asLegacyGlobalForExtensionApi)(_api_kube__WEBPACK_IMPORTED_MODULE_10__.apiKubeInjectionToken), kind = objectConstructor.kind, isNamespaced, apiBase: fullApiPathname = objectConstructor.apiBase, checkPreferredVersion: doCheckPreferredVersion = false, fallbackApiBases, } = opts;\n assert__WEBPACK_IMPORTED_MODULE_6___default()(fullApiPathname, \"apiBase MUST be provied either via KubeApiOptions.apiBase or KubeApiOptions.objectConstructor.apiBase\");\n assert__WEBPACK_IMPORTED_MODULE_6___default()(request, \"request MUST be provided if not in a cluster page frame context\");\n const { apiBase, apiPrefix, apiGroup, apiVersion, resource } = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.parseKubeApi)(fullApiPathname);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(kind, \"kind MUST be provied either via KubeApiOptions.kind or KubeApiOptions.objectConstructor.kind\");\n assert__WEBPACK_IMPORTED_MODULE_6___default()(apiPrefix, \"apiBase MUST be parsable as a kubeApi selfLink style string\");\n this.doCheckPreferredVersion = doCheckPreferredVersion;\n this.fallbackApiBases = fallbackApiBases;\n this.fullApiPathname = fullApiPathname;\n this.kind = kind;\n this.isNamespaced = (_a = isNamespaced !== null && isNamespaced !== void 0 ? isNamespaced : objectConstructor.namespaced) !== null && _a !== void 0 ? _a : false;\n this.apiBase = apiBase;\n this.apiPrefix = apiPrefix;\n this.apiGroup = apiGroup;\n this.apiVersion = apiVersion;\n this.apiResource = resource;\n this.request = request;\n this.objectConstructor = objectConstructor;\n legacyRegisterApi(this);\n this.dependencies = {\n logger: (0,_extensions_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_9__.asLegacyGlobalForExtensionApi)(_logger_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n };\n }\n get apiVersionWithGroup() {\n var _a;\n return [this.apiGroup, (_a = this.apiVersionPreferred) !== null && _a !== void 0 ? _a : this.apiVersion]\n .filter(Boolean)\n .join(\"/\");\n }\n /**\n * Returns the latest API prefix/group that contains the required resource.\n * First tries fullApiPathname, then urls in order from fallbackApiBases.\n */\n async getLatestApiPrefixGroup() {\n var _a;\n // Note that this.fullApiPathname is the \"full\" url, whereas this.apiBase is parsed\n const rawApiBases = [\n this.fullApiPathname,\n this.objectConstructor.apiBase,\n ...(_a = this.fallbackApiBases) !== null && _a !== void 0 ? _a : [],\n ].filter(_utils__WEBPACK_IMPORTED_MODULE_5__.isDefined);\n const apiBases = new Set(rawApiBases);\n for (const apiUrl of apiBases) {\n try {\n const { apiPrefix, apiGroup, resource } = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.parseKubeApi)(apiUrl);\n const list = await this.request.get(`${apiPrefix}/${apiGroup}`);\n const resourceVersions = getOrderedVersions(list);\n for (const resourceVersion of resourceVersions) {\n const { resources } = await this.request.get(`${apiPrefix}/${resourceVersion.groupVersion}`);\n if (resources.some(({ name }) => name === resource)) {\n return {\n apiPrefix,\n apiGroup,\n apiVersionPreferred: resourceVersion.version,\n };\n }\n }\n }\n catch (error) {\n // Exception is ignored as we can try the next url\n }\n }\n throw new Error(`Can't find working API for the Kubernetes resource ${this.apiResource}`);\n }\n async checkPreferredVersion() {\n if (this.fallbackApiBases && !this.doCheckPreferredVersion) {\n throw new Error(\"checkPreferredVersion must be enabled if fallbackApiBases is set in KubeApi\");\n }\n if (this.doCheckPreferredVersion && this.apiVersionPreferred === undefined) {\n const { apiPrefix, apiGroup, apiVersionPreferred } = await this.getLatestApiPrefixGroup();\n this.apiPrefix = apiPrefix;\n this.apiGroup = apiGroup;\n this.apiVersionPreferred = apiVersionPreferred;\n this.apiBase = this.computeApiBase();\n legacyRegisterApi(this);\n }\n }\n setResourceVersion(namespace = \"\", newVersion) {\n this.resourceVersions.set(namespace, newVersion);\n }\n getResourceVersion(namespace = \"\") {\n return this.resourceVersions.get(namespace);\n }\n async refreshResourceVersion(params) {\n return this.list(params, { limit: 1 });\n }\n computeApiBase() {\n return (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n });\n }\n /**\n * This method differs from {@link formatUrlForNotListing} because this treats `\"\"` as \"all namespaces\"\n * @param namespace The namespace to list in or `\"\"` for all namespaces\n */\n formatUrlForListing(namespace) {\n return (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n namespace: this.isNamespaced\n ? namespace !== null && namespace !== void 0 ? namespace : \"default\"\n : undefined,\n });\n }\n formatUrlForNotListing({ name, namespace } = {}, query) {\n const resourcePath = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n namespace: this.isNamespaced\n ? namespace || \"default\"\n : undefined,\n name,\n });\n return resourcePath + (query ? `?${(0,querystring__WEBPACK_IMPORTED_MODULE_1__.stringify)(this.normalizeQuery(query))}` : \"\");\n }\n /**\n * @deprecated use {@link formatUrlForNotListing} instead\n */\n getUrl(resource, query) {\n return this.formatUrlForNotListing(resource, query);\n }\n normalizeQuery(query = {}) {\n if (query.labelSelector) {\n query.labelSelector = [query.labelSelector].flat().join(\",\");\n }\n if (query.fieldSelector) {\n query.fieldSelector = [query.fieldSelector].flat().join(\",\");\n }\n return query;\n }\n parseResponse(data, namespace) {\n if (!data) {\n return null;\n }\n const KubeObjectConstructor = this.objectConstructor;\n // process items list response, check before single item since there is overlap\n if (_kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeObject.isJsonApiDataList(data, _kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeObject.isPartialJsonApiData)) {\n const { apiVersion, items, metadata } = data;\n this.setResourceVersion(namespace, metadata.resourceVersion);\n this.setResourceVersion(\"\", metadata.resourceVersion);\n return items\n .map((item) => {\n if (item.metadata) {\n this.ensureMetadataSelfLink(item.metadata);\n }\n else {\n return undefined;\n }\n const object = new KubeObjectConstructor({\n ...item,\n kind: this.kind,\n apiVersion,\n });\n return object;\n })\n .filter(_utils__WEBPACK_IMPORTED_MODULE_5__.isDefined);\n }\n // process a single item\n if (_kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeObject.isJsonApiData(data)) {\n this.ensureMetadataSelfLink(data.metadata);\n return new KubeObjectConstructor(data);\n }\n // custom apis might return array for list response, e.g. users, groups, etc.\n if (Array.isArray(data)) {\n return data.map(data => {\n this.ensureMetadataSelfLink(data.metadata);\n return new KubeObjectConstructor(data);\n });\n }\n return null;\n }\n ensureMetadataSelfLink(metadata) {\n metadata.selfLink || (metadata.selfLink = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n namespace: metadata.namespace,\n name: metadata.name,\n }));\n }\n async list({ namespace = \"\", reqInit } = {}, query) {\n await this.checkPreferredVersion();\n const url = this.formatUrlForListing(namespace);\n const res = await this.request.get(url, { query }, reqInit);\n const parsed = this.parseResponse(res, namespace);\n if (Array.isArray(parsed)) {\n return parsed;\n }\n if (!parsed) {\n return null;\n }\n throw new Error(`GET multiple request to ${url} returned not an array: ${JSON.stringify(parsed)}`);\n }\n async get(desc, query) {\n await this.checkPreferredVersion();\n const url = this.formatUrlForNotListing(desc);\n const res = await this.request.get(url, { query });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`GET single request to ${url} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async create({ name, namespace }, partialData) {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing({ namespace });\n const data = (0,lodash__WEBPACK_IMPORTED_MODULE_0__.merge)(partialData, {\n kind: this.kind,\n apiVersion: this.apiVersionWithGroup,\n metadata: {\n name,\n namespace,\n },\n });\n const res = await this.request.post(apiUrl, { data });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`POST request to ${apiUrl} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async update({ name, namespace }, data) {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing({ namespace, name });\n const res = await this.request.put(apiUrl, {\n data: (0,lodash__WEBPACK_IMPORTED_MODULE_0__.merge)(data, {\n metadata: {\n name,\n namespace,\n },\n }),\n });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`PUT request to ${apiUrl} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async patch(desc, data, strategy = \"strategic\") {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing(desc);\n const res = await this.request.patch(apiUrl, { data }, {\n headers: {\n \"content-type\": patchTypeHeaders[strategy],\n },\n });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`PATCH request to ${apiUrl} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async delete({ propagationPolicy = \"Background\", ...desc }) {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing(desc);\n return this.request.del(apiUrl, {\n query: {\n propagationPolicy,\n },\n });\n }\n getWatchUrl(namespace, query = {}) {\n return this.formatUrlForNotListing({ namespace }, {\n watch: 1,\n resourceVersion: this.getResourceVersion(namespace),\n ...query,\n });\n }\n watch(opts) {\n let errorReceived = false;\n let timedRetry;\n const { namespace, callback = _utils__WEBPACK_IMPORTED_MODULE_5__.noop, retry = false, timeout, watchId = `${this.kind.toLowerCase()}-${this.watchId++}`, } = opts !== null && opts !== void 0 ? opts : {};\n // Create AbortController for this request\n const abortController = new _utils__WEBPACK_IMPORTED_MODULE_5__.WrappedAbortController(opts === null || opts === void 0 ? void 0 : opts.abortController);\n abortController.signal.addEventListener(\"abort\", () => {\n this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) aborted ${watchUrl}`);\n clearTimeout(timedRetry);\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_5__.setTimeoutFor)(abortController, 600 * 1000);\n const requestParams = timeout ? { query: { timeoutSeconds: timeout } } : {};\n const watchUrl = this.getWatchUrl(namespace);\n const responsePromise = this.request.getResponse(watchUrl, requestParams, {\n signal: abortController.signal,\n });\n this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) ${retry === true ? \"retried\" : \"started\"} ${watchUrl}`);\n responsePromise\n .then(response => {\n // True if the current watch request was retried\n let requestRetried = false;\n if (!response.ok) {\n this.dependencies.logger.warn(`[KUBE-API] watch (${watchId}) error response ${watchUrl}`, { status: response.status });\n return callback(null, response);\n }\n // Add mechanism to retry in case timeoutSeconds is set but the watch wasn't timed out.\n // This can happen if e.g. network is offline and AWS NLB is used.\n if (timeout) {\n setTimeout(() => {\n // We only retry if we haven't retried, haven't aborted and haven't received k8s error\n if (requestRetried || abortController.signal.aborted || errorReceived) {\n return;\n }\n // Close current request\n abortController.abort();\n this.dependencies.logger.info(`[KUBE-API] Watch timeout set, but not retried, retrying now`);\n requestRetried = true;\n // Clearing out any possible timeout, although we don't expect this to be set\n clearTimeout(timedRetry);\n this.watch({ ...opts, namespace, callback, watchId, retry: true });\n // We wait longer than the timeout, as we expect the request to be retried with timeoutSeconds\n }, timeout * 1000 * 1.1);\n }\n if (!response.body) {\n this.dependencies.logger.error(`[KUBE-API]: watch (${watchId}) did not return a body`);\n requestRetried = true;\n clearTimeout(timedRetry);\n timedRetry = setTimeout(() => {\n this.watch({ ...opts, namespace, callback, watchId, retry: true });\n }, 1000);\n return;\n }\n for (const eventName of [\"end\", \"close\", \"error\"]) {\n response.body.on(eventName, () => {\n // We only retry if we haven't retried, haven't aborted and haven't received k8s error\n // kubernetes errors (=errorReceived set) should be handled in a callback\n if (requestRetried || abortController.signal.aborted || errorReceived) {\n return;\n }\n this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) ${eventName} ${watchUrl}`);\n requestRetried = true;\n clearTimeout(timedRetry);\n timedRetry = setTimeout(() => {\n this.watch({ ...opts, namespace, callback, watchId, retry: true });\n }, 1000);\n });\n }\n byline__WEBPACK_IMPORTED_MODULE_4___default()(response.body).on(\"data\", (line) => {\n try {\n const event = JSON.parse(line);\n if (event.type === \"ERROR\" && (0,_kube_object__WEBPACK_IMPORTED_MODULE_3__.isKubeStatusData)(event.object)) {\n errorReceived = true;\n return callback(null, new _kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeStatus(event.object));\n }\n this.modifyWatchEvent(event);\n callback(event, null);\n }\n catch (ignore) {\n // ignore parse errors\n }\n });\n })\n .catch(error => {\n if (!abortController.signal.aborted) {\n this.dependencies.logger.error(`[KUBE-API] watch (${watchId}) threw ${watchUrl}`, error);\n }\n callback(null, error);\n });\n return () => {\n abortController.abort();\n };\n }\n modifyWatchEvent(event) {\n if (event.type === \"ERROR\") {\n return;\n }\n this.ensureMetadataSelfLink(event.object.metadata);\n const { namespace, resourceVersion } = event.object.metadata;\n assert__WEBPACK_IMPORTED_MODULE_6___default()(resourceVersion, \"watch events failed to return resourceVersion from kube api\");\n this.setResourceVersion(namespace, resourceVersion);\n this.setResourceVersion(\"\", resourceVersion);\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/kube-api.ts?");
30577
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeApi\": () => (/* binding */ KubeApi)\n/* harmony export */ });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var querystring__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! querystring */ \"querystring\");\n/* harmony import */ var querystring__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(querystring__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _kube_api_parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-api-parse */ \"./src/common/k8s-api/kube-api-parse.ts\");\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var byline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! byline */ \"./node_modules/byline/lib/byline.js\");\n/* harmony import */ var byline__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(byline__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! assert */ \"assert\");\n/* harmony import */ var assert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(assert__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _api_manager_auto_registration_emitter_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./api-manager/auto-registration-emitter.injectable */ \"./src/common/k8s-api/api-manager/auto-registration-emitter.injectable.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api.ts\");\n/* harmony import */ var _api_kube__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./api-kube */ \"./src/common/k8s-api/api-kube.ts\");\n/* harmony import */ var _logger_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../logger.injectable */ \"./src/common/logger.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_12__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Base class for building all kubernetes apis\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst not = (fn) => (val) => !(fn(val));\nconst getOrderedVersions = (list) => [\n list.preferredVersion,\n ...list.versions.filter(not((0,lodash_fp__WEBPACK_IMPORTED_MODULE_12__.matches)(list.preferredVersion))),\n];\nconst patchTypeHeaders = {\n \"merge\": \"application/merge-patch+json\",\n \"json\": \"application/json-patch+json\",\n \"strategic\": \"application/strategic-merge-patch+json\",\n};\n/**\n * @deprecated In the new extension API, don't expose `KubeApi`'s constructor\n */\nfunction legacyRegisterApi(api) {\n try {\n /**\n * This function throws if called in `main`, so the `try..catch` is to make sure that doesn't\n * leak.\n *\n * However, we need this code to be run in `renderer` so that the auto registering of `KubeApi`\n * instances still works. That auto registering never worked or was applicable in `main` because\n * there is no \"single cluster\" on `main`.\n *\n * TODO: rearchitect this design pattern in the new extension API\n */\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_7__.getEnvironmentSpecificLegacyGlobalDiForExtensionApi)(_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_7__.Environments.renderer);\n const autoRegistrationEmitter = di.inject(_api_manager_auto_registration_emitter_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n autoRegistrationEmitter.emit(\"kubeApi\", api);\n }\n catch {\n // ignore error\n }\n}\nclass KubeApi {\n constructor(opts) {\n var _a;\n Object.defineProperty(this, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiPrefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiVersionPreferred\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"apiResource\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isNamespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"objectConstructor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"request\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"resourceVersions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"watchDisposer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"watchId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 1\n });\n Object.defineProperty(this, \"doCheckPreferredVersion\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"fullApiPathname\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"fallbackApiBases\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n const { objectConstructor, request = (0,_extensions_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_9__.asLegacyGlobalForExtensionApi)(_api_kube__WEBPACK_IMPORTED_MODULE_10__.apiKubeInjectionToken), kind = objectConstructor.kind, isNamespaced, apiBase: fullApiPathname = objectConstructor.apiBase, checkPreferredVersion: doCheckPreferredVersion = false, fallbackApiBases, } = opts;\n assert__WEBPACK_IMPORTED_MODULE_6___default()(fullApiPathname, \"apiBase MUST be provied either via KubeApiOptions.apiBase or KubeApiOptions.objectConstructor.apiBase\");\n assert__WEBPACK_IMPORTED_MODULE_6___default()(request, \"request MUST be provided if not in a cluster page frame context\");\n const { apiBase, apiPrefix, apiGroup, apiVersion, resource } = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.parseKubeApi)(fullApiPathname);\n assert__WEBPACK_IMPORTED_MODULE_6___default()(kind, \"kind MUST be provied either via KubeApiOptions.kind or KubeApiOptions.objectConstructor.kind\");\n assert__WEBPACK_IMPORTED_MODULE_6___default()(apiPrefix, \"apiBase MUST be parsable as a kubeApi selfLink style string\");\n this.doCheckPreferredVersion = doCheckPreferredVersion;\n this.fallbackApiBases = fallbackApiBases;\n this.fullApiPathname = fullApiPathname;\n this.kind = kind;\n this.isNamespaced = (_a = isNamespaced !== null && isNamespaced !== void 0 ? isNamespaced : objectConstructor.namespaced) !== null && _a !== void 0 ? _a : false;\n this.apiBase = apiBase;\n this.apiPrefix = apiPrefix;\n this.apiGroup = apiGroup;\n this.apiVersion = apiVersion;\n this.apiResource = resource;\n this.request = request;\n this.objectConstructor = objectConstructor;\n legacyRegisterApi(this);\n this.dependencies = {\n logger: (0,_extensions_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_9__.asLegacyGlobalForExtensionApi)(_logger_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n };\n }\n get apiVersionWithGroup() {\n var _a;\n return [this.apiGroup, (_a = this.apiVersionPreferred) !== null && _a !== void 0 ? _a : this.apiVersion]\n .filter(Boolean)\n .join(\"/\");\n }\n /**\n * Returns the latest API prefix/group that contains the required resource.\n * First tries fullApiPathname, then urls in order from fallbackApiBases.\n */\n async getLatestApiPrefixGroup() {\n var _a;\n // Note that this.fullApiPathname is the \"full\" url, whereas this.apiBase is parsed\n const rawApiBases = [\n this.fullApiPathname,\n this.objectConstructor.apiBase,\n ...(_a = this.fallbackApiBases) !== null && _a !== void 0 ? _a : [],\n ].filter(_utils__WEBPACK_IMPORTED_MODULE_5__.isDefined);\n const apiBases = new Set(rawApiBases);\n for (const apiUrl of apiBases) {\n try {\n const { apiPrefix, apiGroup, resource } = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.parseKubeApi)(apiUrl);\n const list = await this.request.get(`${apiPrefix}/${apiGroup}`);\n const resourceVersions = getOrderedVersions(list);\n for (const resourceVersion of resourceVersions) {\n const { resources } = await this.request.get(`${apiPrefix}/${resourceVersion.groupVersion}`);\n if (resources.some(({ name }) => name === resource)) {\n return {\n apiPrefix,\n apiGroup,\n apiVersionPreferred: resourceVersion.version,\n };\n }\n }\n }\n catch (error) {\n // Exception is ignored as we can try the next url\n }\n }\n throw new Error(`Can't find working API for the Kubernetes resource ${this.apiResource}`);\n }\n async checkPreferredVersion() {\n if (this.fallbackApiBases && !this.doCheckPreferredVersion) {\n throw new Error(\"checkPreferredVersion must be enabled if fallbackApiBases is set in KubeApi\");\n }\n if (this.doCheckPreferredVersion && this.apiVersionPreferred === undefined) {\n const { apiPrefix, apiGroup, apiVersionPreferred } = await this.getLatestApiPrefixGroup();\n this.apiPrefix = apiPrefix;\n this.apiGroup = apiGroup;\n this.apiVersionPreferred = apiVersionPreferred;\n this.apiBase = this.computeApiBase();\n legacyRegisterApi(this);\n }\n }\n setResourceVersion(namespace = \"\", newVersion) {\n this.resourceVersions.set(namespace, newVersion);\n }\n getResourceVersion(namespace = \"\") {\n return this.resourceVersions.get(namespace);\n }\n async refreshResourceVersion(params) {\n return this.list(params, { limit: 1 });\n }\n computeApiBase() {\n return (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n });\n }\n /**\n * This method differs from {@link formatUrlForNotListing} because this treats `\"\"` as \"all namespaces\"\n * @param namespace The namespace to list in or `\"\"` for all namespaces\n */\n formatUrlForListing(namespace) {\n return (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n namespace: this.isNamespaced\n ? namespace !== null && namespace !== void 0 ? namespace : \"default\"\n : undefined,\n });\n }\n formatUrlForNotListing({ name, namespace } = {}, query) {\n const resourcePath = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n namespace: this.isNamespaced\n ? namespace || \"default\"\n : undefined,\n name,\n });\n return resourcePath + (query ? `?${(0,querystring__WEBPACK_IMPORTED_MODULE_1__.stringify)(this.normalizeQuery(query))}` : \"\");\n }\n /**\n * @deprecated use {@link formatUrlForNotListing} instead\n */\n getUrl(resource, query) {\n return this.formatUrlForNotListing(resource, query);\n }\n normalizeQuery(query = {}) {\n if (query.labelSelector) {\n query.labelSelector = [query.labelSelector].flat().join(\",\");\n }\n if (query.fieldSelector) {\n query.fieldSelector = [query.fieldSelector].flat().join(\",\");\n }\n return query;\n }\n parseResponse(data, namespace) {\n if (!data) {\n return null;\n }\n const KubeObjectConstructor = this.objectConstructor;\n // process items list response, check before single item since there is overlap\n if (_kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeObject.isJsonApiDataList(data, _kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeObject.isPartialJsonApiData)) {\n const { apiVersion, items, metadata } = data;\n this.setResourceVersion(namespace, metadata.resourceVersion);\n this.setResourceVersion(\"\", metadata.resourceVersion);\n return items\n .map((item) => {\n if (item.metadata) {\n this.ensureMetadataSelfLink(item.metadata);\n }\n else {\n return undefined;\n }\n const object = new KubeObjectConstructor({\n ...item,\n kind: this.kind,\n apiVersion,\n });\n return object;\n })\n .filter(_utils__WEBPACK_IMPORTED_MODULE_5__.isDefined);\n }\n // process a single item\n if (_kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeObject.isJsonApiData(data)) {\n this.ensureMetadataSelfLink(data.metadata);\n return new KubeObjectConstructor(data);\n }\n // custom apis might return array for list response, e.g. users, groups, etc.\n if (Array.isArray(data)) {\n return data.map(data => {\n this.ensureMetadataSelfLink(data.metadata);\n return new KubeObjectConstructor(data);\n });\n }\n return null;\n }\n ensureMetadataSelfLink(metadata) {\n metadata.selfLink || (metadata.selfLink = (0,_kube_api_parse__WEBPACK_IMPORTED_MODULE_2__.createKubeApiURL)({\n apiPrefix: this.apiPrefix,\n apiVersion: this.apiVersionWithGroup,\n resource: this.apiResource,\n namespace: metadata.namespace,\n name: metadata.name,\n }));\n }\n async list({ namespace = \"\", reqInit } = {}, query) {\n await this.checkPreferredVersion();\n const url = this.formatUrlForListing(namespace);\n const res = await this.request.get(url, { query }, reqInit);\n const parsed = this.parseResponse(res, namespace);\n if (Array.isArray(parsed)) {\n return parsed;\n }\n if (!parsed) {\n return null;\n }\n throw new Error(`GET multiple request to ${url} returned not an array: ${JSON.stringify(parsed)}`);\n }\n async get(desc, query) {\n await this.checkPreferredVersion();\n const url = this.formatUrlForNotListing(desc);\n const res = await this.request.get(url, { query });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`GET single request to ${url} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async create({ name, namespace }, partialData) {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing({ namespace });\n const data = (0,lodash__WEBPACK_IMPORTED_MODULE_0__.merge)(partialData, {\n kind: this.kind,\n apiVersion: this.apiVersionWithGroup,\n metadata: {\n name,\n namespace,\n },\n });\n const res = await this.request.post(apiUrl, { data });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`POST request to ${apiUrl} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async update({ name, namespace }, data) {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing({ namespace, name });\n const res = await this.request.put(apiUrl, {\n data: (0,lodash__WEBPACK_IMPORTED_MODULE_0__.merge)(data, {\n metadata: {\n name,\n namespace,\n },\n }),\n });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`PUT request to ${apiUrl} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async patch(desc, data, strategy = \"strategic\") {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing(desc);\n const res = await this.request.patch(apiUrl, { data }, {\n headers: {\n \"content-type\": patchTypeHeaders[strategy],\n },\n });\n const parsed = this.parseResponse(res);\n if (Array.isArray(parsed)) {\n throw new Error(`PATCH request to ${apiUrl} returned an array: ${JSON.stringify(parsed)}`);\n }\n return parsed;\n }\n async delete({ propagationPolicy = \"Background\", ...desc }) {\n await this.checkPreferredVersion();\n const apiUrl = this.formatUrlForNotListing(desc);\n return this.request.del(apiUrl, {\n query: {\n propagationPolicy,\n },\n });\n }\n getWatchUrl(namespace, query = {}) {\n return this.formatUrlForNotListing({ namespace }, {\n watch: 1,\n resourceVersion: this.getResourceVersion(namespace),\n ...query,\n });\n }\n watch(opts) {\n let errorReceived = false;\n let timedRetry;\n const { namespace, callback = _utils__WEBPACK_IMPORTED_MODULE_5__.noop, retry = false, timeout = 600, watchId = `${this.kind.toLowerCase()}-${this.watchId++}`, } = opts !== null && opts !== void 0 ? opts : {};\n // Create AbortController for this request\n const abortController = new _utils__WEBPACK_IMPORTED_MODULE_5__.WrappedAbortController(opts === null || opts === void 0 ? void 0 : opts.abortController);\n abortController.signal.addEventListener(\"abort\", () => {\n this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) aborted ${watchUrl}`);\n clearTimeout(timedRetry);\n });\n const requestParams = timeout ? { query: { timeoutSeconds: timeout } } : {};\n const watchUrl = this.getWatchUrl(namespace);\n const responsePromise = this.request.getResponse(watchUrl, requestParams, {\n signal: abortController.signal,\n });\n this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) ${retry === true ? \"retried\" : \"started\"} ${watchUrl}`);\n responsePromise\n .then(response => {\n // True if the current watch request was retried\n let requestRetried = false;\n if (!response.ok) {\n this.dependencies.logger.warn(`[KUBE-API] watch (${watchId}) error response ${watchUrl}`, { status: response.status });\n return callback(null, response);\n }\n // Add mechanism to retry in case timeoutSeconds is set but the watch wasn't timed out.\n // This can happen if e.g. network is offline and AWS NLB is used.\n if (timeout) {\n setTimeout(() => {\n // We only retry if we haven't retried, haven't aborted and haven't received k8s error\n if (requestRetried || abortController.signal.aborted || errorReceived) {\n return;\n }\n // Close current request\n abortController.abort();\n this.dependencies.logger.info(`[KUBE-API] Watch timeout set, but not retried, retrying now`);\n requestRetried = true;\n // Clearing out any possible timeout, although we don't expect this to be set\n clearTimeout(timedRetry);\n this.watch({ ...opts, namespace, callback, watchId, retry: true });\n // We wait longer than the timeout, as we expect the request to be retried with timeoutSeconds\n }, timeout * 1000 * 1.1);\n }\n if (!response.body || !response.body.readable) {\n if (!response.body) {\n this.dependencies.logger.warn(`[KUBE-API]: watch (${watchId}) did not return a body`);\n }\n requestRetried = true;\n clearTimeout(timedRetry);\n timedRetry = setTimeout(() => {\n this.watch({ ...opts, namespace, callback, watchId, retry: true });\n }, 1000);\n return;\n }\n for (const eventName of [\"end\", \"close\", \"error\"]) {\n response.body.on(eventName, () => {\n // We only retry if we haven't retried, haven't aborted and haven't received k8s error\n // kubernetes errors (=errorReceived set) should be handled in a callback\n if (requestRetried || abortController.signal.aborted || errorReceived) {\n return;\n }\n this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) ${eventName} ${watchUrl}`);\n requestRetried = true;\n clearTimeout(timedRetry);\n timedRetry = setTimeout(() => {\n this.watch({ ...opts, namespace, callback, watchId, retry: true });\n }, 1000);\n });\n }\n byline__WEBPACK_IMPORTED_MODULE_4___default()(response.body).on(\"data\", (line) => {\n try {\n const event = JSON.parse(line);\n if (event.type === \"ERROR\" && (0,_kube_object__WEBPACK_IMPORTED_MODULE_3__.isKubeStatusData)(event.object)) {\n errorReceived = true;\n return callback(null, new _kube_object__WEBPACK_IMPORTED_MODULE_3__.KubeStatus(event.object));\n }\n this.modifyWatchEvent(event);\n callback(event, null);\n }\n catch (ignore) {\n // ignore parse errors\n }\n });\n })\n .catch(error => {\n if (!abortController.signal.aborted) {\n this.dependencies.logger.error(`[KUBE-API] watch (${watchId}) threw ${watchUrl}`, error);\n }\n callback(null, error);\n });\n return () => {\n abortController.abort();\n };\n }\n modifyWatchEvent(event) {\n if (event.type === \"ERROR\") {\n return;\n }\n this.ensureMetadataSelfLink(event.object.metadata);\n const { namespace, resourceVersion } = event.object.metadata;\n assert__WEBPACK_IMPORTED_MODULE_6___default()(resourceVersion, \"watch events failed to return resourceVersion from kube api\");\n this.setResourceVersion(namespace, resourceVersion);\n this.setResourceVersion(\"\", resourceVersion);\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/kube-api.ts?");
31389
30578
 
31390
30579
  /***/ }),
31391
30580
 
@@ -31466,6 +30655,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31466
30655
 
31467
30656
  /***/ }),
31468
30657
 
30658
+ /***/ "./src/common/k8s/create-resource-stack.injectable.ts":
30659
+ /*!************************************************************!*\
30660
+ !*** ./src/common/k8s/create-resource-stack.injectable.ts ***!
30661
+ \************************************************************/
30662
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30663
+
30664
+ "use strict";
30665
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fs_read_directory_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fs/read-directory.injectable */ \"./src/common/fs/read-directory.injectable.ts\");\n/* harmony import */ var _fs_read_file_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fs/read-file.injectable */ \"./src/common/fs/read-file.injectable.ts\");\n/* harmony import */ var _kube_helpers_channels__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-helpers/channels */ \"./src/common/kube-helpers/channels.ts\");\n/* harmony import */ var _logger_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../logger.injectable */ \"./src/common/logger.injectable.ts\");\n/* harmony import */ var _path_join_paths_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../path/join-paths.injectable */ \"./src/common/path/join-paths.injectable.ts\");\n/* harmony import */ var _resource_stack__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\nconst createResourceStackInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"create-resource-stack\",\n instantiate: (di) => {\n const deps = {\n joinPaths: di.inject(_path_join_paths_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n kubectlApplyAll: di.inject(_kube_helpers_channels__WEBPACK_IMPORTED_MODULE_3__.kubectlApplyAllInjectionToken),\n kubectlDeleteAll: di.inject(_kube_helpers_channels__WEBPACK_IMPORTED_MODULE_3__.kubectlDeleteAllInjectionToken),\n logger: di.inject(_logger_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n readDirectory: di.inject(_fs_read_directory_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n readFile: di.inject(_fs_read_file_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n };\n return (cluster, name) => new _resource_stack__WEBPACK_IMPORTED_MODULE_6__.ResourceStack(deps, cluster, name);\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createResourceStackInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s/create-resource-stack.injectable.ts?");
30666
+
30667
+ /***/ }),
30668
+
31469
30669
  /***/ "./src/common/k8s/resource-stack.ts":
31470
30670
  /*!******************************************!*\
31471
30671
  !*** ./src/common/k8s/resource-stack.ts ***!
@@ -31473,7 +30673,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31473
30673
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31474
30674
 
31475
30675
  "use strict";
31476
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ResourceStack\": () => (/* binding */ ResourceStack)\n/* harmony export */ });\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fs-extra */ \"./node_modules/fs-extra/lib/index.js\");\n/* harmony import */ var fs_extra__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs_extra__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var handlebars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! handlebars */ \"./node_modules/handlebars/lib/index.js\");\n/* harmony import */ var handlebars__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(handlebars__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _cluster_store_cluster_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cluster-store/cluster-store */ \"./src/common/cluster-store/cluster-store.ts\");\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/dist/js-yaml.mjs\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _vars_product_name_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../vars/product-name.injectable */ \"./src/common/vars/product-name.injectable.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api.ts\");\n/* harmony import */ var _main_resource_applier_create_resource_applier_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../main/resource-applier/create-resource-applier.injectable */ \"./src/main/resource-applier/create-resource-applier.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\n\n\n\nclass ResourceStack {\n constructor(cluster, name) {\n Object.defineProperty(this, \"cluster\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: cluster\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: name\n });\n }\n /**\n *\n * @param folderPath folder path that is searched for files defining kubernetes resources.\n * @param templateContext sets the template parameters that are to be applied to any templated kubernetes resources that are to be applied.\n */\n async kubectlApplyFolder(folderPath, templateContext, extraArgs) {\n const resources = await this.renderTemplates(folderPath, templateContext);\n return this.applyResources(resources, extraArgs);\n }\n /**\n *\n * @param folderPath folder path that is searched for files defining kubernetes resources.\n * @param templateContext sets the template parameters that are to be applied to any templated kubernetes resources that are to be applied.\n */\n async kubectlDeleteFolder(folderPath, templateContext, extraArgs) {\n const resources = await this.renderTemplates(folderPath, templateContext);\n return this.deleteResources(resources, extraArgs);\n }\n async applyResources(resources, extraArgs) {\n var _a;\n const clusterModel = _cluster_store_cluster_store__WEBPACK_IMPORTED_MODULE_5__.ClusterStore.getInstance().getById(this.cluster.getId());\n if (!clusterModel) {\n throw new Error(`cluster not found`);\n }\n let kubectlArgs = extraArgs || [];\n kubectlArgs = this.appendKubectlArgs(kubectlArgs);\n if (electron__WEBPACK_IMPORTED_MODULE_4__.app) {\n const createResourceApplier = (0,_extensions_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_10__.asLegacyGlobalFunctionForExtensionApi)(_main_resource_applier_create_resource_applier_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n return await createResourceApplier(clusterModel).kubectlApplyAll(resources, kubectlArgs);\n }\n else {\n const response = await (0,_renderer_ipc__WEBPACK_IMPORTED_MODULE_7__.requestKubectlApplyAll)(this.cluster.getId(), resources, kubectlArgs);\n if (response.stderr) {\n throw new Error(response.stderr);\n }\n return (_a = response.stdout) !== null && _a !== void 0 ? _a : \"\";\n }\n }\n async deleteResources(resources, extraArgs) {\n var _a;\n const clusterModel = _cluster_store_cluster_store__WEBPACK_IMPORTED_MODULE_5__.ClusterStore.getInstance().getById(this.cluster.getId());\n if (!clusterModel) {\n throw new Error(`cluster not found`);\n }\n let kubectlArgs = extraArgs || [];\n kubectlArgs = this.appendKubectlArgs(kubectlArgs);\n if (electron__WEBPACK_IMPORTED_MODULE_4__.app) {\n const createResourceApplier = (0,_extensions_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_10__.asLegacyGlobalFunctionForExtensionApi)(_main_resource_applier_create_resource_applier_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n return await createResourceApplier(clusterModel).kubectlDeleteAll(resources, kubectlArgs);\n }\n else {\n const response = await (0,_renderer_ipc__WEBPACK_IMPORTED_MODULE_7__.requestKubectlDeleteAll)(this.cluster.getId(), resources, kubectlArgs);\n if (response.stderr) {\n throw new Error(response.stderr);\n }\n return (_a = response.stdout) !== null && _a !== void 0 ? _a : \"\";\n }\n }\n appendKubectlArgs(kubectlArgs) {\n if (!kubectlArgs.includes(\"-l\") && !kubectlArgs.includes(\"--label\")) {\n return kubectlArgs.concat([\"-l\", `app.kubernetes.io/name=${this.name}`]);\n }\n return kubectlArgs;\n }\n async renderTemplates(folderPath, templateContext) {\n var _a;\n var _b;\n const resources = [];\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_8__.getLegacyGlobalDiForExtensionApi)();\n const productName = di.inject(_vars_product_name_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[RESOURCE-STACK]: render templates from ${folderPath}`);\n const files = await fs_extra__WEBPACK_IMPORTED_MODULE_0___default().readdir(folderPath);\n for (const filename of files) {\n const file = path__WEBPACK_IMPORTED_MODULE_1___default().join(folderPath, filename);\n const raw = await fs_extra__WEBPACK_IMPORTED_MODULE_0___default().readFile(file);\n const data = (filename.endsWith(\".hb\")\n ? handlebars__WEBPACK_IMPORTED_MODULE_2___default().compile(raw.toString())(templateContext)\n : raw.toString()).trim();\n if (!data) {\n continue;\n }\n for (const entry of js_yaml__WEBPACK_IMPORTED_MODULE_6__[\"default\"].loadAll(data)) {\n if (typeof entry !== \"object\" || !entry) {\n continue;\n }\n const resource = entry;\n if (typeof resource.metadata === \"object\") {\n (_a = (_b = resource.metadata).labels) !== null && _a !== void 0 ? _a : (_b.labels = {});\n resource.metadata.labels[\"app.kubernetes.io/name\"] = this.name;\n resource.metadata.labels[\"app.kubernetes.io/managed-by\"] = productName;\n resource.metadata.labels[\"app.kubernetes.io/created-by\"] = \"resource-stack\";\n }\n resources.push(js_yaml__WEBPACK_IMPORTED_MODULE_6__[\"default\"].dump(resource));\n }\n }\n return resources;\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s/resource-stack.ts?");
30676
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ResourceStack\": () => (/* binding */ ResourceStack)\n/* harmony export */ });\n/* harmony import */ var handlebars__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! handlebars */ \"./node_modules/handlebars/lib/index.js\");\n/* harmony import */ var handlebars__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(handlebars__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/dist/js-yaml.mjs\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _vars_product_name_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vars/product-name.injectable */ \"./src/common/vars/product-name.injectable.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nclass ResourceStack {\n constructor(dependencies, cluster, name) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"cluster\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: cluster\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: name\n });\n }\n /**\n *\n * @param folderPath folder path that is searched for files defining kubernetes resources.\n * @param templateContext sets the template parameters that are to be applied to any templated kubernetes resources that are to be applied.\n */\n async kubectlApplyFolder(folderPath, templateContext, extraArgs) {\n const resources = await this.renderTemplates(folderPath, templateContext);\n const result = await this.applyResources(resources, extraArgs);\n if (result.callWasSuccessful) {\n return result.response;\n }\n this.dependencies.logger.warn(`[RESOURCE-STACK]: failed to apply resources: ${result.error}`);\n return \"\";\n }\n /**\n *\n * @param folderPath folder path that is searched for files defining kubernetes resources.\n * @param templateContext sets the template parameters that are to be applied to any templated kubernetes resources that are to be applied.\n */\n async kubectlDeleteFolder(folderPath, templateContext, extraArgs) {\n const resources = await this.renderTemplates(folderPath, templateContext);\n const result = await this.deleteResources(resources, extraArgs);\n if (result.callWasSuccessful) {\n return result.response;\n }\n this.dependencies.logger.warn(`[RESOURCE-STACK]: failed to delete resources: ${result.error}`);\n return \"\";\n }\n async applyResources(resources, extraArgs = []) {\n const kubectlArgs = [...extraArgs, ...this.getAdditionalArgs(extraArgs)];\n return this.dependencies.kubectlApplyAll({\n clusterId: this.cluster.getId(),\n resources,\n extraArgs: kubectlArgs,\n });\n }\n async deleteResources(resources, extraArgs = []) {\n const kubectlArgs = [...extraArgs, ...this.getAdditionalArgs(extraArgs)];\n return this.dependencies.kubectlDeleteAll({\n clusterId: this.cluster.getId(),\n resources,\n extraArgs: kubectlArgs,\n });\n }\n getAdditionalArgs(kubectlArgs) {\n if (!kubectlArgs.includes(\"-l\") && !kubectlArgs.includes(\"--label\")) {\n return [\"-l\", `app.kubernetes.io/name=${this.name}`];\n }\n return [];\n }\n async renderTemplates(folderPath, templateContext) {\n var _a;\n var _b;\n const resources = [];\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__.getLegacyGlobalDiForExtensionApi)();\n const productName = di.inject(_vars_product_name_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n this.dependencies.logger.info(`[RESOURCE-STACK]: render templates from ${folderPath}`);\n const files = await this.dependencies.readDirectory(folderPath);\n for (const filename of files) {\n const file = this.dependencies.joinPaths(folderPath, filename);\n const raw = await this.dependencies.readFile(file);\n const data = (filename.endsWith(\".hb\")\n ? handlebars__WEBPACK_IMPORTED_MODULE_0___default().compile(raw)(templateContext)\n : raw).trim();\n if (!data) {\n continue;\n }\n for (const entry of js_yaml__WEBPACK_IMPORTED_MODULE_1__[\"default\"].loadAll(data)) {\n if (typeof entry !== \"object\" || !entry) {\n continue;\n }\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_4__.hasTypedProperty)(entry, \"metadata\", _utils__WEBPACK_IMPORTED_MODULE_4__.isObject)) {\n const labels = ((_a = (_b = entry.metadata).labels) !== null && _a !== void 0 ? _a : (_b.labels = {}));\n labels[\"app.kubernetes.io/name\"] = this.name;\n labels[\"app.kubernetes.io/managed-by\"] = productName;\n labels[\"app.kubernetes.io/created-by\"] = \"resource-stack\";\n }\n resources.push(js_yaml__WEBPACK_IMPORTED_MODULE_1__[\"default\"].dump(entry));\n }\n }\n return resources;\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s/resource-stack.ts?");
31477
30677
 
31478
30678
  /***/ }),
31479
30679
 
@@ -31488,6 +30688,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31488
30688
 
31489
30689
  /***/ }),
31490
30690
 
30691
+ /***/ "./src/common/kube-helpers/channels.ts":
30692
+ /*!*********************************************!*\
30693
+ !*** ./src/common/kube-helpers/channels.ts ***!
30694
+ \*********************************************/
30695
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30696
+
30697
+ "use strict";
30698
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"kubectlApplyAllChannel\": () => (/* binding */ kubectlApplyAllChannel),\n/* harmony export */ \"kubectlApplyAllInjectionToken\": () => (/* binding */ kubectlApplyAllInjectionToken),\n/* harmony export */ \"kubectlDeleteAllChannel\": () => (/* binding */ kubectlDeleteAllChannel),\n/* harmony export */ \"kubectlDeleteAllInjectionToken\": () => (/* binding */ kubectlDeleteAllInjectionToken)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst kubectlApplyAllChannel = {\n id: \"kubectl-apply-all\",\n};\nconst kubectlApplyAllInjectionToken = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectionToken)({\n id: \"kubectl-apply-all\",\n});\nconst kubectlDeleteAllChannel = {\n id: \"kubectl-delete-all\",\n};\nconst kubectlDeleteAllInjectionToken = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectionToken)({\n id: \"kubectl-delete-all\",\n});\n\n\n//# sourceURL=webpack://open-lens/./src/common/kube-helpers/channels.ts?");
30699
+
30700
+ /***/ }),
30701
+
31491
30702
  /***/ "./src/common/logger.injectable.ts":
31492
30703
  /*!*****************************************!*\
31493
30704
  !*** ./src/common/logger.injectable.ts ***!
@@ -31917,17 +31128,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
31917
31128
 
31918
31129
  /***/ }),
31919
31130
 
31920
- /***/ "./src/common/utils/lazy-initialized.ts":
31921
- /*!**********************************************!*\
31922
- !*** ./src/common/utils/lazy-initialized.ts ***!
31923
- \**********************************************/
31924
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
31925
-
31926
- "use strict";
31927
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"lazyInitialized\": () => (/* binding */ lazyInitialized)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * A function to make a `OnceCell<T>`\n */\nfunction lazyInitialized(builder) {\n let value;\n let called = false;\n return {\n get() {\n if (called) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return value;\n }\n value = builder();\n called = true;\n return value;\n },\n };\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/lazy-initialized.ts?");
31928
-
31929
- /***/ }),
31930
-
31931
31131
  /***/ "./src/common/utils/n-fircate.ts":
31932
31132
  /*!***************************************!*\
31933
31133
  !*** ./src/common/utils/n-fircate.ts ***!
@@ -32155,7 +31355,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32155
31355
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32156
31356
 
32157
31357
  "use strict";
32158
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"apiKubePrefix\": () => (/* binding */ apiKubePrefix),\n/* harmony export */ \"apiPrefix\": () => (/* binding */ apiPrefix),\n/* harmony export */ \"baseBinariesDir\": () => (/* binding */ baseBinariesDir),\n/* harmony export */ \"defaultEditorFontFamily\": () => (/* binding */ defaultEditorFontFamily),\n/* harmony export */ \"defaultFontSize\": () => (/* binding */ defaultFontSize),\n/* harmony export */ \"defaultTerminalFontFamily\": () => (/* binding */ defaultTerminalFontFamily),\n/* harmony export */ \"defaultThemeId\": () => (/* binding */ defaultThemeId),\n/* harmony export */ \"docsUrl\": () => (/* binding */ docsUrl),\n/* harmony export */ \"getBinaryName\": () => (/* binding */ getBinaryName),\n/* harmony export */ \"helmBinaryName\": () => (/* binding */ helmBinaryName),\n/* harmony export */ \"helmBinaryPath\": () => (/* binding */ helmBinaryPath),\n/* harmony export */ \"isDebugging\": () => (/* binding */ isDebugging),\n/* harmony export */ \"isDevelopment\": () => (/* binding */ isDevelopment),\n/* harmony export */ \"isLinux\": () => (/* binding */ isLinux),\n/* harmony export */ \"isMac\": () => (/* binding */ isMac),\n/* harmony export */ \"isProduction\": () => (/* binding */ isProduction),\n/* harmony export */ \"isTestEnv\": () => (/* binding */ isTestEnv),\n/* harmony export */ \"isWindows\": () => (/* binding */ isWindows),\n/* harmony export */ \"issuesTrackerUrl\": () => (/* binding */ issuesTrackerUrl),\n/* harmony export */ \"kubeAuthProxyBinaryName\": () => (/* binding */ kubeAuthProxyBinaryName),\n/* harmony export */ \"kubernetesDocumentationWeblinkId\": () => (/* binding */ kubernetesDocumentationWeblinkId),\n/* harmony export */ \"lensBlogWeblinkId\": () => (/* binding */ lensBlogWeblinkId),\n/* harmony export */ \"lensDocumentationWeblinkId\": () => (/* binding */ lensDocumentationWeblinkId),\n/* harmony export */ \"lensSlackWeblinkId\": () => (/* binding */ lensSlackWeblinkId),\n/* harmony export */ \"lensTwitterWeblinkId\": () => (/* binding */ lensTwitterWeblinkId),\n/* harmony export */ \"lensWebsiteWeblinkId\": () => (/* binding */ lensWebsiteWeblinkId),\n/* harmony export */ \"normalizedArch\": () => (/* binding */ normalizedArch),\n/* harmony export */ \"normalizedPlatform\": () => (/* binding */ normalizedPlatform),\n/* harmony export */ \"publicPath\": () => (/* binding */ publicPath),\n/* harmony export */ \"slackUrl\": () => (/* binding */ slackUrl),\n/* harmony export */ \"supportUrl\": () => (/* binding */ supportUrl)\n/* harmony export */ });\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 _utils_lazy_initialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/lazy-initialized */ \"./src/common/utils/lazy-initialized.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar _a;\n// App's common configuration for any process (main, renderer, build pipeline, etc.)\n\n\n/**\n * @deprecated Switch to using isMacInjectable\n */\nconst isMac = process.platform === \"darwin\";\n/**\n * @deprecated Switch to using isWindowsInjectable\n */\nconst isWindows = process.platform === \"win32\";\n/**\n * @deprecated Switch to using isLinuxInjectable\n */\nconst isLinux = process.platform === \"linux\";\n/**\n * @deprecated switch to using `isDebuggingInjectable`\n */\nconst isDebugging = [\"true\", \"1\", \"yes\", \"y\", \"on\"].includes(((_a = process.env.DEBUG) !== null && _a !== void 0 ? _a : \"\").toLowerCase());\n/**\n * @deprecated Switch to using isTestEnvInjectable\n */\nconst isTestEnv = !!process.env.JEST_WORKER_ID;\n/**\n * @deprecated Switch to using isProductionInjectable\n */\nconst isProduction = \"development\" === \"production\";\n/**\n * @deprecated Switch to using isDevelopmentInjectable\n */\nconst isDevelopment = !isTestEnv && !isProduction;\nconst publicPath = \"/build/\";\nconst defaultThemeId = \"lens-dark\";\nconst defaultFontSize = 12;\nconst defaultTerminalFontFamily = \"RobotoMono\";\nconst defaultEditorFontFamily = \"RobotoMono\";\n/**\n * @deprecated use `di.inject(normalizedPlatformInjectable)` instead\n */\nconst normalizedPlatform = (() => {\n switch (process.platform) {\n case \"darwin\":\n return \"darwin\";\n case \"linux\":\n return \"linux\";\n case \"win32\":\n return \"windows\";\n default:\n throw new Error(`platform=${process.platform} is unsupported`);\n }\n})();\n/**\n * @deprecated use `di.inject(bundledBinariesNormalizedArchInjectable)` instead\n */\nconst normalizedArch = (() => {\n switch (process.arch) {\n case \"arm64\":\n return \"arm64\";\n case \"x64\":\n case \"amd64\":\n return \"x64\";\n case \"386\":\n case \"x32\":\n case \"ia32\":\n return \"ia32\";\n default:\n throw new Error(`arch=${process.arch} is unsupported`);\n }\n})();\nfunction getBinaryName(name, { forPlatform = normalizedPlatform } = {}) {\n if (forPlatform === \"windows\") {\n return `${name}.exe`;\n }\n return name;\n}\nconst resourcesDir = (0,_utils_lazy_initialized__WEBPACK_IMPORTED_MODULE_1__.lazyInitialized)(() => (isProduction\n ? process.resourcesPath\n : path__WEBPACK_IMPORTED_MODULE_0___default().join(process.cwd(), \"binaries\", \"client\", normalizedPlatform)));\n/**\n * @deprecated for being explicit side effect.\n */\nconst baseBinariesDir = (0,_utils_lazy_initialized__WEBPACK_IMPORTED_MODULE_1__.lazyInitialized)(() => path__WEBPACK_IMPORTED_MODULE_0___default().join(resourcesDir.get(), normalizedArch));\n/**\n * @deprecated for being explicit side effect.\n */\nconst kubeAuthProxyBinaryName = getBinaryName(\"lens-k8s-proxy\");\n/**\n * @deprecated for being explicit side effect.\n */\nconst helmBinaryName = getBinaryName(\"helm\");\n/**\n * @deprecated for being explicit side effect.\n */\nconst helmBinaryPath = (0,_utils_lazy_initialized__WEBPACK_IMPORTED_MODULE_1__.lazyInitialized)(() => path__WEBPACK_IMPORTED_MODULE_0___default().join(baseBinariesDir.get(), helmBinaryName));\n// Apis\nconst apiPrefix = \"/api\"; // local router apis\nconst apiKubePrefix = \"/api-kube\"; // k8s cluster apis\n// Links\nconst issuesTrackerUrl = \"https://github.com/lensapp/lens/issues\";\nconst slackUrl = \"https://join.slack.com/t/k8slens/shared_invite/zt-wcl8jq3k-68R5Wcmk1o95MLBE5igUDQ\";\nconst supportUrl = \"https://docs.k8slens.dev/support/\";\nconst lensWebsiteWeblinkId = \"lens-website-link\";\nconst lensDocumentationWeblinkId = \"lens-documentation-link\";\nconst lensSlackWeblinkId = \"lens-slack-link\";\nconst lensTwitterWeblinkId = \"lens-twitter-link\";\nconst lensBlogWeblinkId = \"lens-blog-link\";\nconst kubernetesDocumentationWeblinkId = \"kubernetes-documentation-link\";\nconst docsUrl = \"https://docs.k8slens.dev\";\n\n\n//# sourceURL=webpack://open-lens/./src/common/vars.ts?");
31358
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"apiKubePrefix\": () => (/* binding */ apiKubePrefix),\n/* harmony export */ \"apiPrefix\": () => (/* binding */ apiPrefix),\n/* harmony export */ \"defaultEditorFontFamily\": () => (/* binding */ defaultEditorFontFamily),\n/* harmony export */ \"defaultFontSize\": () => (/* binding */ defaultFontSize),\n/* harmony export */ \"defaultTerminalFontFamily\": () => (/* binding */ defaultTerminalFontFamily),\n/* harmony export */ \"defaultThemeId\": () => (/* binding */ defaultThemeId),\n/* harmony export */ \"docsUrl\": () => (/* binding */ docsUrl),\n/* harmony export */ \"isDebugging\": () => (/* binding */ isDebugging),\n/* harmony export */ \"isDevelopment\": () => (/* binding */ isDevelopment),\n/* harmony export */ \"isLinux\": () => (/* binding */ isLinux),\n/* harmony export */ \"isMac\": () => (/* binding */ isMac),\n/* harmony export */ \"isProduction\": () => (/* binding */ isProduction),\n/* harmony export */ \"isTestEnv\": () => (/* binding */ isTestEnv),\n/* harmony export */ \"isWindows\": () => (/* binding */ isWindows),\n/* harmony export */ \"issuesTrackerUrl\": () => (/* binding */ issuesTrackerUrl),\n/* harmony export */ \"kubernetesDocumentationWeblinkId\": () => (/* binding */ kubernetesDocumentationWeblinkId),\n/* harmony export */ \"lensBlogWeblinkId\": () => (/* binding */ lensBlogWeblinkId),\n/* harmony export */ \"lensDocumentationWeblinkId\": () => (/* binding */ lensDocumentationWeblinkId),\n/* harmony export */ \"lensSlackWeblinkId\": () => (/* binding */ lensSlackWeblinkId),\n/* harmony export */ \"lensTwitterWeblinkId\": () => (/* binding */ lensTwitterWeblinkId),\n/* harmony export */ \"lensWebsiteWeblinkId\": () => (/* binding */ lensWebsiteWeblinkId),\n/* harmony export */ \"publicPath\": () => (/* binding */ publicPath),\n/* harmony export */ \"slackUrl\": () => (/* binding */ slackUrl),\n/* harmony export */ \"supportUrl\": () => (/* binding */ supportUrl)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar _a;\n/**\n * @deprecated Switch to using isMacInjectable\n */\nconst isMac = process.platform === \"darwin\";\n/**\n * @deprecated Switch to using isWindowsInjectable\n */\nconst isWindows = process.platform === \"win32\";\n/**\n * @deprecated Switch to using isLinuxInjectable\n */\nconst isLinux = process.platform === \"linux\";\n/**\n * @deprecated switch to using `isDebuggingInjectable`\n */\nconst isDebugging = [\"true\", \"1\", \"yes\", \"y\", \"on\"].includes(((_a = process.env.DEBUG) !== null && _a !== void 0 ? _a : \"\").toLowerCase());\n/**\n * @deprecated Switch to using isTestEnvInjectable\n */\nconst isTestEnv = !!process.env.JEST_WORKER_ID;\n/**\n * @deprecated Switch to using isProductionInjectable\n */\nconst isProduction = \"development\" === \"production\";\n/**\n * @deprecated Switch to using isDevelopmentInjectable\n */\nconst isDevelopment = !isTestEnv && !isProduction;\nconst publicPath = \"/build/\";\nconst defaultThemeId = \"lens-dark\";\nconst defaultFontSize = 12;\nconst defaultTerminalFontFamily = \"RobotoMono\";\nconst defaultEditorFontFamily = \"RobotoMono\";\n// Apis\nconst apiPrefix = \"/api\"; // local router apis\nconst apiKubePrefix = \"/api-kube\"; // k8s cluster apis\n// Links\nconst issuesTrackerUrl = \"https://github.com/lensapp/lens/issues\";\nconst slackUrl = \"https://join.slack.com/t/k8slens/shared_invite/zt-wcl8jq3k-68R5Wcmk1o95MLBE5igUDQ\";\nconst supportUrl = \"https://docs.k8slens.dev/support/\";\nconst lensWebsiteWeblinkId = \"lens-website-link\";\nconst lensDocumentationWeblinkId = \"lens-documentation-link\";\nconst lensSlackWeblinkId = \"lens-slack-link\";\nconst lensTwitterWeblinkId = \"lens-twitter-link\";\nconst lensBlogWeblinkId = \"lens-blog-link\";\nconst kubernetesDocumentationWeblinkId = \"kubernetes-documentation-link\";\nconst docsUrl = \"https://docs.k8slens.dev\";\n\n\n//# sourceURL=webpack://open-lens/./src/common/vars.ts?");
32159
31359
 
32160
31360
  /***/ }),
32161
31361
 
@@ -32452,7 +31652,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32452
31652
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32453
31653
 
32454
31654
  "use strict";
32455
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Endpoints),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_8__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeObject),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_9__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.NodeApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PersistentVolumeClaimApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PodApi),\n/* harmony export */ \"PriorityClass\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PriorityClass),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_0__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* binding */ apiManager),\n/* harmony export */ \"forCluster\": () => (/* binding */ forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* binding */ forRemoteCluster)\n/* harmony export */ });\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony import */ var _common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/k8s-api/api-manager/manager.injectable */ \"./src/common/k8s-api/api-manager/manager.injectable.ts\");\n/* harmony import */ var _common_k8s_api_create_kube_api_for_cluster_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/k8s-api/create-kube-api-for-cluster.injectable */ \"./src/common/k8s-api/create-kube-api-for-cluster.injectable.ts\");\n/* harmony import */ var _common_k8s_api_create_kube_api_for_remote_cluster_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/create-kube-api-for-remote-cluster.injectable */ \"./src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/kube-json-api */ \"./src/common/k8s-api/kube-json-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony import */ var _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/endpoints */ \"./src/common/k8s-api/endpoints/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// NOTE: this file is not currently exported as part of `Common`, but should be.\n// It is here to consolidate the common parts which are exported to `Main`\n// and to `Renderer`\n\n\n\n\n\n\nconst apiManager = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_5__.asLegacyGlobalForExtensionApi)(_common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nconst forCluster = (0,_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__.asLegacyGlobalFunctionForExtensionApi)(_common_k8s_api_create_kube_api_for_cluster_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nconst forRemoteCluster = (0,_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__.asLegacyGlobalFunctionForExtensionApi)(_common_k8s_api_create_kube_api_for_remote_cluster_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/common-api/k8s-api.ts?");
31655
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Endpoints),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_8__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeObject),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_9__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.NodeApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PersistentVolumeClaimApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PodApi),\n/* harmony export */ \"PriorityClass\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.PriorityClass),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* binding */ ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* binding */ apiManager),\n/* harmony export */ \"createResourceStack\": () => (/* binding */ createResourceStack),\n/* harmony export */ \"forCluster\": () => (/* binding */ forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* binding */ forRemoteCluster)\n/* harmony export */ });\n/* harmony import */ var _common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/k8s-api/api-manager/manager.injectable */ \"./src/common/k8s-api/api-manager/manager.injectable.ts\");\n/* harmony import */ var _common_k8s_api_create_kube_api_for_cluster_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/k8s-api/create-kube-api-for-cluster.injectable */ \"./src/common/k8s-api/create-kube-api-for-cluster.injectable.ts\");\n/* harmony import */ var _common_k8s_api_create_kube_api_for_remote_cluster_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/k8s-api/create-kube-api-for-remote-cluster.injectable */ \"./src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts\");\n/* harmony import */ var _common_k8s_create_resource_stack_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s/create-resource-stack.injectable */ \"./src/common/k8s/create-resource-stack.injectable.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/kube-json-api */ \"./src/common/k8s-api/kube-json-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony import */ var _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/endpoints */ \"./src/common/k8s-api/endpoints/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// NOTE: this file is not currently exported as part of `Common`, but should be.\n// It is here to consolidate the common parts which are exported to `Main`\n// and to `Renderer`\n\n\n\n\n\n\nconst apiManager = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_5__.asLegacyGlobalForExtensionApi)(_common_k8s_api_api_manager_manager_injectable__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nconst forCluster = (0,_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__.asLegacyGlobalFunctionForExtensionApi)(_common_k8s_api_create_kube_api_for_cluster_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nconst forRemoteCluster = (0,_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__.asLegacyGlobalFunctionForExtensionApi)(_common_k8s_api_create_kube_api_for_remote_cluster_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nconst createResourceStack = (0,_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_4__.asLegacyGlobalFunctionForExtensionApi)(_common_k8s_create_resource_stack_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n/**\n * @deprecated Switch to using `Common.createResourceStack` instead\n */\nclass ResourceStack {\n constructor(cluster, name) {\n Object.defineProperty(this, \"impl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.impl = createResourceStack(cluster, name);\n }\n kubectlApplyFolder(folderPath, templateContext, extraArgs) {\n return this.impl.kubectlApplyFolder(folderPath, templateContext, extraArgs);\n }\n kubectlDeleteFolder(folderPath, templateContext, extraArgs) {\n return this.impl.kubectlDeleteFolder(folderPath, templateContext, extraArgs);\n }\n}\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/common-api/k8s-api.ts?");
32456
31656
 
32457
31657
  /***/ }),
32458
31658
 
@@ -32683,7 +31883,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32683
31883
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32684
31884
 
32685
31885
  "use strict";
32686
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Endpoint),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeObject),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PodsApi),\n/* harmony export */ \"PriorityClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PriorityClass),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.apiManager),\n/* harmony export */ \"forCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.forRemoteCluster),\n/* harmony export */ \"isAllowedResource\": () => (/* binding */ isAllowedResource)\n/* harmony export */ });\n/* harmony import */ var _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common-api/k8s-api */ \"./src/extensions/common-api/k8s-api.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * @deprecated This function never works\n * @returns false\n */\nfunction isAllowedResource(...args) {\n return Boolean(void args);\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/main-api/k8s-api.ts?");
31886
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Endpoint),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeObject),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PodsApi),\n/* harmony export */ \"PriorityClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.PriorityClass),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.apiManager),\n/* harmony export */ \"createResourceStack\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.createResourceStack),\n/* harmony export */ \"forCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__.forRemoteCluster),\n/* harmony export */ \"isAllowedResource\": () => (/* binding */ isAllowedResource)\n/* harmony export */ });\n/* harmony import */ var _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common-api/k8s-api */ \"./src/extensions/common-api/k8s-api.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n/**\n * @deprecated This function never works\n * @returns false\n */\nfunction isAllowedResource(...args) {\n return Boolean(void args);\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/main-api/k8s-api.ts?");
32687
31887
 
32688
31888
  /***/ }),
32689
31889
 
@@ -32749,7 +31949,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32749
31949
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32750
31950
 
32751
31951
  "use strict";
32752
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Endpoint),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeObject),\n/* harmony export */ \"KubeObjectStatusLevel\": () => (/* reexport safe */ _common_k8s_api_kube_object_status__WEBPACK_IMPORTED_MODULE_35__.KubeObjectStatusLevel),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PodsApi),\n/* harmony export */ \"PriorityClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PriorityClass),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.apiManager),\n/* harmony export */ \"clusterRoleApi\": () => (/* binding */ clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* binding */ clusterRoleBindingApi),\n/* harmony export */ \"configMapApi\": () => (/* binding */ configMapApi),\n/* harmony export */ \"crdApi\": () => (/* binding */ crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* binding */ cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* binding */ daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* binding */ deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* binding */ endpointApi),\n/* harmony export */ \"eventApi\": () => (/* binding */ eventApi),\n/* harmony export */ \"forCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.forRemoteCluster),\n/* harmony export */ \"hpaApi\": () => (/* binding */ hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* binding */ ingressApi),\n/* harmony export */ \"isAllowedResource\": () => (/* binding */ isAllowedResource),\n/* harmony export */ \"jobApi\": () => (/* binding */ jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* binding */ limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* binding */ namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* binding */ networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* binding */ nodesApi),\n/* harmony export */ \"pcApi\": () => (/* binding */ pcApi),\n/* harmony export */ \"pdbApi\": () => (/* binding */ pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* binding */ persistentVolumeApi),\n/* harmony export */ \"podsApi\": () => (/* binding */ podsApi),\n/* harmony export */ \"pvcApi\": () => (/* binding */ pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* binding */ replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* binding */ resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* binding */ roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* binding */ roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* binding */ secretsApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* binding */ serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* binding */ serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* binding */ statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* binding */ storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/is-allowed-resource.injectable */ \"./src/common/utils/is-allowed-resource.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role-binding.api.injectable */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_api_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role.api.injectable */ \"./src/common/k8s-api/endpoints/cluster-role.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_service_account_api_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service-account.api.injectable */ \"./src/common/k8s-api/endpoints/service-account.api.injectable.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_role_api_injectable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role.api.injectable */ \"./src/common/k8s-api/endpoints/role.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_pod_api_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/pod.api.injectable */ \"./src/common/k8s-api/endpoints/pod.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_daemon_set_api_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/daemon-set.api.injectable */ \"./src/common/k8s-api/endpoints/daemon-set.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_replica_set_api_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/replica-set.api.injectable */ \"./src/common/k8s-api/endpoints/replica-set.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_stateful_set_api_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/stateful-set.api.injectable */ \"./src/common/k8s-api/endpoints/stateful-set.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_deployment_api_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/deployment.api.injectable */ \"./src/common/k8s-api/endpoints/deployment.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_job_api_injectable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/job.api.injectable */ \"./src/common/k8s-api/endpoints/job.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_cron_job_api_injectable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cron-job.api.injectable */ \"./src/common/k8s-api/endpoints/cron-job.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_node_api_injectable__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/node.api.injectable */ \"./src/common/k8s-api/endpoints/node.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_config_map_api_injectable__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/config-map.api.injectable */ \"./src/common/k8s-api/endpoints/config-map.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_secret_api_injectable__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/secret.api.injectable */ \"./src/common/k8s-api/endpoints/secret.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_resource_quota_api_injectable__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/resource-quota.api.injectable */ \"./src/common/k8s-api/endpoints/resource-quota.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_limit_range_api_injectable__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/limit-range.api.injectable */ \"./src/common/k8s-api/endpoints/limit-range.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_horizontal_pod_autoscaler_api_injectable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable */ \"./src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_pod_disruption_budget_api_injectable__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable */ \"./src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_priority_class_api_injectable__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/priority-class.api.injectable */ \"./src/common/k8s-api/endpoints/priority-class.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_service_api_injectable__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service.api.injectable */ \"./src/common/k8s-api/endpoints/service.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_endpoint_api_injectable__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/endpoint.api.injectable */ \"./src/common/k8s-api/endpoints/endpoint.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_ingress_api_injectable__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/ingress.api.injectable */ \"./src/common/k8s-api/endpoints/ingress.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_network_policy_api_injectable__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/network-policy.api.injectable */ \"./src/common/k8s-api/endpoints/network-policy.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_api_injectable__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume.api.injectable */ \"./src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_claim_api_injectable__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable */ \"./src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_storage_class_api_injectable__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/storage-class.api.injectable */ \"./src/common/k8s-api/endpoints/storage-class.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_namespace_api_injectable__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/namespace.api.injectable */ \"./src/common/k8s-api/endpoints/namespace.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_events_api_injectable__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/events.api.injectable */ \"./src/common/k8s-api/endpoints/events.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role-binding.api.injectable */ \"./src/common/k8s-api/endpoints/role-binding.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_custom_resource_definition_api_injectable__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/custom-resource-definition.api.injectable */ \"./src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts\");\n/* harmony import */ var _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../common-api/k8s-api */ \"./src/extensions/common-api/k8s-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object_status__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../common/k8s-api/kube-object-status */ \"./src/common/k8s-api/kube-object-status.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isAllowedResource(resource) {\n const resources = (0,lodash_fp__WEBPACK_IMPORTED_MODULE_1__.castArray)(resource);\n const di = (0,_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__.getLegacyGlobalDiForExtensionApi)();\n return resources.every((resourceName) => {\n const _isAllowedResource = di.inject(_common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__[\"default\"], resourceName);\n // Note: Legacy isAllowedResource does not advertise reactivity\n return _isAllowedResource.get();\n });\n}\nconst serviceAccountsApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_service_account_api_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nconst clusterRoleApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_cluster_role_api_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nconst clusterRoleBindingApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_cluster_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nconst roleApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_role_api_injectable__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\nconst podsApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_pod_api_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\nconst daemonSetApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_daemon_set_api_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\nconst replicaSetApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_replica_set_api_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\nconst statefulSetApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_stateful_set_api_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\nconst deploymentApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_deployment_api_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\nconst jobApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_job_api_injectable__WEBPACK_IMPORTED_MODULE_13__[\"default\"]);\nconst cronJobApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_cron_job_api_injectable__WEBPACK_IMPORTED_MODULE_14__[\"default\"]);\nconst nodesApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_node_api_injectable__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\nconst secretsApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_secret_api_injectable__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\nconst configMapApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_config_map_api_injectable__WEBPACK_IMPORTED_MODULE_16__[\"default\"]);\nconst resourceQuotaApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_resource_quota_api_injectable__WEBPACK_IMPORTED_MODULE_18__[\"default\"]);\nconst limitRangeApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_limit_range_api_injectable__WEBPACK_IMPORTED_MODULE_19__[\"default\"]);\nconst serviceApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_service_api_injectable__WEBPACK_IMPORTED_MODULE_23__[\"default\"]);\nconst hpaApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_horizontal_pod_autoscaler_api_injectable__WEBPACK_IMPORTED_MODULE_20__[\"default\"]);\nconst pdbApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_pod_disruption_budget_api_injectable__WEBPACK_IMPORTED_MODULE_21__[\"default\"]);\nconst pcApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_priority_class_api_injectable__WEBPACK_IMPORTED_MODULE_22__[\"default\"]);\nconst endpointApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_endpoint_api_injectable__WEBPACK_IMPORTED_MODULE_24__[\"default\"]);\nconst ingressApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_ingress_api_injectable__WEBPACK_IMPORTED_MODULE_25__[\"default\"]);\nconst networkPolicyApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_network_policy_api_injectable__WEBPACK_IMPORTED_MODULE_26__[\"default\"]);\nconst persistentVolumeApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_persistent_volume_api_injectable__WEBPACK_IMPORTED_MODULE_27__[\"default\"]);\nconst pvcApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_persistent_volume_claim_api_injectable__WEBPACK_IMPORTED_MODULE_28__[\"default\"]);\nconst storageClassApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_storage_class_api_injectable__WEBPACK_IMPORTED_MODULE_29__[\"default\"]);\nconst namespacesApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_namespace_api_injectable__WEBPACK_IMPORTED_MODULE_30__[\"default\"]);\nconst eventApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_events_api_injectable__WEBPACK_IMPORTED_MODULE_31__[\"default\"]);\nconst roleBindingApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_32__[\"default\"]);\nconst crdApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_custom_resource_definition_api_injectable__WEBPACK_IMPORTED_MODULE_33__[\"default\"]);\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/renderer-api/k8s-api.ts?");
31952
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Endpoint),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeObject),\n/* harmony export */ \"KubeObjectStatusLevel\": () => (/* reexport safe */ _common_k8s_api_kube_object_status__WEBPACK_IMPORTED_MODULE_35__.KubeObjectStatusLevel),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PodsApi),\n/* harmony export */ \"PriorityClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.PriorityClass),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.apiManager),\n/* harmony export */ \"clusterRoleApi\": () => (/* binding */ clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* binding */ clusterRoleBindingApi),\n/* harmony export */ \"configMapApi\": () => (/* binding */ configMapApi),\n/* harmony export */ \"crdApi\": () => (/* binding */ crdApi),\n/* harmony export */ \"createResourceStack\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.createResourceStack),\n/* harmony export */ \"cronJobApi\": () => (/* binding */ cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* binding */ daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* binding */ deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* binding */ endpointApi),\n/* harmony export */ \"eventApi\": () => (/* binding */ eventApi),\n/* harmony export */ \"forCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* reexport safe */ _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__.forRemoteCluster),\n/* harmony export */ \"hpaApi\": () => (/* binding */ hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* binding */ ingressApi),\n/* harmony export */ \"isAllowedResource\": () => (/* binding */ isAllowedResource),\n/* harmony export */ \"jobApi\": () => (/* binding */ jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* binding */ limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* binding */ namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* binding */ networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* binding */ nodesApi),\n/* harmony export */ \"pcApi\": () => (/* binding */ pcApi),\n/* harmony export */ \"pdbApi\": () => (/* binding */ pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* binding */ persistentVolumeApi),\n/* harmony export */ \"podsApi\": () => (/* binding */ podsApi),\n/* harmony export */ \"pvcApi\": () => (/* binding */ pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* binding */ replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* binding */ resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* binding */ roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* binding */ roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* binding */ secretsApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* binding */ serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* binding */ serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* binding */ statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* binding */ storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/is-allowed-resource.injectable */ \"./src/common/utils/is-allowed-resource.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role-binding.api.injectable */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_cluster_role_api_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cluster-role.api.injectable */ \"./src/common/k8s-api/endpoints/cluster-role.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_service_account_api_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service-account.api.injectable */ \"./src/common/k8s-api/endpoints/service-account.api.injectable.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_role_api_injectable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role.api.injectable */ \"./src/common/k8s-api/endpoints/role.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_pod_api_injectable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/pod.api.injectable */ \"./src/common/k8s-api/endpoints/pod.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_daemon_set_api_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/daemon-set.api.injectable */ \"./src/common/k8s-api/endpoints/daemon-set.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_replica_set_api_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/replica-set.api.injectable */ \"./src/common/k8s-api/endpoints/replica-set.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_stateful_set_api_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/stateful-set.api.injectable */ \"./src/common/k8s-api/endpoints/stateful-set.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_deployment_api_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/deployment.api.injectable */ \"./src/common/k8s-api/endpoints/deployment.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_job_api_injectable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/job.api.injectable */ \"./src/common/k8s-api/endpoints/job.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_cron_job_api_injectable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/cron-job.api.injectable */ \"./src/common/k8s-api/endpoints/cron-job.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_node_api_injectable__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/node.api.injectable */ \"./src/common/k8s-api/endpoints/node.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_config_map_api_injectable__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/config-map.api.injectable */ \"./src/common/k8s-api/endpoints/config-map.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_secret_api_injectable__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/secret.api.injectable */ \"./src/common/k8s-api/endpoints/secret.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_resource_quota_api_injectable__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/resource-quota.api.injectable */ \"./src/common/k8s-api/endpoints/resource-quota.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_limit_range_api_injectable__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/limit-range.api.injectable */ \"./src/common/k8s-api/endpoints/limit-range.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_horizontal_pod_autoscaler_api_injectable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable */ \"./src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_pod_disruption_budget_api_injectable__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable */ \"./src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_priority_class_api_injectable__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/priority-class.api.injectable */ \"./src/common/k8s-api/endpoints/priority-class.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_service_api_injectable__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/service.api.injectable */ \"./src/common/k8s-api/endpoints/service.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_endpoint_api_injectable__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/endpoint.api.injectable */ \"./src/common/k8s-api/endpoints/endpoint.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_ingress_api_injectable__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/ingress.api.injectable */ \"./src/common/k8s-api/endpoints/ingress.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_network_policy_api_injectable__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/network-policy.api.injectable */ \"./src/common/k8s-api/endpoints/network-policy.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_api_injectable__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume.api.injectable */ \"./src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_persistent_volume_claim_api_injectable__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable */ \"./src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_storage_class_api_injectable__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/storage-class.api.injectable */ \"./src/common/k8s-api/endpoints/storage-class.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_namespace_api_injectable__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/namespace.api.injectable */ \"./src/common/k8s-api/endpoints/namespace.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_events_api_injectable__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/events.api.injectable */ \"./src/common/k8s-api/endpoints/events.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/role-binding.api.injectable */ \"./src/common/k8s-api/endpoints/role-binding.api.injectable.ts\");\n/* harmony import */ var _common_k8s_api_endpoints_custom_resource_definition_api_injectable__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../common/k8s-api/endpoints/custom-resource-definition.api.injectable */ \"./src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts\");\n/* harmony import */ var _common_api_k8s_api__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../common-api/k8s-api */ \"./src/extensions/common-api/k8s-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object_status__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../common/k8s-api/kube-object-status */ \"./src/common/k8s-api/kube-object-status.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isAllowedResource(resource) {\n const resources = (0,lodash_fp__WEBPACK_IMPORTED_MODULE_1__.castArray)(resource);\n const di = (0,_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__.getLegacyGlobalDiForExtensionApi)();\n return resources.every((resourceName) => {\n const _isAllowedResource = di.inject(_common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__[\"default\"], resourceName);\n // Note: Legacy isAllowedResource does not advertise reactivity\n return _isAllowedResource.get();\n });\n}\nconst serviceAccountsApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_service_account_api_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nconst clusterRoleApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_cluster_role_api_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nconst clusterRoleBindingApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_cluster_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nconst roleApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_role_api_injectable__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\nconst podsApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_pod_api_injectable__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\nconst daemonSetApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_daemon_set_api_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\nconst replicaSetApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_replica_set_api_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\nconst statefulSetApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_stateful_set_api_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\nconst deploymentApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_deployment_api_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\nconst jobApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_job_api_injectable__WEBPACK_IMPORTED_MODULE_13__[\"default\"]);\nconst cronJobApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_cron_job_api_injectable__WEBPACK_IMPORTED_MODULE_14__[\"default\"]);\nconst nodesApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_node_api_injectable__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\nconst secretsApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_secret_api_injectable__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\nconst configMapApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_config_map_api_injectable__WEBPACK_IMPORTED_MODULE_16__[\"default\"]);\nconst resourceQuotaApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_resource_quota_api_injectable__WEBPACK_IMPORTED_MODULE_18__[\"default\"]);\nconst limitRangeApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_limit_range_api_injectable__WEBPACK_IMPORTED_MODULE_19__[\"default\"]);\nconst serviceApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_service_api_injectable__WEBPACK_IMPORTED_MODULE_23__[\"default\"]);\nconst hpaApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_horizontal_pod_autoscaler_api_injectable__WEBPACK_IMPORTED_MODULE_20__[\"default\"]);\nconst pdbApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_pod_disruption_budget_api_injectable__WEBPACK_IMPORTED_MODULE_21__[\"default\"]);\nconst pcApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_priority_class_api_injectable__WEBPACK_IMPORTED_MODULE_22__[\"default\"]);\nconst endpointApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_endpoint_api_injectable__WEBPACK_IMPORTED_MODULE_24__[\"default\"]);\nconst ingressApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_ingress_api_injectable__WEBPACK_IMPORTED_MODULE_25__[\"default\"]);\nconst networkPolicyApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_network_policy_api_injectable__WEBPACK_IMPORTED_MODULE_26__[\"default\"]);\nconst persistentVolumeApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_persistent_volume_api_injectable__WEBPACK_IMPORTED_MODULE_27__[\"default\"]);\nconst pvcApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_persistent_volume_claim_api_injectable__WEBPACK_IMPORTED_MODULE_28__[\"default\"]);\nconst storageClassApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_storage_class_api_injectable__WEBPACK_IMPORTED_MODULE_29__[\"default\"]);\nconst namespacesApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_namespace_api_injectable__WEBPACK_IMPORTED_MODULE_30__[\"default\"]);\nconst eventApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_events_api_injectable__WEBPACK_IMPORTED_MODULE_31__[\"default\"]);\nconst roleBindingApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_role_binding_api_injectable__WEBPACK_IMPORTED_MODULE_32__[\"default\"]);\nconst crdApi = (0,_as_legacy_globals_for_extension_api_as_legacy_global_object_for_extension_api__WEBPACK_IMPORTED_MODULE_6__.asLegacyGlobalForExtensionApi)(_common_k8s_api_endpoints_custom_resource_definition_api_injectable__WEBPACK_IMPORTED_MODULE_33__[\"default\"]);\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/renderer-api/k8s-api.ts?");
32753
31953
 
32754
31954
  /***/ }),
32755
31955
 
@@ -32885,28 +32085,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32885
32085
 
32886
32086
  /***/ }),
32887
32087
 
32888
- /***/ "./src/main/resource-applier/create-resource-applier.injectable.ts":
32889
- /*!*************************************************************************!*\
32890
- !*** ./src/main/resource-applier/create-resource-applier.injectable.ts ***!
32891
- \*************************************************************************/
32892
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32893
-
32894
- "use strict";
32895
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _common_app_event_bus_emit_event_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/app-event-bus/emit-event.injectable */ \"./src/common/app-event-bus/emit-event.injectable.ts\");\n/* harmony import */ var _common_fs_delete_file_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/fs/delete-file.injectable */ \"./src/common/fs/delete-file.injectable.ts\");\n/* harmony import */ var _common_fs_exec_file_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/fs/exec-file.injectable */ \"./src/common/fs/exec-file.injectable.ts\");\n/* harmony import */ var _common_fs_write_file_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/fs/write-file.injectable */ \"./src/common/fs/write-file.injectable.ts\");\n/* harmony import */ var _common_logger_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/logger.injectable */ \"./src/common/logger.injectable.ts\");\n/* harmony import */ var _common_path_join_paths_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/path/join-paths.injectable */ \"./src/common/path/join-paths.injectable.ts\");\n/* harmony import */ var _resource_applier__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./resource-applier */ \"./src/main/resource-applier/resource-applier.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\nconst createResourceApplierInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"create-resource-applier\",\n instantiate: (di) => {\n const deps = {\n deleteFile: di.inject(_common_fs_delete_file_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n emitAppEvent: di.inject(_common_app_event_bus_emit_event_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n execFile: di.inject(_common_fs_exec_file_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n joinPaths: di.inject(_common_path_join_paths_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n logger: di.inject(_common_logger_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n writeFile: di.inject(_common_fs_write_file_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n };\n return (cluster) => new _resource_applier__WEBPACK_IMPORTED_MODULE_7__.ResourceApplier(deps, cluster);\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createResourceApplierInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/main/resource-applier/create-resource-applier.injectable.ts?");
32896
-
32897
- /***/ }),
32898
-
32899
- /***/ "./src/main/resource-applier/resource-applier.ts":
32900
- /*!*******************************************************!*\
32901
- !*** ./src/main/resource-applier/resource-applier.ts ***!
32902
- \*******************************************************/
32903
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32904
-
32905
- "use strict";
32906
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ResourceApplier\": () => (/* binding */ ResourceApplier)\n/* harmony export */ });\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/dist/js-yaml.mjs\");\n/* harmony import */ var tempy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tempy */ \"./node_modules/tempy/index.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nclass ResourceApplier {\n constructor(dependencies, cluster) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"cluster\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: cluster\n });\n }\n /**\n * Patch a kube resource's manifest, throwing any error that occurs.\n * @param name The name of the kube resource\n * @param kind The kind of the kube resource\n * @param patch The list of JSON operations\n * @param ns The optional namespace of the kube resource\n */\n async patch(name, kind, patch, ns) {\n this.dependencies.emitAppEvent({ name: \"resource\", action: \"patch\" });\n const kubectl = await this.cluster.ensureKubectl();\n const kubectlPath = await kubectl.getPath();\n const proxyKubeconfigPath = await this.cluster.getProxyKubeconfigPath();\n const args = [\n \"--kubeconfig\", proxyKubeconfigPath,\n \"patch\",\n kind,\n name,\n ];\n if (ns) {\n args.push(\"--namespace\", ns);\n }\n args.push(\"--type\", \"json\", \"--patch\", JSON.stringify(patch), \"-o\", \"json\");\n const result = await this.dependencies.execFile(kubectlPath, args);\n if (result.callWasSuccessful) {\n return result.response;\n }\n throw result.error.stderr || result.error.message;\n }\n async create(resource) {\n this.dependencies.emitAppEvent({ name: \"resource\", action: \"apply\" });\n return this.kubectlApply(this.sanitizeObject(resource));\n }\n async kubectlApply(content) {\n var _a;\n const kubectl = await this.cluster.ensureKubectl();\n const kubectlPath = await kubectl.getPath();\n const proxyKubeconfigPath = await this.cluster.getProxyKubeconfigPath();\n const fileName = tempy__WEBPACK_IMPORTED_MODULE_1__.file({ name: \"resource.yaml\" });\n const args = [\n \"apply\",\n \"--kubeconfig\", proxyKubeconfigPath,\n \"-o\", \"json\",\n \"-f\", fileName,\n ];\n this.dependencies.logger.debug(`shooting manifests with ${kubectlPath}`, { args });\n const execEnv = { ...process.env };\n const httpsProxy = (_a = this.cluster.preferences) === null || _a === void 0 ? void 0 : _a.httpsProxy;\n if (httpsProxy) {\n execEnv.HTTPS_PROXY = httpsProxy;\n }\n try {\n await this.dependencies.writeFile(fileName, content);\n const result = await this.dependencies.execFile(kubectlPath, args);\n if (result.callWasSuccessful) {\n return result.response;\n }\n throw result.error.stderr || result.error.message;\n }\n finally {\n await this.dependencies.deleteFile(fileName);\n }\n }\n async kubectlApplyAll(resources, extraArgs = [\"-o\", \"json\"]) {\n return this.kubectlCmdAll(\"apply\", resources, extraArgs);\n }\n async kubectlDeleteAll(resources, extraArgs) {\n return this.kubectlCmdAll(\"delete\", resources, extraArgs);\n }\n async kubectlCmdAll(subCmd, resources, parentArgs = []) {\n const kubectl = await this.cluster.ensureKubectl();\n const kubectlPath = await kubectl.getPath();\n const proxyKubeconfigPath = await this.cluster.getProxyKubeconfigPath();\n const tmpDir = tempy__WEBPACK_IMPORTED_MODULE_1__.directory();\n await Promise.all(resources.map((resource, index) => this.dependencies.writeFile(this.dependencies.joinPaths(tmpDir, `${index}.yaml`), resource)));\n const args = [\n subCmd,\n \"--kubeconfig\", proxyKubeconfigPath,\n ...parentArgs,\n \"-f\", tmpDir,\n ];\n this.dependencies.logger.info(`[RESOURCE-APPLIER] running kubectl`, { args });\n const result = await this.dependencies.execFile(kubectlPath, args);\n if (result.callWasSuccessful) {\n return result.response;\n }\n this.dependencies.logger.error(`[RESOURCE-APPLIER] kubectl errored: ${result.error.message}`);\n const splitError = result.error.stderr.split(`.yaml\": `);\n throw splitError[1] || result.error.message;\n }\n sanitizeObject(resource) {\n var _a, _b, _c;\n const res = js_yaml__WEBPACK_IMPORTED_MODULE_0__.load(resource);\n delete res.status;\n (_a = res.metadata) === null || _a === void 0 ? true : delete _a.resourceVersion;\n (_c = (_b = res.metadata) === null || _b === void 0 ? void 0 : _b.annotations) === null || _c === void 0 ? true : delete _c[\"kubectl.kubernetes.io/last-applied-configuration\"];\n return js_yaml__WEBPACK_IMPORTED_MODULE_0__.dump(res);\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/main/resource-applier/resource-applier.ts?");
32907
-
32908
- /***/ }),
32909
-
32910
32088
  /***/ "./src/main/start-main-application/lens-window/application-window/application-window-injection-token.ts":
32911
32089
  /*!**************************************************************************************************************!*\
32912
32090
  !*** ./src/main/start-main-application/lens-window/application-window/application-window-injection-token.ts ***!
@@ -35081,7 +34259,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35081
34259
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35082
34260
 
35083
34261
  "use strict";
35084
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"TabLayout\": () => (/* binding */ TabLayout)\n/* harmony export */ });\n/* harmony import */ var _tab_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tab-layout.scss */ \"./src/renderer/components/layout/tab-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tabs */ \"./src/renderer/components/tabs/index.ts\");\n/* harmony import */ var _error_boundary__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../error-boundary */ \"./src/renderer/components/error-boundary/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nconst TabLayout = (0,mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer)(({ tabs = [], children, }) => {\n const hasTabs = tabs.length > 0;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"TabLayout\"), \"data-testid\": \"tab-layout\" },\n hasTabs && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tabs__WEBPACK_IMPORTED_MODULE_3__.Tabs, { center: true }, tabs.map(({ registration, isActive }) => {\n const active = isActive.get();\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tabs__WEBPACK_IMPORTED_MODULE_3__.Tab, { onClick: registration.onClick, key: registration.id, label: registration.title, active: active, \"data-is-active-test\": active, \"data-testid\": `tab-link-for-${registration.id}` }));\n }))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"main\", null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_error_boundary__WEBPACK_IMPORTED_MODULE_4__.ErrorBoundary, null, children))));\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/layout/tab-layout-2.tsx?");
34262
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"TabLayout\": () => (/* binding */ TabLayout)\n/* harmony export */ });\n/* harmony import */ var _tab_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tab-layout.scss */ \"./src/renderer/components/layout/tab-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tabs */ \"./src/renderer/components/tabs/index.ts\");\n/* harmony import */ var _error_boundary__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../error-boundary */ \"./src/renderer/components/error-boundary/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nconst TabLayout = (0,mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer)(({ tabs = [], children, }) => {\n const hasTabs = tabs.length > 0;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"TabLayout\"), \"data-testid\": \"tab-layout\" },\n hasTabs && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tabs__WEBPACK_IMPORTED_MODULE_3__.Tabs, { center: true }, tabs.map(({ registration, isActive }) => {\n const active = isActive.get();\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tabs__WEBPACK_IMPORTED_MODULE_3__.Tab, { onClick: registration.onClick, key: registration.id, label: registration.title, active: active, \"data-is-active-test\": active, \"data-testid\": `tab-link-for-${registration.id}`, value: undefined }));\n }))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"main\", null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_error_boundary__WEBPACK_IMPORTED_MODULE_4__.ErrorBoundary, null, children))));\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/layout/tab-layout-2.tsx?");
35085
34263
 
35086
34264
  /***/ }),
35087
34265
 
@@ -35774,7 +34952,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35774
34952
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35775
34953
 
35776
34954
  "use strict";
35777
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"emitOpenAppMenuAsContextMenu\": () => (/* binding */ emitOpenAppMenuAsContextMenu),\n/* harmony export */ \"emitWindowLocationChanged\": () => (/* binding */ emitWindowLocationChanged),\n/* harmony export */ \"requestClusterActivation\": () => (/* binding */ requestClusterActivation),\n/* harmony export */ \"requestClusterDisconnection\": () => (/* binding */ requestClusterDisconnection),\n/* harmony export */ \"requestExtensionLoaderInitialState\": () => (/* binding */ requestExtensionLoaderInitialState),\n/* harmony export */ \"requestInitialClusterStates\": () => (/* binding */ requestInitialClusterStates),\n/* harmony export */ \"requestInitialExtensionDiscovery\": () => (/* binding */ requestInitialExtensionDiscovery),\n/* harmony export */ \"requestKubectlApplyAll\": () => (/* binding */ requestKubectlApplyAll),\n/* harmony export */ \"requestKubectlDeleteAll\": () => (/* binding */ requestKubectlDeleteAll),\n/* harmony export */ \"requestOpenFilePickingDialog\": () => (/* binding */ requestOpenFilePickingDialog),\n/* harmony export */ \"requestSetClusterFrameId\": () => (/* binding */ requestSetClusterFrameId),\n/* harmony export */ \"requestWindowAction\": () => (/* binding */ requestWindowAction)\n/* harmony export */ });\n/* harmony import */ var _common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/ipc/cluster */ \"./src/common/ipc/cluster.ts\");\n/* harmony import */ var _common_ipc_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/ipc/window */ \"./src/common/ipc/window.ts\");\n/* harmony import */ var _common_ipc_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/ipc/dialog */ \"./src/common/ipc/dialog.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _utils_channel_ipc_renderer_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/channel/ipc-renderer.injectable */ \"./src/renderer/utils/channel/ipc-renderer.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\nfunction requestMain(channel, ...args) {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_5__.getLegacyGlobalDiForExtensionApi)();\n const ipcRenderer = di.inject(_utils_channel_ipc_renderer_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n return ipcRenderer.invoke(channel, ...args.map(_utils__WEBPACK_IMPORTED_MODULE_4__.toJS));\n}\nfunction emitToMain(channel, ...args) {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_5__.getLegacyGlobalDiForExtensionApi)();\n const ipcRenderer = di.inject(_utils_channel_ipc_renderer_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n return ipcRenderer.send(channel, ...args.map(_utils__WEBPACK_IMPORTED_MODULE_4__.toJS));\n}\nfunction emitOpenAppMenuAsContextMenu() {\n emitToMain(_common_ipc_window__WEBPACK_IMPORTED_MODULE_1__.windowOpenAppMenuAsContextMenuChannel);\n}\nfunction emitWindowLocationChanged(location) {\n emitToMain(_common_ipc_window__WEBPACK_IMPORTED_MODULE_1__.windowLocationChangedChannel, location);\n}\nfunction requestWindowAction(type) {\n return requestMain(_common_ipc_window__WEBPACK_IMPORTED_MODULE_1__.windowActionHandleChannel, type);\n}\nfunction requestOpenFilePickingDialog(opts) {\n return requestMain(_common_ipc_dialog__WEBPACK_IMPORTED_MODULE_2__.openFilePickingDialogChannel, opts);\n}\nfunction requestSetClusterFrameId(clusterId) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterSetFrameIdHandler, clusterId);\n}\nfunction requestClusterActivation(clusterId, force) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterActivateHandler, clusterId, force);\n}\nfunction requestClusterDisconnection(clusterId, force) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterDisconnectHandler, clusterId, force);\n}\nfunction requestInitialClusterStates() {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterStates);\n}\nfunction requestKubectlApplyAll(clusterId, resources, kubectlArgs) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterKubectlApplyAllHandler, clusterId, resources, kubectlArgs);\n}\nfunction requestKubectlDeleteAll(clusterId, resources, kubectlArgs) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterKubectlDeleteAllHandler, clusterId, resources, kubectlArgs);\n}\nfunction requestInitialExtensionDiscovery() {\n return requestMain(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_3__.extensionDiscoveryStateChannel);\n}\nfunction requestExtensionLoaderInitialState() {\n return requestMain(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_3__.extensionLoaderFromMainChannel);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/ipc/index.ts?");
34955
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"emitOpenAppMenuAsContextMenu\": () => (/* binding */ emitOpenAppMenuAsContextMenu),\n/* harmony export */ \"emitWindowLocationChanged\": () => (/* binding */ emitWindowLocationChanged),\n/* harmony export */ \"requestClusterActivation\": () => (/* binding */ requestClusterActivation),\n/* harmony export */ \"requestClusterDisconnection\": () => (/* binding */ requestClusterDisconnection),\n/* harmony export */ \"requestExtensionLoaderInitialState\": () => (/* binding */ requestExtensionLoaderInitialState),\n/* harmony export */ \"requestInitialClusterStates\": () => (/* binding */ requestInitialClusterStates),\n/* harmony export */ \"requestInitialExtensionDiscovery\": () => (/* binding */ requestInitialExtensionDiscovery),\n/* harmony export */ \"requestOpenFilePickingDialog\": () => (/* binding */ requestOpenFilePickingDialog),\n/* harmony export */ \"requestSetClusterFrameId\": () => (/* binding */ requestSetClusterFrameId),\n/* harmony export */ \"requestWindowAction\": () => (/* binding */ requestWindowAction)\n/* harmony export */ });\n/* harmony import */ var _common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/ipc/cluster */ \"./src/common/ipc/cluster.ts\");\n/* harmony import */ var _common_ipc_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/ipc/window */ \"./src/common/ipc/window.ts\");\n/* harmony import */ var _common_ipc_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/ipc/dialog */ \"./src/common/ipc/dialog.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _utils_channel_ipc_renderer_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/channel/ipc-renderer.injectable */ \"./src/renderer/utils/channel/ipc-renderer.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\nfunction requestMain(channel, ...args) {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_5__.getLegacyGlobalDiForExtensionApi)();\n const ipcRenderer = di.inject(_utils_channel_ipc_renderer_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n return ipcRenderer.invoke(channel, ...args.map(_utils__WEBPACK_IMPORTED_MODULE_4__.toJS));\n}\nfunction emitToMain(channel, ...args) {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_5__.getLegacyGlobalDiForExtensionApi)();\n const ipcRenderer = di.inject(_utils_channel_ipc_renderer_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n return ipcRenderer.send(channel, ...args.map(_utils__WEBPACK_IMPORTED_MODULE_4__.toJS));\n}\nfunction emitOpenAppMenuAsContextMenu() {\n emitToMain(_common_ipc_window__WEBPACK_IMPORTED_MODULE_1__.windowOpenAppMenuAsContextMenuChannel);\n}\nfunction emitWindowLocationChanged(location) {\n emitToMain(_common_ipc_window__WEBPACK_IMPORTED_MODULE_1__.windowLocationChangedChannel, location);\n}\nfunction requestWindowAction(type) {\n return requestMain(_common_ipc_window__WEBPACK_IMPORTED_MODULE_1__.windowActionHandleChannel, type);\n}\nfunction requestOpenFilePickingDialog(opts) {\n return requestMain(_common_ipc_dialog__WEBPACK_IMPORTED_MODULE_2__.openFilePickingDialogChannel, opts);\n}\nfunction requestSetClusterFrameId(clusterId) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterSetFrameIdHandler, clusterId);\n}\nfunction requestClusterActivation(clusterId, force) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterActivateHandler, clusterId, force);\n}\nfunction requestClusterDisconnection(clusterId, force) {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterDisconnectHandler, clusterId, force);\n}\nfunction requestInitialClusterStates() {\n return requestMain(_common_ipc_cluster__WEBPACK_IMPORTED_MODULE_0__.clusterStates);\n}\nfunction requestInitialExtensionDiscovery() {\n return requestMain(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_3__.extensionDiscoveryStateChannel);\n}\nfunction requestExtensionLoaderInitialState() {\n return requestMain(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_3__.extensionLoaderFromMainChannel);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/ipc/index.ts?");
35778
34956
 
35779
34957
  /***/ }),
35780
34958
 
@@ -36283,17 +35461,6 @@ eval("\n// TODO: (bug) nested * is not set as optional\n// TODO: Create some par
36283
35461
 
36284
35462
  /***/ }),
36285
35463
 
36286
- /***/ "./node_modules/unique-string/index.js":
36287
- /*!*********************************************!*\
36288
- !*** ./node_modules/unique-string/index.js ***!
36289
- \*********************************************/
36290
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
36291
-
36292
- "use strict";
36293
- eval("\nconst cryptoRandomString = __webpack_require__(/*! crypto-random-string */ \"./node_modules/crypto-random-string/index.js\");\n\nmodule.exports = () => cryptoRandomString(32);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/unique-string/index.js?");
36294
-
36295
- /***/ }),
36296
-
36297
35464
  /***/ "./node_modules/universalify/index.js":
36298
35465
  /*!********************************************!*\
36299
35466
  !*** ./node_modules/universalify/index.js ***!
@@ -40823,7 +39990,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
40823
39990
  /***/ ((module) => {
40824
39991
 
40825
39992
  "use strict";
40826
- eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"6.3.0-alpha.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2022 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"adr:create\":\"echo \\\\\"What is the title?\\\\\"; read title; adr new \\\\\"$title\\\\\"\",\"adr:change-status\":\"echo \\\\\"Decision number?:\\\\\"; read decision; adr status $decision\",\"adr:update-readme\":\"adr update\",\"adr:list\":\"adr list\",\"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 --progress\",\"dev:renderer\":\"yarn run ts-node webpack/dev-server.ts\",\"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\",\"compile:node-fetch\":\"yarn run webpack --config ./webpack/node-fetch.ts\",\"postinstall\":\"yarn run compile:node-fetch\",\"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\",\"test:unit\":\"func() { jest ${1} --watch --testPathIgnorePatterns integration; }; func\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/generate-tray-icons.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.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\",\"precreate-release-pr\":\"npx swc ./scripts/create-release-pr.ts -o ./scripts/create-release-pr.mjs\",\"create-release-pr\":\"node ./scripts/create-release-pr.mjs\"},\"config\":{\"k8sProxyVersion\":\"0.3.0\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\",\"contentSecurityPolicy\":\"script-src \\'unsafe-eval\\' \\'self\\'; frame-src http://*.localhost:*/; img-src * data:\",\"welcomeRoute\":\"/welcome\"},\"engines\":{\"node\":\">=16 <17\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.(t|j)sx?$\":[\"@swc/jest\"]},\"testEnvironment\":\"jsdom\",\"resolver\":\"<rootDir>/src/jest-28-resolver.js\",\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"identity-obj-proxy\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globalSetup\":\"<rootDir>/src/jest.timezone.ts\",\"setupFilesAfterEnv\":[\"<rootDir>/src/jest-after-env.setup.ts\"],\"runtime\":\"@side/jest-runtime\"},\"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/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"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/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"resolutions\":{\"@astronautlabs/jsonpath/underscore\":\"^1.12.1\"},\"dependencies\":{\"@astronautlabs/jsonpath\":\"^1.1.0\",\"@hapi/call\":\"^9.0.0\",\"@hapi/subtext\":\"^7.0.4\",\"@kubernetes/client-node\":\"^0.17.1\",\"@material-ui/styles\":\"^4.11.5\",\"@ogre-tools/fp\":\"^12.0.1\",\"@ogre-tools/injectable\":\"^12.0.1\",\"@ogre-tools/injectable-extension-for-auto-registration\":\"^12.0.1\",\"@ogre-tools/injectable-extension-for-mobx\":\"^12.0.1\",\"@ogre-tools/injectable-react\":\"^12.0.1\",\"@sentry/electron\":\"^3.0.8\",\"@sentry/integrations\":\"^6.19.3\",\"@side/jest-runtime\":\"^1.0.1\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"await-lock\":\"^2.2.2\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.6\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.5\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"history\":\"^4.10.1\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.16\",\"joi\":\"^17.7.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.2.3\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.7.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.6.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.2.0\",\"moment\":\"^2.29.4\",\"moment-timezone\":\"^0.5.39\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"^3.3.0\",\"node-pty\":\"0.10.1\",\"npm\":\"^8.19.3\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.3.4\",\"react-virtualized-auto-sizer\":\"^1.0.7\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.1.1\",\"semver\":\"^7.3.8\",\"tar\":\"^6.1.12\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"typed-regex\":\"^0.0.8\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.8.2\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^8.11.0\",\"xterm-link-provider\":\"^1.3.1\"},\"devDependencies\":{\"@async-fn/jest\":\"1.6.4\",\"@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.5.9\",\"@sentry/types\":\"^6.19.7\",\"@swc/cli\":\"^0.1.57\",\"@swc/core\":\"^1.3.19\",\"@swc/jest\":\"^0.2.23\",\"@testing-library/dom\":\"^7.31.2\",\"@testing-library/jest-dom\":\"^5.16.5\",\"@testing-library/react\":\"^12.1.5\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"@types/cli-progress\":\"^3.11.0\",\"@types/color\":\"^3.0.3\",\"@types/command-line-args\":\"^5.2.0\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.4.0\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hapi__call\":\"^9.0.0\",\"@types/hapi__subtext\":\"^7.0.0\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.9\",\"@types/jest\":\"^28.1.6\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/lodash\":\"^4.14.189\",\"@types/marked\":\"^4.0.7\",\"@types/md5-file\":\"^4.0.2\",\"@types/memorystream\":\"^0.3.0\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"^16.18.2\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.45\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.16\",\"@types/react-router\":\"^5.1.19\",\"@types/react-router-dom\":\"^5.3.3\",\"@types/react-table\":\"^7.7.12\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.13\",\"@types/sharp\":\"^0.31.0\",\"@types/tar\":\"^6.1.3\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.18.0\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.44.0\",\"@typescript-eslint/parser\":\"^5.43.0\",\"adr\":\"^1.4.3\",\"ansi_up\":\"^5.1.0\",\"chalk\":\"^4.1.2\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.2\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.6.0\",\"css-loader\":\"^6.7.2\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.4.1\",\"electron\":\"^19.1.6\",\"electron-builder\":\"^23.6.0\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.15.15\",\"esbuild-loader\":\"^2.20.0\",\"eslint\":\"^8.28.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.26.0\",\"eslint-plugin-react\":\"7.31.11\",\"eslint-plugin-react-hooks\":\"^4.6.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"fork-ts-checker-webpack-plugin\":\"^6.5.2\",\"gunzip-maybe\":\"^1.4.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"^28.1.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-environment-jsdom\":\"^28.1.3\",\"jest-mock-extended\":\"^2.0.9\",\"make-plural\":\"^6.2.2\",\"memorystream\":\"^0.3.1\",\"mini-css-extract-plugin\":\"^2.7.0\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"^8.3.0\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.20\",\"playwright\":\"^1.28.0\",\"postcss\":\"^8.4.19\",\"postcss-loader\":\"^6.2.1\",\"query-string\":\"^7.1.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.1\",\"react-refresh\":\"^0.14.0\",\"react-refresh-typescript\":\"^2.0.7\",\"react-router-dom\":\"^5.3.4\",\"react-select\":\"^5.6.1\",\"react-select-event\":\"^5.5.1\",\"react-table\":\"^7.8.0\",\"react-window\":\"^1.8.8\",\"sass\":\"^1.56.1\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.31.2\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.2.4\",\"tar-stream\":\"^2.2.0\",\"ts-loader\":\"^9.4.1\",\"ts-node\":\"^10.9.1\",\"type-fest\":\"^2.14.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.23.21\",\"typedoc-plugin-markdown\":\"^3.13.6\",\"typescript\":\"^4.9.3\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.75.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.11.1\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.19.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
39993
+ eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"6.3.0-alpha.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2022 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"adr:create\":\"echo \\\\\"What is the title?\\\\\"; read title; adr new \\\\\"$title\\\\\"\",\"adr:change-status\":\"echo \\\\\"Decision number?:\\\\\"; read decision; adr status $decision\",\"adr:update-readme\":\"adr update\",\"adr:list\":\"adr list\",\"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 --progress\",\"dev:renderer\":\"yarn run ts-node webpack/dev-server.ts\",\"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\",\"compile:node-fetch\":\"yarn run webpack --config ./webpack/node-fetch.ts\",\"postinstall\":\"yarn run compile:node-fetch\",\"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\",\"test:unit\":\"func() { jest ${1} --watch --testPathIgnorePatterns integration; }; func\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/generate-tray-icons.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.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\",\"precreate-release-pr\":\"npx swc ./scripts/create-release-pr.ts -o ./scripts/create-release-pr.mjs\",\"create-release-pr\":\"node ./scripts/create-release-pr.mjs\"},\"config\":{\"k8sProxyVersion\":\"0.3.0\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\",\"contentSecurityPolicy\":\"script-src \\'unsafe-eval\\' \\'self\\'; frame-src http://*.localhost:*/; img-src * data:\",\"welcomeRoute\":\"/welcome\"},\"engines\":{\"node\":\">=16 <17\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.(t|j)sx?$\":[\"@swc/jest\"]},\"testEnvironment\":\"jsdom\",\"resolver\":\"<rootDir>/src/jest-28-resolver.js\",\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"identity-obj-proxy\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globalSetup\":\"<rootDir>/src/jest.timezone.ts\",\"setupFilesAfterEnv\":[\"<rootDir>/src/jest-after-env.setup.ts\"],\"runtime\":\"@side/jest-runtime\"},\"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/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"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/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"resolutions\":{\"@astronautlabs/jsonpath/underscore\":\"^1.12.1\"},\"dependencies\":{\"@astronautlabs/jsonpath\":\"^1.1.0\",\"@hapi/call\":\"^9.0.0\",\"@hapi/subtext\":\"^7.0.4\",\"@kubernetes/client-node\":\"^0.17.1\",\"@material-ui/styles\":\"^4.11.5\",\"@ogre-tools/fp\":\"^12.0.1\",\"@ogre-tools/injectable\":\"^12.0.1\",\"@ogre-tools/injectable-extension-for-auto-registration\":\"^12.0.1\",\"@ogre-tools/injectable-extension-for-mobx\":\"^12.0.1\",\"@ogre-tools/injectable-react\":\"^12.0.1\",\"@sentry/electron\":\"^3.0.8\",\"@sentry/integrations\":\"^6.19.3\",\"@side/jest-runtime\":\"^1.0.1\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"await-lock\":\"^2.2.2\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.6\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.5\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"history\":\"^4.10.1\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.16\",\"joi\":\"^17.7.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"lodash\":\"^4.17.15\",\"marked\":\"^4.2.3\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.7.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.6.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.2.0\",\"moment\":\"^2.29.4\",\"moment-timezone\":\"^0.5.39\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"^3.3.0\",\"node-pty\":\"0.10.1\",\"npm\":\"^8.19.3\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.3.4\",\"react-virtualized-auto-sizer\":\"^1.0.7\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.1.1\",\"semver\":\"^7.3.8\",\"tar\":\"^6.1.12\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"typed-regex\":\"^0.0.8\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.8.2\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^8.11.0\",\"xterm-link-provider\":\"^1.3.1\"},\"devDependencies\":{\"@async-fn/jest\":\"1.6.4\",\"@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.5.10\",\"@sentry/types\":\"^6.19.7\",\"@swc/cli\":\"^0.1.57\",\"@swc/core\":\"^1.3.20\",\"@swc/jest\":\"^0.2.23\",\"@testing-library/dom\":\"^7.31.2\",\"@testing-library/jest-dom\":\"^5.16.5\",\"@testing-library/react\":\"^12.1.5\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"@types/cli-progress\":\"^3.11.0\",\"@types/color\":\"^3.0.3\",\"@types/command-line-args\":\"^5.2.0\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.4.0\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hapi__call\":\"^9.0.0\",\"@types/hapi__subtext\":\"^7.0.0\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.9\",\"@types/jest\":\"^28.1.6\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/lodash\":\"^4.14.190\",\"@types/marked\":\"^4.0.7\",\"@types/md5-file\":\"^4.0.2\",\"@types/memorystream\":\"^0.3.0\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"^16.18.2\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.7\",\"@types/react\":\"^17.0.45\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.16\",\"@types/react-router\":\"^5.1.19\",\"@types/react-router-dom\":\"^5.3.3\",\"@types/react-table\":\"^7.7.12\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.13\",\"@types/sharp\":\"^0.31.0\",\"@types/tar\":\"^6.1.3\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.18.0\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.45.0\",\"@typescript-eslint/parser\":\"^5.45.0\",\"adr\":\"^1.4.3\",\"ansi_up\":\"^5.1.0\",\"chalk\":\"^4.1.2\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.11.2\",\"color\":\"^3.2.1\",\"command-line-args\":\"^5.2.1\",\"concurrently\":\"^7.6.0\",\"css-loader\":\"^6.7.2\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.4.1\",\"electron\":\"^19.1.8\",\"electron-builder\":\"^23.6.0\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.15.16\",\"esbuild-loader\":\"^2.20.0\",\"eslint\":\"^8.28.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.26.0\",\"eslint-plugin-react\":\"7.31.11\",\"eslint-plugin-react-hooks\":\"^4.6.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"eslint-import-resolver-typescript\":\"^3.5.2\",\"fork-ts-checker-webpack-plugin\":\"^6.5.2\",\"gunzip-maybe\":\"^1.4.2\",\"html-webpack-plugin\":\"^5.5.0\",\"identity-obj-proxy\":\"^3.0.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"^28.1.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-environment-jsdom\":\"^28.1.3\",\"jest-mock-extended\":\"^2.0.9\",\"make-plural\":\"^6.2.2\",\"memorystream\":\"^0.3.1\",\"mini-css-extract-plugin\":\"^2.7.1\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"^8.3.0\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.20\",\"playwright\":\"^1.28.1\",\"postcss\":\"^8.4.19\",\"postcss-loader\":\"^6.2.1\",\"query-string\":\"^7.1.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.1\",\"react-refresh\":\"^0.14.0\",\"react-refresh-typescript\":\"^2.0.7\",\"react-router-dom\":\"^5.3.4\",\"react-select\":\"^5.6.1\",\"react-select-event\":\"^5.5.1\",\"react-table\":\"^7.8.0\",\"react-window\":\"^1.8.8\",\"sass\":\"^1.56.1\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.31.2\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.2.4\",\"tar-stream\":\"^2.2.0\",\"ts-loader\":\"^9.4.1\",\"ts-node\":\"^10.9.1\",\"type-fest\":\"^2.14.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.23.21\",\"typedoc-plugin-markdown\":\"^3.13.6\",\"typescript\":\"^4.9.3\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.75.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.11.1\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.19.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40827
39994
 
40828
39995
  /***/ }),
40829
39996