@alauda-fe/common 1.4.39 → 1.4.40
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.
- package/api/k8s-api.service.d.ts +3 -1
- package/array-form-table/form/component.d.ts +1 -1
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/types/k8s/crd.d.ts +16 -0
- package/core/types/k8s/raw.d.ts +4 -0
- package/core/types/resource-definitions.d.ts +1 -9
- package/esm2022/api/auth-api.service.mjs +7 -3
- package/esm2022/api/k8s-api.service.mjs +17 -7
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +7 -7
- package/esm2022/code/resource-yaml-display/component.mjs +2 -2
- package/esm2022/code/resource-yaml-editor/component.mjs +2 -2
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/types/k8s/raw.mjs +1 -1
- package/esm2022/core/types/resource-definitions.mjs +1 -5
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
- package/esm2022/page-scaffold/page/helper-directives.mjs +14 -1
- package/esm2022/page-scaffold/page/page.component.mjs +32 -13
- package/esm2022/page-scaffold/page/page.module.mjs +8 -4
- package/esm2022/page-scaffold/public-api.mjs +2 -1
- package/esm2022/page-scaffold/trademark-footer/public-api.mjs +2 -0
- package/esm2022/page-scaffold/trademark-footer/trademark-footer.component.mjs +126 -0
- package/esm2022/permission/k8s-permission.service.mjs +4 -3
- package/esm2022/pod-status/component.mjs +19 -7
- package/esm2022/pod-status/status.mjs +44 -15
- package/esm2022/table/component.mjs +298 -255
- package/esm2022/table/types.mjs +1 -1
- package/package.json +1 -1
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -0
- package/page-scaffold/page/helper-directives.d.ts +6 -0
- package/page-scaffold/page/page.component.d.ts +2 -1
- package/page-scaffold/page/page.module.d.ts +1 -1
- package/page-scaffold/public-api.d.ts +1 -0
- package/page-scaffold/trademark-footer/public-api.d.ts +1 -0
- package/page-scaffold/trademark-footer/trademark-footer.component.d.ts +40 -0
- package/permission/k8s-permission.service.d.ts +1 -1
- package/styles/mixins.scss +14 -5
- package/table/component.d.ts +1 -0
- package/table/types.d.ts +1 -0
- package/abnormal-page/abnormal-page.component.d.ts.map +0 -1
- package/abnormal-page/abnormal-page.module.d.ts.map +0 -1
- package/abnormal-page/public-api.d.ts.map +0 -1
- package/alauda-fe-common.d.ts.map +0 -1
- package/api/acp-common-api.service.d.ts.map +0 -1
- package/api/api-compatible.interceptor.d.ts.map +0 -1
- package/api/api-gateway.interceptor.d.ts.map +0 -1
- package/api/api-gateway.service.d.ts.map +0 -1
- package/api/auth-api.service.d.ts.map +0 -1
- package/api/cluster-version.service.d.ts.map +0 -1
- package/api/crypto.interceptor.d.ts.map +0 -1
- package/api/helpers.d.ts.map +0 -1
- package/api/k8s-api-resource.service.d.ts.map +0 -1
- package/api/k8s-api.service.d.ts.map +0 -1
- package/api/page-visibility.service.d.ts.map +0 -1
- package/api/platform-ui.service.d.ts.map +0 -1
- package/api/product.service.d.ts.map +0 -1
- package/api/project-api.service.d.ts.map +0 -1
- package/api/public-api.d.ts.map +0 -1
- package/api/resource-update.service.d.ts.map +0 -1
- package/api/types.d.ts.map +0 -1
- package/array-form-table/base-string-map-form.component.d.ts.map +0 -1
- package/array-form-table/form/component.d.ts.map +0 -1
- package/array-form-table/form/module.d.ts.map +0 -1
- package/array-form-table/key-value-form/component.d.ts.map +0 -1
- package/array-form-table/key-value-table/component.d.ts.map +0 -1
- package/array-form-table/public-api.d.ts.map +0 -1
- package/array-form-table/string-array-form/component.d.ts.map +0 -1
- package/async-data/async-data-loader.d.ts.map +0 -1
- package/async-data/async-data.module.d.ts.map +0 -1
- package/async-data/error-page/component.d.ts.map +0 -1
- package/async-data/page-state/component.d.ts.map +0 -1
- package/async-data/public-api.d.ts.map +0 -1
- package/async-data/types.d.ts.map +0 -1
- package/authorization/app-init-url.d.ts.map +0 -1
- package/authorization/authorization.d.ts.map +0 -1
- package/authorization/constants.d.ts.map +0 -1
- package/authorization/guard.service.d.ts.map +0 -1
- package/authorization/interceptor.service.d.ts.map +0 -1
- package/authorization/public-api.d.ts.map +0 -1
- package/authorization/runtime.d.ts +0 -33
- package/authorization/runtime.d.ts.map +0 -1
- package/authorization/session-manage.service.d.ts.map +0 -1
- package/authorization/state.service.d.ts.map +0 -1
- package/authorization/storage-token.d.ts.map +0 -1
- package/business/notification-disabled-container/component.d.ts.map +0 -1
- package/business/notification-disabled-container/public-api.d.ts.map +0 -1
- package/business/public-api.d.ts.map +0 -1
- package/business/resource-select/base-list.d.ts.map +0 -1
- package/business/resource-select/context.service.d.ts.map +0 -1
- package/business/resource-select/exports/cluster-list/component.d.ts.map +0 -1
- package/business/resource-select/exports/cluster-selector/component.d.ts.map +0 -1
- package/business/resource-select/exports/icon/component.d.ts.map +0 -1
- package/business/resource-select/exports/mesh-group-selector/component.d.ts.map +0 -1
- package/business/resource-select/exports/namespace-list/component.d.ts.map +0 -1
- package/business/resource-select/exports/namespace-page/component.d.ts.map +0 -1
- package/business/resource-select/exports/namespace-selector/component.d.ts.map +0 -1
- package/business/resource-select/exports/project-list/component.d.ts.map +0 -1
- package/business/resource-select/exports/project-page/component.d.ts.map +0 -1
- package/business/resource-select/exports/project-selector/component.d.ts.map +0 -1
- package/business/resource-select/helpers.directive.d.ts.map +0 -1
- package/business/resource-select/internals/data-grid/component.d.ts.map +0 -1
- package/business/resource-select/internals/meshgroup-list/component.d.ts.map +0 -1
- package/business/resource-select/internals/no-data/component.d.ts.map +0 -1
- package/business/resource-select/internals/resource-dashboard/component.d.ts.map +0 -1
- package/business/resource-select/internals/selector-popup/component.d.ts.map +0 -1
- package/business/resource-select/internals/selector-popup/ref.d.ts.map +0 -1
- package/business/resource-select/internals/selector-popup/service.d.ts.map +0 -1
- package/business/resource-select/module.d.ts.map +0 -1
- package/business/resource-select/project.service.d.ts.map +0 -1
- package/business/resource-select/public-api.d.ts.map +0 -1
- package/business/resource-select/types.d.ts.map +0 -1
- package/business/resource-select/utils.d.ts.map +0 -1
- package/chart/chart.module.d.ts.map +0 -1
- package/chart/chart.service.d.ts.map +0 -1
- package/chart/common/axis/axis-label.component.d.ts.map +0 -1
- package/chart/common/axis/x-axis-ticks.component.d.ts.map +0 -1
- package/chart/common/axis/x-axis.component.d.ts.map +0 -1
- package/chart/common/axis/x-plot-lines.component.d.ts.map +0 -1
- package/chart/common/axis/y-axis-ticks.component.d.ts.map +0 -1
- package/chart/common/axis/y-axis.component.d.ts.map +0 -1
- package/chart/common/axis/y-plot-lines.component.d.ts.map +0 -1
- package/chart/common/chart/chart.component.d.ts.map +0 -1
- package/chart/common/legend/legend.component.d.ts.map +0 -1
- package/chart/common/public-api.d.ts.map +0 -1
- package/chart/common/range-area/range-area.component.d.ts.map +0 -1
- package/chart/common/reference-area/reference-area.component.d.ts.map +0 -1
- package/chart/common/series/area-series.component.d.ts.map +0 -1
- package/chart/common/series/bar-path.component.d.ts.map +0 -1
- package/chart/common/series/bar-series.component.d.ts.map +0 -1
- package/chart/common/series/line-series.component.d.ts.map +0 -1
- package/chart/common/series/series.component.d.ts.map +0 -1
- package/chart/common/tooltip/tooltip.component.d.ts.map +0 -1
- package/chart/constants.d.ts.map +0 -1
- package/chart/custom-template/dropdown-legend.d.ts.map +0 -1
- package/chart/public-api.d.ts.map +0 -1
- package/chart/types.d.ts.map +0 -1
- package/chart/utils.d.ts.map +0 -1
- package/code/code-display-dialog/component.d.ts.map +0 -1
- package/code/code-editor-configs.d.ts.map +0 -1
- package/code/code.module.d.ts.map +0 -1
- package/code/k8s-yaml-display-dialog/component.d.ts.map +0 -1
- package/code/managed-fields-folder.util.d.ts.map +0 -1
- package/code/public-api.d.ts.map +0 -1
- package/code/resource-yaml-display/component.d.ts.map +0 -1
- package/code/resource-yaml-editor/component.d.ts.map +0 -1
- package/code/yaml-examples.d.ts.map +0 -1
- package/code/yaml-sidebar/component.d.ts.map +0 -1
- package/code/yaml-sidebar/types.d.ts.map +0 -1
- package/core/abstract/base-form-container.d.ts.map +0 -1
- package/core/abstract/base-nested-form-control.d.ts.map +0 -1
- package/core/abstract/public-api.d.ts.map +0 -1
- package/core/components/public-api.d.ts.map +0 -1
- package/core/components/tree/module.d.ts.map +0 -1
- package/core/components/tree/node/component.d.ts.map +0 -1
- package/core/components/tree/outlet.d.ts.map +0 -1
- package/core/components/tree/padding.d.ts.map +0 -1
- package/core/components/tree/toggle.d.ts.map +0 -1
- package/core/components/tree/tree/component.d.ts.map +0 -1
- package/core/constants/constants.d.ts.map +0 -1
- package/core/constants/patterns.d.ts.map +0 -1
- package/core/constants/public-api.d.ts.map +0 -1
- package/core/constants/status-icons.d.ts.map +0 -1
- package/core/constants/timezones.d.ts.map +0 -1
- package/core/constants/tokens.d.ts.map +0 -1
- package/core/directives/aui-code-editor.directive.d.ts.map +0 -1
- package/core/directives/click-outside.directive.d.ts.map +0 -1
- package/core/directives/declare.directive.d.ts.map +0 -1
- package/core/directives/disabled.directive.d.ts.map +0 -1
- package/core/directives/feature-gate.directive.d.ts.map +0 -1
- package/core/directives/intercept-deactivate.directive.d.ts.map +0 -1
- package/core/directives/last-form-item.directive.d.ts.map +0 -1
- package/core/directives/page-header-content.directive.d.ts.map +0 -1
- package/core/directives/public-api.d.ts.map +0 -1
- package/core/directives/readonly-field.directive.d.ts.map +0 -1
- package/core/directives/resize.directive.d.ts.map +0 -1
- package/core/directives/scroll-border-observer.directive.d.ts.map +0 -1
- package/core/directives/scroll-to-first-invalid.directive.d.ts.map +0 -1
- package/core/guards/feature.guard.d.ts.map +0 -1
- package/core/guards/intercept-deactivate.guard.d.ts.map +0 -1
- package/core/guards/leave-edit-page.guard.d.ts.map +0 -1
- package/core/guards/project-namespace.guard.d.ts.map +0 -1
- package/core/guards/public-api.d.ts.map +0 -1
- package/core/module.d.ts.map +0 -1
- package/core/pipes/calc.pipe.d.ts.map +0 -1
- package/core/pipes/cron-human-readable.pipe.d.ts.map +0 -1
- package/core/pipes/crontab-next.pipe.d.ts.map +0 -1
- package/core/pipes/duration.pipe.d.ts.map +0 -1
- package/core/pipes/field-not-available.pipe.d.ts.map +0 -1
- package/core/pipes/img-header.pipe.d.ts.map +0 -1
- package/core/pipes/img-theme.pipe.d.ts.map +0 -1
- package/core/pipes/k8s-util.pipe.d.ts.map +0 -1
- package/core/pipes/k8s-util.pipe.module.d.ts.map +0 -1
- package/core/pipes/keyvalue.pipe.d.ts.map +0 -1
- package/core/pipes/marked.pipe.d.ts.map +0 -1
- package/core/pipes/minimum-format.pipe.d.ts.map +0 -1
- package/core/pipes/page-env.pipe.d.ts.map +0 -1
- package/core/pipes/parse-json-translate.pipe.d.ts.map +0 -1
- package/core/pipes/parse-json.pipe.d.ts.map +0 -1
- package/core/pipes/public-api.d.ts.map +0 -1
- package/core/pipes/pure.pipe.d.ts.map +0 -1
- package/core/pipes/pure.pipe.module.d.ts.map +0 -1
- package/core/pipes/safe.pipe.d.ts.map +0 -1
- package/core/pipes/sanitize.pipe.d.ts.map +0 -1
- package/core/pipes/time.pipe.d.ts.map +0 -1
- package/core/pipes/timezone-display.pipe.d.ts.map +0 -1
- package/core/public-api.d.ts.map +0 -1
- package/core/services/aui-paginator-intl.service.d.ts.map +0 -1
- package/core/services/aui-tooltip-copy-intl.service.d.ts.map +0 -1
- package/core/services/context.service.d.ts.map +0 -1
- package/core/services/custom-code-editor-intl.service.d.ts.map +0 -1
- package/core/services/disaster-recovery.service.d.ts.map +0 -1
- package/core/services/encode-url-param.interceptor.d.ts.map +0 -1
- package/core/services/feature-gate.service.d.ts.map +0 -1
- package/core/services/form-row-duplicate/form-row-duplicate.service.d.ts.map +0 -1
- package/core/services/intercept-deactivate.service.d.ts.map +0 -1
- package/core/services/k8s-util.service.d.ts.map +0 -1
- package/core/services/kubernetes-schema.service.d.ts.map +0 -1
- package/core/services/on-resize.service.d.ts.map +0 -1
- package/core/services/plugin-util.service.d.ts.map +0 -1
- package/core/services/public-api.d.ts.map +0 -1
- package/core/services/silently-navigate.service.d.ts.map +0 -1
- package/core/services/time.service.d.ts.map +0 -1
- package/core/services/ui-state.service.d.ts.map +0 -1
- package/core/services/workspace-helper.service.d.ts.map +0 -1
- package/core/services/yaml-util.service.d.ts.map +0 -1
- package/core/types/commons.d.ts.map +0 -1
- package/core/types/helpers.d.ts.map +0 -1
- package/core/types/k8s/core.d.ts.map +0 -1
- package/core/types/k8s/crd.d.ts.map +0 -1
- package/core/types/k8s/public-api.d.ts.map +0 -1
- package/core/types/k8s/raw.d.ts.map +0 -1
- package/core/types/openapi.d.ts.map +0 -1
- package/core/types/public-api.d.ts.map +0 -1
- package/core/types/resource-definitions.d.ts.map +0 -1
- package/core/types/schema.d.ts.map +0 -1
- package/core/utils/browser.d.ts.map +0 -1
- package/core/utils/cache-store.d.ts.map +0 -1
- package/core/utils/color-helpers.d.ts.map +0 -1
- package/core/utils/common.d.ts.map +0 -1
- package/core/utils/create-recursive-filter.d.ts.map +0 -1
- package/core/utils/cron-util.d.ts.map +0 -1
- package/core/utils/decorators.d.ts.map +0 -1
- package/core/utils/dev-helpers.d.ts.map +0 -1
- package/core/utils/disabled-state.d.ts.map +0 -1
- package/core/utils/format-number.d.ts.map +0 -1
- package/core/utils/k8s-util.d.ts.map +0 -1
- package/core/utils/local-storage-constants.d.ts.map +0 -1
- package/core/utils/node.d.ts.map +0 -1
- package/core/utils/observable.d.ts.map +0 -1
- package/core/utils/operators.d.ts.map +0 -1
- package/core/utils/public-api.d.ts.map +0 -1
- package/core/utils/request-pool.d.ts.map +0 -1
- package/core/utils/resources.d.ts.map +0 -1
- package/core/utils/router.d.ts.map +0 -1
- package/core/utils/sort-fn.d.ts.map +0 -1
- package/core/utils/tree.d.ts.map +0 -1
- package/core/utils/unit.d.ts.map +0 -1
- package/core/utils/version.d.ts.map +0 -1
- package/core/utils/with-load-state.d.ts.map +0 -1
- package/core/utils/workload.d.ts.map +0 -1
- package/core/utils/workspace.d.ts.map +0 -1
- package/core/utils/yaml.d.ts.map +0 -1
- package/custom-columns-setting/component.d.ts.map +0 -1
- package/custom-columns-setting/public-api.d.ts.map +0 -1
- package/disabled-container/disabled-container.component.d.ts.map +0 -1
- package/disabled-container/disabled-container.module.d.ts.map +0 -1
- package/disabled-container/public-api.d.ts.map +0 -1
- package/editable/editable.component.d.ts.map +0 -1
- package/editable/editable.directive.d.ts.map +0 -1
- package/editable/editable.type.d.ts.map +0 -1
- package/editable/public-api.d.ts.map +0 -1
- package/editable-text/component.d.ts.map +0 -1
- package/editable-text/module.d.ts.map +0 -1
- package/editable-text/public-api.d.ts.map +0 -1
- package/effect-directive/coerce-number.directive.d.ts.map +0 -1
- package/effect-directive/e2e-attribute-binding.directive.d.ts.map +0 -1
- package/effect-directive/event.directive.d.ts.map +0 -1
- package/effect-directive/min-max.directive.d.ts.map +0 -1
- package/effect-directive/module.d.ts.map +0 -1
- package/effect-directive/public-api.d.ts.map +0 -1
- package/effect-directive/trim.directive.d.ts.map +0 -1
- package/effect-directive/validators.directive.d.ts.map +0 -1
- package/esm2022/authorization/runtime.mjs +0 -96
- package/exec/constants.d.ts.map +0 -1
- package/exec/module.d.ts.map +0 -1
- package/exec/placeholder/component.d.ts.map +0 -1
- package/exec/public-api.d.ts.map +0 -1
- package/exec/service.d.ts.map +0 -1
- package/exec/terminal/component.d.ts.map +0 -1
- package/exec/terminal-group/component.d.ts.map +0 -1
- package/exec/types.d.ts.map +0 -1
- package/feature-gate-forbidden/component/component.d.ts.map +0 -1
- package/feature-gate-forbidden/module.d.ts.map +0 -1
- package/feature-gate-forbidden/public-api.d.ts.map +0 -1
- package/form/directives/value-trace.directive.d.ts.map +0 -1
- package/form/errors-mapper/base-errors-mapper.d.ts.map +0 -1
- package/form/errors-mapper/default-errors-mapper.service.d.ts.map +0 -1
- package/form/errors-mapper/errors-mapper-component/component.d.ts.map +0 -1
- package/form/errors-mapper/errors-mapper.directive.d.ts.map +0 -1
- package/form/errors-mapper/errors-mapper.module.d.ts.map +0 -1
- package/form/errors-mapper/public-api.d.ts.map +0 -1
- package/form/errors-mapper/types.d.ts.map +0 -1
- package/form/labels-editor/component.d.ts.map +0 -1
- package/form/public-api.d.ts.map +0 -1
- package/form/taints-editor/component.d.ts.map +0 -1
- package/form/upload-file/component.d.ts.map +0 -1
- package/form/utils.d.ts.map +0 -1
- package/form/validators/async-function-validator.directive.d.ts.map +0 -1
- package/form/validators/dns1123-subdomain.d.ts.map +0 -1
- package/form/validators/function-validator.directive.d.ts.map +0 -1
- package/form/validators/maxlength-minlength-validator.directive.d.ts.map +0 -1
- package/form/validators/module.d.ts.map +0 -1
- package/form/validators/not-be-validator.directive.d.ts.map +0 -1
- package/form/validators/one-of-validator.directive.d.ts.map +0 -1
- package/form/validators/public-api.d.ts.map +0 -1
- package/form/validators/resource-limit.d.ts.map +0 -1
- package/form/validators/strong-password/public-api.d.ts.map +0 -1
- package/form/validators/strong-password/strong-password-tooltip/component.d.ts.map +0 -1
- package/form/validators/strong-password/strong-password-validator.directive.d.ts.map +0 -1
- package/form/validators/strong-password/strong-password-validator.module.d.ts.map +0 -1
- package/form/validators/utils.d.ts.map +0 -1
- package/graph-canvas/components/graph-actions.component.d.ts.map +0 -1
- package/graph-canvas/components/graph-canvas.component.d.ts.map +0 -1
- package/graph-canvas/components/graph-link.component.d.ts.map +0 -1
- package/graph-canvas/components/graph-links.component.d.ts.map +0 -1
- package/graph-canvas/components/graph-node.directive.d.ts.map +0 -1
- package/graph-canvas/graph-canvas.module.d.ts.map +0 -1
- package/graph-canvas/graph-store.service.d.ts.map +0 -1
- package/graph-canvas/public-api.d.ts.map +0 -1
- package/graph-canvas/types.d.ts.map +0 -1
- package/graph-canvas/utils.d.ts.map +0 -1
- package/grid-layout/components/grid/component.d.ts.map +0 -1
- package/grid-layout/components/grid-items/component.d.ts.map +0 -1
- package/grid-layout/constant.d.ts.map +0 -1
- package/grid-layout/directives/drag-handler.directive.d.ts.map +0 -1
- package/grid-layout/directives/placeholder.directive.d.ts.map +0 -1
- package/grid-layout/directives/remove-handler.directive.d.ts.map +0 -1
- package/grid-layout/directives/resize-handler.directive.d.ts.map +0 -1
- package/grid-layout/grid-layout.service.d.ts.map +0 -1
- package/grid-layout/grid-placeholder.service.d.ts.map +0 -1
- package/grid-layout/module.d.ts.map +0 -1
- package/grid-layout/public-api.d.ts.map +0 -1
- package/grid-layout/type.d.ts.map +0 -1
- package/grid-layout/utils/client-rect.utils.d.ts.map +0 -1
- package/grid-layout/utils/grid.utils.d.ts.map +0 -1
- package/grid-layout/utils/mouse.utils.d.ts.map +0 -1
- package/grid-layout/utils/operator.d.ts.map +0 -1
- package/grid-layout/utils/react-grid-layout.utils.d.ts.map +0 -1
- package/grid-layout/utils/scroll.utils.d.ts.map +0 -1
- package/help-document/component.d.ts.map +0 -1
- package/help-document/directive.d.ts.map +0 -1
- package/help-document/module.d.ts.map +0 -1
- package/help-document/public-api.d.ts.map +0 -1
- package/help-document/service.d.ts.map +0 -1
- package/iframe-config/config.service.d.ts.map +0 -1
- package/iframe-config/constants.d.ts.map +0 -1
- package/iframe-config/public-api.d.ts.map +0 -1
- package/k8s-resource-list/footer/component.d.ts.map +0 -1
- package/k8s-resource-list/k8s-resource-list.d.ts.map +0 -1
- package/k8s-resource-list/k8s-resource-list.module.d.ts.map +0 -1
- package/k8s-resource-list/k8s-resource-paged-list.d.ts.map +0 -1
- package/k8s-resource-list/public-api.d.ts.map +0 -1
- package/k8s-resource-list/types.d.ts.map +0 -1
- package/k8s-resource-list/utils.d.ts.map +0 -1
- package/k8s-shared/constants.d.ts.map +0 -1
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts.map +0 -1
- package/k8s-shared/k8s-shared-util.service.d.ts.map +0 -1
- package/k8s-shared/public-api.d.ts.map +0 -1
- package/k8s-shared/resource-mark/k8s-resource-mark.component.d.ts.map +0 -1
- package/k8s-shared/resource-mark/util.d.ts.map +0 -1
- package/k8s-shared/update-description-dialog/component.d.ts.map +0 -1
- package/k8s-shared/update-display-name-dialog/component.d.ts.map +0 -1
- package/k8s-shared/update-key-value-dialog/component.d.ts.map +0 -1
- package/lazy-component/lazy-load-component.d.ts.map +0 -1
- package/lazy-component/public-api.d.ts.map +0 -1
- package/lazy-component/visibility.service.d.ts.map +0 -1
- package/license/license-api.d.ts.map +0 -1
- package/license/license-error/component.d.ts.map +0 -1
- package/license/license-error/module.d.ts.map +0 -1
- package/license/license.guard.d.ts.map +0 -1
- package/license/license.service.d.ts.map +0 -1
- package/license/license.type.d.ts.map +0 -1
- package/license/public-api.d.ts.map +0 -1
- package/list-display/component.d.ts.map +0 -1
- package/list-display/public-api.d.ts.map +0 -1
- package/metric-chart/common-chart.service.d.ts.map +0 -1
- package/metric-chart/helpers.d.ts.map +0 -1
- package/metric-chart/metric-chart.component.d.ts.map +0 -1
- package/metric-chart/metric-chart.module.d.ts.map +0 -1
- package/metric-chart/metric-time-pick.d.ts.map +0 -1
- package/metric-chart/public-api.d.ts.map +0 -1
- package/metric-chart/types.d.ts.map +0 -1
- package/metric-chart/utils.d.ts.map +0 -1
- package/multi-search/action-input/component.d.ts.map +0 -1
- package/multi-search/form/component.d.ts.map +0 -1
- package/multi-search/multi-search-tags/component.d.ts.map +0 -1
- package/multi-search/public-api.d.ts.map +0 -1
- package/multi-search/types.d.ts.map +0 -1
- package/multi-search/utils.d.ts.map +0 -1
- package/mutable/element.d.ts.map +0 -1
- package/mutable/mosaic/mosaic.component.d.ts.map +0 -1
- package/mutable/mosaic/mosaic.directive.d.ts.map +0 -1
- package/mutable/mutable.directive.d.ts.map +0 -1
- package/mutable/mutable.module.d.ts.map +0 -1
- package/mutable/public-api.d.ts.map +0 -1
- package/mutable/util.d.ts.map +0 -1
- package/notification/errors-mapper.d.ts.map +0 -1
- package/notification/feedback-notification/component.d.ts.map +0 -1
- package/notification/helpers.d.ts.map +0 -1
- package/notification/notification-util.service.d.ts.map +0 -1
- package/notification/public-api.d.ts.map +0 -1
- package/notification/resource-error.interceptor.d.ts.map +0 -1
- package/overview-banner/overview-banner.component.d.ts.map +0 -1
- package/overview-banner/overview-banner.module.d.ts.map +0 -1
- package/overview-banner/overview-banner.types.d.ts.map +0 -1
- package/overview-banner/public-api.d.ts.map +0 -1
- package/page-guard/component/component.d.ts.map +0 -1
- package/page-guard/component/helper-directives.d.ts.map +0 -1
- package/page-guard/component/page-guard.type.d.ts.map +0 -1
- package/page-guard/module.d.ts.map +0 -1
- package/page-guard/public-api.d.ts.map +0 -1
- package/page-scaffold/module.d.ts.map +0 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts.map +0 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts.map +0 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.service.d.ts.map +0 -1
- package/page-scaffold/navigation/breadcrumb/module.d.ts.map +0 -1
- package/page-scaffold/navigation/breadcrumb/public-api.d.ts.map +0 -1
- package/page-scaffold/navigation/lottie-icons/animation-data.d.ts.map +0 -1
- package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts.map +0 -1
- package/page-scaffold/navigation/lottie-icons/module.d.ts.map +0 -1
- package/page-scaffold/navigation/lottie-icons/public-api.d.ts.map +0 -1
- package/page-scaffold/navigation/lottie-icons/replace-lottie-colors.d.ts.map +0 -1
- package/page-scaffold/navigation/module.d.ts.map +0 -1
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts.map +0 -1
- package/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.d.ts.map +0 -1
- package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts.map +0 -1
- package/page-scaffold/navigation/nav-menu/nav-menu.module.d.ts.map +0 -1
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts.map +0 -1
- package/page-scaffold/navigation/nav-menu/public-api.d.ts.map +0 -1
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts.map +0 -1
- package/page-scaffold/navigation/navconfig-loader/public-api.d.ts.map +0 -1
- package/page-scaffold/navigation/public-api.d.ts.map +0 -1
- package/page-scaffold/navigation/utils.d.ts.map +0 -1
- package/page-scaffold/page/context.service.d.ts.map +0 -1
- package/page-scaffold/page/helper-directives.d.ts.map +0 -1
- package/page-scaffold/page/notices/maintenance.component.d.ts.map +0 -1
- package/page-scaffold/page/notices/notice.component.d.ts.map +0 -1
- package/page-scaffold/page/page.component.d.ts.map +0 -1
- package/page-scaffold/page/page.module.d.ts.map +0 -1
- package/page-scaffold/page/public-api.d.ts.map +0 -1
- package/page-scaffold/page-header/account-menu/component/component.d.ts.map +0 -1
- package/page-scaffold/page-header/account-menu/module.d.ts.map +0 -1
- package/page-scaffold/page-header/account-menu/public-api.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/common-layout.module.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/context.service.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/namespace-select/component.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/product-select/service.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/project-select/base-selection.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/public-api.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/store.service.d.ts.map +0 -1
- package/page-scaffold/page-header/common-layout/utils.d.ts.map +0 -1
- package/page-scaffold/page-header/component.d.ts.map +0 -1
- package/page-scaffold/page-header/enterprise-support-status/component.d.ts.map +0 -1
- package/page-scaffold/page-header/header-notify/component/header-notify.component.d.ts.map +0 -1
- package/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.d.ts.map +0 -1
- package/page-scaffold/page-header/header-notify/header-notify.module.d.ts.map +0 -1
- package/page-scaffold/page-header/header-notify/notify.service.d.ts.map +0 -1
- package/page-scaffold/page-header/header-notify/public-api.d.ts.map +0 -1
- package/page-scaffold/page-header/header-notify/utils.d.ts.map +0 -1
- package/page-scaffold/page-header/help-menu/component/component.d.ts.map +0 -1
- package/page-scaffold/page-header/help-menu/module.d.ts.map +0 -1
- package/page-scaffold/page-header/help-menu/public-api.d.ts.map +0 -1
- package/page-scaffold/page-header/module.d.ts.map +0 -1
- package/page-scaffold/page-header/public-api.d.ts.map +0 -1
- package/page-scaffold/public-api.d.ts.map +0 -1
- package/permission/constants.d.ts.map +0 -1
- package/permission/helpers.d.ts.map +0 -1
- package/permission/k8s-permission.service.d.ts.map +0 -1
- package/permission/permission.guard.d.ts.map +0 -1
- package/permission/public-api.d.ts.map +0 -1
- package/permission/types.d.ts.map +0 -1
- package/pie-derivative-chart/donut-status/component.d.ts.map +0 -1
- package/pie-derivative-chart/indicator-color.directive.d.ts.map +0 -1
- package/pie-derivative-chart/numerical-limit.pipe.d.ts.map +0 -1
- package/pie-derivative-chart/pie-derivative-chart.module.d.ts.map +0 -1
- package/pie-derivative-chart/public-api.d.ts.map +0 -1
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts.map +0 -1
- package/pie-derivative-chart/units.d.ts.map +0 -1
- package/pod-status/component.d.ts.map +0 -1
- package/pod-status/public-api.d.ts.map +0 -1
- package/pod-status/status.d.ts.map +0 -1
- package/pod-status/typings.d.ts.map +0 -1
- package/public-api.d.ts.map +0 -1
- package/searchable-selector/component.d.ts.map +0 -1
- package/searchable-selector/module.d.ts.map +0 -1
- package/searchable-selector/public-api.d.ts.map +0 -1
- package/skeleton/item/component.d.ts.map +0 -1
- package/skeleton/module.d.ts.map +0 -1
- package/skeleton/nav-skeleton/component.d.ts.map +0 -1
- package/skeleton/public-api.d.ts.map +0 -1
- package/table/component.d.ts.map +0 -1
- package/table/constants.d.ts.map +0 -1
- package/table/helper.d.ts.map +0 -1
- package/table/helpers.directive.d.ts.map +0 -1
- package/table/module.d.ts.map +0 -1
- package/table/public-api.d.ts.map +0 -1
- package/table/types.d.ts.map +0 -1
- package/table/util.service.d.ts.map +0 -1
- package/translate/constants.d.ts.map +0 -1
- package/translate/helpers.d.ts.map +0 -1
- package/translate/i18n-assets-loader.d.ts.map +0 -1
- package/translate/i18n-config.d.ts.map +0 -1
- package/translate/intl-format.pipes.d.ts.map +0 -1
- package/translate/public-api.d.ts.map +0 -1
- package/translate/relative-time-manager.service.d.ts.map +0 -1
- package/translate/tokens.d.ts.map +0 -1
- package/translate/translate.directive.d.ts.map +0 -1
- package/translate/translate.module.d.ts.map +0 -1
- package/translate/translate.pipe.d.ts.map +0 -1
- package/translate/translate.service.d.ts.map +0 -1
- package/translate/types.d.ts.map +0 -1
- package/view-chart/custom-template/dropdown-legend.d.ts.map +0 -1
- package/view-chart/legend/legend.component.d.ts.map +0 -1
- package/view-chart/public-api.d.ts.map +0 -1
- package/view-chart/types.d.ts.map +0 -1
- package/view-chart/view-chart.component.d.ts.map +0 -1
- package/view-chart/view-chart.module.d.ts.map +0 -1
- package/view-zchart/custom-template/dropdown-legend.d.ts.map +0 -1
- package/view-zchart/legend/legend.component.d.ts.map +0 -1
- package/view-zchart/public-api.d.ts.map +0 -1
- package/view-zchart/types.d.ts.map +0 -1
- package/view-zchart/units.d.ts.map +0 -1
- package/view-zchart/view-zchart.component.d.ts.map +0 -1
- package/view-zchart/view-zchart.module.d.ts.map +0 -1
- package/widget/card-section/card-section.component.d.ts.map +0 -1
- package/widget/confirm-delete/confirm-delete.component.d.ts.map +0 -1
- package/widget/confirm-delete/utils.d.ts.map +0 -1
- package/widget/current-time/component.d.ts.map +0 -1
- package/widget/date-range-picker/component.d.ts.map +0 -1
- package/widget/date-range-picker/public-api.d.ts.map +0 -1
- package/widget/date-range-picker/type.d.ts.map +0 -1
- package/widget/date-range-picker/util.d.ts.map +0 -1
- package/widget/field-set/column/component.d.ts.map +0 -1
- package/widget/field-set/group/component.d.ts.map +0 -1
- package/widget/field-set/index.d.ts.map +0 -1
- package/widget/field-set/item/component.d.ts.map +0 -1
- package/widget/foldable-block/component.d.ts.map +0 -1
- package/widget/foldable-item-in-table/component.d.ts.map +0 -1
- package/widget/loading-mask/loading-mask.component.d.ts.map +0 -1
- package/widget/password-input/component.d.ts.map +0 -1
- package/widget/public-api.d.ts.map +0 -1
- package/widget/relative-time/component.d.ts.map +0 -1
- package/widget/resource-label/component.d.ts.map +0 -1
- package/widget/resource-multi-select/component.d.ts.map +0 -1
- package/widget/resource-multi-select/util.d.ts.map +0 -1
- package/widget/search-panel/component.d.ts.map +0 -1
- package/widget/search-panel/helper.directive.d.ts.map +0 -1
- package/widget/search-panel/search-item/component.d.ts.map +0 -1
- package/widget/select-prefix-label/directive.d.ts.map +0 -1
- package/widget/status-icon/status-icon.component.d.ts.map +0 -1
- package/widget/tags-label/component.d.ts.map +0 -1
- package/widget/terminating-tag/component.d.ts.map +0 -1
- package/widget/text-ellipsis/component.d.ts.map +0 -1
- package/widget/text-tooltip/directive.d.ts.map +0 -1
- package/widget/text-with-url/component.d.ts.map +0 -1
- package/widget/widget.module.d.ts.map +0 -1
- package/widget/zero-state/zero-state.component.d.ts.map +0 -1
- package/window-channel/base-window-channel.d.ts.map +0 -1
- package/window-channel/directives/host-link.directive.d.ts.map +0 -1
- package/window-channel/host-window-channel.service.d.ts.map +0 -1
- package/window-channel/plugin-window-channel.service.d.ts.map +0 -1
- package/window-channel/public-api.d.ts.map +0 -1
- package/window-channel/utils.d.ts.map +0 -1
- package/workload-status-icon/component.d.ts.map +0 -1
- package/workload-status-icon/public-api.d.ts.map +0 -1
- package/xterm/public-api.d.ts.map +0 -1
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts.map +0 -1
- package/xterm/xterm-terminal/xterm-terminal.directive.d.ts.map +0 -1
- package/xterm/xterm.component.d.ts.map +0 -1
package/api/k8s-api.service.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { HttpClient } from '@angular/common/http';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
import { KubernetesResource, KubernetesResourceList, Status } from '../core/public-api';
|
|
8
|
+
import { K8sPermissionService } from '../permission/k8s-permission.service';
|
|
8
9
|
import { K8sApiResourceService } from './k8s-api-resource.service';
|
|
9
10
|
import { PageVisibilityService } from './page-visibility.service';
|
|
10
11
|
import { ErebusResourceDeleteParams, ErebusResourceListParams, ErebusResourceParams, ErebusResourcePatchParams, ErebusResourceWriteParams, GlobalResourceDeleteParams, GlobalResourceListParams, GlobalResourceParams, GlobalResourcePatchParams, GlobalResourceWriteParams, WatchAPIResponse, WatchErebusResourceListParams, WatchErebusResourceParams, WatchGlobalResourceListParams, WatchGlobalResourceParams, ErebusResourceBatchDeleteParams } from './types';
|
|
@@ -15,8 +16,9 @@ export declare class K8sApiService<R extends string = string> {
|
|
|
15
16
|
private readonly http;
|
|
16
17
|
private readonly k8sApiResource;
|
|
17
18
|
private readonly pageVisibility;
|
|
19
|
+
private readonly k8sPermission;
|
|
18
20
|
private readonly globalNamespace;
|
|
19
|
-
constructor(http: HttpClient, k8sApiResource: K8sApiResourceService, pageVisibility: PageVisibilityService, globalNamespace: string);
|
|
21
|
+
constructor(http: HttpClient, k8sApiResource: K8sApiResourceService, pageVisibility: PageVisibilityService, k8sPermission: K8sPermissionService, globalNamespace: string);
|
|
20
22
|
/**
|
|
21
23
|
* 获取 Global 集群单个资源对象
|
|
22
24
|
*/
|
|
@@ -83,7 +83,7 @@ export declare class ArrayFormTableComponent implements OnDestroy {
|
|
|
83
83
|
addDisabled: boolean | '';
|
|
84
84
|
actionColumnDivider: boolean | '';
|
|
85
85
|
showZeroState: boolean;
|
|
86
|
-
get formDirective():
|
|
86
|
+
get formDirective(): NgForm | FormGroupDirective;
|
|
87
87
|
/**
|
|
88
88
|
* 自定义是否展示错误内容
|
|
89
89
|
* 例如 control 是 FormGroup,只有在内部子 control 错误时才需要展示错误内容
|
|
@@ -21,7 +21,7 @@ export declare class BaseNestedFormControl<V, M = V> implements AfterViewInit, O
|
|
|
21
21
|
protected asyncValidator: boolean;
|
|
22
22
|
protected cdr: ChangeDetectorRef;
|
|
23
23
|
protected destroy$$: Subject<void>;
|
|
24
|
-
protected hostForm:
|
|
24
|
+
protected hostForm: NgForm | FormGroupDirective;
|
|
25
25
|
constructor();
|
|
26
26
|
ngAfterViewInit(): void;
|
|
27
27
|
ngOnDestroy(): void;
|
package/core/types/k8s/crd.d.ts
CHANGED
|
@@ -611,6 +611,22 @@ export interface UserList extends KubernetesResourceList<User> {
|
|
|
611
611
|
*/
|
|
612
612
|
export interface UserBinding extends KubernetesResource {
|
|
613
613
|
spec?: UserBindingSpec;
|
|
614
|
+
status?: UserBindingStatus;
|
|
615
|
+
}
|
|
616
|
+
export interface UserBindingStatus {
|
|
617
|
+
phase?: 'Success' | 'Failture' | 'Unknown';
|
|
618
|
+
delegationClusters?: UserBindingDelegationClustersStatus;
|
|
619
|
+
}
|
|
620
|
+
export interface UserBindingDelegationClustersStatus {
|
|
621
|
+
ready?: boolean;
|
|
622
|
+
statuses?: UserBindingDelegationStatus[];
|
|
623
|
+
}
|
|
624
|
+
export interface UserBindingDelegationStatus {
|
|
625
|
+
cluster?: string;
|
|
626
|
+
clusterRole: string;
|
|
627
|
+
status: 'True' | 'False' | 'Unknown';
|
|
628
|
+
reason?: string;
|
|
629
|
+
message?: string;
|
|
614
630
|
}
|
|
615
631
|
export interface UserBindingSpec {
|
|
616
632
|
subjects: Array<{
|
package/core/types/k8s/raw.d.ts
CHANGED
|
@@ -116,8 +116,12 @@ export interface Container {
|
|
|
116
116
|
volumeMounts?: VolumeMount[];
|
|
117
117
|
livenessProbe?: Probe;
|
|
118
118
|
readinessProbe?: Probe;
|
|
119
|
+
startupProbe?: Probe;
|
|
119
120
|
lifecycle?: PodLifeCycle;
|
|
120
121
|
restartPolicy?: string;
|
|
122
|
+
stdin?: boolean;
|
|
123
|
+
stdinOnce?: boolean;
|
|
124
|
+
tty?: boolean;
|
|
121
125
|
}
|
|
122
126
|
export interface EnvVarSource {
|
|
123
127
|
configMapKeyRef?: ConfigMapKeyRef;
|
|
@@ -558,10 +558,6 @@ export declare const COMMON_RESOURCE_DEFINITIONS: {
|
|
|
558
558
|
readonly apiVersion: string;
|
|
559
559
|
readonly type: string;
|
|
560
560
|
};
|
|
561
|
-
readonly CERTIFICATE: {
|
|
562
|
-
readonly type: string;
|
|
563
|
-
readonly apiGroup: string;
|
|
564
|
-
};
|
|
565
561
|
readonly SECURITY_RULE: {
|
|
566
562
|
readonly type: string;
|
|
567
563
|
readonly apiGroup: string;
|
|
@@ -768,7 +764,6 @@ export declare const RESOURCE_TYPES: {
|
|
|
768
764
|
readonly CODING: "CODING";
|
|
769
765
|
readonly TI_MATRIX: "TI_MATRIX";
|
|
770
766
|
readonly SYSTEM_CONFIG: "SYSTEM_CONFIG";
|
|
771
|
-
readonly CERTIFICATE: "CERTIFICATE";
|
|
772
767
|
readonly SECURITY_RULE: "SECURITY_RULE";
|
|
773
768
|
readonly REGION: "REGION";
|
|
774
769
|
readonly TOPOLVM_CLUSTER_V2: "TOPOLVM_CLUSTER_V2";
|
|
@@ -788,7 +783,7 @@ export declare const RESOURCE_TYPES: {
|
|
|
788
783
|
readonly TUNNEL_CLUSTER: "TUNNEL_CLUSTER";
|
|
789
784
|
readonly K8S_CLUSTER: "K8S_CLUSTER";
|
|
790
785
|
};
|
|
791
|
-
export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | "RESOURCE_PATCH" | "COMPONENT_PROBER" | "INSPECTION" | "INSPECTION_DETAILS" | "INSPECTION_ITEMS" | "MESSAGE" | "MODULE_HEALTH" | "MODULE_HEALTH_RECORD" | "AUDIT" | "LOG_POLICY" | "FUNCTION_TEST" | "PROJECT_BINDING" | "PROBE" | "REPORT" | "NAMESPACE_RESOURCE_RATIO" | "CUSTOM_RESOURCE_DEFINITION" | "LICENSE" | "RECORD" | "CSI_NODE" | "TSF" | "TDSQL" | "PORTAL" | "NAMESPACE_IMPORT" | "CLUSTER_ADDON_TYPE" | "CLUSTER_CREDENTIAL" | "CODING" | "TI_MATRIX" | "SYSTEM_CONFIG" | "
|
|
786
|
+
export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | "RESOURCE_PATCH" | "COMPONENT_PROBER" | "INSPECTION" | "INSPECTION_DETAILS" | "INSPECTION_ITEMS" | "MESSAGE" | "MODULE_HEALTH" | "MODULE_HEALTH_RECORD" | "AUDIT" | "LOG_POLICY" | "FUNCTION_TEST" | "PROJECT_BINDING" | "PROBE" | "REPORT" | "NAMESPACE_RESOURCE_RATIO" | "CUSTOM_RESOURCE_DEFINITION" | "LICENSE" | "RECORD" | "CSI_NODE" | "TSF" | "TDSQL" | "PORTAL" | "NAMESPACE_IMPORT" | "CLUSTER_ADDON_TYPE" | "CLUSTER_CREDENTIAL" | "CODING" | "TI_MATRIX" | "SYSTEM_CONFIG" | "SECURITY_RULE" | "REGION" | "TOPOLVM_CLUSTER_V2" | "BUCKET" | "SCHEDULE" | "BACKUP_STORAGE_LOCATION" | "BACKUP_STORAGE_LOCATION_REPO" | "BACKUP" | "DELETE_BACKUP_REQUEST" | "ETCD_BACKUP_RECORD" | "RESTORE" | "RAW_DEVICE" | "APP_RELEASES" | "NOTIFICATION_TEMPLATE" | "NOTIFICATION_GROUP" | "NOTIFICATION" | "TUNNEL_CLUSTER" | "K8S_CLUSTER" | {
|
|
792
787
|
apiGroup: string;
|
|
793
788
|
type: string;
|
|
794
789
|
} | {
|
|
@@ -1203,9 +1198,6 @@ export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "A
|
|
|
1203
1198
|
apiGroup: string;
|
|
1204
1199
|
apiVersion: string;
|
|
1205
1200
|
type: string;
|
|
1206
|
-
} | {
|
|
1207
|
-
type: string;
|
|
1208
|
-
apiGroup: string;
|
|
1209
1201
|
} | {
|
|
1210
1202
|
type: string;
|
|
1211
1203
|
apiGroup: string;
|
|
@@ -4,6 +4,10 @@ import { map } from 'rxjs';
|
|
|
4
4
|
import { API_GATEWAY, } from '../core/public-api';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
const AUTH_URL = API_GATEWAY + '/auth/v2';
|
|
7
|
+
// Notification member resolution moved from apollo (/auth/v2) to courier, served
|
|
8
|
+
// as plain courier /v1 APIs (like /v1/alerts) reached through the courier-api
|
|
9
|
+
// ingress which forwards the caller's token.
|
|
10
|
+
const NOTIFICATION_URL = API_GATEWAY + '/v1';
|
|
7
11
|
export class AuthApiService {
|
|
8
12
|
constructor() {
|
|
9
13
|
this.http = inject(HttpClient);
|
|
@@ -30,10 +34,10 @@ export class AuthApiService {
|
|
|
30
34
|
return this.http.get(`${AUTH_URL}/users/${name}`);
|
|
31
35
|
}
|
|
32
36
|
getNotificationUsers(namespace, name) {
|
|
33
|
-
return this.http.get(`${
|
|
37
|
+
return this.http.get(`${NOTIFICATION_URL}/notifications/${namespace}/${name}/users`);
|
|
34
38
|
}
|
|
35
39
|
getNotificationGroupUsers(namespace, name) {
|
|
36
|
-
return this.http.get(`${
|
|
40
|
+
return this.http.get(`${NOTIFICATION_URL}/notificationgroups/${namespace}/${name}/users`);
|
|
37
41
|
}
|
|
38
42
|
getClusters(params) {
|
|
39
43
|
return this.http.get(API_GATEWAY + '/auth/v1/clusters', { params });
|
|
@@ -54,4 +58,4 @@ export class AuthApiService {
|
|
|
54
58
|
type: Injectable,
|
|
55
59
|
args: [{ providedIn: 'root' }]
|
|
56
60
|
}], null, null); })();
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvYXV0aC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQixPQUFPLEVBQ0wsV0FBVyxHQVVaLE1BQU0sb0JBQW9CLENBQUM7O0FBRTVCLE1BQU0sUUFBUSxHQUFHLFdBQVcsR0FBRyxVQUFVLENBQUM7QUFFMUMsaUZBQWlGO0FBQ2pGLDhFQUE4RTtBQUM5RSw2Q0FBNkM7QUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBRzdDLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQTBFbkM7SUF4RUMsa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsUUFBUSxHQUFHLGVBQWUsRUFDMUI7WUFDRSxNQUFNO1NBQ1AsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUEyQztRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixRQUFRLEdBQUcsYUFBYSxFQUN4QjtZQUNFLE1BQU07U0FDUCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBMEI7UUFDNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsUUFBUSxHQUFHLGdCQUFnQixFQUMzQjtZQUNFLE1BQU07U0FDUCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVcsUUFBUSxHQUFHLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU8sR0FBRyxRQUFRLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxJQUFZO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsZ0JBQWdCLGtCQUFrQixTQUFTLElBQUksSUFBSSxRQUFRLENBQy9ELENBQUM7SUFDSixDQUFDO0lBRUQseUJBQXlCLENBQUMsU0FBaUIsRUFBRSxJQUFZO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsZ0JBQWdCLHVCQUF1QixTQUFTLElBQUksSUFBSSxRQUFRLENBQ3BFLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQStCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLFdBQVcsR0FBRyxtQkFBbUIsRUFDakMsRUFBRSxNQUFNLEVBQUUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdEUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUErQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixXQUFXLEdBQUcsbUJBQW1CLEVBQ2pDLEVBQUUsTUFBTSxFQUFFLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0IsQ0FBQztJQUNKLENBQUM7K0VBMUVVLGNBQWM7dUVBQWQsY0FBYyxXQUFkLGNBQWMsbUJBREQsTUFBTTs7aUZBQ25CLGNBQWM7Y0FEMUIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBBUElfR0FURVdBWSxcbiAgQ2x1c3RlcixcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbiAgUHJvamVjdCxcbiAgUmVzb3VyY2VMaXN0UGFyYW1zLFxuICBSb2xlVGVtcGxhdGUsXG4gIFVzZXIsXG4gIFVzZXJCaW5kaW5nLFxuICBVc2VyTGlzdCxcbiAgVXNlclJvbGUsXG59IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmNvbnN0IEFVVEhfVVJMID0gQVBJX0dBVEVXQVkgKyAnL2F1dGgvdjInO1xuXG4vLyBOb3RpZmljYXRpb24gbWVtYmVyIHJlc29sdXRpb24gbW92ZWQgZnJvbSBhcG9sbG8gKC9hdXRoL3YyKSB0byBjb3VyaWVyLCBzZXJ2ZWRcbi8vIGFzIHBsYWluIGNvdXJpZXIgL3YxIEFQSXMgKGxpa2UgL3YxL2FsZXJ0cykgcmVhY2hlZCB0aHJvdWdoIHRoZSBjb3VyaWVyLWFwaVxuLy8gaW5ncmVzcyB3aGljaCBmb3J3YXJkcyB0aGUgY2FsbGVyJ3MgdG9rZW4uXG5jb25zdCBOT1RJRklDQVRJT05fVVJMID0gQVBJX0dBVEVXQVkgKyAnL3YxJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoQXBpU2VydmljZSB7XG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBnZXRVc2VyQmluZGluZ0xpc3QocGFyYW1zOiBSZXNvdXJjZUxpc3RQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFVzZXJCaW5kaW5nPj4oXG4gICAgICBBVVRIX1VSTCArICcvdXNlcmJpbmRpbmdzJyxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgZ2V0VXNlclJvbGVMaXN0KHBhcmFtczogeyB1c2Vyczogc3RyaW5nOyBwcm9qZWN0Pzogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFVzZXJSb2xlPj4oXG4gICAgICBBVVRIX1VSTCArICcvdXNlcnNyb2xlcycsXG4gICAgICB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGdldFJvbGVUZW1wbGF0ZUxpc3QocGFyYW1zOiBSZXNvdXJjZUxpc3RQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFJvbGVUZW1wbGF0ZT4+KFxuICAgICAgQVVUSF9VUkwgKyAnL3JvbGV0ZW1wbGF0ZXMnLFxuICAgICAge1xuICAgICAgICBwYXJhbXMsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBnZXRVc2VyTGlzdChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VXNlckxpc3Q+KEFVVEhfVVJMICsgJy91c2VycycsIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgZ2V0VXNlcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVc2VyPihgJHtBVVRIX1VSTH0vdXNlcnMvJHtuYW1lfWApO1xuICB9XG5cbiAgZ2V0Tm90aWZpY2F0aW9uVXNlcnMobmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8VXNlcj4+KFxuICAgICAgYCR7Tk9USUZJQ0FUSU9OX1VSTH0vbm90aWZpY2F0aW9ucy8ke25hbWVzcGFjZX0vJHtuYW1lfS91c2Vyc2AsXG4gICAgKTtcbiAgfVxuXG4gIGdldE5vdGlmaWNhdGlvbkdyb3VwVXNlcnMobmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8VXNlcj4+KFxuICAgICAgYCR7Tk9USUZJQ0FUSU9OX1VSTH0vbm90aWZpY2F0aW9uZ3JvdXBzLyR7bmFtZXNwYWNlfS8ke25hbWV9L3VzZXJzYCxcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2x1c3RlcnMocGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8Q2x1c3Rlcj4+KFxuICAgICAgQVBJX0dBVEVXQVkgKyAnL2F1dGgvdjEvY2x1c3RlcnMnLFxuICAgICAgeyBwYXJhbXMgfSxcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2x1c3RlcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDbHVzdGVycyh7IGZpZWxkU2VsZWN0b3I6IGBtZXRhZGF0YS5uYW1lPSR7bmFtZX1gIH0pLnBpcGUoXG4gICAgICBtYXAobGlzdCA9PiBsaXN0Lml0ZW1zWzBdKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvamVjdHMocGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8UHJvamVjdD4+KFxuICAgICAgQVBJX0dBVEVXQVkgKyAnL2F1dGgvdjEvcHJvamVjdHMnLFxuICAgICAgeyBwYXJhbXMgfSxcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvamVjdChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQcm9qZWN0cyh7IGZpZWxkU2VsZWN0b3I6IGBtZXRhZGF0YS5uYW1lPSR7bmFtZX1gIH0pLnBpcGUoXG4gICAgICBtYXAobGlzdCA9PiBsaXN0Lml0ZW1zWzBdKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
* @module api
|
|
4
4
|
*/
|
|
5
|
-
import { HttpClient, HttpEventType, } from '@angular/common/http';
|
|
5
|
+
import { HttpClient, HttpErrorResponse, HttpEventType, } from '@angular/common/http';
|
|
6
6
|
import { Inject, Injectable } from '@angular/core';
|
|
7
7
|
import { get, set } from 'lodash-es';
|
|
8
8
|
import { NEVER, Observable, combineLatest, from, of, throwError, filter, map, retryWhen, startWith, switchMap, concatMap, delay, distinctUntilChanged, } from 'rxjs';
|
|
9
9
|
import { API_GATEWAY, DOWNGRADE_WATCH_ENABLED, NOTIFY_ON_ERROR_HEADERS, NOT_NOTIFY_ON_ERROR_HEADERS, TRUE, } from '../core/constants/constants';
|
|
10
10
|
import { TOKEN_GLOBAL_NAMESPACE } from '../core/constants/tokens';
|
|
11
|
-
import { CRYPTO_HEADER_KEY, } from '../core/public-api';
|
|
11
|
+
import { CRYPTO_HEADER_KEY, K8sResourceAction, } from '../core/public-api';
|
|
12
12
|
import { METADATA, NAME, NAMESPACE } from '../core/services/public-api';
|
|
13
13
|
import { createPollObservable } from '../core/utils/observable';
|
|
14
14
|
import { isEqual, parseJSONStream } from '../core/utils/public-api';
|
|
15
15
|
import { normalizeParams } from '../k8s-resource-list/utils';
|
|
16
|
+
import { K8sPermissionService } from '../permission/k8s-permission.service';
|
|
16
17
|
import { getApiPrefixParts, getMetadataHeaders, isResourceEvent, reduceWatchEvents, } from './helpers';
|
|
17
18
|
import { K8sApiResourceService } from './k8s-api-resource.service';
|
|
18
19
|
import { PageVisibilityService } from './page-visibility.service';
|
|
@@ -21,16 +22,18 @@ import * as i0 from "@angular/core";
|
|
|
21
22
|
import * as i1 from "@angular/common/http";
|
|
22
23
|
import * as i2 from "./k8s-api-resource.service";
|
|
23
24
|
import * as i3 from "./page-visibility.service";
|
|
25
|
+
import * as i4 from "../permission/k8s-permission.service";
|
|
24
26
|
// 名称前缀 Erebus 参考 http://confluence.alauda.cn/pages/viewpage.action?pageId=44663484 指 /kubernetes/ 开头的 api 组件
|
|
25
27
|
export const TIMEOUT_SECONDS = 59;
|
|
26
28
|
export const SEARCH_URL_PREFIX = '/acp/v1/resources/search';
|
|
27
29
|
const RETRY_DELAY = 5000;
|
|
28
30
|
const RETRY_COUNT = 3;
|
|
29
31
|
export class K8sApiService {
|
|
30
|
-
constructor(http, k8sApiResource, pageVisibility, globalNamespace) {
|
|
32
|
+
constructor(http, k8sApiResource, pageVisibility, k8sPermission, globalNamespace) {
|
|
31
33
|
this.http = http;
|
|
32
34
|
this.k8sApiResource = k8sApiResource;
|
|
33
35
|
this.pageVisibility = pageVisibility;
|
|
36
|
+
this.k8sPermission = k8sPermission;
|
|
34
37
|
this.globalNamespace = globalNamespace;
|
|
35
38
|
// @internal
|
|
36
39
|
this._getHeaders = ({ notifyOnError, onlyMetadata, customAccept, crypto }, isList) => {
|
|
@@ -114,7 +117,14 @@ export class K8sApiService {
|
|
|
114
117
|
watchResource(params) {
|
|
115
118
|
return DOWNGRADE_WATCH_ENABLED && params.downgradePolling
|
|
116
119
|
? createPollObservable(this._getResource(params), this._getDowngradePolling(params)).pipe(distinctUntilChanged((a, b) => isEqual(a, b)))
|
|
117
|
-
: this.
|
|
120
|
+
: this.k8sPermission
|
|
121
|
+
.isAllowed({
|
|
122
|
+
...params,
|
|
123
|
+
action: K8sResourceAction.GET,
|
|
124
|
+
})
|
|
125
|
+
.pipe(switchMap(allowed => allowed
|
|
126
|
+
? this._watchResource(params)
|
|
127
|
+
: throwError(() => new HttpErrorResponse({ status: 403 }))));
|
|
118
128
|
}
|
|
119
129
|
/**
|
|
120
130
|
* 监听资源列表变化
|
|
@@ -381,14 +391,14 @@ export class K8sApiService {
|
|
|
381
391
|
.getPageVisibility()
|
|
382
392
|
.pipe(map(visible => (visible ? downgradePolling : 0)));
|
|
383
393
|
}
|
|
384
|
-
static { this.ɵfac = function K8sApiService_Factory(t) { return new (t || K8sApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.K8sApiResourceService), i0.ɵɵinject(i3.PageVisibilityService), i0.ɵɵinject(TOKEN_GLOBAL_NAMESPACE)); }; }
|
|
394
|
+
static { this.ɵfac = function K8sApiService_Factory(t) { return new (t || K8sApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.K8sApiResourceService), i0.ɵɵinject(i3.PageVisibilityService), i0.ɵɵinject(i4.K8sPermissionService), i0.ɵɵinject(TOKEN_GLOBAL_NAMESPACE)); }; }
|
|
385
395
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: K8sApiService, factory: K8sApiService.ɵfac, providedIn: 'root' }); }
|
|
386
396
|
}
|
|
387
397
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sApiService, [{
|
|
388
398
|
type: Injectable,
|
|
389
399
|
args: [{ providedIn: 'root' }]
|
|
390
|
-
}], () => [{ type: i1.HttpClient }, { type: i2.K8sApiResourceService }, { type: i3.PageVisibilityService }, { type: undefined, decorators: [{
|
|
400
|
+
}], () => [{ type: i1.HttpClient }, { type: i2.K8sApiResourceService }, { type: i3.PageVisibilityService }, { type: i4.K8sPermissionService }, { type: undefined, decorators: [{
|
|
391
401
|
type: Inject,
|
|
392
402
|
args: [TOKEN_GLOBAL_NAMESPACE]
|
|
393
403
|
}] }], null); })();
|
|
394
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2FwaS9rOHMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUNMLFVBQVUsRUFFVixhQUFhLEdBQ2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFFVixhQUFhLEVBQ2IsSUFBSSxFQUNKLEVBQUUsRUFDRixVQUFVLEVBQ1YsTUFBTSxFQUNOLEdBQUcsRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLG9CQUFvQixHQUNyQixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxXQUFXLEVBQ1gsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsSUFBSSxHQUNMLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixHQUlsQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFDTCxpQkFBaUIsRUFD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QUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs4RUE5ZlUsYUFBYSx3SEFLZCxzQkFBc0I7dUVBTHJCLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07O2lGQUNuQixhQUFhO2NBRHpCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQU03QixNQUFNO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGFwaVxuICovXG5cbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBEb3dubG9hZFByb2dyZXNzRXZlbnQsXG4gIEh0dHBFdmVudFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0LCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgTkVWRVIsXG4gIE9ic2VydmFibGUsXG4gIFN1YnNjcmlwdGlvbixcbiAgY29tYmluZUxhdGVzdCxcbiAgZnJvbSxcbiAgb2YsXG4gIHRocm93RXJyb3IsXG4gIGZpbHRlcixcbiAgbWFwLFxuICByZXRyeVdoZW4sXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICBjb25jYXRNYXAsXG4gIGRlbGF5LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEFQSV9HQVRFV0FZLFxuICBET1dOR1JBREVfV0FUQ0hfRU5BQkxFRCxcbiAgTk9USUZZX09OX0VSUk9SX0hFQURFUlMsXG4gIE5PVF9OT1RJRllfT05fRVJST1JfSEVBREVSUyxcbiAgVFJVRSxcbn0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IFRPS0VOX0dMT0JBTF9OQU1FU1BBQ0UgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy90b2tlbnMnO1xuaW1wb3J0IHtcbiAgQ1JZUFRPX0hFQURFUl9LRVksXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbiAgU3RhdHVzLFxufSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTUVUQURBVEEsIE5BTUUsIE5BTUVTUEFDRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBjcmVhdGVQb2xsT2JzZXJ2YWJsZSB9IGZyb20gJy4uL2NvcmUvdXRpbHMvb2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0VxdWFsLCBwYXJzZUpTT05TdHJlYW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgbm9ybWFsaXplUGFyYW1zIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdXRpbHMnO1xuXG5pbXBvcnQge1xuICBnZXRBcGlQcmVmaXhQYXJ0cyxcbiAgZ2V0TWV0YWRhdGFIZWFkZXJzLFxuICBpc1Jlc291cmNlRXZlbnQsXG4gIHJlZHVjZVdhdGNoRXZlbnRzLFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgSzhzQXBpUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9rOHMtYXBpLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZVZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi9wYWdlLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBcGlCYXNlUGFyYW1zLFxuICBFcmVidXNSZXNvdXJjZURlbGV0ZVBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VMaXN0UGFyYW1zLFxuICBFcmVidXNSZXNvdXJjZVBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VQYXRjaFBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VXcml0ZVBhcmFtcyxcbiAgR2xvYmFsUmVzb3VyY2VEZWxldGVQYXJhbXMsXG4gIEdsb2JhbFJlc291cmNlTGlzdFBhcmFtcyxcbiAgR2xvYmFsUmVzb3VyY2VQYXJhbXMsXG4gIEdsb2JhbFJlc291cmNlUGF0Y2hQYXJhbXMsXG4gIEdsb2JhbFJlc291cmNlV3JpdGVQYXJhbXMsXG4gIFBhdGNoT3BlcmF0aW9uLFxuICBSZXNvdXJjZUFwaVBhcmFtcyxcbiAgUmVzb3VyY2VEZWxldGVQYXJhbXMsXG4gIFJlc291cmNlTGlzdFJlYWRQYXJhbXMsXG4gIFJlc291cmNlUGF0Y2hQYXJhbXMsXG4gIFJlc291cmNlUmVhZFBhcmFtcyxcbiAgUmVzb3VyY2VXcml0ZVBhcmFtcyxcbiAgV2F0Y2hBUElSZXNwb25zZSxcbiAgV2F0Y2hBcGlQYXJhbXMsXG4gIFdhdGNoRXJlYnVzUmVzb3VyY2VMaXN0UGFyYW1zLFxuICBXYXRjaEVyZWJ1c1Jlc291cmNlUGFyYW1zLFxuICBXYXRjaEV2ZW50LFxuICBXYXRjaEdsb2JhbFJlc291cmNlTGlzdFBhcmFtcyxcbiAgV2F0Y2hHbG9iYWxSZXNvdXJjZVBhcmFtcyxcbiAgV2F0Y2hSZXNvdXJjZUxpc3RSZWFkUGFyYW1zLFxuICBXYXRjaFJlc291cmNlUmVhZFBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VCYXRjaERlbGV0ZVBhcmFtcyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIOWQjeensOWJjee8gCBFcmVidXMg5Y+C6ICDIGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTQ0NjYzNDg0IOaMhyAva3ViZXJuZXRlcy8g5byA5aS055qEIGFwaSDnu4Tku7ZcblxuZXhwb3J0IGNvbnN0IFRJTUVPVVRfU0VDT05EUyA9IDU5O1xuZXhwb3J0IGNvbnN0IFNFQVJDSF9VUkxfUFJFRklYID0gJy9hY3AvdjEvcmVzb3VyY2VzL3NlYXJjaCc7XG5cbmNvbnN0IFJFVFJZX0RFTEFZID0gNTAwMDtcblxuY29uc3QgUkVUUllfQ09VTlQgPSAzO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEs4c0FwaVNlcnZpY2U8UiBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNBcGlSZXNvdXJjZTogSzhzQXBpUmVzb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVZpc2liaWxpdHk6IFBhZ2VWaXNpYmlsaXR5U2VydmljZSxcbiAgICBASW5qZWN0KFRPS0VOX0dMT0JBTF9OQU1FU1BBQ0UpIHByaXZhdGUgcmVhZG9ubHkgZ2xvYmFsTmFtZXNwYWNlOiBzdHJpbmcsXG4gICkge31cblxuICAvKipcbiAgICog6I635Y+WIEdsb2JhbCDpm4bnvqTljZXkuKrotYTmupDlr7nosaFcbiAgICovXG4gIGdldEdsb2JhbFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogR2xvYmFsUmVzb3VyY2VQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9nZXRSZXNvdXJjZTxUPihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOebkeWQrCBHbG9iYWwg6ZuG576k5Y2V5Liq6LWE5rqQ5a+56LGhXG4gICAqL1xuICB3YXRjaEdsb2JhbFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogV2F0Y2hHbG9iYWxSZXNvdXJjZVBhcmFtczxSPixcbiAgKSB7XG4gICAgcmV0dXJuIERPV05HUkFERV9XQVRDSF9FTkFCTEVEICYmIHBhcmFtcy5kb3duZ3JhZGVQb2xsaW5nXG4gICAgICA/IGNyZWF0ZVBvbGxPYnNlcnZhYmxlPFQ+KFxuICAgICAgICAgIHRoaXMuZ2V0R2xvYmFsUmVzb3VyY2UocGFyYW1zKSxcbiAgICAgICAgICB0aGlzLl9nZXREb3duZ3JhZGVQb2xsaW5nKHBhcmFtcyksXG4gICAgICAgICkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gaXNFcXVhbChhLCBiKSkpXG4gICAgICA6IHRoaXMuX3dhdGNoUmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnm5HlkKwgR2xvYmFsIOmbhue+pOi1hOa6kOWIl+ihqOWPmOWMllxuICAgKi9cbiAgd2F0Y2hHbG9iYWxSZXNvdXJjZUNoYW5nZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBzZWVkVmVyc2lvbjogc3RyaW5nLFxuICAgIHBhcmFtczogV2F0Y2hHbG9iYWxSZXNvdXJjZUxpc3RQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9rZWVwV2F0Y2hSZXNvdXJjZUNoYW5nZTxUPihzZWVkVmVyc2lvbiwgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5YgR2xvYmFsIOmbhue+pOi1hOa6kOWvueixoeWIl+ihqO+8jOWMheWQq+WIhumhteS/oeaBr1xuICAgKi9cbiAgZ2V0R2xvYmFsUmVzb3VyY2VMaXN0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogR2xvYmFsUmVzb3VyY2VMaXN0UGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2VMaXN0PFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog5Yib5bu6IEdsb2JhbCDpm4bnvqTotYTmupBcbiAgICovXG4gIHBvc3RHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IEdsb2JhbFJlc291cmNlV3JpdGVQYXJhbXM8VCwgUj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlrozmlbTopobnm5bmm7TmlrAgR2xvYmFsIOmbhue+pOWNleS4qui1hOa6kOWvueixoVxuICAgKi9cbiAgcHV0R2xvYmFsUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBHbG9iYWxSZXNvdXJjZVdyaXRlUGFyYW1zPFQsIFI+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5fcHV0UmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlop7ph4/mm7TmlrAgR2xvYmFsIOmbhue+pOWNleS4qui1hOa6kOWvueixoeeahOmDqOWIhuWxnuaAp1xuICAgKi9cbiAgcGF0Y2hHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IEdsb2JhbFJlc291cmNlUGF0Y2hQYXJhbXM8VCwgUj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9wYXRjaFJlc291cmNlPFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog5Yig6ZmkIEdsb2JhbCDpm4bnvqTljZXkuKrotYTmupBcbiAgICovXG4gIGRlbGV0ZUdsb2JhbFJlc291cmNlPFxuICAgIFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBTdGF0dXMsXG4gICAgVCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSA9IFMgZXh0ZW5kcyBTdGF0dXMgPyBLdWJlcm5ldGVzUmVzb3VyY2UgOiBTLFxuICA+KHBhcmFtczogR2xvYmFsUmVzb3VyY2VEZWxldGVQYXJhbXM8VCwgUj4pIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZXRlUmVzb3VyY2U8UywgVD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bkuJrliqHpm4bnvqTljZXkuKrotYTmupDlr7nosaFcbiAgICovXG4gIGdldFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHBhcmFtczogRXJlYnVzUmVzb3VyY2VQYXJhbXM8Uj4pIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnm5HlkKzkuJrliqHpm4bnvqTljZXkuKrotYTmupDlr7nosaFcbiAgICovXG4gIHdhdGNoUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBXYXRjaEVyZWJ1c1Jlc291cmNlUGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gRE9XTkdSQURFX1dBVENIX0VOQUJMRUQgJiYgcGFyYW1zLmRvd25ncmFkZVBvbGxpbmdcbiAgICAgID8gY3JlYXRlUG9sbE9ic2VydmFibGU8VD4oXG4gICAgICAgICAgdGhpcy5fZ2V0UmVzb3VyY2U8VD4ocGFyYW1zKSxcbiAgICAgICAgICB0aGlzLl9nZXREb3duZ3JhZGVQb2xsaW5nKHBhcmFtcyksXG4gICAgICAgICkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gaXNFcXVhbChhLCBiKSkpXG4gICAgICA6IHRoaXMuX3dhdGNoUmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnm5HlkKzotYTmupDliJfooajlj5jljJZcbiAgICovXG4gIHdhdGNoUmVzb3VyY2VDaGFuZ2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgc2VlZFZlcnNpb246IHN0cmluZyxcbiAgICBwYXJhbXM6IFdhdGNoRXJlYnVzUmVzb3VyY2VMaXN0UGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5fa2VlcFdhdGNoUmVzb3VyY2VDaGFuZ2U8VD4oc2VlZFZlcnNpb24sIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+W5Lia5Yqh6ZuG576k6LWE5rqQ5a+56LGh5YiX6KGo77yM5YyF5ZCr5YiG6aG15L+h5oGvXG4gICAqL1xuICBnZXRSZXNvdXJjZUxpc3Q8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBFcmVidXNSZXNvdXJjZUxpc3RQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9nZXRSZXNvdXJjZUxpc3Q8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rkuJrliqHpm4bnvqTotYTmupBcbiAgICovXG4gIHBvc3RSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IEVyZWJ1c1Jlc291cmNlV3JpdGVQYXJhbXM8VCwgUj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlrozmlbTopobnm5bmm7TmlrDkuJrliqHpm4bnvqTljZXkuKrotYTmupDlr7nosaFcbiAgICovXG4gIHB1dFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogRXJlYnVzUmVzb3VyY2VXcml0ZVBhcmFtczxULCBSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX3B1dFJlc291cmNlPFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog5aKe6YeP5pu05paw5Lia5Yqh6ZuG576k5Y2V5Liq6LWE5rqQ5a+56LGh55qE6YOo5YiG5bGe5oCnXG4gICAqL1xuICBwYXRjaFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogRXJlYnVzUmVzb3VyY2VQYXRjaFBhcmFtczxULCBSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGNoUmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliKDpmaTkuJrliqHpm4bnvqTljZXkuKrotYTmupBcbiAgICovXG4gIGRlbGV0ZVJlc291cmNlPFxuICAgIFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBTdGF0dXMsXG4gICAgVCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSA9IFMgZXh0ZW5kcyBTdGF0dXMgPyBLdWJlcm5ldGVzUmVzb3VyY2UgOiBTLFxuICA+KHBhcmFtczogRXJlYnVzUmVzb3VyY2VEZWxldGVQYXJhbXM8VCwgUj4pIHtcbiAgICBpZiAoJ25hbWUnIGluIHBhcmFtcyAmJiAhcGFyYW1zLm5hbWUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignZGVsZXRlIHJlc291cmNlIG5lZWQgcmVzb3VyY2UgbmFtZScpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RlbGV0ZVJlc291cmNlPFMsIFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog5om56YeP5Yig6Zmk5Lia5Yqh6ZuG576k55qE6LWE5rqQXG4gICAqL1xuICBiYXRjaERlbGV0ZVJlc291cmNlPFxuICAgIFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBTdGF0dXMsXG4gICAgVCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSA9IFMgZXh0ZW5kcyBTdGF0dXMgPyBLdWJlcm5ldGVzUmVzb3VyY2UgOiBTLFxuICA+KHBhcmFtczogRXJlYnVzUmVzb3VyY2VCYXRjaERlbGV0ZVBhcmFtczxSPikge1xuICAgIHJldHVybiB0aGlzLl9iYXRjaERlbGV0ZVJlc291cmNlPFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0UmVzb3VyY2VEZWZpbml0aW9uKHBhcmFtczogUmVzb3VyY2VBcGlQYXJhbXM8Uj4pIHtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gdGhpcy5rOHNBcGlSZXNvdXJjZS5nZXREZWZpbml0aW9uKFxuICAgICAgJ2RlZmluaXRpb24nIGluIHBhcmFtcyAmJiBwYXJhbXMuZGVmaW5pdGlvblxuICAgICAgICA/IHBhcmFtcy5kZWZpbml0aW9uXG4gICAgICAgIDogJ3R5cGUnIGluIHBhcmFtcyAmJiBwYXJhbXMudHlwZSxcbiAgICApO1xuICAgIGlmICgncmVzb3VyY2UnIGluIHBhcmFtcyAmJiBwYXJhbXMucmVzb3VyY2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGRlZmluaXRpb24udHlwZSxcbiAgICAgICAgLi4uZ2V0QXBpUHJlZml4UGFydHMocGFyYW1zLnJlc291cmNlLmFwaVZlcnNpb24pLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0QXBpUGF0aChwYXJhbXM6IFJlc291cmNlQXBpUGFyYW1zPFI+LCBpZ25vcmVOYW1lID0gZmFsc2UpIHtcbiAgICByZXR1cm4gdGhpcy5rOHNBcGlSZXNvdXJjZS5nZXRBcGlQYXRoKHtcbiAgICAgIC4uLnRoaXMuX2dldFJlc291cmNlRGVmaW5pdGlvbihwYXJhbXMpLFxuICAgICAgY2x1c3RlcjogJ2NsdXN0ZXInIGluIHBhcmFtcyAmJiBwYXJhbXMuY2x1c3RlcixcbiAgICAgIG5hbWVzcGFjZTogdGhpcy5fZ2V0TmFtZXNwYWNlKHBhcmFtcyksXG4gICAgICBuYW1lOiBpZ25vcmVOYW1lID8gbnVsbCA6IHRoaXMuX2dldE5hbWUocGFyYW1zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9nZXROYW1lc3BhY2UocGFyYW1zOiBSZXNvdXJjZUFwaVBhcmFtczxSPikge1xuICAgIHJldHVybiAnbmFtZXNwYWNlJyBpbiBwYXJhbXMgJiYgcGFyYW1zLm5hbWVzcGFjZVxuICAgICAgPyBwYXJhbXMubmFtZXNwYWNlXG4gICAgICA6ICduYW1lc3BhY2VkJyBpbiBwYXJhbXMgJiYgcGFyYW1zLm5hbWVzcGFjZWRcbiAgICAgID8gdGhpcy5nbG9iYWxOYW1lc3BhY2VcbiAgICAgIDogJ3Jlc291cmNlJyBpbiBwYXJhbXMgJiYgZ2V0KHBhcmFtcy5yZXNvdXJjZSwgW01FVEFEQVRBLCBOQU1FU1BBQ0VdKTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9nZXROYW1lKHBhcmFtczogUmVzb3VyY2VBcGlQYXJhbXM8Uj4pIHtcbiAgICByZXR1cm4gJ25hbWUnIGluIHBhcmFtc1xuICAgICAgPyBwYXJhbXMubmFtZVxuICAgICAgOiAncmVzb3VyY2UnIGluIHBhcmFtcyAmJiBnZXQocGFyYW1zLnJlc291cmNlLCBbTUVUQURBVEEsIE5BTUVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBrOHMgbGlzdCBhcGkg6L+U5Zue55qE57uT5p6c6YeM77yMaXRlbXMg57y65aSxIGtpbmQg5ZKMIGFwaVZlcnNpb24g5a2X5q61XG4gICAqIOinhOWImeWmgiBTZXJ2aWNlIOexu+Wei+WvueW6lCBraW5kOiBTZXJ2aWNlTGlzdO+8jOWOu+aOieacgOWQjuWbm+S4quWtl+espuWPr+W+l+WIsOi1hOa6kOeahCBraW5kXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0Tm9ybWFsaXplZExpc3Q8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q+KGxpc3Q6IFQpOiBUIHtcbiAgICBjb25zdCB7IGFwaVZlcnNpb24sIGl0ZW1zIH0gPSBsaXN0O1xuXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmxpc3QsXG4gICAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3Qga2luZCA9IGxpc3Qua2luZC5zbGljZSgwLCAtNCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmxpc3QsXG4gICAgICBpdGVtczogaXRlbXMubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgLy8ga2V5IOmhuuW6j+S8muW9seWTjei9rCB5YW1sIOWQjueahOmhuuW6j1xuICAgICAgICBraW5kLFxuICAgICAgICBhcGlWZXJzaW9uLFxuICAgICAgICAuLi5pdGVtLFxuICAgICAgfSkpLFxuICAgIH07XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0UmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBSZXNvdXJjZVJlYWRQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuX2dldEFwaVBhdGgocGFyYW1zKSwge1xuICAgICAgaGVhZGVyczogdGhpcy5fZ2V0SGVhZGVycyhwYXJhbXMpLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX3dhdGNoUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBXYXRjaFJlc291cmNlUmVhZFBhcmFtczxSPixcbiAgKSB7XG4gICAgY29uc3QgZGV0YWlsUGFyYW1zID0ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgZmllbGRTZWxlY3RvcjogJ21ldGFkYXRhLm5hbWU9JyArIHRoaXMuX2dldE5hbWUocGFyYW1zKSB9LFxuICAgIH07XG4gICAgY29uc3QgZGVmYXVsdFJldHJ5ID0ge1xuICAgICAgY291bnQ6IFJFVFJZX0NPVU5ULFxuICAgICAgZGVsYXk6IFJFVFJZX0RFTEFZLFxuICAgIH07XG4gICAgY29uc3QgeyBjb3VudCwgZGVsYXk6IGRlbGF5VGltZSB9ID1cbiAgICAgIHBhcmFtcy5yZXRyeSA9PT0gdHJ1ZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRSZXRyeSxcbiAgICAgICAgICAgIGNvdW50OiBJbmZpbml0eSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4uZGVmYXVsdFJldHJ5LFxuICAgICAgICAgICAgLi4ucGFyYW1zLnJldHJ5LFxuICAgICAgICAgIH07XG4gICAgbGV0IHNvRmFyID0gMDtcbiAgICByZXR1cm4gdGhpcy5fZ2V0UmVzb3VyY2VMaXN0PFQ+KGRldGFpbFBhcmFtcykucGlwZShcbiAgICAgIHN3aXRjaE1hcChsaXN0ID0+XG4gICAgICAgIHRoaXMuX2tlZXBXYXRjaFJlc291cmNlQ2hhbmdlPFQ+KFxuICAgICAgICAgIGxpc3QubWV0YWRhdGEucmVzb3VyY2VWZXJzaW9uLFxuICAgICAgICAgIGRldGFpbFBhcmFtcyxcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIGZpbHRlcihpc1Jlc291cmNlRXZlbnQpLFxuICAgICAgICAgIG1hcChyZXMgPT4gKHJlcy50eXBlID09PSBXYXRjaEV2ZW50LkRlbGV0ZWQgPyBudWxsIDogcmVzLm9iamVjdCkpLFxuICAgICAgICAgIHN0YXJ0V2l0aChsaXN0Lml0ZW1zWzBdID8/IG51bGwpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHJldHJ5V2hlbihlcnIkID0+XG4gICAgICAgIGVyciQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoZXJyID0+IHtcbiAgICAgICAgICAgIGlmIChlcnIgPT09IFdhdGNoRXZlbnQuRXJyb3IgfHwgKGNvdW50ICYmIHNvRmFyKysgPCBjb3VudCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycikucGlwZShkZWxheShjb3VudCA/IGRlbGF5VGltZSA6IDApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfa2VlcFdhdGNoUmVzb3VyY2VDaGFuZ2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgc2VlZFZlcnNpb246IHN0cmluZyxcbiAgICBwYXJhbXM6IFdhdGNoUmVzb3VyY2VMaXN0UmVhZFBhcmFtczxSPixcbiAgKSB7XG4gICAgbGV0IHJlc291cmNlVmVyc2lvbiA9IHNlZWRWZXJzaW9uO1xuICAgIGxldCBzdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0IHdhdGNoJCA9IG5ldyBPYnNlcnZhYmxlPFdhdGNoQVBJUmVzcG9uc2U8VD4+KG9ic2VydmVyID0+IHtcbiAgICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gKCkgPT4ge1xuICAgICAgICBpZiAoc3ViICYmICFzdWIuY2xvc2VkKSB7XG4gICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHdhdGNoID0gKCkgPT4ge1xuICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICBzdWIgPSB0aGlzLl93YXRjaFJlc291cmNlQ2hhbmdlPFQ+KHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IG5vcm1hbGl6ZVBhcmFtcyh7XG4gICAgICAgICAgICAuLi5wYXJhbXMucXVlcnlQYXJhbXMsXG4gICAgICAgICAgICB3YXRjaDogVFJVRSxcbiAgICAgICAgICAgIGFsbG93V2F0Y2hCb29rbWFya3M6IFRSVUUsXG4gICAgICAgICAgICB0aW1lb3V0U2Vjb25kczogU3RyaW5nKFRJTUVPVVRfU0VDT05EUyksXG4gICAgICAgICAgICByZXNvdXJjZVZlcnNpb24sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dChyZXMpIHtcbiAgICAgICAgICAgIGlmIChyZXMudHlwZSA9PT0gV2F0Y2hFdmVudC5FcnJvcikge1xuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihyZXMudHlwZSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzb3VyY2VWZXJzaW9uID0gcmVzLm9iamVjdC5tZXRhZGF0YS5yZXNvdXJjZVZlcnNpb247XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlcyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcihlcnIpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wbGV0ZTogd2F0Y2gsXG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgd2F0Y2goKTtcbiAgICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJhbXMua2VlcGFsaXZlXG4gICAgICA/IHdhdGNoJFxuICAgICAgOiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0aGlzLnBhZ2VWaXNpYmlsaXR5LmdldFBhZ2VWaXNpYmlsaXR5KCksXG4gICAgICAgICAgcGFyYW1zLmFjdGl2ZSQgfHwgb2YodHJ1ZSksXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChbdmlzaWJsZSwgYWN0aXZlXSkgPT5cbiAgICAgICAgICAgIHZpc2libGUgJiYgYWN0aXZlID8gd2F0Y2gkIDogTkVWRVIsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF93YXRjaFJlc291cmNlQ2hhbmdlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogUmVzb3VyY2VMaXN0UmVhZFBhcmFtczxSPixcbiAgKTogT2JzZXJ2YWJsZTxXYXRjaEFQSVJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLl9nZXRBcGlQYXRoKHBhcmFtcywgdHJ1ZSksIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgaGVhZGVyczogdGhpcy5fZ2V0SGVhZGVycyhwYXJhbXMpLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcy5xdWVyeVBhcmFtcyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ID0+IGV2LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzcyksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAoeyBwYXJ0aWFsVGV4dCB9OiBIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50KSA9PiAhIXBhcnRpYWxUZXh0Py50cmltKCksXG4gICAgICAgICksXG4gICAgICAgIGNvbmNhdE1hcCgoeyBwYXJ0aWFsVGV4dCB9KSA9PlxuICAgICAgICAgIGZyb20oXG4gICAgICAgICAgICByZWR1Y2VXYXRjaEV2ZW50cyhcbiAgICAgICAgICAgICAgcGFyc2VKU09OU3RyZWFtPFdhdGNoQVBJUmVzcG9uc2U8VD4+KHBhcnRpYWxUZXh0KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0UmVzb3VyY2VMaXN0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogUmVzb3VyY2VMaXN0UmVhZFBhcmFtczxSPixcbiAgKSB7XG4gICAgLy8g5YyF5ZCrIGtleXdvcmQg5YmN57yA6ZyA6KaB5Yqg5LiK5YmN57yAICdhY3AvdjEvcmVzb3VyY2VzL3NlYXJjaCdcbiAgICAvLyDlj4LogIMgaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9NDg3MzEwNThcbiAgICBsZXQgdXJsID0gdGhpcy5fZ2V0QXBpUGF0aChwYXJhbXMsIHRydWUpO1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0geyAuLi5wYXJhbXMucXVlcnlQYXJhbXMgfTtcbiAgICBpZiAocXVlcnlQYXJhbXMua2V5d29yZCkge1xuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoQVBJX0dBVEVXQVksIGAke0FQSV9HQVRFV0FZfSR7U0VBUkNIX1VSTF9QUkVGSVh9YCk7XG4gICAgICBpZiAoIXF1ZXJ5UGFyYW1zLmZpZWxkKSB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zLmZpZWxkID0gJ21ldGFkYXRhLm5hbWUnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8VD4+KHVybCwge1xuICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1zLFxuICAgICAgICBoZWFkZXJzOiB0aGlzLl9nZXRIZWFkZXJzKHBhcmFtcywgdHJ1ZSksXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHRoaXMuX2dldE5vcm1hbGl6ZWRMaXN0KSk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfcG9zdFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogUmVzb3VyY2VXcml0ZVBhcmFtczxSLCBUPixcbiAgKSB7XG4gICAgaWYgKFxuICAgICAgKCduYW1lc3BhY2UnIGluIHBhcmFtcyAmJiBwYXJhbXMubmFtZXNwYWNlKSB8fFxuICAgICAgKCduYW1lc3BhY2VkJyBpbiBwYXJhbXMgJiYgcGFyYW1zLm5hbWVzcGFjZWQpXG4gICAgKSB7XG4gICAgICBjb25zdCByZXNvdXJjZU5hbWVzcGFjZSA9IGdldChwYXJhbXMucmVzb3VyY2UsIFtNRVRBREFUQSwgTkFNRVNQQUNFXSk7XG4gICAgICBpZiAoIXJlc291cmNlTmFtZXNwYWNlKSB7XG4gICAgICAgIHNldChcbiAgICAgICAgICBwYXJhbXMucmVzb3VyY2UsXG4gICAgICAgICAgW01FVEFEQVRBLCBOQU1FU1BBQ0VdLFxuICAgICAgICAgIHBhcmFtcy5uYW1lc3BhY2UgfHwgdGhpcy5nbG9iYWxOYW1lc3BhY2UsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLl9nZXRBcGlQYXRoKHBhcmFtcywgdHJ1ZSksIHBhcmFtcy5yZXNvdXJjZSwge1xuICAgICAgaGVhZGVyczogdGhpcy5fZ2V0SGVhZGVycyhwYXJhbXMpLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX3B1dFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogUmVzb3VyY2VXcml0ZVBhcmFtczxSLCBUPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4odGhpcy5fZ2V0QXBpUGF0aChwYXJhbXMpLCBwYXJhbXMucmVzb3VyY2UsIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9wYXRjaFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogUmVzb3VyY2VQYXRjaFBhcmFtczxSLCBUPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxUPih0aGlzLl9nZXRBcGlQYXRoKHBhcmFtcyksIHBhcmFtcy5wYXJ0LCB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIC4uLnRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IHBhcmFtcy5vcGVyYXRpb24gfHwgUGF0Y2hPcGVyYXRpb24uTWVyZ2UsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX2RlbGV0ZVJlc291cmNlPFxuICAgIFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gICAgVCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgPihwYXJhbXM6IFJlc291cmNlRGVsZXRlUGFyYW1zPFIsIFQ+KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0PFM+KCdkZWxldGUnLCB0aGlzLl9nZXRBcGlQYXRoKHBhcmFtcyksIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICAgIGJvZHk6IHBhcmFtcy5ib2R5LFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX2JhdGNoRGVsZXRlUmVzb3VyY2U8UyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBFcmVidXNSZXNvdXJjZUJhdGNoRGVsZXRlUGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3Q8Uz4oJ2RlbGV0ZScsIHRoaXMuX2dldEFwaVBhdGgocGFyYW1zKSwge1xuICAgICAgaGVhZGVyczogdGhpcy5fZ2V0SGVhZGVycyhwYXJhbXMpLFxuICAgICAgYm9keTogcGFyYW1zLmJvZHksXG4gICAgICBwYXJhbXM6IHBhcmFtcy5xdWVyeVBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIHJlYWRvbmx5IF9nZXRIZWFkZXJzID0gKFxuICAgIHsgbm90aWZ5T25FcnJvciwgb25seU1ldGFkYXRhLCBjdXN0b21BY2NlcHQsIGNyeXB0byB9OiBBcGlCYXNlUGFyYW1zPFI+LFxuICAgIGlzTGlzdD86IGJvb2xlYW4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPiA9IHt9O1xuICAgIGlmICh0eXBlb2Ygbm90aWZ5T25FcnJvciA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBub3RpZnlPbkVycm9yID8gTk9USUZZX09OX0VSUk9SX0hFQURFUlMgOiBOT1RfTk9USUZZX09OX0VSUk9SX0hFQURFUlMsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY3J5cHRvKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGhlYWRlcnMsIHtcbiAgICAgICAgW0NSWVBUT19IRUFERVJfS0VZXTogY3J5cHRvLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMvZGVzaWduLXByb3Bvc2Fscy1hcmNoaXZlL2Jsb2IvbWFpbi9hcGktbWFjaGluZXJ5L2FsdGVybmF0ZS1hcGktcmVwcmVzZW50YXRpb25zLm1kXG4gICAgICovXG4gICAgaWYgKG9ubHlNZXRhZGF0YSkge1xuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJzLCBnZXRNZXRhZGF0YUhlYWRlcnMoaXNMaXN0LCBjdXN0b21BY2NlcHQpKTtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH07XG5cbiAgcHJpdmF0ZSBfZ2V0RG93bmdyYWRlUG9sbGluZyh7XG4gICAga2VlcGFsaXZlLFxuICAgIGRvd25ncmFkZVBvbGxpbmcsXG4gIH06IFdhdGNoQXBpUGFyYW1zKSB7XG4gICAgcmV0dXJuIGtlZXBhbGl2ZVxuICAgICAgPyBkb3duZ3JhZGVQb2xsaW5nXG4gICAgICA6IHRoaXMucGFnZVZpc2liaWxpdHlcbiAgICAgICAgICAuZ2V0UGFnZVZpc2liaWxpdHkoKVxuICAgICAgICAgIC5waXBlKG1hcCh2aXNpYmxlID0+ICh2aXNpYmxlID8gZG93bmdyYWRlUG9sbGluZyA6IDApKSk7XG4gIH1cbn1cbiJdfQ==
|
|
404
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2FwaS9rOHMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUNMLFVBQVUsRUFFVixpQkFBaUIsRUFDakIsYUFBYSxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBRVYsYUFBYSxFQUNiLElBQUksRUFDSixFQUFFLEVBQ0YsVUFBVSxFQUNWLE1BQU0sRUFDTixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsV0FBVyxFQUNYLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLElBQUksR0FDTCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsaUJBQWlCLEdBSWxCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7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QUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlELE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUE0Qk8sb0JBQW9CLENBQUMsRUFDM0IsU0FBUyxFQUNULGdCQUFnQixHQUNEO1FBQ2YsT0FBTyxTQUFTO1lBQ2QsQ0FBQyxDQUFDLGdCQUFnQjtZQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWM7aUJBQ2hCLGlCQUFpQixFQUFFO2lCQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs4RUExZ0JVLGFBQWEsOEpBTWQsc0JBQXNCO3VFQU5yQixhQUFhLFdBQWIsYUFBYSxtQkFEQSxNQUFNOztpRkFDbkIsYUFBYTtjQUR6QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztzQkFPN0IsTUFBTTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBhcGlcbiAqL1xuXG5pbXBvcnQge1xuICBIdHRwQ2xpZW50LFxuICBIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50LFxuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEV2ZW50VHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQsIHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBORVZFUixcbiAgT2JzZXJ2YWJsZSxcbiAgU3Vic2NyaXB0aW9uLFxuICBjb21iaW5lTGF0ZXN0LFxuICBmcm9tLFxuICBvZixcbiAgdGhyb3dFcnJvcixcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHJldHJ5V2hlbixcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIGNvbmNhdE1hcCxcbiAgZGVsYXksXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQVBJX0dBVEVXQVksXG4gIERPV05HUkFERV9XQVRDSF9FTkFCTEVELFxuICBOT1RJRllfT05fRVJST1JfSEVBREVSUyxcbiAgTk9UX05PVElGWV9PTl9FUlJPUl9IRUFERVJTLFxuICBUUlVFLFxufSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgVE9LRU5fR0xPQkFMX05BTUVTUEFDRSB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL3Rva2Vucyc7XG5pbXBvcnQge1xuICBDUllQVE9fSEVBREVSX0tFWSxcbiAgSzhzUmVzb3VyY2VBY3Rpb24sXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbiAgU3RhdHVzLFxufSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTUVUQURBVEEsIE5BTUUsIE5BTUVTUEFDRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBjcmVhdGVQb2xsT2JzZXJ2YWJsZSB9IGZyb20gJy4uL2NvcmUvdXRpbHMvb2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0VxdWFsLCBwYXJzZUpTT05TdHJlYW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgbm9ybWFsaXplUGFyYW1zIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdXRpbHMnO1xuaW1wb3J0IHsgSzhzUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uL2s4cy1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBnZXRBcGlQcmVmaXhQYXJ0cyxcbiAgZ2V0TWV0YWRhdGFIZWFkZXJzLFxuICBpc1Jlc291cmNlRXZlbnQsXG4gIHJlZHVjZVdhdGNoRXZlbnRzLFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgSzhzQXBpUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9rOHMtYXBpLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZVZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi9wYWdlLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBcGlCYXNlUGFyYW1zLFxuICBFcmVidXNSZXNvdXJjZURlbGV0ZVBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VMaXN0UGFyYW1zLFxuICBFcmVidXNSZXNvdXJjZVBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VQYXRjaFBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VXcml0ZVBhcmFtcyxcbiAgR2xvYmFsUmVzb3VyY2VEZWxldGVQYXJhbXMsXG4gIEdsb2JhbFJlc291cmNlTGlzdFBhcmFtcyxcbiAgR2xvYmFsUmVzb3VyY2VQYXJhbXMsXG4gIEdsb2JhbFJlc291cmNlUGF0Y2hQYXJhbXMsXG4gIEdsb2JhbFJlc291cmNlV3JpdGVQYXJhbXMsXG4gIFBhdGNoT3BlcmF0aW9uLFxuICBSZXNvdXJjZUFwaVBhcmFtcyxcbiAgUmVzb3VyY2VEZWxldGVQYXJhbXMsXG4gIFJlc291cmNlTGlzdFJlYWRQYXJhbXMsXG4gIFJlc291cmNlUGF0Y2hQYXJhbXMsXG4gIFJlc291cmNlUmVhZFBhcmFtcyxcbiAgUmVzb3VyY2VXcml0ZVBhcmFtcyxcbiAgV2F0Y2hBUElSZXNwb25zZSxcbiAgV2F0Y2hBcGlQYXJhbXMsXG4gIFdhdGNoRXJlYnVzUmVzb3VyY2VMaXN0UGFyYW1zLFxuICBXYXRjaEVyZWJ1c1Jlc291cmNlUGFyYW1zLFxuICBXYXRjaEV2ZW50LFxuICBXYXRjaEdsb2JhbFJlc291cmNlTGlzdFBhcmFtcyxcbiAgV2F0Y2hHbG9iYWxSZXNvdXJjZVBhcmFtcyxcbiAgV2F0Y2hSZXNvdXJjZUxpc3RSZWFkUGFyYW1zLFxuICBXYXRjaFJlc291cmNlUmVhZFBhcmFtcyxcbiAgRXJlYnVzUmVzb3VyY2VCYXRjaERlbGV0ZVBhcmFtcyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIOWQjeensOWJjee8gCBFcmVidXMg5Y+C6ICDIGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTQ0NjYzNDg0IOaMhyAva3ViZXJuZXRlcy8g5byA5aS055qEIGFwaSDnu4Tku7ZcblxuZXhwb3J0IGNvbnN0IFRJTUVPVVRfU0VDT05EUyA9IDU5O1xuZXhwb3J0IGNvbnN0IFNFQVJDSF9VUkxfUFJFRklYID0gJy9hY3AvdjEvcmVzb3VyY2VzL3NlYXJjaCc7XG5cbmNvbnN0IFJFVFJZX0RFTEFZID0gNTAwMDtcblxuY29uc3QgUkVUUllfQ09VTlQgPSAzO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEs4c0FwaVNlcnZpY2U8UiBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNBcGlSZXNvdXJjZTogSzhzQXBpUmVzb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVZpc2liaWxpdHk6IFBhZ2VWaXNpYmlsaXR5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c1Blcm1pc3Npb246IEs4c1Blcm1pc3Npb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoVE9LRU5fR0xPQkFMX05BTUVTUEFDRSkgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxOYW1lc3BhY2U6IHN0cmluZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiDojrflj5YgR2xvYmFsIOmbhue+pOWNleS4qui1hOa6kOWvueixoVxuICAgKi9cbiAgZ2V0R2xvYmFsUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBHbG9iYWxSZXNvdXJjZVBhcmFtczxSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFJlc291cmNlPFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog55uR5ZCsIEdsb2JhbCDpm4bnvqTljZXkuKrotYTmupDlr7nosaFcbiAgICovXG4gIHdhdGNoR2xvYmFsUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBXYXRjaEdsb2JhbFJlc291cmNlUGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gRE9XTkdSQURFX1dBVENIX0VOQUJMRUQgJiYgcGFyYW1zLmRvd25ncmFkZVBvbGxpbmdcbiAgICAgID8gY3JlYXRlUG9sbE9ic2VydmFibGU8VD4oXG4gICAgICAgICAgdGhpcy5nZXRHbG9iYWxSZXNvdXJjZShwYXJhbXMpLFxuICAgICAgICAgIHRoaXMuX2dldERvd25ncmFkZVBvbGxpbmcocGFyYW1zKSxcbiAgICAgICAgKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBpc0VxdWFsKGEsIGIpKSlcbiAgICAgIDogdGhpcy5fd2F0Y2hSZXNvdXJjZTxUPihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOebkeWQrCBHbG9iYWwg6ZuG576k6LWE5rqQ5YiX6KGo5Y+Y5YyWXG4gICAqL1xuICB3YXRjaEdsb2JhbFJlc291cmNlQ2hhbmdlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHNlZWRWZXJzaW9uOiBzdHJpbmcsXG4gICAgcGFyYW1zOiBXYXRjaEdsb2JhbFJlc291cmNlTGlzdFBhcmFtczxSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tlZXBXYXRjaFJlc291cmNlQ2hhbmdlPFQ+KHNlZWRWZXJzaW9uLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPliBHbG9iYWwg6ZuG576k6LWE5rqQ5a+56LGh5YiX6KGo77yM5YyF5ZCr5YiG6aG15L+h5oGvXG4gICAqL1xuICBnZXRHbG9iYWxSZXNvdXJjZUxpc3Q8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBHbG9iYWxSZXNvdXJjZUxpc3RQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9nZXRSZXNvdXJjZUxpc3Q8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7ogR2xvYmFsIOmbhue+pOi1hOa6kFxuICAgKi9cbiAgcG9zdEdsb2JhbFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogR2xvYmFsUmVzb3VyY2VXcml0ZVBhcmFtczxULCBSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc3RSZXNvdXJjZTxUPihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWujOaVtOimhuebluabtOaWsCBHbG9iYWwg6ZuG576k5Y2V5Liq6LWE5rqQ5a+56LGhXG4gICAqL1xuICBwdXRHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IEdsb2JhbFJlc291cmNlV3JpdGVQYXJhbXM8VCwgUj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9wdXRSZXNvdXJjZTxUPihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWinumHj+abtOaWsCBHbG9iYWwg6ZuG576k5Y2V5Liq6LWE5rqQ5a+56LGh55qE6YOo5YiG5bGe5oCnXG4gICAqL1xuICBwYXRjaEdsb2JhbFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogR2xvYmFsUmVzb3VyY2VQYXRjaFBhcmFtczxULCBSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGNoUmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliKDpmaQgR2xvYmFsIOmbhue+pOWNleS4qui1hOa6kFxuICAgKi9cbiAgZGVsZXRlR2xvYmFsUmVzb3VyY2U8XG4gICAgUyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSA9IFN0YXR1cyxcbiAgICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gUyBleHRlbmRzIFN0YXR1cyA/IEt1YmVybmV0ZXNSZXNvdXJjZSA6IFMsXG4gID4ocGFyYW1zOiBHbG9iYWxSZXNvdXJjZURlbGV0ZVBhcmFtczxULCBSPikge1xuICAgIHJldHVybiB0aGlzLl9kZWxldGVSZXNvdXJjZTxTLCBUPihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPluS4muWKoembhue+pOWNleS4qui1hOa6kOWvueixoVxuICAgKi9cbiAgZ2V0UmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocGFyYW1zOiBFcmVidXNSZXNvdXJjZVBhcmFtczxSPikge1xuICAgIHJldHVybiB0aGlzLl9nZXRSZXNvdXJjZTxUPihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOebkeWQrOS4muWKoembhue+pOWNleS4qui1hOa6kOWvueixoVxuICAgKi9cbiAgd2F0Y2hSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFdhdGNoRXJlYnVzUmVzb3VyY2VQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiBET1dOR1JBREVfV0FUQ0hfRU5BQkxFRCAmJiBwYXJhbXMuZG93bmdyYWRlUG9sbGluZ1xuICAgICAgPyBjcmVhdGVQb2xsT2JzZXJ2YWJsZTxUPihcbiAgICAgICAgICB0aGlzLl9nZXRSZXNvdXJjZTxUPihwYXJhbXMpLFxuICAgICAgICAgIHRoaXMuX2dldERvd25ncmFkZVBvbGxpbmcocGFyYW1zKSxcbiAgICAgICAgKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBpc0VxdWFsKGEsIGIpKSlcbiAgICAgIDogdGhpcy5rOHNQZXJtaXNzaW9uXG4gICAgICAgICAgLmlzQWxsb3dlZCh7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICBhY3Rpb246IEs4c1Jlc291cmNlQWN0aW9uLkdFVCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKGFsbG93ZWQgPT5cbiAgICAgICAgICAgICAgYWxsb3dlZFxuICAgICAgICAgICAgICAgID8gdGhpcy5fd2F0Y2hSZXNvdXJjZTxUPihwYXJhbXMpXG4gICAgICAgICAgICAgICAgOiB0aHJvd0Vycm9yKCgpID0+IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7IHN0YXR1czogNDAzIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnm5HlkKzotYTmupDliJfooajlj5jljJZcbiAgICovXG4gIHdhdGNoUmVzb3VyY2VDaGFuZ2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgc2VlZFZlcnNpb246IHN0cmluZyxcbiAgICBwYXJhbXM6IFdhdGNoRXJlYnVzUmVzb3VyY2VMaXN0UGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5fa2VlcFdhdGNoUmVzb3VyY2VDaGFuZ2U8VD4oc2VlZFZlcnNpb24sIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+W5Lia5Yqh6ZuG576k6LWE5rqQ5a+56LGh5YiX6KGo77yM5YyF5ZCr5YiG6aG15L+h5oGvXG4gICAqL1xuICBnZXRSZXNvdXJjZUxpc3Q8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBFcmVidXNSZXNvdXJjZUxpc3RQYXJhbXM8Uj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9nZXRSZXNvdXJjZUxpc3Q8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rkuJrliqHpm4bnvqTotYTmupBcbiAgICovXG4gIHBvc3RSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IEVyZWJ1c1Jlc291cmNlV3JpdGVQYXJhbXM8VCwgUj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9wb3N0UmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlrozmlbTopobnm5bmm7TmlrDkuJrliqHpm4bnvqTljZXkuKrotYTmupDlr7nosaFcbiAgICovXG4gIHB1dFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogRXJlYnVzUmVzb3VyY2VXcml0ZVBhcmFtczxULCBSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX3B1dFJlc291cmNlPFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog5aKe6YeP5pu05paw5Lia5Yqh6ZuG576k5Y2V5Liq6LWE5rqQ5a+56LGh55qE6YOo5YiG5bGe5oCnXG4gICAqL1xuICBwYXRjaFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogRXJlYnVzUmVzb3VyY2VQYXRjaFBhcmFtczxULCBSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGNoUmVzb3VyY2U8VD4ocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliKDpmaTkuJrliqHpm4bnvqTljZXkuKrotYTmupBcbiAgICovXG4gIGRlbGV0ZVJlc291cmNlPFxuICAgIFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBTdGF0dXMsXG4gICAgVCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSA9IFMgZXh0ZW5kcyBTdGF0dXMgPyBLdWJlcm5ldGVzUmVzb3VyY2UgOiBTLFxuICA+KHBhcmFtczogRXJlYnVzUmVzb3VyY2VEZWxldGVQYXJhbXM8VCwgUj4pIHtcbiAgICBpZiAoJ25hbWUnIGluIHBhcmFtcyAmJiAhcGFyYW1zLm5hbWUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignZGVsZXRlIHJlc291cmNlIG5lZWQgcmVzb3VyY2UgbmFtZScpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RlbGV0ZVJlc291cmNlPFMsIFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICog5om56YeP5Yig6Zmk5Lia5Yqh6ZuG576k55qE6LWE5rqQXG4gICAqL1xuICBiYXRjaERlbGV0ZVJlc291cmNlPFxuICAgIFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBTdGF0dXMsXG4gICAgVCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSA9IFMgZXh0ZW5kcyBTdGF0dXMgPyBLdWJlcm5ldGVzUmVzb3VyY2UgOiBTLFxuICA+KHBhcmFtczogRXJlYnVzUmVzb3VyY2VCYXRjaERlbGV0ZVBhcmFtczxSPikge1xuICAgIHJldHVybiB0aGlzLl9iYXRjaERlbGV0ZVJlc291cmNlPFQ+KHBhcmFtcyk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0UmVzb3VyY2VEZWZpbml0aW9uKHBhcmFtczogUmVzb3VyY2VBcGlQYXJhbXM8Uj4pIHtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gdGhpcy5rOHNBcGlSZXNvdXJjZS5nZXREZWZpbml0aW9uKFxuICAgICAgJ2RlZmluaXRpb24nIGluIHBhcmFtcyAmJiBwYXJhbXMuZGVmaW5pdGlvblxuICAgICAgICA/IHBhcmFtcy5kZWZpbml0aW9uXG4gICAgICAgIDogJ3R5cGUnIGluIHBhcmFtcyAmJiBwYXJhbXMudHlwZSxcbiAgICApO1xuICAgIGlmICgncmVzb3VyY2UnIGluIHBhcmFtcyAmJiBwYXJhbXMucmVzb3VyY2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGRlZmluaXRpb24udHlwZSxcbiAgICAgICAgLi4uZ2V0QXBpUHJlZml4UGFydHMocGFyYW1zLnJlc291cmNlLmFwaVZlcnNpb24pLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0QXBpUGF0aChwYXJhbXM6IFJlc291cmNlQXBpUGFyYW1zPFI+LCBpZ25vcmVOYW1lID0gZmFsc2UpIHtcbiAgICByZXR1cm4gdGhpcy5rOHNBcGlSZXNvdXJjZS5nZXRBcGlQYXRoKHtcbiAgICAgIC4uLnRoaXMuX2dldFJlc291cmNlRGVmaW5pdGlvbihwYXJhbXMpLFxuICAgICAgY2x1c3RlcjogJ2NsdXN0ZXInIGluIHBhcmFtcyAmJiBwYXJhbXMuY2x1c3RlcixcbiAgICAgIG5hbWVzcGFjZTogdGhpcy5fZ2V0TmFtZXNwYWNlKHBhcmFtcyksXG4gICAgICBuYW1lOiBpZ25vcmVOYW1lID8gbnVsbCA6IHRoaXMuX2dldE5hbWUocGFyYW1zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9nZXROYW1lc3BhY2UocGFyYW1zOiBSZXNvdXJjZUFwaVBhcmFtczxSPikge1xuICAgIHJldHVybiAnbmFtZXNwYWNlJyBpbiBwYXJhbXMgJiYgcGFyYW1zLm5hbWVzcGFjZVxuICAgICAgPyBwYXJhbXMubmFtZXNwYWNlXG4gICAgICA6ICduYW1lc3BhY2VkJyBpbiBwYXJhbXMgJiYgcGFyYW1zLm5hbWVzcGFjZWRcbiAgICAgICAgPyB0aGlzLmdsb2JhbE5hbWVzcGFjZVxuICAgICAgICA6ICdyZXNvdXJjZScgaW4gcGFyYW1zICYmIGdldChwYXJhbXMucmVzb3VyY2UsIFtNRVRBREFUQSwgTkFNRVNQQUNFXSk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfZ2V0TmFtZShwYXJhbXM6IFJlc291cmNlQXBpUGFyYW1zPFI+KSB7XG4gICAgcmV0dXJuICduYW1lJyBpbiBwYXJhbXNcbiAgICAgID8gcGFyYW1zLm5hbWVcbiAgICAgIDogJ3Jlc291cmNlJyBpbiBwYXJhbXMgJiYgZ2V0KHBhcmFtcy5yZXNvdXJjZSwgW01FVEFEQVRBLCBOQU1FXSk7XG4gIH1cblxuICAvKipcbiAgICogazhzIGxpc3QgYXBpIOi/lOWbnueahOe7k+aenOmHjO+8jGl0ZW1zIOe8uuWksSBraW5kIOWSjCBhcGlWZXJzaW9uIOWtl+autVxuICAgKiDop4TliJnlpoIgU2VydmljZSDnsbvlnovlr7nlupQga2luZDogU2VydmljZUxpc3TvvIzljrvmjonmnIDlkI7lm5vkuKrlrZfnrKblj6/lvpfliLDotYTmupDnmoQga2luZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgX2dldE5vcm1hbGl6ZWRMaXN0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PihsaXN0OiBUKTogVCB7XG4gICAgY29uc3QgeyBhcGlWZXJzaW9uLCBpdGVtcyB9ID0gbGlzdDtcblxuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5saXN0LFxuICAgICAgICBpdGVtczogW10sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGtpbmQgPSBsaXN0LmtpbmQuc2xpY2UoMCwgLTQpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5saXN0LFxuICAgICAgaXRlbXM6IGl0ZW1zLm1hcChpdGVtID0+ICh7XG4gICAgICAgIC8vIGtleSDpobrluo/kvJrlvbHlk43ovawgeWFtbCDlkI7nmoTpobrluo9cbiAgICAgICAga2luZCxcbiAgICAgICAgYXBpVmVyc2lvbixcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgIH0pKSxcbiAgICB9O1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX2dldFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogUmVzb3VyY2VSZWFkUGFyYW1zPFI+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih0aGlzLl9nZXRBcGlQYXRoKHBhcmFtcyksIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF93YXRjaFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogV2F0Y2hSZXNvdXJjZVJlYWRQYXJhbXM8Uj4sXG4gICkge1xuICAgIGNvbnN0IGRldGFpbFBhcmFtcyA9IHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IGZpZWxkU2VsZWN0b3I6ICdtZXRhZGF0YS5uYW1lPScgKyB0aGlzLl9nZXROYW1lKHBhcmFtcykgfSxcbiAgICB9O1xuICAgIGNvbnN0IGRlZmF1bHRSZXRyeSA9IHtcbiAgICAgIGNvdW50OiBSRVRSWV9DT1VOVCxcbiAgICAgIGRlbGF5OiBSRVRSWV9ERUxBWSxcbiAgICB9O1xuICAgIGNvbnN0IHsgY291bnQsIGRlbGF5OiBkZWxheVRpbWUgfSA9XG4gICAgICBwYXJhbXMucmV0cnkgPT09IHRydWVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5kZWZhdWx0UmV0cnksXG4gICAgICAgICAgICBjb3VudDogSW5maW5pdHksXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRSZXRyeSxcbiAgICAgICAgICAgIC4uLnBhcmFtcy5yZXRyeSxcbiAgICAgICAgICB9O1xuICAgIGxldCBzb0ZhciA9IDA7XG4gICAgcmV0dXJuIHRoaXMuX2dldFJlc291cmNlTGlzdDxUPihkZXRhaWxQYXJhbXMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAobGlzdCA9PlxuICAgICAgICB0aGlzLl9rZWVwV2F0Y2hSZXNvdXJjZUNoYW5nZTxUPihcbiAgICAgICAgICBsaXN0Lm1ldGFkYXRhLnJlc291cmNlVmVyc2lvbixcbiAgICAgICAgICBkZXRhaWxQYXJhbXMsXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICBmaWx0ZXIoaXNSZXNvdXJjZUV2ZW50KSxcbiAgICAgICAgICBtYXAocmVzID0+IChyZXMudHlwZSA9PT0gV2F0Y2hFdmVudC5EZWxldGVkID8gbnVsbCA6IHJlcy5vYmplY3QpKSxcbiAgICAgICAgICBzdGFydFdpdGgobGlzdC5pdGVtc1swXSA/PyBudWxsKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICByZXRyeVdoZW4oZXJyJCA9PlxuICAgICAgICBlcnIkLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKGVyciA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyID09PSBXYXRjaEV2ZW50LkVycm9yIHx8IChjb3VudCAmJiBzb0ZhcisrIDwgY291bnQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihlcnIpLnBpcGUoZGVsYXkoY291bnQgPyBkZWxheVRpbWUgOiAwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX2tlZXBXYXRjaFJlc291cmNlQ2hhbmdlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHNlZWRWZXJzaW9uOiBzdHJpbmcsXG4gICAgcGFyYW1zOiBXYXRjaFJlc291cmNlTGlzdFJlYWRQYXJhbXM8Uj4sXG4gICkge1xuICAgIGxldCByZXNvdXJjZVZlcnNpb24gPSBzZWVkVmVyc2lvbjtcbiAgICBsZXQgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdCB3YXRjaCQgPSBuZXcgT2JzZXJ2YWJsZTxXYXRjaEFQSVJlc3BvbnNlPFQ+PihvYnNlcnZlciA9PiB7XG4gICAgICBjb25zdCB1bnN1YnNjcmliZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHN1YiAmJiAhc3ViLmNsb3NlZCkge1xuICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCB3YXRjaCA9ICgpID0+IHtcbiAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgc3ViID0gdGhpcy5fd2F0Y2hSZXNvdXJjZUNoYW5nZTxUPih7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBub3JtYWxpemVQYXJhbXMoe1xuICAgICAgICAgICAgLi4ucGFyYW1zLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgd2F0Y2g6IFRSVUUsXG4gICAgICAgICAgICBhbGxvd1dhdGNoQm9va21hcmtzOiBUUlVFLFxuICAgICAgICAgICAgdGltZW91dFNlY29uZHM6IFN0cmluZyhUSU1FT1VUX1NFQ09ORFMpLFxuICAgICAgICAgICAgcmVzb3VyY2VWZXJzaW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQocmVzKSB7XG4gICAgICAgICAgICBpZiAocmVzLnR5cGUgPT09IFdhdGNoRXZlbnQuRXJyb3IpIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IocmVzLnR5cGUpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlc291cmNlVmVyc2lvbiA9IHJlcy5vYmplY3QubWV0YWRhdGEucmVzb3VyY2VWZXJzaW9uO1xuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3IoZXJyKSB7XG4gICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tcGxldGU6IHdhdGNoLFxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIHdhdGNoKCk7XG4gICAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFyYW1zLmtlZXBhbGl2ZVxuICAgICAgPyB3YXRjaCRcbiAgICAgIDogY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgdGhpcy5wYWdlVmlzaWJpbGl0eS5nZXRQYWdlVmlzaWJpbGl0eSgpLFxuICAgICAgICAgIHBhcmFtcy5hY3RpdmUkIHx8IG9mKHRydWUpLFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoW3Zpc2libGUsIGFjdGl2ZV0pID0+XG4gICAgICAgICAgICB2aXNpYmxlICYmIGFjdGl2ZSA/IHdhdGNoJCA6IE5FVkVSLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfd2F0Y2hSZXNvdXJjZUNoYW5nZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFJlc291cmNlTGlzdFJlYWRQYXJhbXM8Uj4sXG4gICk6IE9ic2VydmFibGU8V2F0Y2hBUElSZXNwb25zZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodGhpcy5fZ2V0QXBpUGF0aChwYXJhbXMsIHRydWUpLCB7XG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICAgICAgcGFyYW1zOiBwYXJhbXMucXVlcnlQYXJhbXMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldiA9PiBldi50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKHsgcGFydGlhbFRleHQgfTogSHR0cERvd25sb2FkUHJvZ3Jlc3NFdmVudCkgPT4gISFwYXJ0aWFsVGV4dD8udHJpbSgpLFxuICAgICAgICApLFxuICAgICAgICBjb25jYXRNYXAoKHsgcGFydGlhbFRleHQgfSkgPT5cbiAgICAgICAgICBmcm9tKFxuICAgICAgICAgICAgcmVkdWNlV2F0Y2hFdmVudHMoXG4gICAgICAgICAgICAgIHBhcnNlSlNPTlN0cmVhbTxXYXRjaEFQSVJlc3BvbnNlPFQ+PihwYXJ0aWFsVGV4dCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX2dldFJlc291cmNlTGlzdDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFJlc291cmNlTGlzdFJlYWRQYXJhbXM8Uj4sXG4gICkge1xuICAgIC8vIOWMheWQqyBrZXl3b3JkIOWJjee8gOmcgOimgeWKoOS4iuWJjee8gCAnYWNwL3YxL3Jlc291cmNlcy9zZWFyY2gnXG4gICAgLy8g5Y+C6ICDIGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTQ4NzMxMDU4XG4gICAgbGV0IHVybCA9IHRoaXMuX2dldEFwaVBhdGgocGFyYW1zLCB0cnVlKTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHsgLi4ucGFyYW1zLnF1ZXJ5UGFyYW1zIH07XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLmtleXdvcmQpIHtcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKEFQSV9HQVRFV0FZLCBgJHtBUElfR0FURVdBWX0ke1NFQVJDSF9VUkxfUFJFRklYfWApO1xuICAgICAgaWYgKCFxdWVyeVBhcmFtcy5maWVsZCkge1xuICAgICAgICBxdWVyeVBhcmFtcy5maWVsZCA9ICdtZXRhZGF0YS5uYW1lJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFQ+Pih1cmwsIHtcbiAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtcyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5fZ2V0SGVhZGVycyhwYXJhbXMsIHRydWUpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcCh0aGlzLl9nZXROb3JtYWxpemVkTGlzdCkpO1xuICB9XG5cbiAgLy8gQGludGVybmFsXG4gIHByaXZhdGUgX3Bvc3RSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFJlc291cmNlV3JpdGVQYXJhbXM8UiwgVD4sXG4gICkge1xuICAgIGlmIChcbiAgICAgICgnbmFtZXNwYWNlJyBpbiBwYXJhbXMgJiYgcGFyYW1zLm5hbWVzcGFjZSkgfHxcbiAgICAgICgnbmFtZXNwYWNlZCcgaW4gcGFyYW1zICYmIHBhcmFtcy5uYW1lc3BhY2VkKVxuICAgICkge1xuICAgICAgY29uc3QgcmVzb3VyY2VOYW1lc3BhY2UgPSBnZXQocGFyYW1zLnJlc291cmNlLCBbTUVUQURBVEEsIE5BTUVTUEFDRV0pO1xuICAgICAgaWYgKCFyZXNvdXJjZU5hbWVzcGFjZSkge1xuICAgICAgICBzZXQoXG4gICAgICAgICAgcGFyYW1zLnJlc291cmNlLFxuICAgICAgICAgIFtNRVRBREFUQSwgTkFNRVNQQUNFXSxcbiAgICAgICAgICBwYXJhbXMubmFtZXNwYWNlIHx8IHRoaXMuZ2xvYmFsTmFtZXNwYWNlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odGhpcy5fZ2V0QXBpUGF0aChwYXJhbXMsIHRydWUpLCBwYXJhbXMucmVzb3VyY2UsIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9wdXRSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFJlc291cmNlV3JpdGVQYXJhbXM8UiwgVD4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFQ+KHRoaXMuX2dldEFwaVBhdGgocGFyYW1zKSwgcGFyYW1zLnJlc291cmNlLCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLl9nZXRIZWFkZXJzKHBhcmFtcyksXG4gICAgfSk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSBfcGF0Y2hSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFJlc291cmNlUGF0Y2hQYXJhbXM8UiwgVD4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4odGhpcy5fZ2V0QXBpUGF0aChwYXJhbXMpLCBwYXJhbXMucGFydCwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAuLi50aGlzLl9nZXRIZWFkZXJzKHBhcmFtcyksXG4gICAgICAgICdDb250ZW50LVR5cGUnOiBwYXJhbXMub3BlcmF0aW9uIHx8IFBhdGNoT3BlcmF0aW9uLk1lcmdlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9kZWxldGVSZXNvdXJjZTxcbiAgICBTIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlLFxuICAgIFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gID4ocGFyYW1zOiBSZXNvdXJjZURlbGV0ZVBhcmFtczxSLCBUPikge1xuICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxTPignZGVsZXRlJywgdGhpcy5fZ2V0QXBpUGF0aChwYXJhbXMpLCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLl9nZXRIZWFkZXJzKHBhcmFtcyksXG4gICAgICBib2R5OiBwYXJhbXMuYm9keSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBpbnRlcm5hbFxuICBwcml2YXRlIF9iYXRjaERlbGV0ZVJlc291cmNlPFMgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczogRXJlYnVzUmVzb3VyY2VCYXRjaERlbGV0ZVBhcmFtczxSPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0PFM+KCdkZWxldGUnLCB0aGlzLl9nZXRBcGlQYXRoKHBhcmFtcyksIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2dldEhlYWRlcnMocGFyYW1zKSxcbiAgICAgIGJvZHk6IHBhcmFtcy5ib2R5LFxuICAgICAgcGFyYW1zOiBwYXJhbXMucXVlcnlQYXJhbXMsXG4gICAgfSk7XG4gIH1cblxuICAvLyBAaW50ZXJuYWxcbiAgcHJpdmF0ZSByZWFkb25seSBfZ2V0SGVhZGVycyA9IChcbiAgICB7IG5vdGlmeU9uRXJyb3IsIG9ubHlNZXRhZGF0YSwgY3VzdG9tQWNjZXB0LCBjcnlwdG8gfTogQXBpQmFzZVBhcmFtczxSPixcbiAgICBpc0xpc3Q/OiBib29sZWFuLFxuICApID0+IHtcbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT4gPSB7fTtcbiAgICBpZiAodHlwZW9mIG5vdGlmeU9uRXJyb3IgPT09ICdib29sZWFuJykge1xuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgbm90aWZ5T25FcnJvciA/IE5PVElGWV9PTl9FUlJPUl9IRUFERVJTIDogTk9UX05PVElGWV9PTl9FUlJPUl9IRUFERVJTLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGNyeXB0bykge1xuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJzLCB7XG4gICAgICAgIFtDUllQVE9fSEVBREVSX0tFWV06IGNyeXB0byxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2Rlc2lnbi1wcm9wb3NhbHMtYXJjaGl2ZS9ibG9iL21haW4vYXBpLW1hY2hpbmVyeS9hbHRlcm5hdGUtYXBpLXJlcHJlc2VudGF0aW9ucy5tZFxuICAgICAqL1xuICAgIGlmIChvbmx5TWV0YWRhdGEpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oaGVhZGVycywgZ2V0TWV0YWRhdGFIZWFkZXJzKGlzTGlzdCwgY3VzdG9tQWNjZXB0KSk7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzO1xuICB9O1xuXG4gIHByaXZhdGUgX2dldERvd25ncmFkZVBvbGxpbmcoe1xuICAgIGtlZXBhbGl2ZSxcbiAgICBkb3duZ3JhZGVQb2xsaW5nLFxuICB9OiBXYXRjaEFwaVBhcmFtcykge1xuICAgIHJldHVybiBrZWVwYWxpdmVcbiAgICAgID8gZG93bmdyYWRlUG9sbGluZ1xuICAgICAgOiB0aGlzLnBhZ2VWaXNpYmlsaXR5XG4gICAgICAgICAgLmdldFBhZ2VWaXNpYmlsaXR5KClcbiAgICAgICAgICAucGlwZShtYXAodmlzaWJsZSA9PiAodmlzaWJsZSA/IGRvd25ncmFkZVBvbGxpbmcgOiAwKSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -36,9 +36,9 @@ function NamespaceSelectorComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
36
36
|
i0.ɵɵadvance(4);
|
|
37
37
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 3, "service_mesh"), " ");
|
|
38
38
|
i0.ɵɵadvance(3);
|
|
39
|
-
i0.ɵɵtextInterpolate1("", ctx_r2.value.servicemesh, " ");
|
|
39
|
+
i0.ɵɵtextInterpolate1("", ctx_r2.value == null ? null : ctx_r2.value.servicemesh, " ");
|
|
40
40
|
i0.ɵɵadvance();
|
|
41
|
-
i0.ɵɵproperty("ngIf", ctx_r2.value.istioVersion);
|
|
41
|
+
i0.ɵɵproperty("ngIf", ctx_r2.value == null ? null : ctx_r2.value.istioVersion);
|
|
42
42
|
} }
|
|
43
43
|
function NamespaceSelectorComponent_ng_template_24_Template(rf, ctx) { if (rf & 1) {
|
|
44
44
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -150,22 +150,22 @@ export class NamespaceSelectorComponent {
|
|
|
150
150
|
i0.ɵɵadvance(5);
|
|
151
151
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 8, "project"), " ");
|
|
152
152
|
i0.ɵɵadvance(3);
|
|
153
|
-
i0.ɵɵtextInterpolate(ctx.value.project);
|
|
153
|
+
i0.ɵɵtextInterpolate(ctx.value == null ? null : ctx.value.project);
|
|
154
154
|
i0.ɵɵadvance();
|
|
155
155
|
i0.ɵɵproperty("ngIf", ctx.displayServiceMesh);
|
|
156
156
|
i0.ɵɵadvance(5);
|
|
157
157
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 10, "namespace"), " ");
|
|
158
158
|
i0.ɵɵadvance(3);
|
|
159
|
-
i0.ɵɵtextInterpolate1("", ctx.value.name, " (");
|
|
159
|
+
i0.ɵɵtextInterpolate1("", ctx.value == null ? null : ctx.value.name, " (");
|
|
160
160
|
i0.ɵɵadvance(2);
|
|
161
161
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 12, "cluster"), " ");
|
|
162
162
|
i0.ɵɵadvance(2);
|
|
163
|
-
i0.ɵɵtextInterpolate1("", ctx.value.cluster, ") ");
|
|
163
|
+
i0.ɵɵtextInterpolate1("", ctx.value == null ? null : ctx.value.cluster, ") ");
|
|
164
164
|
} }, styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}[_nghost-%COMP%] .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}[_nghost-%COMP%] .with-colon:after{content:\":\";margin-right:8px}[_nghost-%COMP%] .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}[_nghost-%COMP%] .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}[_nghost-%COMP%] .acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, :root [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}[_nghost-%COMP%] .acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector:hover .selected-name{color:#fff}[_nghost-%COMP%] .acl-resource-selector--lite{padding:0 4px;color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}[_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite .acl-resource-selector__item{height:26px}[_nghost-%COMP%] .acl-resource-selector--lite:hover, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}[_nghost-%COMP%] .acl-resource-selector--lite:hover aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite:hover .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}[_nghost-%COMP%] .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (width <= 1280px){[_nghost-%COMP%] .acl-resource-selector__item{max-width:178px;margin-right:8px}}[_nghost-%COMP%] .acl-resource-selector__item .icon-wrapper{margin-right:4px}[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (width <= 1280px){[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-4px}}"], changeDetection: 0 }); }
|
|
165
165
|
}
|
|
166
166
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NamespaceSelectorComponent, [{
|
|
167
167
|
type: Component,
|
|
168
|
-
args: [{ selector: 'acl-namespace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{ 'acl-resource-selector--active': isActive }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span class=\"icon-wrapper tw-flex\">\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value
|
|
168
|
+
args: [{ selector: 'acl-namespace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{ 'acl-resource-selector--active': isActive }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span class=\"icon-wrapper tw-flex\">\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value?.project }}</span>\n </div>\n <div\n *ngIf=\"displayServiceMesh\"\n class=\"acl-resource-selector__item namespace\"\n >\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:service_mesh\"></aui-icon>\n </span>\n <span class=\"with-colon\"> {{ 'service_mesh' | translate }} </span>\n <span class=\"selected-name text-truncate\"\n >{{ value?.servicemesh }}\n <ng-container *ngIf=\"value?.istioVersion as istioVersion\"\n >(Istio {{ istioVersion }})</ng-container\n >\n </span>\n </div>\n <div class=\"acl-resource-selector__item namespace\">\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:namespace\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'namespace' | translate }}\n </span>\n <span class=\"selected-name text-truncate\"\n >{{ value?.name }} (<span class=\"with-colon\">\n {{ 'cluster' | translate }} </span\n >{{ value?.cluster }})\n </span>\n </div>\n <div class=\"acl-resource-selector__arrow\">\n <aui-icon icon=\"caret_down_s\"></aui-icon>\n </div>\n</div>\n\n<ng-template #popup>\n <acl-namespace-list\n [context]=\"'popup'\"\n [fields]=\"fields || displayFields\"\n (selectItem)=\"onSelect($event)\"\n [disableFn]=\"disableFn\"\n [value]=\"value\"\n [displayServiceMesh]=\"displayServiceMesh\"\n (clusterChange)=\"clusterChange.emit($event)\"\n (projectChange)=\"projectChange.emit($event)\"\n ></acl-namespace-list>\n</ng-template>\n", styles: [":host{display:flex}:host::ng-deep .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}:host::ng-deep .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}:host::ng-deep .with-colon:after{content:\":\";margin-right:8px}:host::ng-deep .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host::ng-deep .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}:host::ng-deep .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}:host::ng-deep .acl-resource-selector--active,:host::ng-deep .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root :host::ng-deep .acl-resource-selector--active .icon-wrapper,:root :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}:host::ng-deep .acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector:hover .selected-name{color:#fff}:host::ng-deep .acl-resource-selector--lite{padding:0 4px;color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite .acl-resource-selector__item{height:26px}:host::ng-deep .acl-resource-selector--lite:hover,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}:host::ng-deep .acl-resource-selector--lite:hover aui-icon,:host::ng-deep .acl-resource-selector--lite:hover .with-colon,:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active aui-icon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .with-colon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover aui-icon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .with-colon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}:host::ng-deep .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (width <= 1280px){:host::ng-deep .acl-resource-selector__item{max-width:178px;margin-right:8px}}:host::ng-deep .acl-resource-selector__item .icon-wrapper{margin-right:4px}:host::ng-deep .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (width <= 1280px){:host::ng-deep .acl-resource-selector__arrow{margin-left:-4px}}\n"] }]
|
|
169
169
|
}], () => [{ type: i1.ResourceSelectorPopupService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.K8sUtilService }, { type: i3.AuthorizationStateService }], { popupTemplate: [{
|
|
170
170
|
type: ViewChild,
|
|
171
171
|
args: ['popup', { static: true }]
|
|
@@ -185,4 +185,4 @@ export class NamespaceSelectorComponent {
|
|
|
185
185
|
type: Output
|
|
186
186
|
}] }); })();
|
|
187
187
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NamespaceSelectorComponent, { className: "NamespaceSelectorComponent" }); })();
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL25hbWVzcGFjZS1zZWxlY3Rvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYnVzaW5lc3MvcmVzb3VyY2Utc2VsZWN0L2V4cG9ydHMvbmFtZXNwYWNlLXNlbGVjdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckUsT0FBTyxFQUNMLGlCQUFpQixHQUlsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNBakIsNkJBQ0c7SUFBQSxZQUEwQjs7OztJQUExQixjQUEwQjtJQUExQixzREFBMEI7OztJQVAvQixBQUpGLDhCQUdDLGNBQzRCO0lBQ3pCLCtCQUFpRDtJQUNuRCxpQkFBTztJQUNQLCtCQUF5QjtJQUFDLFlBQWlDOztJQUFBLGlCQUFPO0lBQ2xFLCtCQUNHO0lBQUEsWUFDRDtJQUFBLG9HQUNHO0lBR1AsQUFERSxpQkFBTyxFQUNIOzs7SUFQc0IsZUFBaUM7SUFBakMscUVBQWlDO0lBRXhELGVBQ0Q7SUFEQyx3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SVAsYUFBYTtrQkFEWixNQUFNO1lBSVAsV0FBVztrQkFEVixNQUFNOztrRkF0QkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3JlZic7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3NlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0V29ya3NwYWNlUGFyYW1zLCBzZXRXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIENvbmZpZ3VyYWJsZUZpZWxkLFxuICBEYXRhSXRlbUJhc2UsXG4gIERpc2FibGVGbixcbiAgU2VsZWN0ZWROYW1lc3BhY2VWYWx1ZSxcbn0gZnJvbSAnLi8uLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1uYW1lc3BhY2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLy4uL2NsdXN0ZXItc2VsZWN0b3Ivc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgncG9wdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwb3B1cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVGbjogRGlzYWJsZUZuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXTtcblxuICBASW5wdXQoKVxuICBkaXNwbGF5U2VydmljZU1lc2ggPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgY2x1c3RlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwcm9qZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZE5hbWVzcGFjZVZhbHVlPigpO1xuXG4gIGRpc3BsYXlGaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXG4gICAgQ29uZmlndXJhYmxlRmllbGQuQ2x1c3RlcixcbiAgICBDb25maWd1cmFibGVGaWVsZC5UaW1lLFxuICBdO1xuXG4gIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgcG9wdXBSZWY6IFJlc291cmNlU2VsZWN0b3JQb3B1cFJlZjtcblxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwU2VydmljZTogUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoOiBBdXRob3JpemF0aW9uU3RhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVtYWlsID0gdGhpcy5hdXRoLnBheWxvYWRTbmFwc2hvdD8uZW1haWw7XG4gICAgY29uc3QgcGFyYW1zID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKTtcbiAgICBpZiAodGhpcy52YWx1ZSAmJiAhcGFyYW1zKSB7XG4gICAgICBzZXRXb3Jrc3BhY2VQYXJhbXModGhpcy52YWx1ZSwgZW1haWwpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Qb3B1cCgpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5wb3B1cFJlZiA9IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgY29udGVudDogdGhpcy5wb3B1cFRlbXBsYXRlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnBvcHVwUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlUG9wdXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMucG9wdXBSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBwcm9qZWN0OiB0aGlzLms4c1V0aWwuZ2V0TGFiZWwoaXRlbS5fX29yaWdpbiwgJ3Byb2plY3QnKSxcbiAgICAgIGNsdXN0ZXI6IGl0ZW0uY2x1c3RlcixcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIHNlcnZpY2VtZXNoOiBpdGVtLnNlcnZpY2VNZXNoTmFtZSxcbiAgICAgIGlzdGlvVmVyc2lvbjogaXRlbS5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbixcbiAgICB9O1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNsb3NlUG9wdXAoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3RvclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2FjbC1yZXNvdXJjZS1zZWxlY3Rvci0tYWN0aXZlJzogaXNBY3RpdmUgfVwiXG4gIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gcHJvamVjdFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbi13cmFwcGVyIHR3LWZsZXhcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpwcm9qZWN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+XG4gICAgICB7eyAncHJvamVjdCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyB2YWx1ZS5wcm9qZWN0IH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGlzcGxheVNlcnZpY2VNZXNoXCJcbiAgICBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9faXRlbSBuYW1lc3BhY2VcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpzZXJ2aWNlX21lc2hcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj4ge3sgJ3NlcnZpY2VfbWVzaCcgfCB0cmFuc2xhdGUgfX0gPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtbmFtZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgID57eyB2YWx1ZS5zZXJ2aWNlbWVzaCB9fVxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlLmlzdGlvVmVyc2lvbiBhcyBpc3Rpb1ZlcnNpb25cIlxuICAgICAgICA+KElzdGlvIHt7IGlzdGlvVmVyc2lvbiB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gbmFtZXNwYWNlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpuYW1lc3BhY2VcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj5cbiAgICAgIHt7ICduYW1lc3BhY2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtbmFtZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgID57eyB2YWx1ZS5uYW1lIH19ICg8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj5cbiAgICAgICAge3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19IDwvc3BhblxuICAgICAgPnt7IHZhbHVlLmNsdXN0ZXIgfX0pXG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9fYXJyb3dcIj5cbiAgICA8YXVpLWljb24gaWNvbj1cImNhcmV0X2Rvd25fc1wiPjwvYXVpLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wdXA+XG4gIDxhY2wtbmFtZXNwYWNlLWxpc3RcbiAgICBbY29udGV4dF09XCIncG9wdXAnXCJcbiAgICBbZmllbGRzXT1cImZpZWxkcyB8fCBkaXNwbGF5RmllbGRzXCJcbiAgICAoc2VsZWN0SXRlbSk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZUZuXT1cImRpc2FibGVGblwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbZGlzcGxheVNlcnZpY2VNZXNoXT1cImRpc3BsYXlTZXJ2aWNlTWVzaFwiXG4gICAgKGNsdXN0ZXJDaGFuZ2UpPVwiY2x1c3RlckNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgIChwcm9qZWN0Q2hhbmdlKT1cInByb2plY3RDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgPjwvYWNsLW5hbWVzcGFjZS1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL25hbWVzcGFjZS1zZWxlY3Rvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYnVzaW5lc3MvcmVzb3VyY2Utc2VsZWN0L2V4cG9ydHMvbmFtZXNwYWNlLXNlbGVjdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckUsT0FBTyxFQUNMLGlCQUFpQixHQUlsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNBakIsNkJBQ0c7SUFBQSxZQUEwQjs7OztJQUExQixjQUEwQjtJQUExQixzREFBMEI7OztJQVAvQixBQUpGLDhCQUdDLGNBQzRCO0lBQ3pCLCtCQUFpRDtJQUNuRCxpQkFBTztJQUNQLCtCQUF5QjtJQUFDLFlBQWlDOztJQUFBLGlCQUFPO0lBQ2xFLCtCQUNHO0lBQUEsWUFDRDtJQUFBLG9HQUNHO0lBR1AsQUFERSxpQkFBTyxFQUNIOzs7SUFQc0IsZUFBaUM7SUFBakMscUVBQWlDO0lBRXhELGVBQ0Q7SUFEQyxz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SVAsYUFBYTtrQkFEWixNQUFNO1lBSVAsV0FBVztrQkFEVixNQUFNOztrRkF0QkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3JlZic7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3NlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0V29ya3NwYWNlUGFyYW1zLCBzZXRXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIENvbmZpZ3VyYWJsZUZpZWxkLFxuICBEYXRhSXRlbUJhc2UsXG4gIERpc2FibGVGbixcbiAgU2VsZWN0ZWROYW1lc3BhY2VWYWx1ZSxcbn0gZnJvbSAnLi8uLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1uYW1lc3BhY2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLy4uL2NsdXN0ZXItc2VsZWN0b3Ivc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgncG9wdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwb3B1cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVGbjogRGlzYWJsZUZuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBTZWxlY3RlZE5hbWVzcGFjZVZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXTtcblxuICBASW5wdXQoKVxuICBkaXNwbGF5U2VydmljZU1lc2ggPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgY2x1c3RlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwcm9qZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZE5hbWVzcGFjZVZhbHVlPigpO1xuXG4gIGRpc3BsYXlGaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXG4gICAgQ29uZmlndXJhYmxlRmllbGQuQ2x1c3RlcixcbiAgICBDb25maWd1cmFibGVGaWVsZC5UaW1lLFxuICBdO1xuXG4gIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgcG9wdXBSZWY6IFJlc291cmNlU2VsZWN0b3JQb3B1cFJlZjtcblxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwU2VydmljZTogUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoOiBBdXRob3JpemF0aW9uU3RhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVtYWlsID0gdGhpcy5hdXRoLnBheWxvYWRTbmFwc2hvdD8uZW1haWw7XG4gICAgY29uc3QgcGFyYW1zID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKTtcbiAgICBpZiAodGhpcy52YWx1ZSAmJiAhcGFyYW1zKSB7XG4gICAgICBzZXRXb3Jrc3BhY2VQYXJhbXModGhpcy52YWx1ZSwgZW1haWwpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Qb3B1cCgpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5wb3B1cFJlZiA9IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgY29udGVudDogdGhpcy5wb3B1cFRlbXBsYXRlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnBvcHVwUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlUG9wdXAoKSB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMucG9wdXBSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBwcm9qZWN0OiB0aGlzLms4c1V0aWwuZ2V0TGFiZWwoaXRlbS5fX29yaWdpbiwgJ3Byb2plY3QnKSxcbiAgICAgIGNsdXN0ZXI6IGl0ZW0uY2x1c3RlcixcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIHNlcnZpY2VtZXNoOiBpdGVtLnNlcnZpY2VNZXNoTmFtZSxcbiAgICAgIGlzdGlvVmVyc2lvbjogaXRlbS5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbixcbiAgICB9O1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNsb3NlUG9wdXAoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3RvclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2FjbC1yZXNvdXJjZS1zZWxlY3Rvci0tYWN0aXZlJzogaXNBY3RpdmUgfVwiXG4gIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gcHJvamVjdFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbi13cmFwcGVyIHR3LWZsZXhcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpwcm9qZWN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+XG4gICAgICB7eyAncHJvamVjdCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyB2YWx1ZT8ucHJvamVjdCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImRpc3BsYXlTZXJ2aWNlTWVzaFwiXG4gICAgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gbmFtZXNwYWNlXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwiaWNvbi13cmFwcGVyXCI+XG4gICAgICA8YXVpLWljb24gaWNvbj1cImJpY29sb3I6c2VydmljZV9tZXNoXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+IHt7ICdzZXJ2aWNlX21lc2gnIHwgdHJhbnNsYXRlIH19IDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlbGVjdGVkLW5hbWUgdGV4dC10cnVuY2F0ZVwiXG4gICAgICA+e3sgdmFsdWU/LnNlcnZpY2VtZXNoIH19XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWU/LmlzdGlvVmVyc2lvbiBhcyBpc3Rpb1ZlcnNpb25cIlxuICAgICAgICA+KElzdGlvIHt7IGlzdGlvVmVyc2lvbiB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gbmFtZXNwYWNlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpuYW1lc3BhY2VcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj5cbiAgICAgIHt7ICduYW1lc3BhY2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtbmFtZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgID57eyB2YWx1ZT8ubmFtZSB9fSAoPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+XG4gICAgICAgIHt7ICdjbHVzdGVyJyB8IHRyYW5zbGF0ZSB9fSA8L3NwYW5cbiAgICAgID57eyB2YWx1ZT8uY2x1c3RlciB9fSlcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWNsLXJlc291cmNlLXNlbGVjdG9yX19hcnJvd1wiPlxuICAgIDxhdWktaWNvbiBpY29uPVwiY2FyZXRfZG93bl9zXCI+PC9hdWktaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwb3B1cD5cbiAgPGFjbC1uYW1lc3BhY2UtbGlzdFxuICAgIFtjb250ZXh0XT1cIidwb3B1cCdcIlxuICAgIFtmaWVsZHNdPVwiZmllbGRzIHx8IGRpc3BsYXlGaWVsZHNcIlxuICAgIChzZWxlY3RJdGVtKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgIFtkaXNhYmxlRm5dPVwiZGlzYWJsZUZuXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtkaXNwbGF5U2VydmljZU1lc2hdPVwiZGlzcGxheVNlcnZpY2VNZXNoXCJcbiAgICAoY2x1c3RlckNoYW5nZSk9XCJjbHVzdGVyQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgKHByb2plY3RDaGFuZ2UpPVwicHJvamVjdENoYW5nZS5lbWl0KCRldmVudClcIlxuICA+PC9hY2wtbmFtZXNwYWNlLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuIl19
|