@alauda-fe/common 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/helpers.d.ts +8 -16
- package/array-form-table/form/component.d.ts +2 -2
- package/authorization/interceptor.service.d.ts +0 -1
- package/authorization/state.service.d.ts +13 -13
- package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
- package/business/resource-select/module.d.ts +2 -1
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/components/tree/toggle.d.ts +3 -3
- package/core/constants/constants.d.ts +4 -1
- package/core/constants/patterns.d.ts +12 -0
- package/core/constants/status-icons.d.ts +2 -1
- package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
- package/core/module.d.ts +21 -21
- package/core/pipes/time.pipe.d.ts +1 -1
- package/core/services/context.service.d.ts +3 -4
- package/core/services/encode-url-param.interceptor.d.ts +12 -0
- package/core/services/feature-gate.service.d.ts +1 -1
- package/core/services/public-api.d.ts +1 -0
- package/core/services/time.service.d.ts +1 -0
- package/core/services/workspace-helper.service.d.ts +3 -1
- package/core/types/k8s/crd.d.ts +11 -5
- package/core/types/k8s/raw.d.ts +25 -38
- package/core/types/resource-definitions.d.ts +57 -71
- package/core/utils/common.d.ts +5 -13
- package/core/utils/disabled-state.d.ts +20 -0
- package/core/utils/public-api.d.ts +3 -0
- package/core/utils/router.d.ts +3 -0
- package/core/utils/version.d.ts +1 -1
- package/core/utils/workload.d.ts +66 -0
- package/editable/editable.component.d.ts +23 -0
- package/editable/editable.directive.d.ts +9 -0
- package/editable/editable.type.d.ts +5 -0
- package/editable/public-api.d.ts +2 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
- package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
- package/esm2022/api/acp-common-api.service.mjs +3 -3
- package/esm2022/api/api-compatible.interceptor.mjs +1 -1
- package/esm2022/api/api-gateway.interceptor.mjs +3 -3
- package/esm2022/api/api-gateway.service.mjs +2 -2
- package/esm2022/api/cluster-version.service.mjs +3 -3
- package/esm2022/api/crypto.interceptor.mjs +4 -4
- package/esm2022/api/helpers.mjs +1 -1
- package/esm2022/api/k8s-api-resource.service.mjs +4 -4
- package/esm2022/api/k8s-api.service.mjs +6 -6
- package/esm2022/api/page-visibility.service.mjs +2 -2
- package/esm2022/api/platform-ui.service.mjs +2 -2
- package/esm2022/api/product.service.mjs +3 -3
- package/esm2022/api/project-api.service.mjs +3 -3
- package/esm2022/api/resource-update.service.mjs +3 -3
- package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
- package/esm2022/array-form-table/form/component.mjs +104 -111
- package/esm2022/array-form-table/form/module.mjs +2 -2
- package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
- package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
- package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
- package/esm2022/async-data/async-data-loader.mjs +1 -1
- package/esm2022/async-data/async-data.module.mjs +2 -2
- package/esm2022/async-data/error-page/component.mjs +21 -22
- package/esm2022/async-data/page-state/component.mjs +16 -15
- package/esm2022/authorization/app-init-url.mjs +1 -1
- package/esm2022/authorization/guard.service.mjs +5 -5
- package/esm2022/authorization/interceptor.service.mjs +10 -25
- package/esm2022/authorization/session-manage.service.mjs +5 -5
- package/esm2022/authorization/state.service.mjs +59 -93
- package/esm2022/authorization/storage-token.mjs +2 -2
- package/esm2022/business/module-info/api.service.mjs +3 -3
- package/esm2022/business/notification-disabled-container/component.mjs +14 -14
- package/esm2022/business/resource-select/base-list.mjs +3 -3
- package/esm2022/business/resource-select/context.service.mjs +3 -3
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
- package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
- package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
- package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
- package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
- package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
- package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
- package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
- package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
- package/esm2022/business/resource-select/module.mjs +17 -14
- package/esm2022/business/resource-select/project.service.mjs +3 -3
- package/esm2022/business/resource-select/utils.mjs +1 -1
- package/esm2022/chart/chart.module.mjs +2 -2
- package/esm2022/chart/chart.service.mjs +4 -4
- package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
- package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
- package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
- package/esm2022/chart/common/chart/chart.component.mjs +41 -43
- package/esm2022/chart/common/legend/legend.component.mjs +62 -65
- package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
- package/esm2022/chart/common/series/area-series.component.mjs +15 -14
- package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
- package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
- package/esm2022/chart/common/series/line-series.component.mjs +7 -6
- package/esm2022/chart/common/series/series.component.mjs +3 -3
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
- package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
- package/esm2022/chart/utils.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +9 -8
- package/esm2022/code/code-editor-configs.mjs +2 -2
- package/esm2022/code/code.module.mjs +2 -2
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
- package/esm2022/code/resource-yaml-display/component.mjs +21 -22
- package/esm2022/core/abstract/base-form-container.mjs +3 -3
- package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
- package/esm2022/core/components/tree/module.mjs +2 -2
- package/esm2022/core/components/tree/node/component.mjs +7 -6
- package/esm2022/core/components/tree/outlet.mjs +4 -4
- package/esm2022/core/components/tree/padding.mjs +6 -6
- package/esm2022/core/components/tree/toggle.mjs +9 -9
- package/esm2022/core/components/tree/tree/component.mjs +4 -3
- package/esm2022/core/constants/constants.mjs +4 -1
- package/esm2022/core/constants/patterns.mjs +15 -4
- package/esm2022/core/constants/status-icons.mjs +2 -1
- package/esm2022/core/constants/tokens.mjs +1 -1
- package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
- package/esm2022/core/directives/click-outside.directive.mjs +4 -4
- package/esm2022/core/directives/declare.directive.mjs +2 -2
- package/esm2022/core/directives/disabled.directive.mjs +4 -4
- package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
- package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
- package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
- package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
- package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
- package/esm2022/core/directives/resize.directive.mjs +3 -3
- package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
- package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
- package/esm2022/core/guards/feature.guard.mjs +4 -4
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
- package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
- package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
- package/esm2022/core/module.mjs +8 -13
- package/esm2022/core/pipes/calc.pipe.mjs +2 -2
- package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
- package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
- package/esm2022/core/pipes/duration.pipe.mjs +3 -3
- package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
- package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
- package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
- package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
- package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
- package/esm2022/core/pipes/marked.pipe.mjs +2 -2
- package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
- package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
- package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
- package/esm2022/core/pipes/pure.pipe.mjs +2 -2
- package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
- package/esm2022/core/pipes/safe.pipe.mjs +3 -3
- package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
- package/esm2022/core/pipes/time.pipe.mjs +11 -11
- package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
- package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
- package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
- package/esm2022/core/services/context.service.mjs +10 -13
- package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
- package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
- package/esm2022/core/services/feature-gate.service.mjs +3 -3
- package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
- package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
- package/esm2022/core/services/k8s-util.service.mjs +3 -3
- package/esm2022/core/services/on-resize.service.mjs +5 -5
- package/esm2022/core/services/public-api.mjs +2 -1
- package/esm2022/core/services/silently-navigate.service.mjs +3 -3
- package/esm2022/core/services/time.service.mjs +4 -3
- package/esm2022/core/services/ui-state.service.mjs +2 -2
- package/esm2022/core/services/workspace-helper.service.mjs +8 -2
- package/esm2022/core/services/yaml-util.service.mjs +4 -4
- 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 +42 -65
- package/esm2022/core/utils/cache-store.mjs +1 -1
- package/esm2022/core/utils/common.mjs +3 -12
- package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
- package/esm2022/core/utils/cron-util.mjs +1 -1
- package/esm2022/core/utils/decorators.mjs +1 -1
- package/esm2022/core/utils/disabled-state.mjs +47 -0
- package/esm2022/core/utils/format-number.mjs +1 -1
- package/esm2022/core/utils/k8s-util.mjs +1 -1
- package/esm2022/core/utils/observable.mjs +1 -1
- package/esm2022/core/utils/operators.mjs +1 -1
- package/esm2022/core/utils/public-api.mjs +4 -1
- package/esm2022/core/utils/request-pool.mjs +1 -1
- package/esm2022/core/utils/resources.mjs +1 -1
- package/esm2022/core/utils/router.mjs +20 -0
- package/esm2022/core/utils/sort-fn.mjs +1 -1
- package/esm2022/core/utils/tree.mjs +1 -1
- package/esm2022/core/utils/unit.mjs +1 -1
- package/esm2022/core/utils/version.mjs +1 -1
- package/esm2022/core/utils/workload.mjs +183 -0
- package/esm2022/core/utils/workspace.mjs +1 -1
- package/esm2022/core/utils/yaml.mjs +1 -1
- package/esm2022/custom-columns-setting/component.mjs +30 -23
- package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
- package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
- package/esm2022/editable/editable.component.mjs +136 -0
- package/esm2022/editable/editable.directive.mjs +25 -0
- package/esm2022/editable/editable.type.mjs +6 -0
- package/esm2022/editable/public-api.mjs +3 -0
- package/esm2022/editable-text/component.mjs +14 -12
- package/esm2022/editable-text/module.mjs +2 -2
- package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
- package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
- package/esm2022/effect-directive/event.directive.mjs +3 -3
- package/esm2022/effect-directive/min-max.directive.mjs +3 -3
- package/esm2022/effect-directive/module.mjs +2 -2
- package/esm2022/effect-directive/trim.directive.mjs +3 -3
- package/esm2022/effect-directive/validators.directive.mjs +3 -3
- package/esm2022/exec/module.mjs +2 -2
- package/esm2022/exec/placeholder/component.mjs +4 -3
- package/esm2022/exec/service.mjs +3 -3
- package/esm2022/exec/terminal/component.mjs +87 -86
- package/esm2022/exec/terminal-group/component.mjs +42 -44
- package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
- package/esm2022/feature-gate-forbidden/module.mjs +2 -2
- package/esm2022/form/directives/value-trace.directive.mjs +4 -4
- package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
- package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
- package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
- package/esm2022/form/labels-editor/component.mjs +36 -36
- package/esm2022/form/taints-editor/component.mjs +42 -42
- package/esm2022/form/upload-file/component.mjs +9 -7
- package/esm2022/form/utils.mjs +1 -1
- package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
- package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
- package/esm2022/form/validators/function-validator.directive.mjs +4 -3
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
- package/esm2022/form/validators/module.mjs +7 -8
- package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
- package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
- package/esm2022/form/validators/resource-limit.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
- package/esm2022/form/validators/utils.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
- package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
- package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
- package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
- package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
- package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
- package/esm2022/grid-layout/components/grid/component.mjs +5 -4
- package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
- package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
- package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
- package/esm2022/grid-layout/module.mjs +2 -2
- package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
- package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
- package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
- package/esm2022/help-document/component.mjs +18 -16
- package/esm2022/help-document/directive.mjs +4 -4
- package/esm2022/help-document/module.mjs +2 -2
- package/esm2022/help-document/service.mjs +4 -4
- package/esm2022/iframe-config/config.service.mjs +3 -3
- package/esm2022/k8s-resource-list/footer/component.mjs +103 -65
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +19 -7
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
- package/esm2022/k8s-resource-list/utils.mjs +7 -3
- package/esm2022/k8s-shared/constants.mjs +53 -0
- package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
- package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
- package/esm2022/k8s-shared/public-api.mjs +2 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
- package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
- package/esm2022/lazy-component/visibility.service.mjs +2 -2
- package/esm2022/license/license-api.mjs +3 -3
- package/esm2022/license/license-error/component.mjs +25 -25
- package/esm2022/license/license-error/module.mjs +2 -2
- package/esm2022/license/license.guard.mjs +4 -4
- package/esm2022/license/license.service.mjs +4 -4
- package/esm2022/list-display/component.mjs +39 -40
- package/esm2022/metric-chart/common-chart.service.mjs +3 -3
- package/esm2022/metric-chart/helpers.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
- package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
- package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
- package/esm2022/metric-chart/utils.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +180 -181
- package/esm2022/multi-search/form/component.mjs +26 -22
- package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
- package/esm2022/mutable/element.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
- package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
- package/esm2022/mutable/mutable.directive.mjs +4 -4
- package/esm2022/mutable/mutable.module.mjs +2 -2
- package/esm2022/notification/feedback-notification/component.mjs +22 -23
- package/esm2022/notification/notification-util.service.mjs +3 -3
- package/esm2022/notification/resource-error.interceptor.mjs +3 -3
- package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
- package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
- package/esm2022/page-guard/component/component.mjs +70 -78
- package/esm2022/page-guard/component/helper-directives.mjs +5 -5
- package/esm2022/page-guard/module.mjs +2 -2
- package/esm2022/page-scaffold/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +182 -91
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
- package/esm2022/page-scaffold/navigation/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +9 -8
- package/esm2022/page-scaffold/page/context.service.mjs +2 -2
- package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
- package/esm2022/page-scaffold/page/page.component.mjs +20 -20
- package/esm2022/page-scaffold/page/page.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +68 -73
- package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
- package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
- package/esm2022/page-scaffold/page-header/component.mjs +24 -25
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/module.mjs +2 -2
- package/esm2022/permission/helpers.mjs +1 -1
- package/esm2022/permission/k8s-permission.service.mjs +3 -3
- package/esm2022/permission/permission.guard.mjs +3 -3
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
- package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
- package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +7 -7
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +84 -78
- package/esm2022/pie-derivative-chart/units.mjs +14 -0
- package/esm2022/pod-status/component.mjs +167 -0
- package/esm2022/pod-status/public-api.mjs +4 -0
- package/esm2022/pod-status/status.mjs +84 -0
- package/esm2022/pod-status/typings.mjs +19 -0
- package/esm2022/public-api.mjs +4 -1
- package/esm2022/searchable-selector/component.mjs +73 -75
- package/esm2022/searchable-selector/module.mjs +2 -2
- package/esm2022/skeleton/item/component.mjs +4 -3
- package/esm2022/skeleton/module.mjs +2 -2
- package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
- package/esm2022/table/component.mjs +275 -276
- package/esm2022/table/helper.mjs +1 -1
- package/esm2022/table/helpers.directive.mjs +3 -3
- package/esm2022/table/module.mjs +40 -31
- package/esm2022/table/util.service.mjs +4 -4
- package/esm2022/translate/helpers.mjs +1 -1
- package/esm2022/translate/i18n-config.mjs +3 -8
- package/esm2022/translate/translate.directive.mjs +9 -9
- package/esm2022/translate/translate.module.mjs +2 -2
- package/esm2022/translate/translate.pipe.mjs +3 -3
- package/esm2022/translate/translate.service.mjs +4 -4
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
- package/esm2022/view-chart/legend/legend.component.mjs +66 -70
- package/esm2022/view-chart/view-chart.component.mjs +94 -105
- package/esm2022/view-chart/view-chart.module.mjs +2 -2
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
- package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
- package/esm2022/view-zchart/units.mjs +1 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
- package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
- package/esm2022/widget/card-section/card-section.component.mjs +13 -12
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
- package/esm2022/widget/current-time/component.mjs +4 -3
- package/esm2022/widget/date-range-picker/component.mjs +42 -40
- package/esm2022/widget/field-set/column/component.mjs +5 -3
- package/esm2022/widget/field-set/group/component.mjs +3 -2
- package/esm2022/widget/field-set/item/component.mjs +8 -7
- package/esm2022/widget/foldable-block/component.mjs +25 -24
- package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
- package/esm2022/widget/password-input/component.mjs +72 -71
- package/esm2022/widget/public-api.mjs +2 -1
- package/esm2022/widget/relative-time/component.mjs +4 -3
- package/esm2022/widget/resource-label/component.mjs +131 -0
- package/esm2022/widget/resource-multi-select/component.mjs +20 -19
- package/esm2022/widget/resource-multi-select/util.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +3 -2
- package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
- package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
- package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
- package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
- package/esm2022/widget/tags-label/component.mjs +61 -62
- package/esm2022/widget/terminating-tag/component.mjs +4 -3
- package/esm2022/widget/text-ellipsis/component.mjs +11 -11
- package/esm2022/widget/text-tooltip/directive.mjs +3 -3
- package/esm2022/widget/text-with-url/component.mjs +8 -8
- package/esm2022/widget/widget.module.mjs +2 -2
- package/esm2022/widget/zero-state/zero-state.component.mjs +45 -30
- package/esm2022/window-channel/base-window-channel.mjs +1 -1
- package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
- package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
- package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
- package/esm2022/workload-status-icon/component.mjs +72 -0
- package/esm2022/workload-status-icon/public-api.mjs +2 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
- package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
- package/esm2022/xterm/xterm.component.mjs +5 -4
- package/exec/terminal/component.d.ts +1 -4
- package/form/validators/async-function-validator.directive.d.ts +1 -1
- package/form/validators/function-validator.directive.d.ts +1 -1
- package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
- package/form/validators/module.d.ts +8 -8
- package/form/validators/not-be-validator.directive.d.ts +1 -1
- package/form/validators/one-of-validator.directive.d.ts +1 -1
- package/form/validators/resource-limit.d.ts +1 -1
- package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
- package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
- package/k8s-resource-list/footer/component.d.ts +9 -1
- package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
- package/k8s-shared/constants.d.ts +7 -0
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
- package/k8s-shared/public-api.d.ts +1 -0
- package/license/license-api.d.ts +1 -1
- package/license/license-error/component.d.ts +1 -1
- package/metric-chart/helpers.d.ts +1 -1
- package/package.json +2 -1
- package/page-guard/component/component.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
- package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
- package/pie-derivative-chart/units.d.ts +2 -0
- package/pod-status/component.d.ts +27 -0
- package/pod-status/public-api.d.ts +3 -0
- package/pod-status/status.d.ts +4 -0
- package/pod-status/typings.d.ts +16 -0
- package/public-api.d.ts +3 -0
- package/styles/ansi-color.scss +131 -0
- package/styles/global.scss +4 -1
- package/styles/tailwind-preset.scss +1 -1
- package/table/component.d.ts +6 -4
- package/table/helper.d.ts +1 -1
- package/table/module.d.ts +23 -7
- package/widget/public-api.d.ts +1 -0
- package/widget/resource-label/component.d.ts +25 -0
- package/widget/zero-state/zero-state.component.d.ts +5 -2
- package/workload-status-icon/component.d.ts +36 -0
- package/workload-status-icon/public-api.d.ts +1 -0
- package/a-chart/a-chart.module.d.ts +0 -16
- package/a-chart/base-chart.d.ts +0 -24
- package/a-chart/chart-status.component.d.ts +0 -15
- package/a-chart/chart.component.d.ts +0 -56
- package/a-chart/components/base-component.d.ts +0 -12
- package/a-chart/components/legend/base-legend.component.d.ts +0 -31
- package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
- package/a-chart/components/legend/legend.component.d.ts +0 -17
- package/a-chart/components/legend/public-api.d.ts +0 -3
- package/a-chart/components/public-api.d.ts +0 -3
- package/a-chart/components/title.component.d.ts +0 -17
- package/a-chart/constant.d.ts +0 -6
- package/a-chart/public-api.d.ts +0 -12
- package/a-chart/types.d.ts +0 -38
- package/a-chart/utils.d.ts +0 -13
- package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
- package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
- package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
- package/a-metric-chart/base-chart.component.d.ts +0 -14
- package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
- package/a-metric-chart/public-api.d.ts +0 -14
- package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
- package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
- package/a-metric-chart/types.d.ts +0 -130
- package/a-metric-chart/utils/public-api.d.ts +0 -3
- package/a-metric-chart/utils/range.d.ts +0 -1
- package/a-metric-chart/utils/unit.d.ts +0 -48
- package/a-metric-chart/utils/util.d.ts +0 -45
- package/api/monitor-api.service.d.ts +0 -104
- package/esm2022/a-chart/a-chart.module.mjs +0 -76
- package/esm2022/a-chart/base-chart.mjs +0 -98
- package/esm2022/a-chart/chart-status.component.mjs +0 -195
- package/esm2022/a-chart/chart.component.mjs +0 -307
- package/esm2022/a-chart/components/base-component.mjs +0 -23
- package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
- package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
- package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
- package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
- package/esm2022/a-chart/components/public-api.mjs +0 -4
- package/esm2022/a-chart/components/title.component.mjs +0 -99
- package/esm2022/a-chart/constant.mjs +0 -24
- package/esm2022/a-chart/public-api.mjs +0 -13
- package/esm2022/a-chart/types.mjs +0 -7
- package/esm2022/a-chart/utils.mjs +0 -37
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
- package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
- package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
- package/esm2022/a-metric-chart/public-api.mjs +0 -15
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
- package/esm2022/a-metric-chart/types.mjs +0 -26
- package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
- package/esm2022/a-metric-chart/utils/range.mjs +0 -35
- package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
- package/esm2022/a-metric-chart/utils/util.mjs +0 -243
- package/esm2022/api/monitor-api.service.mjs +0 -158
- package/esm2022/notification/notification-util.module.mjs +0 -32
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
- package/notification/notification-util.module.d.ts +0 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { handlePixel } from '@alauda/ui';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList, } from '@angular/core';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList, TemplateRef, } from '@angular/core';
|
|
4
4
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
5
|
import { get, isFunction, isObjectLike, isString, last } from 'lodash-es';
|
|
6
6
|
import { BehaviorSubject, combineLatest, map, merge, Observable, of, ReplaySubject, switchMap, tap, } from 'rxjs';
|
|
@@ -17,16 +17,22 @@ import { KNOWN_COLUMNS, TableUtilService } from './util.service';
|
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
import * as i1 from "@angular/router";
|
|
19
19
|
import * as i2 from "./util.service";
|
|
20
|
+
const _c0 = (a0, a1, a2, a3, a4) => ({ $implicit: a0, index: a1, even: a2, odd: a3, last: a4 });
|
|
21
|
+
const _c1 = (a0, a1) => ({ columnDef: a0, value: a1 });
|
|
22
|
+
const _c2 = (a0, a1) => ({ data: a0, columnDef: a1 });
|
|
23
|
+
const _c3 = a0 => ({ name: a0 });
|
|
24
|
+
const _c4 = (a0, a1) => [a0, "detail", a1];
|
|
25
|
+
const _c5 = (a0, a1) => ({ $implicit: a0, columnDef: a1 });
|
|
20
26
|
function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
i0.ɵɵelementStart(0, "span",
|
|
27
|
+
i0.ɵɵelementStart(0, "span", 20);
|
|
22
28
|
i0.ɵɵtext(1);
|
|
23
29
|
i0.ɵɵpipe(2, "translate");
|
|
24
30
|
i0.ɵɵelementEnd();
|
|
25
31
|
} if (rf & 2) {
|
|
26
|
-
const
|
|
27
|
-
i0.ɵɵproperty("start",
|
|
28
|
-
i0.ɵɵadvance(
|
|
29
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2,
|
|
32
|
+
const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
|
|
33
|
+
i0.ɵɵproperty("start", columnDef_r2.sort.direction);
|
|
34
|
+
i0.ɵɵadvance();
|
|
35
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, columnDef_r2.label || columnDef_r2.name));
|
|
30
36
|
} }
|
|
31
37
|
function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
32
38
|
i0.ɵɵelementStart(0, "span");
|
|
@@ -34,115 +40,109 @@ function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_sp
|
|
|
34
40
|
i0.ɵɵpipe(2, "translate");
|
|
35
41
|
i0.ɵɵelementEnd();
|
|
36
42
|
} if (rf & 2) {
|
|
37
|
-
const
|
|
38
|
-
i0.ɵɵadvance(
|
|
39
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1,
|
|
43
|
+
const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
|
|
44
|
+
i0.ɵɵadvance();
|
|
45
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, columnDef_r2.label || columnDef_r2.name));
|
|
40
46
|
} }
|
|
41
47
|
function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
42
48
|
i0.ɵɵelementContainerStart(0);
|
|
43
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template, 3, 4, "span",
|
|
44
|
-
i0.ɵɵtemplate(2, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template, 3, 3, "span", 5);
|
|
49
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template, 3, 4, "span", 19)(2, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template, 3, 3, "span", 15);
|
|
45
50
|
i0.ɵɵelementContainerEnd();
|
|
46
51
|
} if (rf & 2) {
|
|
47
|
-
const
|
|
48
|
-
i0.ɵɵadvance(
|
|
49
|
-
i0.ɵɵproperty("ngIf",
|
|
50
|
-
i0.ɵɵadvance(
|
|
51
|
-
i0.ɵɵproperty("ngIf", !
|
|
52
|
+
const columnDef_r2 = i0.ɵɵnextContext(2).$implicit;
|
|
53
|
+
i0.ɵɵadvance();
|
|
54
|
+
i0.ɵɵproperty("ngIf", columnDef_r2.sort);
|
|
55
|
+
i0.ɵɵadvance();
|
|
56
|
+
i0.ɵɵproperty("ngIf", !columnDef_r2.sort);
|
|
52
57
|
} }
|
|
53
58
|
function TableComponent_ng_container_3_aui_table_header_cell_1_Template(rf, ctx) { if (rf & 1) {
|
|
54
59
|
i0.ɵɵelementStart(0, "aui-table-header-cell");
|
|
55
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template, 3, 2, "ng-container",
|
|
60
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template, 3, 2, "ng-container", 15);
|
|
56
61
|
i0.ɵɵelementEnd();
|
|
57
62
|
} if (rf & 2) {
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
i0.ɵɵstyleMap(
|
|
61
|
-
i0.ɵɵadvance(
|
|
62
|
-
i0.ɵɵproperty("ngIf",
|
|
63
|
+
const columnDef_r2 = i0.ɵɵnextContext().$implicit;
|
|
64
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
65
|
+
i0.ɵɵstyleMap(columnDef_r2.style);
|
|
66
|
+
i0.ɵɵadvance();
|
|
67
|
+
i0.ɵɵproperty("ngIf", columnDef_r2.name !== ctx_r2.ACTION);
|
|
63
68
|
} }
|
|
64
69
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
65
70
|
i0.ɵɵelementContainer(0);
|
|
66
71
|
} }
|
|
67
|
-
const _c0 = function (a0, a1, a2, a3, a4) { return { $implicit: a0, index: a1, even: a2, odd: a3, last: a4 }; };
|
|
68
72
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
69
73
|
i0.ɵɵelementContainerStart(0);
|
|
70
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template, 1, 0, "ng-container",
|
|
74
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
|
|
71
75
|
i0.ɵɵelementContainerEnd();
|
|
72
76
|
} if (rf & 2) {
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
i0.ɵɵadvance(
|
|
81
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
77
|
+
const template_r4 = ctx.ngIf;
|
|
78
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
79
|
+
const data_r6 = ctx_r4.$implicit;
|
|
80
|
+
const index_r7 = ctx_r4.index;
|
|
81
|
+
const even_r8 = ctx_r4.even;
|
|
82
|
+
const odd_r9 = ctx_r4.odd;
|
|
83
|
+
const last_r10 = ctx_r4.last;
|
|
84
|
+
i0.ɵɵadvance();
|
|
85
|
+
i0.ɵɵproperty("ngTemplateOutlet", template_r4)("ngTemplateOutletContext", i0.ɵɵpureFunction5(2, _c0, data_r6, index_r7, even_r8, odd_r9, last_r10));
|
|
82
86
|
} }
|
|
83
87
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
84
88
|
i0.ɵɵelementContainer(0);
|
|
85
89
|
} }
|
|
86
|
-
const _c1 = function (a0, a1) { return { columnDef: a0, value: a1 }; };
|
|
87
90
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
88
91
|
i0.ɵɵelementContainerStart(0);
|
|
89
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template, 1, 0, "ng-container",
|
|
92
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 23);
|
|
90
93
|
i0.ɵɵelementContainerEnd();
|
|
91
94
|
} if (rf & 2) {
|
|
92
|
-
const
|
|
93
|
-
const
|
|
95
|
+
const value_r11 = ctx.ngIf;
|
|
96
|
+
const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
|
|
94
97
|
i0.ɵɵnextContext();
|
|
95
|
-
const
|
|
96
|
-
i0.ɵɵadvance(
|
|
97
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
98
|
+
const tableCellContent_r12 = i0.ɵɵreference(14);
|
|
99
|
+
i0.ɵɵadvance();
|
|
100
|
+
i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r2, value_r11));
|
|
98
101
|
} }
|
|
99
102
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
100
|
-
i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template, 2, 5, "ng-container",
|
|
103
|
+
i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template, 2, 5, "ng-container", 22);
|
|
101
104
|
i0.ɵɵpipe(1, "pure");
|
|
102
105
|
} if (rf & 2) {
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
i0.ɵɵproperty("ngIf",
|
|
106
|
+
const data_r6 = i0.ɵɵnextContext().$implicit;
|
|
107
|
+
const defaultTableCellTpl_r13 = i0.ɵɵreference(6);
|
|
108
|
+
const columnDef_r2 = i0.ɵɵnextContext().$implicit;
|
|
109
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
110
|
+
i0.ɵɵproperty("ngIf", columnDef_r2.path != null && i0.ɵɵpipeBind4(1, 2, data_r6, ctx_r2.getValueFromPath, columnDef_r2.name, columnDef_r2.path))("ngIfElse", defaultTableCellTpl_r13);
|
|
108
111
|
} }
|
|
109
112
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
110
113
|
i0.ɵɵelementContainer(0);
|
|
111
114
|
} }
|
|
112
|
-
const _c2 = function (a0, a1) { return { data: a0, columnDef: a1 }; };
|
|
113
115
|
function TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
-
i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template, 1, 0, "ng-container",
|
|
116
|
+
i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template, 1, 0, "ng-container", 23);
|
|
115
117
|
} if (rf & 2) {
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
+
const data_r6 = i0.ɵɵnextContext().$implicit;
|
|
119
|
+
const columnDef_r2 = i0.ɵɵnextContext().$implicit;
|
|
118
120
|
i0.ɵɵnextContext();
|
|
119
|
-
const
|
|
120
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
121
|
+
const defaultTableCell_r14 = i0.ɵɵreference(12);
|
|
122
|
+
i0.ɵɵproperty("ngTemplateOutlet", defaultTableCell_r14)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c2, data_r6, columnDef_r2));
|
|
121
123
|
} }
|
|
122
124
|
function TableComponent_ng_container_3_aui_table_cell_2_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
-
i0.ɵɵelementStart(0, "aui-table-cell",
|
|
124
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template, 2, 8, "ng-container",
|
|
125
|
+
i0.ɵɵelementStart(0, "aui-table-cell", 21);
|
|
126
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template, 2, 8, "ng-container", 22);
|
|
125
127
|
i0.ɵɵpipe(2, "pure");
|
|
126
|
-
i0.ɵɵtemplate(3, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template, 2, 7, "ng-template", null,
|
|
127
|
-
i0.ɵɵtemplate(5, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template, 1, 5, "ng-template", null, 19, i0.ɵɵtemplateRefExtractor);
|
|
128
|
+
i0.ɵɵtemplate(3, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template, 2, 7, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template, 1, 5, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
128
129
|
i0.ɵɵelementEnd();
|
|
129
130
|
} if (rf & 2) {
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
i0.ɵɵstyleMap(
|
|
134
|
-
i0.ɵɵproperty("direction",
|
|
135
|
-
i0.ɵɵadvance(
|
|
136
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 6,
|
|
131
|
+
const tableCellDefTpl_r15 = i0.ɵɵreference(4);
|
|
132
|
+
const columnDef_r2 = i0.ɵɵnextContext().$implicit;
|
|
133
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
134
|
+
i0.ɵɵstyleMap(columnDef_r2.style);
|
|
135
|
+
i0.ɵɵproperty("direction", columnDef_r2.direction)("ngClass", columnDef_r2.class);
|
|
136
|
+
i0.ɵɵadvance();
|
|
137
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 6, columnDef_r2.name, ctx_r2.getColumnTemplate))("ngIfElse", tableCellDefTpl_r15);
|
|
137
138
|
} }
|
|
138
139
|
function TableComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
139
|
-
i0.ɵɵelementContainerStart(0,
|
|
140
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_Template, 2, 3, "aui-table-header-cell",
|
|
141
|
-
i0.ɵɵtemplate(2, TableComponent_ng_container_3_aui_table_cell_2_Template, 7, 9, "aui-table-cell", 13);
|
|
140
|
+
i0.ɵɵelementContainerStart(0, 16);
|
|
141
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_Template, 2, 3, "aui-table-header-cell", 17)(2, TableComponent_ng_container_3_aui_table_cell_2_Template, 7, 9, "aui-table-cell", 18);
|
|
142
142
|
i0.ɵɵelementContainerEnd();
|
|
143
143
|
} if (rf & 2) {
|
|
144
|
-
const
|
|
145
|
-
i0.ɵɵproperty("auiTableColumnDef",
|
|
144
|
+
const columnDef_r2 = ctx.$implicit;
|
|
145
|
+
i0.ɵɵproperty("auiTableColumnDef", columnDef_r2.name)("sticky", columnDef_r2.sticky)("stickyEnd", columnDef_r2.stickyEnd);
|
|
146
146
|
} }
|
|
147
147
|
function TableComponent_aui_table_header_row_5_Template(rf, ctx) { if (rf & 1) {
|
|
148
148
|
i0.ɵɵelement(0, "aui-table-header-row");
|
|
@@ -150,50 +150,57 @@ function TableComponent_aui_table_header_row_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
150
150
|
function TableComponent_aui_table_row_7_Template(rf, ctx) { if (rf & 1) {
|
|
151
151
|
i0.ɵɵelement(0, "aui-table-row");
|
|
152
152
|
} }
|
|
153
|
-
|
|
154
|
-
function TableComponent_ng_container_9_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
function TableComponent_ng_container_9_ng_container_1_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
155
154
|
i0.ɵɵelementContainerStart(0);
|
|
156
155
|
i0.ɵɵtext(1);
|
|
157
156
|
i0.ɵɵpipe(2, "translate");
|
|
158
157
|
i0.ɵɵpipe(3, "translate");
|
|
159
158
|
i0.ɵɵelementContainerEnd();
|
|
160
159
|
} if (rf & 2) {
|
|
161
|
-
const
|
|
162
|
-
const
|
|
163
|
-
i0.ɵɵadvance(
|
|
164
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(
|
|
160
|
+
const finalResourceName_r16 = ctx.ngIf;
|
|
161
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
162
|
+
i0.ɵɵadvance();
|
|
163
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 5, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind3(2, 1, finalResourceName_r16, null, true))), " ");
|
|
165
164
|
} }
|
|
166
|
-
function
|
|
167
|
-
i0.ɵɵ
|
|
168
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_div_1_ng_container_1_Template, 4, 10, "ng-container", 17);
|
|
169
|
-
i0.ɵɵpipe(2, "async");
|
|
170
|
-
i0.ɵɵelementEnd();
|
|
165
|
+
function TableComponent_ng_container_9_ng_container_1_ng_container_10_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
166
|
+
i0.ɵɵelementContainer(0, 28);
|
|
171
167
|
} if (rf & 2) {
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
i0.ɵɵadvance(1);
|
|
175
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r51.finalResourceName$))("ngIfElse", _r13);
|
|
168
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
169
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.loadingErrorTemplate);
|
|
176
170
|
} }
|
|
177
|
-
function
|
|
178
|
-
i0.ɵɵ
|
|
179
|
-
i0.ɵɵ
|
|
180
|
-
|
|
181
|
-
const ctx_r53 = i0.ɵɵnextContext(3);
|
|
182
|
-
i0.ɵɵproperty("list", ctx_r53.list)("resourceName", i0.ɵɵpipeBind1(1, 3, ctx_r53.finalResourceName$))("resourceNameTranslated", ctx_r53.resourceNameTranslated);
|
|
171
|
+
function TableComponent_ng_container_9_ng_container_1_ng_container_10_Template(rf, ctx) { if (rf & 1) {
|
|
172
|
+
i0.ɵɵelementContainerStart(0);
|
|
173
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_ng_container_10_ng_container_1_Template, 1, 1, "ng-container", 27);
|
|
174
|
+
i0.ɵɵelementContainerEnd();
|
|
183
175
|
} }
|
|
184
176
|
function TableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
185
177
|
i0.ɵɵelementContainerStart(0);
|
|
186
|
-
i0.ɵɵ
|
|
178
|
+
i0.ɵɵelementStart(1, "div", 25);
|
|
187
179
|
i0.ɵɵpipe(2, "async");
|
|
188
180
|
i0.ɵɵpipe(3, "async");
|
|
189
|
-
i0.ɵɵtemplate(4,
|
|
181
|
+
i0.ɵɵtemplate(4, TableComponent_ng_container_9_ng_container_1_ng_container_4_Template, 4, 10, "ng-container", 22);
|
|
182
|
+
i0.ɵɵpipe(5, "async");
|
|
183
|
+
i0.ɵɵelementEnd();
|
|
184
|
+
i0.ɵɵelementStart(6, "acl-k8s-resource-list-footer", 26);
|
|
185
|
+
i0.ɵɵpipe(7, "async");
|
|
186
|
+
i0.ɵɵpipe(8, "async");
|
|
187
|
+
i0.ɵɵpipe(9, "async");
|
|
188
|
+
i0.ɵɵtemplate(10, TableComponent_ng_container_9_ng_container_1_ng_container_10_Template, 2, 0, "ng-container", 15);
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
190
|
i0.ɵɵelementContainerEnd();
|
|
191
191
|
} if (rf & 2) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
i0.ɵɵ
|
|
196
|
-
i0.ɵɵ
|
|
192
|
+
let tmp_7_0;
|
|
193
|
+
let tmp_10_0;
|
|
194
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
195
|
+
const noData_r17 = i0.ɵɵreference(20);
|
|
196
|
+
i0.ɵɵadvance();
|
|
197
|
+
i0.ɵɵproperty("hidden", ((tmp_7_0 = i0.ɵɵpipeBind1(2, 9, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length) || !((tmp_7_0 = i0.ɵɵpipeBind1(3, 11, ctx_r2.list.items$)) == null ? null : tmp_7_0.length));
|
|
198
|
+
i0.ɵɵadvance(3);
|
|
199
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 13, ctx_r2.finalResourceName$))("ngIfElse", noData_r17);
|
|
200
|
+
i0.ɵɵadvance(2);
|
|
201
|
+
i0.ɵɵproperty("hidden", !((tmp_10_0 = i0.ɵɵpipeBind1(7, 15, ctx_r2.pagedItems$)) == null ? null : tmp_10_0.length) && ((tmp_10_0 = i0.ɵɵpipeBind1(8, 17, ctx_r2.list.items$)) == null ? null : tmp_10_0.length))("list", ctx_r2.list)("resourceName", i0.ɵɵpipeBind1(9, 19, ctx_r2.finalResourceName$))("resourceNameTranslated", ctx_r2.resourceNameTranslated)("firstScrollLoad", ctx_r2.firstScrollLoad);
|
|
202
|
+
i0.ɵɵadvance(4);
|
|
203
|
+
i0.ɵɵproperty("ngIf", ctx_r2.loadingErrorTemplate);
|
|
197
204
|
} }
|
|
198
205
|
function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
199
206
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -202,310 +209,301 @@ function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) {
|
|
|
202
209
|
i0.ɵɵpipe(3, "translate");
|
|
203
210
|
i0.ɵɵelementContainerEnd();
|
|
204
211
|
} if (rf & 2) {
|
|
205
|
-
const
|
|
206
|
-
i0.ɵɵadvance(
|
|
207
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
212
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
213
|
+
i0.ɵɵadvance();
|
|
214
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.noDataHint || i0.ɵɵpipeBind2(3, 5, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind3(2, 1, ctx_r2.resourceName, null, true))), " ");
|
|
208
215
|
} }
|
|
209
216
|
function TableComponent_ng_container_9_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
210
|
-
i0.ɵɵelement(0, "aui-icon",
|
|
217
|
+
i0.ɵɵelement(0, "aui-icon", 30);
|
|
211
218
|
i0.ɵɵtext(1);
|
|
212
219
|
i0.ɵɵpipe(2, "translate");
|
|
213
220
|
} if (rf & 2) {
|
|
214
|
-
i0.ɵɵadvance(
|
|
221
|
+
i0.ɵɵadvance();
|
|
215
222
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "loading_please_wait"), " ");
|
|
216
223
|
} }
|
|
217
224
|
function TableComponent_ng_container_9_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
218
|
-
i0.ɵɵelementStart(0, "div",
|
|
219
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_9_div_2_ng_container_1_Template, 4, 10, "ng-container",
|
|
225
|
+
i0.ɵɵelementStart(0, "div", 29);
|
|
226
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_9_div_2_ng_container_1_Template, 4, 10, "ng-container", 22);
|
|
220
227
|
i0.ɵɵpipe(2, "async");
|
|
221
|
-
i0.ɵɵtemplate(3, TableComponent_ng_container_9_div_2_ng_template_3_Template, 3, 3, "ng-template", null,
|
|
228
|
+
i0.ɵɵtemplate(3, TableComponent_ng_container_9_div_2_ng_template_3_Template, 3, 3, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
222
229
|
i0.ɵɵelementEnd();
|
|
223
230
|
} if (rf & 2) {
|
|
224
|
-
const
|
|
225
|
-
const
|
|
226
|
-
i0.ɵɵadvance(
|
|
227
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2,
|
|
231
|
+
const loading_r18 = i0.ɵɵreference(4);
|
|
232
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
233
|
+
i0.ɵɵadvance();
|
|
234
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r2.finalDataSource$))("ngIfElse", loading_r18);
|
|
228
235
|
} }
|
|
229
236
|
function TableComponent_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
|
230
237
|
i0.ɵɵelementContainerStart(0);
|
|
231
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template,
|
|
232
|
-
i0.ɵɵtemplate(2, TableComponent_ng_container_9_div_2_Template, 5, 4, "div", 21);
|
|
238
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template, 11, 21, "ng-container", 15)(2, TableComponent_ng_container_9_div_2_Template, 5, 4, "div", 24);
|
|
233
239
|
i0.ɵɵpipe(3, "async");
|
|
234
240
|
i0.ɵɵelementContainerEnd();
|
|
235
241
|
} if (rf & 2) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
i0.ɵɵadvance(
|
|
239
|
-
i0.ɵɵproperty("ngIf",
|
|
240
|
-
i0.ɵɵadvance(
|
|
241
|
-
i0.ɵɵproperty("ngIf", !
|
|
242
|
+
let tmp_7_0;
|
|
243
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
244
|
+
i0.ɵɵadvance();
|
|
245
|
+
i0.ɵɵproperty("ngIf", ctx_r2.list);
|
|
246
|
+
i0.ɵɵadvance();
|
|
247
|
+
i0.ɵɵproperty("ngIf", !ctx_r2.list && !((tmp_7_0 = i0.ɵɵpipeBind1(3, 2, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length));
|
|
242
248
|
} }
|
|
243
249
|
function TableComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
|
|
244
|
-
const
|
|
250
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
245
251
|
i0.ɵɵelementContainerStart(0);
|
|
246
|
-
i0.ɵɵelementStart(1, "aui-paginator",
|
|
247
|
-
i0.ɵɵlistener("currentPageChange", function TableComponent_ng_container_10_Template_aui_paginator_currentPageChange_1_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r59.currentPage$.next($event)); })("pageSizeChange", function TableComponent_ng_container_10_Template_aui_paginator_pageSizeChange_1_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r61 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r61.pageSize$.next($event)); });
|
|
252
|
+
i0.ɵɵelementStart(1, "aui-paginator", 31);
|
|
248
253
|
i0.ɵɵpipe(2, "async");
|
|
249
254
|
i0.ɵɵpipe(3, "async");
|
|
255
|
+
i0.ɵɵlistener("currentPageChange", function TableComponent_ng_container_10_Template_aui_paginator_currentPageChange_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.currentPage$.next($event)); })("pageSizeChange", function TableComponent_ng_container_10_Template_aui_paginator_pageSizeChange_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.pageSize$.next($event)); });
|
|
250
256
|
i0.ɵɵelementEnd();
|
|
251
257
|
i0.ɵɵelementContainerEnd();
|
|
252
258
|
} if (rf & 2) {
|
|
253
|
-
const
|
|
254
|
-
i0.ɵɵadvance(
|
|
255
|
-
i0.ɵɵproperty("layout",
|
|
259
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
260
|
+
i0.ɵɵadvance();
|
|
261
|
+
i0.ɵɵproperty("layout", ctx_r2.paginationLayout)("currentPage", i0.ɵɵpipeBind1(2, 5, ctx_r2.currentPage$))("pageSize", i0.ɵɵpipeBind1(3, 7, ctx_r2.pageSize$))("total", ctx_r2.pagination.total)("pageSizeOptions", ctx_r2.pageSizeOptions);
|
|
256
262
|
} }
|
|
257
|
-
const _c4 = function (a0, a2) { return [a0, "detail", a2]; };
|
|
258
263
|
function TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
259
264
|
i0.ɵɵelementContainerStart(0);
|
|
260
|
-
i0.ɵɵelementStart(1, "a",
|
|
265
|
+
i0.ɵɵelementStart(1, "a", 39);
|
|
261
266
|
i0.ɵɵpipe(2, "async");
|
|
262
267
|
i0.ɵɵtext(3);
|
|
263
268
|
i0.ɵɵelementEnd();
|
|
264
269
|
i0.ɵɵelementContainerEnd();
|
|
265
270
|
} if (rf & 2) {
|
|
266
|
-
const
|
|
267
|
-
const
|
|
268
|
-
i0.ɵɵadvance(
|
|
269
|
-
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(5, _c4, i0.ɵɵpipeBind1(2, 3,
|
|
271
|
+
const name_r20 = i0.ɵɵnextContext().ngIf;
|
|
272
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
273
|
+
i0.ɵɵadvance();
|
|
274
|
+
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(5, _c4, i0.ɵɵpipeBind1(2, 3, ctx_r2.isListPage$) ? ".." : ".", name_r20))("auiTooltip", name_r20);
|
|
270
275
|
i0.ɵɵadvance(2);
|
|
271
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
276
|
+
i0.ɵɵtextInterpolate1(" ", name_r20, " ");
|
|
272
277
|
} }
|
|
273
278
|
function TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
274
|
-
i0.ɵɵelementStart(0, "span",
|
|
279
|
+
i0.ɵɵelementStart(0, "span", 40);
|
|
275
280
|
i0.ɵɵpipe(1, "aclIsDeleting");
|
|
276
281
|
i0.ɵɵtext(2);
|
|
277
282
|
i0.ɵɵelementEnd();
|
|
278
283
|
} if (rf & 2) {
|
|
279
|
-
const
|
|
280
|
-
const
|
|
281
|
-
i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 4,
|
|
282
|
-
i0.ɵɵproperty("auiTooltip",
|
|
284
|
+
const name_r20 = i0.ɵɵnextContext().ngIf;
|
|
285
|
+
const data_r21 = i0.ɵɵnextContext(2).data;
|
|
286
|
+
i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 4, data_r21));
|
|
287
|
+
i0.ɵɵproperty("auiTooltip", name_r20);
|
|
283
288
|
i0.ɵɵadvance(2);
|
|
284
|
-
i0.ɵɵtextInterpolate(
|
|
289
|
+
i0.ɵɵtextInterpolate(name_r20);
|
|
285
290
|
} }
|
|
286
291
|
function TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template(rf, ctx) { if (rf & 1) {
|
|
287
|
-
i0.ɵɵelement(0, "acl-deleting-tag",
|
|
292
|
+
i0.ɵɵelement(0, "acl-deleting-tag", 41);
|
|
288
293
|
} if (rf & 2) {
|
|
289
|
-
const
|
|
290
|
-
i0.ɵɵproperty("resource",
|
|
294
|
+
const data_r21 = i0.ɵɵnextContext(3).data;
|
|
295
|
+
i0.ɵɵproperty("resource", data_r21);
|
|
291
296
|
} }
|
|
292
297
|
function TableComponent_ng_template_11_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
293
|
-
i0.ɵɵelementStart(0, "div",
|
|
294
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container",
|
|
298
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
299
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container", 22);
|
|
295
300
|
i0.ɵɵpipe(2, "aclIsDeleting");
|
|
296
|
-
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null,
|
|
297
|
-
i0.ɵɵtemplate(5, TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag", 36);
|
|
301
|
+
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag", 38);
|
|
298
302
|
i0.ɵɵpipe(6, "pure");
|
|
299
303
|
i0.ɵɵelementEnd();
|
|
300
304
|
} if (rf & 2) {
|
|
301
|
-
const
|
|
302
|
-
const
|
|
303
|
-
const
|
|
304
|
-
const
|
|
305
|
-
const
|
|
306
|
-
i0.ɵɵadvance(
|
|
307
|
-
i0.ɵɵproperty("ngIf", (
|
|
305
|
+
const plainName_r22 = i0.ɵɵreference(4);
|
|
306
|
+
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
307
|
+
const data_r21 = ctx_r22.data;
|
|
308
|
+
const columnDef_r24 = ctx_r22.columnDef;
|
|
309
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
310
|
+
i0.ɵɵadvance();
|
|
311
|
+
i0.ɵɵproperty("ngIf", (columnDef_r24.extra == null ? null : columnDef_r24.extra.link) !== false && !i0.ɵɵpipeBind1(2, 3, data_r21))("ngIfElse", plainName_r22);
|
|
308
312
|
i0.ɵɵadvance(4);
|
|
309
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5,
|
|
313
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5, data_r21, ctx_r2.isK8sResource));
|
|
310
314
|
} }
|
|
311
315
|
function TableComponent_ng_template_11_ng_container_1_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
312
|
-
i0.ɵɵelementStart(0, "div",
|
|
316
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
313
317
|
i0.ɵɵpipe(1, "aclIsDeleting");
|
|
314
318
|
i0.ɵɵtext(2);
|
|
315
319
|
i0.ɵɵelementEnd();
|
|
316
320
|
} if (rf & 2) {
|
|
317
|
-
const
|
|
318
|
-
const
|
|
319
|
-
i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 3,
|
|
321
|
+
const displayName_r25 = ctx.ngIf;
|
|
322
|
+
const data_r21 = i0.ɵɵnextContext(2).data;
|
|
323
|
+
i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 3, data_r21));
|
|
320
324
|
i0.ɵɵadvance(2);
|
|
321
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
325
|
+
i0.ɵɵtextInterpolate1(" ", displayName_r25, " ");
|
|
322
326
|
} }
|
|
323
327
|
function TableComponent_ng_template_11_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
324
328
|
i0.ɵɵelementContainerStart(0);
|
|
325
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div",
|
|
329
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div", 35);
|
|
326
330
|
i0.ɵɵpipe(2, "pure");
|
|
327
|
-
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div",
|
|
331
|
+
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div", 36);
|
|
328
332
|
i0.ɵɵpipe(4, "pure");
|
|
329
333
|
i0.ɵɵpipe(5, "aclDisplayName");
|
|
330
334
|
i0.ɵɵelementContainerEnd();
|
|
331
335
|
} if (rf & 2) {
|
|
332
|
-
const
|
|
333
|
-
const
|
|
334
|
-
const
|
|
335
|
-
const
|
|
336
|
-
i0.ɵɵadvance(
|
|
337
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2,
|
|
336
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
337
|
+
const data_r21 = ctx_r22.data;
|
|
338
|
+
const columnDef_r24 = ctx_r22.columnDef;
|
|
339
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
340
|
+
i0.ɵɵadvance();
|
|
341
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name));
|
|
338
342
|
i0.ɵɵadvance(2);
|
|
339
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(4, 6,
|
|
343
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(4, 6, data_r21, ctx_r2.isK8sResource) ? i0.ɵɵpipeBind1(5, 9, data_r21) : data_r21.displayName);
|
|
340
344
|
} }
|
|
341
345
|
function TableComponent_ng_template_11_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
342
346
|
i0.ɵɵelementContainerStart(0);
|
|
343
|
-
i0.ɵɵelement(1, "acl-relative-time",
|
|
347
|
+
i0.ɵɵelement(1, "acl-relative-time", 43);
|
|
344
348
|
i0.ɵɵpipe(2, "pure");
|
|
345
349
|
i0.ɵɵelementContainerEnd();
|
|
346
350
|
} if (rf & 2) {
|
|
347
|
-
const
|
|
348
|
-
const
|
|
349
|
-
const
|
|
350
|
-
const
|
|
351
|
-
i0.ɵɵadvance(
|
|
352
|
-
i0.ɵɵproperty("time", i0.ɵɵpipeBind3(2, 1,
|
|
351
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
352
|
+
const data_r21 = ctx_r22.data;
|
|
353
|
+
const columnDef_r24 = ctx_r22.columnDef;
|
|
354
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
355
|
+
i0.ɵɵadvance();
|
|
356
|
+
i0.ɵɵproperty("time", i0.ɵɵpipeBind3(2, 1, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name));
|
|
353
357
|
} }
|
|
354
|
-
const _c5 = function (a0, a1) { return { $implicit: a0, columnDef: a1 }; };
|
|
355
358
|
function TableComponent_ng_template_11_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
356
359
|
i0.ɵɵelementContainerStart(0);
|
|
357
|
-
i0.ɵɵelementStart(1, "button",
|
|
358
|
-
i0.ɵɵelement(2, "aui-icon",
|
|
360
|
+
i0.ɵɵelementStart(1, "button", 44);
|
|
361
|
+
i0.ɵɵelement(2, "aui-icon", 45);
|
|
359
362
|
i0.ɵɵelementEnd();
|
|
360
363
|
i0.ɵɵelementContainerEnd();
|
|
361
364
|
} if (rf & 2) {
|
|
362
|
-
const
|
|
363
|
-
const
|
|
364
|
-
const
|
|
365
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
366
|
+
const data_r21 = ctx_r22.data;
|
|
367
|
+
const columnDef_r24 = ctx_r22.columnDef;
|
|
365
368
|
i0.ɵɵnextContext();
|
|
366
|
-
const
|
|
367
|
-
i0.ɵɵadvance(
|
|
368
|
-
i0.ɵɵproperty("square", true)("auiDropdown",
|
|
369
|
+
const menu_r26 = i0.ɵɵreference(16);
|
|
370
|
+
i0.ɵɵadvance();
|
|
371
|
+
i0.ɵɵproperty("square", true)("auiDropdown", menu_r26)("auiDropdownContext", i0.ɵɵpureFunction2(3, _c5, data_r21, columnDef_r24));
|
|
369
372
|
} }
|
|
370
373
|
function TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
371
374
|
i0.ɵɵelementContainer(0);
|
|
372
375
|
} }
|
|
373
376
|
function TableComponent_ng_template_11_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
374
377
|
i0.ɵɵelementContainerStart(0);
|
|
375
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container",
|
|
378
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
|
|
376
379
|
i0.ɵɵelementContainerEnd();
|
|
377
380
|
} if (rf & 2) {
|
|
378
|
-
const
|
|
379
|
-
const
|
|
381
|
+
const value_r27 = ctx.ngIf;
|
|
382
|
+
const columnDef_r24 = i0.ɵɵnextContext(2).columnDef;
|
|
380
383
|
i0.ɵɵnextContext();
|
|
381
|
-
const
|
|
382
|
-
i0.ɵɵadvance(
|
|
383
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
384
|
+
const tableCellContent_r12 = i0.ɵɵreference(14);
|
|
385
|
+
i0.ɵɵadvance();
|
|
386
|
+
i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r24, value_r27));
|
|
384
387
|
} }
|
|
385
388
|
function TableComponent_ng_template_11_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
386
389
|
i0.ɵɵelementContainerStart(0);
|
|
387
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_Template, 2, 5, "ng-container",
|
|
390
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 22);
|
|
388
391
|
i0.ɵɵpipe(2, "pure");
|
|
389
392
|
i0.ɵɵelementContainerEnd();
|
|
390
393
|
} if (rf & 2) {
|
|
391
|
-
const
|
|
392
|
-
const
|
|
393
|
-
const
|
|
394
|
-
const
|
|
395
|
-
const
|
|
396
|
-
i0.ɵɵadvance(
|
|
397
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2,
|
|
394
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
395
|
+
const data_r21 = ctx_r22.data;
|
|
396
|
+
const columnDef_r24 = ctx_r22.columnDef;
|
|
397
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
398
|
+
const empty_r28 = i0.ɵɵreference(18);
|
|
399
|
+
i0.ɵɵadvance();
|
|
400
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name))("ngIfElse", empty_r28);
|
|
398
401
|
} }
|
|
399
402
|
function TableComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
400
|
-
i0.ɵɵelementContainerStart(0,
|
|
401
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container",
|
|
402
|
-
i0.ɵɵtemplate(2, TableComponent_ng_template_11_ng_container_2_Template, 3, 5, "ng-container", 30);
|
|
403
|
-
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_3_Template, 3, 6, "ng-container", 30);
|
|
404
|
-
i0.ɵɵtemplate(4, TableComponent_ng_template_11_ng_container_4_Template, 3, 6, "ng-container", 31);
|
|
403
|
+
i0.ɵɵelementContainerStart(0, 32);
|
|
404
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container", 33)(2, TableComponent_ng_template_11_ng_container_2_Template, 3, 5, "ng-container", 33)(3, TableComponent_ng_template_11_ng_container_3_Template, 3, 6, "ng-container", 33)(4, TableComponent_ng_template_11_ng_container_4_Template, 3, 6, "ng-container", 34);
|
|
405
405
|
i0.ɵɵelementContainerEnd();
|
|
406
406
|
} if (rf & 2) {
|
|
407
|
-
const
|
|
408
|
-
const
|
|
409
|
-
i0.ɵɵproperty("ngSwitch",
|
|
410
|
-
i0.ɵɵadvance(
|
|
411
|
-
i0.ɵɵproperty("ngSwitchCase",
|
|
412
|
-
i0.ɵɵadvance(
|
|
413
|
-
i0.ɵɵproperty("ngSwitchCase",
|
|
414
|
-
i0.ɵɵadvance(
|
|
415
|
-
i0.ɵɵproperty("ngSwitchCase",
|
|
407
|
+
const columnDef_r24 = ctx.columnDef;
|
|
408
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
409
|
+
i0.ɵɵproperty("ngSwitch", columnDef_r24.name);
|
|
410
|
+
i0.ɵɵadvance();
|
|
411
|
+
i0.ɵɵproperty("ngSwitchCase", ctx_r2.NAME);
|
|
412
|
+
i0.ɵɵadvance();
|
|
413
|
+
i0.ɵɵproperty("ngSwitchCase", ctx_r2.CREATED_AT);
|
|
414
|
+
i0.ɵɵadvance();
|
|
415
|
+
i0.ɵɵproperty("ngSwitchCase", ctx_r2.ACTION);
|
|
416
416
|
} }
|
|
417
417
|
function TableComponent_ng_template_13_ng_container_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
418
|
-
i0.ɵɵelementStart(0, "div",
|
|
418
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
419
419
|
i0.ɵɵtext(1);
|
|
420
420
|
i0.ɵɵelementEnd();
|
|
421
421
|
} if (rf & 2) {
|
|
422
|
-
const
|
|
423
|
-
i0.ɵɵproperty("auiTooltip",
|
|
424
|
-
i0.ɵɵadvance(
|
|
425
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
422
|
+
const text_r29 = i0.ɵɵnextContext().ngIf;
|
|
423
|
+
i0.ɵɵproperty("auiTooltip", text_r29);
|
|
424
|
+
i0.ɵɵadvance();
|
|
425
|
+
i0.ɵɵtextInterpolate1(" ", text_r29, " ");
|
|
426
426
|
} }
|
|
427
427
|
function TableComponent_ng_template_13_ng_container_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
428
428
|
i0.ɵɵtext(0);
|
|
429
429
|
} if (rf & 2) {
|
|
430
|
-
const
|
|
431
|
-
i0.ɵɵtextInterpolate(
|
|
430
|
+
const text_r29 = i0.ɵɵnextContext().ngIf;
|
|
431
|
+
i0.ɵɵtextInterpolate(text_r29);
|
|
432
432
|
} }
|
|
433
433
|
function TableComponent_ng_template_13_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
434
434
|
i0.ɵɵelementContainerStart(0);
|
|
435
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div",
|
|
436
|
-
i0.ɵɵtemplate(2, TableComponent_ng_template_13_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 45, i0.ɵɵtemplateRefExtractor);
|
|
435
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div", 46)(2, TableComponent_ng_template_13_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
437
436
|
i0.ɵɵelementContainerEnd();
|
|
438
437
|
} if (rf & 2) {
|
|
439
|
-
const
|
|
440
|
-
const
|
|
441
|
-
i0.ɵɵadvance(
|
|
442
|
-
i0.ɵɵproperty("ngIf",
|
|
438
|
+
const plainText_r30 = i0.ɵɵreference(3);
|
|
439
|
+
const columnDef_r31 = i0.ɵɵnextContext().columnDef;
|
|
440
|
+
i0.ɵɵadvance();
|
|
441
|
+
i0.ɵɵproperty("ngIf", columnDef_r31.ellipsis)("ngIfElse", plainText_r30);
|
|
443
442
|
} }
|
|
444
443
|
function TableComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
445
|
-
i0.ɵɵtemplate(0, TableComponent_ng_template_13_ng_container_0_Template, 4, 2, "ng-container",
|
|
444
|
+
i0.ɵɵtemplate(0, TableComponent_ng_template_13_ng_container_0_Template, 4, 2, "ng-container", 22);
|
|
446
445
|
i0.ɵɵpipe(1, "translate");
|
|
447
|
-
i0.ɵɵpipe(2, "
|
|
448
|
-
i0.ɵɵpipe(3, "
|
|
446
|
+
i0.ɵɵpipe(2, "pure");
|
|
447
|
+
i0.ɵɵpipe(3, "translate");
|
|
449
448
|
} if (rf & 2) {
|
|
450
|
-
const
|
|
451
|
-
const
|
|
452
|
-
const
|
|
453
|
-
const
|
|
454
|
-
i0.ɵɵproperty("ngIf",
|
|
449
|
+
const columnDef_r31 = ctx.columnDef;
|
|
450
|
+
const value_r32 = ctx.value;
|
|
451
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
452
|
+
const empty_r28 = i0.ɵɵreference(18);
|
|
453
|
+
i0.ɵɵproperty("ngIf", columnDef_r31.translate == null ? value_r32 : columnDef_r31.translate === true ? i0.ɵɵpipeBind1(1, 2, value_r32) : i0.ɵɵpipeBind1(3, 8, i0.ɵɵpipeBind3(2, 4, value_r32, columnDef_r31.translate, ctx_r2.finalContext)))("ngIfElse", empty_r28);
|
|
455
454
|
} }
|
|
456
455
|
function TableComponent_ng_template_15_acl_disabled_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
457
|
-
const
|
|
458
|
-
i0.ɵɵelementStart(0, "acl-disabled-container",
|
|
459
|
-
i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_1_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r106); const ctx_r105 = i0.ɵɵnextContext(); const data_r100 = ctx_r105.$implicit; const columnDef_r101 = ctx_r105.columnDef; const ctx_r104 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r104.onUpdate(data_r100, columnDef_r101)); });
|
|
456
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
457
|
+
i0.ɵɵelementStart(0, "acl-disabled-container", 49);
|
|
460
458
|
i0.ɵɵpipe(1, "pure");
|
|
461
459
|
i0.ɵɵpipe(2, "pure");
|
|
462
|
-
i0.ɵɵpipe(3, "
|
|
463
|
-
i0.ɵɵpipe(4, "
|
|
460
|
+
i0.ɵɵpipe(3, "pure");
|
|
461
|
+
i0.ɵɵpipe(4, "translate");
|
|
462
|
+
i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_1_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r33 = i0.ɵɵnextContext(); const data_r35 = ctx_r33.$implicit; const columnDef_r36 = ctx_r33.columnDef; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onUpdate(data_r35, columnDef_r36)); });
|
|
464
463
|
i0.ɵɵelementStart(5, "aui-menu-item");
|
|
465
464
|
i0.ɵɵtext(6);
|
|
466
465
|
i0.ɵɵpipe(7, "translate");
|
|
467
466
|
i0.ɵɵelementEnd()();
|
|
468
467
|
} if (rf & 2) {
|
|
469
|
-
const
|
|
470
|
-
const
|
|
471
|
-
const
|
|
472
|
-
const
|
|
473
|
-
i0.ɵɵproperty("isAllowed", !
|
|
468
|
+
const ctx_r33 = i0.ɵɵnextContext();
|
|
469
|
+
const data_r35 = ctx_r33.$implicit;
|
|
470
|
+
const columnDef_r36 = ctx_r33.columnDef;
|
|
471
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
472
|
+
i0.ɵɵproperty("isAllowed", !ctx_r2.permissions || ctx_r2.permissions.update)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r36.extra == null ? null : columnDef_r36.extra.update == null ? null : columnDef_r36.extra.update.disabled.handler, ctx_r2.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r35, columnDef_r36.extra.update.disabled.handler, ctx_r2.finalContext))("tooltip", i0.ɵɵpipeBind1(4, 16, i0.ɵɵpipeBind4(3, 11, columnDef_r36.extra == null ? null : columnDef_r36.extra.update == null ? null : columnDef_r36.extra.update.disabled.tooltip, ctx_r2.getValue, data_r35, ctx_r2.finalContext)));
|
|
474
473
|
i0.ɵɵadvance(6);
|
|
475
474
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 18, "update"));
|
|
476
475
|
} }
|
|
477
476
|
function TableComponent_ng_template_15_acl_disabled_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
478
|
-
const
|
|
479
|
-
i0.ɵɵelementStart(0, "acl-disabled-container",
|
|
480
|
-
i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_2_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r110); const data_r100 = i0.ɵɵnextContext().$implicit; const ctx_r108 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r108.delete.emit(data_r100)); });
|
|
477
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
478
|
+
i0.ɵɵelementStart(0, "acl-disabled-container", 49);
|
|
481
479
|
i0.ɵɵpipe(1, "pure");
|
|
482
480
|
i0.ɵɵpipe(2, "pure");
|
|
483
|
-
i0.ɵɵpipe(3, "
|
|
484
|
-
i0.ɵɵpipe(4, "
|
|
481
|
+
i0.ɵɵpipe(3, "pure");
|
|
482
|
+
i0.ɵɵpipe(4, "translate");
|
|
483
|
+
i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_2_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r37); const data_r35 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.delete.emit(data_r35)); });
|
|
485
484
|
i0.ɵɵelementStart(5, "aui-menu-item");
|
|
486
485
|
i0.ɵɵtext(6);
|
|
487
486
|
i0.ɵɵpipe(7, "translate");
|
|
488
487
|
i0.ɵɵelementEnd()();
|
|
489
488
|
} if (rf & 2) {
|
|
490
|
-
const
|
|
491
|
-
const
|
|
492
|
-
const
|
|
493
|
-
const
|
|
494
|
-
i0.ɵɵproperty("isAllowed", !
|
|
489
|
+
const ctx_r33 = i0.ɵɵnextContext();
|
|
490
|
+
const data_r35 = ctx_r33.$implicit;
|
|
491
|
+
const columnDef_r36 = ctx_r33.columnDef;
|
|
492
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
493
|
+
i0.ɵɵproperty("isAllowed", !ctx_r2.permissions || ctx_r2.permissions.delete)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r36.extra == null ? null : columnDef_r36.extra.delete == null ? null : columnDef_r36.extra.delete.disabled.handler, ctx_r2.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r35, columnDef_r36.extra.delete.disabled.handler, ctx_r2.finalContext))("tooltip", i0.ɵɵpipeBind1(4, 16, i0.ɵɵpipeBind4(3, 11, columnDef_r36.extra == null ? null : columnDef_r36.extra.delete == null ? null : columnDef_r36.extra.delete.disabled.tooltip, ctx_r2.getValue, data_r35, ctx_r2.finalContext)));
|
|
495
494
|
i0.ɵɵadvance(6);
|
|
496
495
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 18, "delete"));
|
|
497
496
|
} }
|
|
498
497
|
function TableComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
|
|
499
498
|
i0.ɵɵelementStart(0, "aui-menu");
|
|
500
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container",
|
|
501
|
-
i0.ɵɵtemplate(2, TableComponent_ng_template_15_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 47);
|
|
499
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container", 48)(2, TableComponent_ng_template_15_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 48);
|
|
502
500
|
i0.ɵɵelementEnd();
|
|
503
501
|
} if (rf & 2) {
|
|
504
|
-
const
|
|
505
|
-
i0.ɵɵadvance(
|
|
506
|
-
i0.ɵɵproperty("ngIf", (
|
|
507
|
-
i0.ɵɵadvance(
|
|
508
|
-
i0.ɵɵproperty("ngIf", (
|
|
502
|
+
const columnDef_r36 = ctx.columnDef;
|
|
503
|
+
i0.ɵɵadvance();
|
|
504
|
+
i0.ɵɵproperty("ngIf", (columnDef_r36.extra == null ? null : columnDef_r36.extra.update) !== false);
|
|
505
|
+
i0.ɵɵadvance();
|
|
506
|
+
i0.ɵɵproperty("ngIf", (columnDef_r36.extra == null ? null : columnDef_r36.extra.delete) !== false);
|
|
509
507
|
} }
|
|
510
508
|
function TableComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
|
|
511
509
|
i0.ɵɵtext(0);
|
|
@@ -717,29 +715,25 @@ export class TableComponent {
|
|
|
717
715
|
} }, hostVars: 4, hostBindings: function TableComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
718
716
|
i0.ɵɵstyleProp("max-height", ctx.scrollWrapperHeight);
|
|
719
717
|
i0.ɵɵclassProp("aui-table__scroll-wrapper", ctx.scrollWrapper);
|
|
720
|
-
} }, inputs: { list: "list", dataSource: "dataSource", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", sticky: "sticky", permissions: "permissions", columns: "columns", filterParams: "filterParams", context: "context", filterFn: "filterFn", trackBy: "trackBy", noDataHint: "noDataHint", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 21, vars: 21, consts: [["
|
|
721
|
-
i0.ɵɵ
|
|
722
|
-
i0.ɵɵ
|
|
718
|
+
} }, inputs: { list: "list", dataSource: "dataSource", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", sticky: "sticky", permissions: "permissions", columns: "columns", filterParams: "filterParams", context: "context", filterFn: "filterFn", trackBy: "trackBy", noDataHint: "noDataHint", loadingErrorTemplate: "loadingErrorTemplate", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout", firstScrollLoad: "firstScrollLoad" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 21, vars: 21, consts: [["defaultTableCell", ""], ["tableCellContent", ""], ["menu", ""], ["empty", ""], ["noData", ""], ["tableCellDefTpl", ""], ["defaultTableCellTpl", ""], ["loading", ""], ["plainName", ""], ["plainText", ""], ["auiSort", "", 3, "sortChange", "active", "direction", "dataSource", "trackBy", "auiTableScrollable"], [3, "auiTableColumnDef", "sticky", "stickyEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "auiTableHeaderRowDef", "auiTableHeaderRowDefSticky"], [4, "auiTableRowDef", "auiTableRowDefColumns"], [4, "auiTablePlaceholderDef"], [4, "ngIf"], [3, "auiTableColumnDef", "sticky", "stickyEnd"], [3, "style", 4, "auiTableHeaderCellDef"], [3, "direction", "ngClass", "style", 4, "auiTableCellDef"], ["aui-sort-header", "", 3, "start", 4, "ngIf"], ["aui-sort-header", "", 3, "start"], [3, "direction", "ngClass"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "empty-placeholder", 4, "ngIf"], [1, "empty-placeholder", 3, "hidden"], [3, "hidden", "list", "resourceName", "resourceNameTranslated", "firstScrollLoad"], [3, "ngTemplateOutlet", 4, "aclK8sListFooterLoadingError"], [3, "ngTemplateOutlet"], [1, "empty-placeholder"], ["size", "16px", "icon", "spinner", 1, "acl-loading-mask__icon"], [3, "currentPageChange", "pageSizeChange", "layout", "currentPage", "pageSize", "total", "pageSizeOptions"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["class", "aui-table__cell__name", 4, "ngIf"], ["class", "aui-table__cell__display-name", 3, "deleting-text", 4, "ngIf"], [1, "aui-table__cell__name"], [3, "resource", 4, "ngIf"], [3, "routerLink", "auiTooltip"], [3, "auiTooltip"], [3, "resource"], [1, "aui-table__cell__display-name"], [3, "time"], ["aui-button", "text", "size", "small", 3, "square", "auiDropdown", "auiDropdownContext"], ["icon", "ellipsis_v_s"], ["class", "text-overflow", 3, "auiTooltip", 4, "ngIf", "ngIfElse"], [1, "text-overflow", 3, "auiTooltip"], [3, "isAllowed", "isDisabled", "tooltip", "click", 4, "ngIf"], [3, "click", "isAllowed", "isDisabled", "tooltip"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
719
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
720
|
+
i0.ɵɵelementStart(0, "aui-table", 10);
|
|
723
721
|
i0.ɵɵpipe(1, "async");
|
|
724
722
|
i0.ɵɵpipe(2, "async");
|
|
725
|
-
i0.ɵɵ
|
|
723
|
+
i0.ɵɵlistener("sortChange", function TableComponent_Template_aui_table_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSortChange($event)); });
|
|
724
|
+
i0.ɵɵtemplate(3, TableComponent_ng_container_3_Template, 3, 3, "ng-container", 11);
|
|
726
725
|
i0.ɵɵpipe(4, "async");
|
|
727
|
-
i0.ɵɵtemplate(5, TableComponent_aui_table_header_row_5_Template, 1, 0, "aui-table-header-row",
|
|
726
|
+
i0.ɵɵtemplate(5, TableComponent_aui_table_header_row_5_Template, 1, 0, "aui-table-header-row", 12);
|
|
728
727
|
i0.ɵɵpipe(6, "async");
|
|
729
|
-
i0.ɵɵtemplate(7, TableComponent_aui_table_row_7_Template, 1, 0, "aui-table-row",
|
|
728
|
+
i0.ɵɵtemplate(7, TableComponent_aui_table_row_7_Template, 1, 0, "aui-table-row", 13);
|
|
730
729
|
i0.ɵɵpipe(8, "async");
|
|
731
|
-
i0.ɵɵtemplate(9, TableComponent_ng_container_9_Template, 4, 4, "ng-container",
|
|
730
|
+
i0.ɵɵtemplate(9, TableComponent_ng_container_9_Template, 4, 4, "ng-container", 14);
|
|
732
731
|
i0.ɵɵelementEnd();
|
|
733
|
-
i0.ɵɵtemplate(10, TableComponent_ng_container_10_Template, 4, 9, "ng-container", 5);
|
|
734
|
-
i0.ɵɵtemplate(11, TableComponent_ng_template_11_Template, 5, 4, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
735
|
-
i0.ɵɵtemplate(13, TableComponent_ng_template_13_Template, 4, 10, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
736
|
-
i0.ɵɵtemplate(15, TableComponent_ng_template_15_Template, 3, 2, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
737
|
-
i0.ɵɵtemplate(17, TableComponent_ng_template_17_Template, 2, 3, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
738
|
-
i0.ɵɵtemplate(19, TableComponent_ng_template_19_Template, 2, 3, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
|
|
732
|
+
i0.ɵɵtemplate(10, TableComponent_ng_container_10_Template, 4, 9, "ng-container", 15)(11, TableComponent_ng_template_11_Template, 5, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(13, TableComponent_ng_template_13_Template, 4, 10, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(15, TableComponent_ng_template_15_Template, 3, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(17, TableComponent_ng_template_17_Template, 2, 3, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(19, TableComponent_ng_template_19_Template, 2, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
739
733
|
} if (rf & 2) {
|
|
740
|
-
let
|
|
741
|
-
let
|
|
742
|
-
i0.ɵɵproperty("active", (
|
|
734
|
+
let tmp_5_0;
|
|
735
|
+
let tmp_6_0;
|
|
736
|
+
i0.ɵɵproperty("active", (tmp_5_0 = i0.ɵɵpipeBind1(1, 11, ctx.activeSort$)) == null ? null : tmp_5_0.active)("direction", (tmp_6_0 = i0.ɵɵpipeBind1(2, 13, ctx.activeSort$)) == null ? null : tmp_6_0.direction)("dataSource", ctx.pagedItems$)("trackBy", ctx.trackBy)("auiTableScrollable", !!ctx.sticky);
|
|
743
737
|
i0.ɵɵadvance(3);
|
|
744
738
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 15, ctx.columnDefs$))("ngForTrackBy", ctx.trackByName);
|
|
745
739
|
i0.ɵɵadvance(2);
|
|
@@ -774,10 +768,10 @@ __decorate([
|
|
|
774
768
|
ObservableInput(),
|
|
775
769
|
__metadata("design:type", Observable)
|
|
776
770
|
], TableComponent.prototype, "filterFn$", void 0);
|
|
777
|
-
(
|
|
771
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
778
772
|
type: Component,
|
|
779
|
-
args: [{ selector: 'acl-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-table\n auiSort\n [active]=\"(activeSort$ | async)?.active\"\n [direction]=\"(activeSort$ | async)?.direction\"\n [dataSource]=\"pagedItems$\"\n [trackBy]=\"trackBy\"\n (sortChange)=\"onSortChange($event)\"\n [auiTableScrollable]=\"!!sticky\"\n>\n <ng-container\n *ngFor=\"let columnDef of columnDefs$ | async; trackBy: trackByName\"\n [auiTableColumnDef]=\"columnDef.name\"\n [sticky]=\"columnDef.sticky\"\n [stickyEnd]=\"columnDef.stickyEnd\"\n >\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header\n [start]=\"columnDef.sort.direction\"\n >{{ columnDef.label || columnDef.name | translate }}</span\n >\n <span *ngIf=\"!columnDef.sort\">{{\n columnDef.label || columnDef.name | translate\n }}</span>\n </ng-container>\n </aui-table-header-cell>\n\n <aui-table-cell\n *auiTableCellDef=\"\n let data;\n let index = index;\n let even = even;\n let odd = odd;\n let last = last\n \"\n [direction]=\"columnDef.direction\"\n [ngClass]=\"columnDef.class\"\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngIf=\"\n columnDef.name | pure: getColumnTemplate as template;\n else tableCellDefTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: data,\n index: index,\n even: even,\n odd: odd,\n last: last\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #tableCellDefTpl>\n <ng-container\n *ngIf=\"\n columnDef.path != null &&\n (data\n | pure\n : getValueFromPath\n : columnDef.name\n : columnDef.path) as value;\n else defaultTableCellTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #defaultTableCellTpl>\n <ng-container\n *ngTemplateOutlet=\"\n defaultTableCell;\n context: { data: data, columnDef: columnDef }\n \"\n ></ng-container>\n </ng-template>\n </aui-table-cell>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columnNames$ | async; sticky: !!sticky\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columnNames$ | async\"\n ></aui-table-row>\n\n <ng-container *auiTablePlaceholderDef>\n <ng-container *ngIf=\"list\">\n <div\n *ngIf=\"\n !(pagedItems$ | async)?.length && (list.items$ | async)?.length;\n else listFooter\n \"\n class=\"empty-placeholder\"\n >\n <ng-container\n *ngIf=\"finalResourceName$ | async as finalResourceName; else noData\"\n >\n {{\n 'no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (finalResourceName | translate: null:true)\n }\n }}\n </ng-container>\n </div>\n <ng-template #listFooter>\n <acl-k8s-resource-list-footer\n [list]=\"list\"\n [resourceName]=\"finalResourceName$ | async\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n ></acl-k8s-resource-list-footer>\n </ng-template>\n </ng-container>\n <div\n *ngIf=\"!list && !(pagedItems$ | async)?.length\"\n class=\"empty-placeholder\"\n >\n <ng-container *ngIf=\"finalDataSource$ | async; else loading\">\n {{\n noDataHint ||\n ('no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (resourceName | translate: null:true)\n })\n }}\n </ng-container>\n <ng-template #loading>\n <aui-icon\n class=\"acl-loading-mask__icon\"\n size=\"16px\"\n icon=\"spinner\"\n ></aui-icon>\n {{ 'loading_please_wait' | translate }}\n </ng-template>\n </div>\n </ng-container>\n</aui-table>\n\n<ng-container *ngIf=\"enablePagination\">\n <aui-paginator\n [layout]=\"paginationLayout\"\n [currentPage]=\"currentPage$ | async\"\n [pageSize]=\"pageSize$ | async\"\n [total]=\"pagination.total\"\n (currentPageChange)=\"currentPage$.next($event)\"\n (pageSizeChange)=\"pageSize$.next($event)\"\n [pageSizeOptions]=\"pageSizeOptions\"\n ></aui-paginator>\n</ng-container>\n\n<ng-template\n #defaultTableCell\n let-data=\"data\"\n let-columnDef=\"columnDef\"\n>\n <ng-container [ngSwitch]=\"columnDef.name\">\n <ng-container *ngSwitchCase=\"NAME\">\n <div\n *ngIf=\"data | pure: getValueFromPath:columnDef.name as name\"\n class=\"aui-table__cell__name\"\n >\n <ng-container\n *ngIf=\"\n columnDef.extra?.link !== false && !(data | aclIsDeleting);\n else plainName\n \"\n >\n <a\n [routerLink]=\"[(isListPage$ | async) ? '..' : '.', 'detail', name]\"\n [auiTooltip]=\"name\"\n >\n {{ name }}\n </a>\n </ng-container>\n <ng-template #plainName>\n <span\n [auiTooltip]=\"name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >{{ name }}</span\n >\n </ng-template>\n <acl-deleting-tag\n *ngIf=\"data | pure: isK8sResource\"\n [resource]=\"data\"\n ></acl-deleting-tag>\n </div>\n <div\n *ngIf=\"\n (data | pure: isK8sResource)\n ? (data | aclDisplayName)\n : data.displayName as displayName\n \"\n class=\"aui-table__cell__display-name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >\n {{ displayName }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"CREATED_AT\">\n <acl-relative-time\n [time]=\"data | pure: getValueFromPath:columnDef.name\"\n ></acl-relative-time>\n </ng-container>\n <ng-container *ngSwitchCase=\"ACTION\">\n <button\n aui-button=\"text\"\n [square]=\"true\"\n size=\"small\"\n [auiDropdown]=\"menu\"\n [auiDropdownContext]=\"{ $implicit: data, columnDef: columnDef }\"\n >\n <aui-icon icon=\"ellipsis_v_s\"></aui-icon>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngIf=\"\n data | pure: getValueFromPath:columnDef.name as value;\n else empty\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #tableCellContent\n let-columnDef=\"columnDef\"\n let-value=\"value\"\n>\n <ng-container\n *ngIf=\"\n columnDef.translate == null\n ? value\n : columnDef.translate === true\n ? (value | translate)\n : (value | pure: columnDef.translate:finalContext | translate) as text;\n else empty\n \"\n >\n <div\n *ngIf=\"columnDef.ellipsis; else plainText\"\n class=\"text-overflow\"\n [auiTooltip]=\"text\"\n >\n {{ text }}\n </div>\n <ng-template #plainText>{{ text }}</ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #menu\n let-data\n let-columnDef=\"columnDef\"\n ><aui-menu>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.update !== false\"\n [isAllowed]=\"!permissions || permissions.update\"\n [isDisabled]=\"\n (columnDef.extra?.update?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.update.disabled.handler:finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.update?.disabled.tooltip\n | pure: getValue:data:finalContext\n | translate\n \"\n (click)=\"onUpdate(data, columnDef)\"\n >\n <aui-menu-item>{{ 'update' | translate }}</aui-menu-item>\n </acl-disabled-container>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.delete !== false\"\n [isAllowed]=\"!permissions || permissions.delete\"\n [isDisabled]=\"\n (columnDef.extra?.delete?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.delete.disabled.handler:finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.delete?.disabled.tooltip\n | pure: getValue:data:finalContext\n | translate\n \"\n (click)=\"delete.emit(data)\"\n >\n <aui-menu-item>{{ 'delete' | translate }}</aui-menu-item>\n </acl-disabled-container>\n </aui-menu></ng-template\n>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n\n<ng-template #noData>{{ 'no_data' | translate }}</ng-template>\n", styles: [".deleting-text{color:rgb(var(--aui-color-disabled-text))}:host{display:block}:host.aui-table__scroll-wrapper{display:flex}:host ::ng-deep+acl-table{margin-top:12px}html:not([lang|=zh]) :host ::ng-deep .aui-table__column-created_at{flex:0 0 140px}\n"] }]
|
|
780
|
-
}],
|
|
773
|
+
args: [{ selector: 'acl-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-table\n auiSort\n [active]=\"(activeSort$ | async)?.active\"\n [direction]=\"(activeSort$ | async)?.direction\"\n [dataSource]=\"pagedItems$\"\n [trackBy]=\"trackBy\"\n (sortChange)=\"onSortChange($event)\"\n [auiTableScrollable]=\"!!sticky\"\n>\n <ng-container\n *ngFor=\"let columnDef of columnDefs$ | async; trackBy: trackByName\"\n [auiTableColumnDef]=\"columnDef.name\"\n [sticky]=\"columnDef.sticky\"\n [stickyEnd]=\"columnDef.stickyEnd\"\n >\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header\n [start]=\"columnDef.sort.direction\"\n >{{ columnDef.label || columnDef.name | translate }}</span\n >\n <span *ngIf=\"!columnDef.sort\">{{\n columnDef.label || columnDef.name | translate\n }}</span>\n </ng-container>\n </aui-table-header-cell>\n\n <aui-table-cell\n *auiTableCellDef=\"\n let data;\n let index = index;\n let even = even;\n let odd = odd;\n let last = last\n \"\n [direction]=\"columnDef.direction\"\n [ngClass]=\"columnDef.class\"\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngIf=\"\n columnDef.name | pure: getColumnTemplate as template;\n else tableCellDefTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: data,\n index: index,\n even: even,\n odd: odd,\n last: last,\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #tableCellDefTpl>\n <ng-container\n *ngIf=\"\n columnDef.path != null &&\n (data\n | pure\n : getValueFromPath\n : columnDef.name\n : columnDef.path) as value;\n else defaultTableCellTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #defaultTableCellTpl>\n <ng-container\n *ngTemplateOutlet=\"\n defaultTableCell;\n context: { data: data, columnDef: columnDef }\n \"\n ></ng-container>\n </ng-template>\n </aui-table-cell>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columnNames$ | async; sticky: !!sticky\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columnNames$ | async\"\n ></aui-table-row>\n\n <ng-container *auiTablePlaceholderDef>\n <ng-container *ngIf=\"list\">\n <div\n [hidden]=\"\n (pagedItems$ | async)?.length || !(list.items$ | async)?.length\n \"\n class=\"empty-placeholder\"\n >\n <ng-container\n *ngIf=\"finalResourceName$ | async as finalResourceName; else noData\"\n >\n {{\n 'no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (finalResourceName | translate: null : true),\n }\n }}\n </ng-container>\n </div>\n <acl-k8s-resource-list-footer\n [hidden]=\"\n !(pagedItems$ | async)?.length && (list.items$ | async)?.length\n \"\n [list]=\"list\"\n [resourceName]=\"finalResourceName$ | async\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n [firstScrollLoad]=\"firstScrollLoad\"\n >\n <ng-container *ngIf=\"loadingErrorTemplate\">\n <ng-container\n *aclK8sListFooterLoadingError\n [ngTemplateOutlet]=\"loadingErrorTemplate\"\n ></ng-container>\n </ng-container>\n </acl-k8s-resource-list-footer>\n </ng-container>\n <div\n *ngIf=\"!list && !(pagedItems$ | async)?.length\"\n class=\"empty-placeholder\"\n >\n <ng-container *ngIf=\"finalDataSource$ | async; else loading\">\n {{\n noDataHint ||\n ('no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (resourceName | translate: null : true),\n })\n }}\n </ng-container>\n <ng-template #loading>\n <aui-icon\n class=\"acl-loading-mask__icon\"\n size=\"16px\"\n icon=\"spinner\"\n ></aui-icon>\n {{ 'loading_please_wait' | translate }}\n </ng-template>\n </div>\n </ng-container>\n</aui-table>\n\n<ng-container *ngIf=\"enablePagination\">\n <aui-paginator\n [layout]=\"paginationLayout\"\n [currentPage]=\"currentPage$ | async\"\n [pageSize]=\"pageSize$ | async\"\n [total]=\"pagination.total\"\n (currentPageChange)=\"currentPage$.next($event)\"\n (pageSizeChange)=\"pageSize$.next($event)\"\n [pageSizeOptions]=\"pageSizeOptions\"\n ></aui-paginator>\n</ng-container>\n\n<ng-template\n #defaultTableCell\n let-data=\"data\"\n let-columnDef=\"columnDef\"\n>\n <ng-container [ngSwitch]=\"columnDef.name\">\n <ng-container *ngSwitchCase=\"NAME\">\n <div\n *ngIf=\"data | pure: getValueFromPath : columnDef.name as name\"\n class=\"aui-table__cell__name\"\n >\n <ng-container\n *ngIf=\"\n columnDef.extra?.link !== false && !(data | aclIsDeleting);\n else plainName\n \"\n >\n <a\n [routerLink]=\"[(isListPage$ | async) ? '..' : '.', 'detail', name]\"\n [auiTooltip]=\"name\"\n >\n {{ name }}\n </a>\n </ng-container>\n <ng-template #plainName>\n <span\n [auiTooltip]=\"name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >{{ name }}</span\n >\n </ng-template>\n <acl-deleting-tag\n *ngIf=\"data | pure: isK8sResource\"\n [resource]=\"data\"\n ></acl-deleting-tag>\n </div>\n <div\n *ngIf=\"\n (data | pure: isK8sResource)\n ? (data | aclDisplayName)\n : data.displayName as displayName\n \"\n class=\"aui-table__cell__display-name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >\n {{ displayName }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"CREATED_AT\">\n <acl-relative-time\n [time]=\"data | pure: getValueFromPath : columnDef.name\"\n ></acl-relative-time>\n </ng-container>\n <ng-container *ngSwitchCase=\"ACTION\">\n <button\n aui-button=\"text\"\n [square]=\"true\"\n size=\"small\"\n [auiDropdown]=\"menu\"\n [auiDropdownContext]=\"{ $implicit: data, columnDef: columnDef }\"\n >\n <aui-icon icon=\"ellipsis_v_s\"></aui-icon>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngIf=\"\n data | pure: getValueFromPath : columnDef.name as value;\n else empty\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #tableCellContent\n let-columnDef=\"columnDef\"\n let-value=\"value\"\n>\n <ng-container\n *ngIf=\"\n columnDef.translate == null\n ? value\n : columnDef.translate === true\n ? (value | translate)\n : (value\n | pure: columnDef.translate : finalContext\n | translate) as text;\n else empty\n \"\n >\n <div\n *ngIf=\"columnDef.ellipsis; else plainText\"\n class=\"text-overflow\"\n [auiTooltip]=\"text\"\n >\n {{ text }}\n </div>\n <ng-template #plainText>{{ text }}</ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #menu\n let-data\n let-columnDef=\"columnDef\"\n ><aui-menu>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.update !== false\"\n [isAllowed]=\"!permissions || permissions.update\"\n [isDisabled]=\"\n (columnDef.extra?.update?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.update.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.update?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"onUpdate(data, columnDef)\"\n >\n <aui-menu-item>{{ 'update' | translate }}</aui-menu-item>\n </acl-disabled-container>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.delete !== false\"\n [isAllowed]=\"!permissions || permissions.delete\"\n [isDisabled]=\"\n (columnDef.extra?.delete?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.delete.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.delete?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"delete.emit(data)\"\n >\n <aui-menu-item>{{ 'delete' | translate }}</aui-menu-item>\n </acl-disabled-container>\n </aui-menu></ng-template\n>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n\n<ng-template #noData>{{ 'no_data' | translate }}</ng-template>\n", styles: [".deleting-text{color:rgb(var(--aui-color-disabled-text))}:host{display:block}:host.aui-table__scroll-wrapper{display:flex}:host ::ng-deep+acl-table{margin-top:12px}html:not([lang|=zh]) :host ::ng-deep .aui-table__column-created_at{flex:0 0 140px}\n"] }]
|
|
774
|
+
}], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TableUtilService }], { list: [{
|
|
781
775
|
type: Input
|
|
782
776
|
}], list$: [], dataSource: [{
|
|
783
777
|
type: Input
|
|
@@ -801,6 +795,8 @@ __decorate([
|
|
|
801
795
|
type: Input
|
|
802
796
|
}], noDataHint: [{
|
|
803
797
|
type: Input
|
|
798
|
+
}], loadingErrorTemplate: [{
|
|
799
|
+
type: Input
|
|
804
800
|
}], enablePagination: [{
|
|
805
801
|
type: Input
|
|
806
802
|
}], pageSize: [{
|
|
@@ -809,6 +805,8 @@ __decorate([
|
|
|
809
805
|
type: Input
|
|
810
806
|
}], paginationLayout: [{
|
|
811
807
|
type: Input
|
|
808
|
+
}], firstScrollLoad: [{
|
|
809
|
+
type: Input
|
|
812
810
|
}], update: [{
|
|
813
811
|
type: Output
|
|
814
812
|
}], delete: [{
|
|
@@ -825,4 +823,5 @@ __decorate([
|
|
|
825
823
|
type: HostBinding,
|
|
826
824
|
args: ['style.max-height']
|
|
827
825
|
}] }); })();
|
|
828
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsRUFBRSxFQUNGLGFBQWEsRUFDYixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFl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LE1BR1IsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYSxNQUdiLE9BQU87a0JBRE4sS0FBSztZQVFOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFNBQVMsTUFHVCxPQUFPO2tCQUROLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sTUFBTTtrQkFETCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNO1lBSVAsVUFBVTtrQkFEVCxNQUFNO1lBSVAsYUFBYTtrQkFEWixlQUFlO21CQUFDLHFCQUFxQjtZQUlsQyxhQUFhO2tCQURoQixXQUFXO21CQUFDLGlDQUFpQztZQU0xQyxtQkFBbUI7a0JBRHRCLFdBQVc7bUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIGlzT2JqZWN0TGlrZSwgaXNTdHJpbmcsIGxhc3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ1RJT04sIENSRUFURURfQVQsIExJTkssIFVQREFURSB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0ZpZWxkTm90QXZhaWxhYmxlIH0gZnJvbSAnLi4vY29yZS9waXBlcy9maWVsZC1ub3QtYXZhaWxhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ1JFQVRPUiwgTkFNRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvazhzLXV0aWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBLOHNSZXNvdXJjZUFjdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbn0gZnJvbSAnLi4vY29yZS90eXBlcy9rOHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0s4c1Jlc291cmNlLCBub29wLCB0cmFja0J5VWlkIH0gZnJvbSAnLi4vY29yZS91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vY29yZS91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuLi9jb3JlL3V0aWxzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdHJlYW1MaXN0TG9hZGVyIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX1BBR0VfU0laRSxcbiAgREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUyxcbiAgREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWxwZXJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlQ29sdW1uRGVmcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ29sdW1uRGVmLFxuICBUYWJsZUZpbHRlckZuLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbSxcbiAgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXIsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgS05PV05fQ09MVU1OUywgVGFibGVVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIENvbnRleHQgPSBUYWJsZVV0aWxTZXJ2aWNlPEl0ZW0+LFxuPiB7XG4gIEBJbnB1dCgpXG4gIGxpc3QhOiBTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBsaXN0JCE6IE9ic2VydmFibGU8U3RyZWFtTGlzdExvYWRlcjxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEl0ZW0+LCBJdGVtPj47XG5cbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogSXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhU291cmNlJCE6IE9ic2VydmFibGU8SXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+PjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWU6IHN0cmluZztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVzb3VyY2VOYW1lJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc3RpY2t5OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcGVybWlzc2lvbnM6IFBhcnRpYWw8UmVjb3JkPEs4c1Jlc291cmNlQWN0aW9uLCBib29sZWFuPj47XG5cbiAgQElucHV0KClcbiAgY29sdW1uczogUmVhZG9ubHlBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbHVtbnMkITogT2JzZXJ2YWJsZTxBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj4+O1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlclBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGZpbHRlclBhcmFtcyQhOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiBDb250ZXh0O1xuXG4gIGdldCBmaW5hbENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dCA/PyAodGhpcy51dGlsIGFzIHVua25vd24gYXMgQ29udGV4dCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbjogVGFibGVGaWx0ZXJGbjxJdGVtLCBDb250ZXh0PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyRm4kITogT2JzZXJ2YWJsZTxUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+PjtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248SXRlbT4gPSB0aGlzLnRyYWNrQnlGbjtcblxuICBASW5wdXQoKVxuICBub0RhdGFIaW50OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZW5hYmxlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplID0gREVGQVVMVF9QQUdFX1NJWkU7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemVPcHRpb25zID0gREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uTGF5b3V0ID0gREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVDtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUNlbGxEZWZEaXJlY3RpdmUpXG4gIHRhYmxlQ2VsbERlZnM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxEZWZEaXJlY3RpdmU8SXRlbT4+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXVpLXRhYmxlX19zY3JvbGwtd3JhcHBlcicpXG4gIGdldCBzY3JvbGxXcmFwcGVyKCkge1xuICAgIHJldHVybiAhIXRoaXMuc3RpY2t5O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgZ2V0IHNjcm9sbFdyYXBwZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKHRoaXMuc3RpY2t5KTtcbiAgfVxuXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcblxuICBwYWdlU2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9QQUdFX1NJWkUpO1xuXG4gIHBhZ2luYXRpb24gPSB7XG4gICAgdG90YWw6IDAsXG4gICAgcGFnZXM6IDAsXG4gIH07XG5cbiAgZmluYWxEYXRhU291cmNlJCA9IHRoaXMuZGF0YVNvdXJjZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZGF0YVNvdXJjZSA9PlxuICAgICAgZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBkYXRhU291cmNlIDogb2YoZGF0YVNvdXJjZSksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZmluYWxSZXNvdXJjZU5hbWUkID0gY29tYmluZUxhdGVzdChbdGhpcy5saXN0JCwgdGhpcy5yZXNvdXJjZU5hbWUkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtsaXN0LCByZXNvdXJjZU5hbWVdKSA9PlxuICAgICAgIWxpc3QgfHwgcmVzb3VyY2VOYW1lXG4gICAgICAgID8gb2YocmVzb3VyY2VOYW1lKVxuICAgICAgICA6IGxpc3QucmF3UmVzcG9uc2UkLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHJlcz8ua2luZC5zbGljZSgwLCAtNCkudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5EZWZzJCA9IHRoaXMuY29sdW1ucyQucGlwZShcbiAgICBtYXAoXG4gICAgICBjb2x1bW5zID0+XG4gICAgICAgIChjb2x1bW5zIHx8IFtdKS5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICBjb2x1bW4gPSBpc1N0cmluZyhjb2x1bW4pID8geyBuYW1lOiBjb2x1bW4gfSA6IGNvbHVtbjtcbiAgICAgICAgICBpZiAoISgncGF0aCcgaW4gY29sdW1uKSAmJiAhS05PV05fQ09MVU1OUy5oYXMoY29sdW1uLm5hbWUpKSB7XG4gICAgICAgICAgICBjb2x1bW4ucGF0aCA9IGNvbHVtbi5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uKTtcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihjb2x1bW4pO1xuICAgICAgICB9KSBhcyBUYWJsZUNvbHVtbkRlZnM8SXRlbSwgQ29udGV4dD4sXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgY29sdW1uTmFtZXMkID0gdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgIG1hcChjb2x1bW5zID0+IGNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ubmFtZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBhY3RpdmVTb3J0JCQgPSBuZXcgUmVwbGF5U3ViamVjdDxTb3J0PigxKTtcblxuICBhY3RpdmVTb3J0JDogT2JzZXJ2YWJsZTxTb3J0PiA9IG1lcmdlKFxuICAgIHRoaXMuYWN0aXZlU29ydCQkLFxuICAgIHRoaXMuY29sdW1uRGVmcyQucGlwZShcbiAgICAgIG1hcChjb2x1bW5EZWZzID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uRGVmID0gY29sdW1uRGVmcy5maW5kKGNvbHVtbiA9PiBjb2x1bW4uc29ydD8uYWN0aXZlKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbkRlZlxuICAgICAgICAgID8geyBhY3RpdmU6IGNvbHVtbkRlZi5uYW1lLCBkaXJlY3Rpb246IGNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbiB9XG4gICAgICAgICAgOiBudWxsO1xuICAgICAgfSksXG4gICAgKSxcbiAgKS5waXBlKHB1Ymxpc2hSZWYoKSk7XG5cbiAgZmlsdGVyZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLmZpbmFsRGF0YVNvdXJjZSRdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbbGlzdCwgZGF0YVNvdXJjZV0pID0+IChsaXN0ID8gbGlzdC5pdGVtcyQgOiBvZihkYXRhU291cmNlKSkpLFxuICAgICksXG4gICAgdGhpcy5jb2x1bW5EZWZzJCxcbiAgICB0aGlzLmFjdGl2ZVNvcnQkLFxuICAgIHRoaXMuZmlsdGVyUGFyYW1zJCxcbiAgICB0aGlzLmZpbHRlckZuJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW1xuICAgICAgICBpdGVtcyxcbiAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICBmaWx0ZXJGbiA9IHRoaXMudXRpbC5kZWZhdWx0RmlsdGVyRm4sXG4gICAgICBdKSA9PlxuICAgICAgICBmaWx0ZXJGbi5jYWxsKFxuICAgICAgICAgIHRoaXMuZmluYWxDb250ZXh0LFxuICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgIGNvbHVtbkRlZnMsXG4gICAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcGFnZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLFxuICAgIHRoaXMuY3VycmVudFBhZ2UkLFxuICAgIHRoaXMucGFnZVNpemUkLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2l0ZW1zLCBfLCBwYWdlU2l6ZV0pID0+IHtcbiAgICAgIGlmICh0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID1cbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8geyB0b3RhbDogMCwgcGFnZXM6IDAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgdG90YWw6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBwYWdlczogTWF0aC5jZWlsKGl0ZW1zLmxlbmd0aCAvIHBhZ2VTaXplKSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoKFtpdGVtcywgY3VycmVudFBhZ2UsIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbi5wYWdlcyA8IGN1cnJlbnRQYWdlICYmIHRoaXMucGFnaW5hdGlvbi5wYWdlcyAhPT0gMCkge1xuICAgICAgICBjdXJyZW50UGFnZSA9IHRoaXMucGFnaW5hdGlvbi5wYWdlcztcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dChjdXJyZW50UGFnZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBiZWdpbiA9IChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemU7XG4gICAgICByZXR1cm4gaXRlbXMuc2xpY2UoYmVnaW4sIGJlZ2luICsgcGFnZVNpemUpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBnZXQgaXNMaXN0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aCA9PT0gJ2xpc3QnO1xuICB9XG5cbiAgaXNMaXN0UGFnZSQgPSB0aGlzLnJvdXRlLnVybC5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzTGlzdFBhZ2UpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBpc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbiAgaXNLOHNSZXNvdXJjZSA9IGlzSzhzUmVzb3VyY2U7XG4gIGlzRmllbGROb3RBdmFpbGFibGUgPSBpc0ZpZWxkTm90QXZhaWxhYmxlO1xuXG4gIGdldFZhbHVlRnJvbVBhdGggPSB0aGlzLnV0aWwuZ2V0VmFsdWVGcm9tUGF0aDtcbiAgdHJhY2tCeU5hbWUoXzogbnVtYmVyLCBjb2x1bW5EZWY6IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgcmV0dXJuIGNvbHVtbkRlZi5uYW1lO1xuICB9XG5cbiAgTkFNRSA9IE5BTUU7XG4gIENSRUFUT1IgPSBDUkVBVE9SO1xuICBDUkVBVEVEX0FUID0gQ1JFQVRFRF9BVDtcbiAgQUNUSU9OID0gQUNUSU9OO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWw6IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4gICkge1xuICAgIHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUgPSB0aGlzLmdldENvbHVtblRlbXBsYXRlLmJpbmQodGhpcyk7XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZUcmFuc2xhdGUoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSBjb2x1bW47XG4gICAgaWYgKHRyYW5zbGF0ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAodHJhbnNsYXRlID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzU3RyaW5nKHRyYW5zbGF0ZSkpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gdHJhbnNsYXRlICsgdmFsdWU7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdExpa2UodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiBnZXQodHJhbnNsYXRlLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZTb3J0KGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICBjb25zdCB7IHNvcnQgfSA9IGNvbHVtbjtcbiAgICBpZiAoc29ydCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAoc29ydCA9PT0gdHJ1ZSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoc29ydCkpIHtcbiAgICAgIGNvbHVtbi5zb3J0ID0ge1xuICAgICAgICBkaXJlY3Rpb246IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICAgIGhhbmRsZXI6IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoc29ydC5kaXJlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgc29ydC5kaXJlY3Rpb24gPSAnYXNjJztcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG9uU29ydENoYW5nZSgkZXZlbnQ6IFNvcnQpIHtcbiAgICB0aGlzLnNvcnRDaGFuZ2UubmV4dCgkZXZlbnQpO1xuICAgIHRoaXMuYWN0aXZlU29ydCQkLm5leHQoJGV2ZW50KTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+LFxuICApOiBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4ge1xuICAgIGlmIChjb2x1bW4ubmFtZSAhPT0gQUNUSU9OIHx8ICFjb2x1bW4uZXh0cmEpIHtcbiAgICAgIHJldHVybiBjb2x1bW4gYXMgTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+O1xuICAgIH1cblxuICAgIGNvbnN0IGV4dHJhID0gY29sdW1uLmV4dHJhIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmE8SXRlbSwgQ29udGV4dD47XG4gICAgKFtLOHNSZXNvdXJjZUFjdGlvbi5ERUxFVEUsIEs4c1Jlc291cmNlQWN0aW9uLlVQREFURV0gYXMgY29uc3QpLmZvckVhY2goXG4gICAgICBhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoIWV4dHJhW2FjdGlvbl0pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhbmRsZXIgPSAoXG4gICAgICAgICAgZXh0cmFbYWN0aW9uXSBhcyBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbTxJdGVtLCBDb250ZXh0PlxuICAgICAgICApLmRpc2FibGVkO1xuICAgICAgICBpZiAoaGFuZGxlciA9PSBudWxsKSB7XG4gICAgICAgICAgaGFuZGxlciA9IG5vb3AgYXMgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXI8SXRlbSwgQ29udGV4dD47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24oaGFuZGxlcikpIHtcbiAgICAgICAgICAoXG4gICAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICAgKS5kaXNhYmxlZCA9IHsgaGFuZGxlciB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gIH1cblxuICBnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRhYmxlQ2VsbERlZnMuZmluZChkZWYgPT4gZGVmLmFjbFRhYmxlQ2VsbERlZiA9PT0gY29sdW1uKVxuICAgICAgPy50ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBJdGVtKSB7XG4gICAgcmV0dXJuIGlzSzhzUmVzb3VyY2UoaXRlbSlcbiAgICAgID8gdHJhY2tCeVVpZChpbmRleCwgaXRlbSlcbiAgICAgIDogZ2V0KGl0ZW0sIE5BTUUsIGluZGV4KTtcbiAgfVxuXG4gIG9uVXBkYXRlKGRhdGE6IEl0ZW0sIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICB0aGlzLnVwZGF0ZS5lbWl0KGRhdGEpO1xuXG4gICAgaWYgKGdldChjb2x1bW5EZWYuZXh0cmEsIFtVUERBVEUsIExJTktdKSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5pc0xpc3RQYWdlID8gJy4uJyA6ICcuJyxcbiAgICAgICAgICBVUERBVEUsXG4gICAgICAgICAgdGhpcy5nZXRWYWx1ZUZyb21QYXRoKGRhdGEsIE5BTUUpLFxuICAgICAgICBdLFxuICAgICAgICB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWU8VCwgRiBleHRlbmRzICguLi5hcmdzOiB1bmtub3duW10pID0+IFQ+KFxuICAgIGZ1bmN0aW9uT3JWYWx1ZTogVCB8IEYsXG4gICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICApOiBUIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmdW5jdGlvbk9yVmFsdWUpXG4gICAgICA/IGZ1bmN0aW9uT3JWYWx1ZS5jYWxsKGxhc3QoYXJncyksIC4uLmFyZ3MpXG4gICAgICA6IGZ1bmN0aW9uT3JWYWx1ZTtcbiAgfVxufVxuIiwiPGF1aS10YWJsZVxuICBhdWlTb3J0XG4gIFthY3RpdmVdPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5hY3RpdmVcIlxuICBbZGlyZWN0aW9uXT1cIihhY3RpdmVTb3J0JCB8IGFzeW5jKT8uZGlyZWN0aW9uXCJcbiAgW2RhdGFTb3VyY2VdPVwicGFnZWRJdGVtcyRcIlxuICBbdHJhY2tCeV09XCJ0cmFja0J5XCJcbiAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICBbYXVpVGFibGVTY3JvbGxhYmxlXT1cIiEhc3RpY2t5XCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBjb2x1bW5EZWYgb2YgY29sdW1uRGVmcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIlxuICAgIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5EZWYubmFtZVwiXG4gICAgW3N0aWNreV09XCJjb2x1bW5EZWYuc3RpY2t5XCJcbiAgICBbc3RpY2t5RW5kXT1cImNvbHVtbkRlZi5zdGlja3lFbmRcIlxuICA+XG4gICAgPGF1aS10YWJsZS1oZWFkZXItY2VsbFxuICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbkRlZi5uYW1lICE9PSBBQ1RJT05cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImNvbHVtbkRlZi5zb3J0XCJcbiAgICAgICAgICBhdWktc29ydC1oZWFkZXJcbiAgICAgICAgICBbc3RhcnRdPVwiY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uXCJcbiAgICAgICAgICA+e3sgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29sdW1uRGVmLnNvcnRcIj57e1xuICAgICAgICAgIGNvbHVtbkRlZi5sYWJlbCB8fCBjb2x1bW5EZWYubmFtZSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuXG4gICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAqYXVpVGFibGVDZWxsRGVmPVwiXG4gICAgICAgIGxldCBkYXRhO1xuICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgbGV0IGV2ZW4gPSBldmVuO1xuICAgICAgICBsZXQgb2RkID0gb2RkO1xuICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgIFwiXG4gICAgICBbZGlyZWN0aW9uXT1cImNvbHVtbkRlZi5kaXJlY3Rpb25cIlxuICAgICAgW25nQ2xhc3NdPVwiY29sdW1uRGVmLmNsYXNzXCJcbiAgICAgIFtzdHlsZV09XCJjb2x1bW5EZWYuc3R5bGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBjb2x1bW5EZWYubmFtZSB8IHB1cmU6IGdldENvbHVtblRlbXBsYXRlIGFzIHRlbXBsYXRlO1xuICAgICAgICAgIGVsc2UgdGFibGVDZWxsRGVmVHBsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZGF0YSxcbiAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICBldmVuOiBldmVuLFxuICAgICAgICAgICAgICBvZGQ6IG9kZCxcbiAgICAgICAgICAgICAgbGFzdDogbGFzdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIShwYWdlZEl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoICYmIChsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoO1xuICAgICAgICAgIGVsc2UgbGlzdEZvb3RlclxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmMgYXMgZmluYWxSZXNvdXJjZU5hbWU7IGVsc2Ugbm9EYXRhXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnbm9fbmFtZWRfZGF0YV9oaW50J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOlxuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAoZmluYWxSZXNvdXJjZU5hbWUgfCB0cmFuc2xhdGU6IG51bGw6dHJ1ZSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNsaXN0Rm9vdGVyPlxuICAgICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICAgIFtsaXN0XT1cImxpc3RcIlxuICAgICAgICAgIFtyZXNvdXJjZU5hbWVdPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmNcIlxuICAgICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICA+PC9hY2wtazhzLXJlc291cmNlLWxpc3QtZm9vdGVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbDp0cnVlKVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGg6Y29sdW1uRGVmLm5hbWUgYXMgbmFtZVwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19uYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LmxpbmsgIT09IGZhbHNlICYmICEoZGF0YSB8IGFjbElzRGVsZXRpbmcpO1xuICAgICAgICAgICAgZWxzZSBwbGFpbk5hbWVcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsoaXNMaXN0UGFnZSQgfCBhc3luYykgPyAnLi4nIDogJy4nLCAnZGV0YWlsJywgbmFtZV1cIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBdPVwibmFtZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5OYW1lPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICAgIFtjbGFzcy5kZWxldGluZy10ZXh0XT1cImRhdGEgfCBhY2xJc0RlbGV0aW5nXCJcbiAgICAgICAgICAgID57eyBuYW1lIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8YWNsLWRlbGV0aW5nLXRhZ1xuICAgICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGlzSzhzUmVzb3VyY2VcIlxuICAgICAgICAgIFtyZXNvdXJjZV09XCJkYXRhXCJcbiAgICAgICAgPjwvYWNsLWRlbGV0aW5nLXRhZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIChkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZSlcbiAgICAgICAgICAgID8gKGRhdGEgfCBhY2xEaXNwbGF5TmFtZSlcbiAgICAgICAgICAgIDogZGF0YS5kaXNwbGF5TmFtZSBhcyBkaXNwbGF5TmFtZVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWJsZV9fY2VsbF9fZGlzcGxheS1uYW1lXCJcbiAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBkaXNwbGF5TmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ1JFQVRFRF9BVFwiPlxuICAgICAgPGFjbC1yZWxhdGl2ZS10aW1lXG4gICAgICAgIFt0aW1lXT1cImRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoOmNvbHVtbkRlZi5uYW1lXCJcbiAgICAgID48L2FjbC1yZWxhdGl2ZS10aW1lPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkFDVElPTlwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFthdWlEcm9wZG93bl09XCJtZW51XCJcbiAgICAgICAgW2F1aURyb3Bkb3duQ29udGV4dF09XCJ7ICRpbXBsaWNpdDogZGF0YSwgY29sdW1uRGVmOiBjb2x1bW5EZWYgfVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiZWxsaXBzaXNfdl9zXCI+PC9hdWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBkYXRhIHwgcHVyZTogZ2V0VmFsdWVGcm9tUGF0aDpjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgID8gKHZhbHVlIHwgdHJhbnNsYXRlKVxuICAgICAgICA6ICh2YWx1ZSB8IHB1cmU6IGNvbHVtbkRlZi50cmFuc2xhdGU6ZmluYWxDb250ZXh0IHwgdHJhbnNsYXRlKSBhcyB0ZXh0O1xuICAgICAgZWxzZSBlbXB0eVxuICAgIFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbHVtbkRlZi5lbGxpcHNpczsgZWxzZSBwbGFpblRleHRcIlxuICAgICAgY2xhc3M9XCJ0ZXh0LW92ZXJmbG93XCJcbiAgICAgIFthdWlUb29sdGlwXT1cInRleHRcIlxuICAgID5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3BsYWluVGV4dD57eyB0ZXh0IH19PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI21lbnVcbiAgbGV0LWRhdGFcbiAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4gID48YXVpLW1lbnU+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy51cGRhdGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLnVwZGF0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8udXBkYXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEudXBkYXRlLmRpc2FibGVkLmhhbmRsZXI6ZmluYWxDb250ZXh0KVxuICAgICAgXCJcbiAgICAgIFt0b29sdGlwXT1cIlxuICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZT8uZGlzYWJsZWQudG9vbHRpcFxuICAgICAgICAgIHwgcHVyZTogZ2V0VmFsdWU6ZGF0YTpmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJvblVwZGF0ZShkYXRhLCBjb2x1bW5EZWYpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAndXBkYXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy5kZWxldGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmRlbGV0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8uZGVsZXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEuZGVsZXRlLmRpc2FibGVkLmhhbmRsZXI6ZmluYWxDb250ZXh0KVxuICAgICAgXCJcbiAgICAgIFt0b29sdGlwXT1cIlxuICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZT8uZGlzYWJsZWQudG9vbHRpcFxuICAgICAgICAgIHwgcHVyZTogZ2V0VmFsdWU6ZGF0YTpmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJkZWxldGUuZW1pdChkYXRhKVwiXG4gICAgPlxuICAgICAgPGF1aS1tZW51LWl0ZW0+e3sgJ2RlbGV0ZScgfCB0cmFuc2xhdGUgfX08L2F1aS1tZW51LWl0ZW0+XG4gICAgPC9hY2wtZGlzYWJsZWQtY29udGFpbmVyPlxuICA8L2F1aS1tZW51PjwvbmctdGVtcGxhdGVcbj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT57eyBudWxsIHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX08L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vRGF0YT57eyAnbm9fZGF0YScgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuIl19
|
|
826
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
|
|
827
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEVBQUUsRUFDRixhQUFhLEVBQ2IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFP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QUNGLFVBQVU7cURBQTBCO0FBYXBEO0lBREMsZUFBZSxFQUFFOzhCQUNOLFVBQVU7aURBQStCO2lGQXREMUMsY0FBYztjQU4xQixTQUFTOzJCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTttR0FRL0MsSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLFVBQVU7a0JBRFQsS0FBSztZQUlOLFdBQVcsTUFHWCxZQUFZO2tCQURYLEtBQUs7WUFJTixhQUFhLE1BR2Isc0JBQXNCO2tCQURyQixLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sUUFBUSxNQUdSLFlBQVk7a0JBRFgsS0FBSztZQUlOLGFBQWEsTUFHYixPQUFPO2tCQUROLEtBQUs7WUFRTixRQUFRO2tCQURQLEtBQUs7WUFJTixTQUFTLE1BR1QsT0FBTztrQkFETixLQUFLO1lBSU4sVUFBVTtrQkFEVCxLQUFLO1lBSU4sb0JBQW9CO2tCQURuQixLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixlQUFlO2tCQURkLEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUdHLGVBQWU7a0JBQXZCLEtBQUs7WUFHTixNQUFNO2tCQURMLE1BQU07WUFJUCxNQUFNO2tCQURMLE1BQU07WUFJUCxVQUFVO2tCQURULE1BQU07WUFJUCxhQUFhO2tCQURaLGVBQWU7bUJBQUMscUJBQXFCO1lBSWxDLGFBQWE7a0JBRGhCLFdBQVc7bUJBQUMsaUNBQWlDO1lBTTFDLG1CQUFtQjtrQkFEdEIsV0FBVzttQkFBQyxrQkFBa0I7O2tGQWhHcEIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhbmRsZVBpeGVsLCBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCwgaXNGdW5jdGlvbiwgaXNPYmplY3RMaWtlLCBpc1N0cmluZywgbGFzdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBSZXBsYXlTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFDVElPTiwgQ1JFQVRFRF9BVCwgTElOSywgVVBEQVRFIH0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGlzRmllbGROb3RBdmFpbGFibGUgfSBmcm9tICcuLi9jb3JlL3BpcGVzL2ZpZWxkLW5vdC1hdmFpbGFibGUucGlwZSc7XG5pbXBvcnQgeyBDUkVBVE9SLCBOQU1FIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9rOHMtdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEs4c1Jlc291cmNlQWN0aW9uLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxufSBmcm9tICcuLi9jb3JlL3R5cGVzL2s4cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGlzSzhzUmVzb3VyY2UsIG5vb3AsIHRyYWNrQnlVaWQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uL2NvcmUvdXRpbHMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0cmVhbUxpc3RMb2FkZXIgfSBmcm9tICcuLi9rOHMtcmVzb3VyY2UtbGlzdC90eXBlcyc7XG5cbmltcG9ydCB7XG4gIERFRkFVTFRfUEFHRV9TSVpFLFxuICBERUZBVUxUX1BBR0VfU0laRV9PUFRJT05TLFxuICBERUZBVUxUX1BBR0lOQVRJT05fTEFZT1VULFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUYWJsZUNlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hlbHBlcnMuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZixcbiAgVGFibGVDb2x1bW5EZWZzLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlRmlsdGVyRm4sXG4gIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmEsXG4gIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtLFxuICBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBLTk9XTl9DT0xVTU5TLCBUYWJsZVV0aWxTZXJ2aWNlIH0gZnJvbSAnLi91dGlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgQ29udGV4dCA9IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4+IHtcbiAgQElucHV0KClcbiAgbGlzdCE6IFN0cmVhbUxpc3RMb2FkZXI8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxJdGVtPiwgSXRlbT47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGxpc3QkITogT2JzZXJ2YWJsZTxTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+PjtcblxuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBJdGVtW10gfCBPYnNlcnZhYmxlPEl0ZW1bXT47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRhdGFTb3VyY2UkITogT2JzZXJ2YWJsZTxJdGVtW10gfCBPYnNlcnZhYmxlPEl0ZW1bXT4+O1xuXG4gIEBJbnB1dCgpXG4gIHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZXNvdXJjZU5hbWUkITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzdGlja3k6IG51bWJlciB8IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwZXJtaXNzaW9uczogUGFydGlhbDxSZWNvcmQ8SzhzUmVzb3VyY2VBY3Rpb24sIGJvb2xlYW4+PjtcblxuICBASW5wdXQoKVxuICBjb2x1bW5zOiBSZWFkb25seUFycmF5PFRhYmxlQ29sdW1uPEl0ZW0sIENvbnRleHQ+PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgY29sdW1ucyQhOiBPYnNlcnZhYmxlPEFycmF5PFRhYmxlQ29sdW1uPEl0ZW0sIENvbnRleHQ+Pj47XG5cbiAgQElucHV0KClcbiAgZmlsdGVyUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyUGFyYW1zJCE6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IENvbnRleHQ7XG5cbiAgZ2V0IGZpbmFsQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0ID8/ICh0aGlzLnV0aWwgYXMgdW5rbm93biBhcyBDb250ZXh0KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGZpbHRlckZuOiBUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBmaWx0ZXJGbiQhOiBPYnNlcnZhYmxlPFRhYmxlRmlsdGVyRm48SXRlbSwgQ29udGV4dD4+O1xuXG4gIEBJbnB1dCgpXG4gIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxJdGVtPiA9IHRoaXMudHJhY2tCeUZuO1xuXG4gIEBJbnB1dCgpXG4gIG5vRGF0YUhpbnQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nRXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBlbmFibGVQYWdpbmF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemUgPSBERUZBVUxUX1BBR0VfU0laRTtcblxuICBASW5wdXQoKVxuICBwYWdlU2l6ZU9wdGlvbnMgPSBERUZBVUxUX1BBR0VfU0laRV9PUFRJT05TO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2luYXRpb25MYXlvdXQgPSBERUZBVUxUX1BBR0lOQVRJT05fTEFZT1VUO1xuXG4gIEBJbnB1dCgpIGZpcnN0U2Nyb2xsTG9hZDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8SXRlbT4oKTtcblxuICBAT3V0cHV0KClcbiAgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSlcbiAgdGFibGVDZWxsRGVmczogUXVlcnlMaXN0PFRhYmxlQ2VsbERlZkRpcmVjdGl2ZTxJdGVtPj47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdWktdGFibGVfX3Njcm9sbC13cmFwcGVyJylcbiAgZ2V0IHNjcm9sbFdyYXBwZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zdGlja3k7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBnZXQgc2Nyb2xsV3JhcHBlckhlaWdodCgpIHtcbiAgICByZXR1cm4gaGFuZGxlUGl4ZWwodGhpcy5zdGlja3kpO1xuICB9XG5cbiAgY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuXG4gIHBhZ2VTaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihERUZBVUxUX1BBR0VfU0laRSk7XG5cbiAgcGFnaW5hdGlvbiA9IHtcbiAgICB0b3RhbDogMCxcbiAgICBwYWdlczogMCxcbiAgfTtcblxuICBmaW5hbERhdGFTb3VyY2UkID0gdGhpcy5kYXRhU291cmNlJC5waXBlKFxuICAgIHN3aXRjaE1hcChkYXRhU291cmNlID0+XG4gICAgICBkYXRhU291cmNlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IGRhdGFTb3VyY2UgOiBvZihkYXRhU291cmNlKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBmaW5hbFJlc291cmNlTmFtZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLnJlc291cmNlTmFtZSRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpc3QsIHJlc291cmNlTmFtZV0pID0+XG4gICAgICAhbGlzdCB8fCByZXNvdXJjZU5hbWVcbiAgICAgICAgPyBvZihyZXNvdXJjZU5hbWUpXG4gICAgICAgIDogbGlzdC5yYXdSZXNwb25zZSQucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzPy5raW5kLnNsaWNlKDAsIC00KS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbHVtbkRlZnMkID0gdGhpcy5jb2x1bW5zJC5waXBlKFxuICAgIG1hcChcbiAgICAgIGNvbHVtbnMgPT5cbiAgICAgICAgKGNvbHVtbnMgfHwgW10pLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgIGNvbHVtbiA9IGlzU3RyaW5nKGNvbHVtbikgPyB7IG5hbWU6IGNvbHVtbiB9IDogY29sdW1uO1xuICAgICAgICAgIGlmICghKCdwYXRoJyBpbiBjb2x1bW4pICYmICFLTk9XTl9DT0xVTU5TLmhhcyhjb2x1bW4ubmFtZSkpIHtcbiAgICAgICAgICAgIGNvbHVtbi5wYXRoID0gY29sdW1uLm5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmU29ydChjb2x1bW4pO1xuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmVHJhbnNsYXRlKGNvbHVtbik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKGNvbHVtbik7XG4gICAgICAgIH0pIGFzIFRhYmxlQ29sdW1uRGVmczxJdGVtLCBDb250ZXh0PixcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5OYW1lcyQgPSB0aGlzLmNvbHVtbkRlZnMkLnBpcGUoXG4gICAgbWFwKGNvbHVtbnMgPT4gY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5uYW1lKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGFjdGl2ZVNvcnQkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFNvcnQ+KDEpO1xuXG4gIGFjdGl2ZVNvcnQkOiBPYnNlcnZhYmxlPFNvcnQ+ID0gbWVyZ2UoXG4gICAgdGhpcy5hY3RpdmVTb3J0JCQsXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgICAgbWFwKGNvbHVtbkRlZnMgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5EZWYgPSBjb2x1bW5EZWZzLmZpbmQoY29sdW1uID0+IGNvbHVtbi5zb3J0Py5hY3RpdmUpO1xuICAgICAgICByZXR1cm4gY29sdW1uRGVmXG4gICAgICAgICAgPyB7IGFjdGl2ZTogY29sdW1uRGVmLm5hbWUsIGRpcmVjdGlvbjogY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uIH1cbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KSxcbiAgICApLFxuICApLnBpcGUocHVibGlzaFJlZigpKTtcblxuICBmaWx0ZXJlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubGlzdCQsIHRoaXMuZmluYWxEYXRhU291cmNlJF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtsaXN0LCBkYXRhU291cmNlXSkgPT4gKGxpc3QgPyBsaXN0Lml0ZW1zJCA6IG9mKGRhdGFTb3VyY2UpKSksXG4gICAgKSxcbiAgICB0aGlzLmNvbHVtbkRlZnMkLFxuICAgIHRoaXMuYWN0aXZlU29ydCQsXG4gICAgdGhpcy5maWx0ZXJQYXJhbXMkLFxuICAgIHRoaXMuZmlsdGVyRm4kLFxuICBdKS5waXBlKFxuICAgIG1hcChcbiAgICAgIChbXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBjb2x1bW5EZWZzLFxuICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGZpbHRlckZuID0gdGhpcy51dGlsLmRlZmF1bHRGaWx0ZXJGbixcbiAgICAgIF0pID0+XG4gICAgICAgIGZpbHRlckZuLmNhbGwoXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgICB0aGlzLmZpbmFsQ29udGV4dCxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwYWdlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQsXG4gICAgdGhpcy5jdXJyZW50UGFnZSQsXG4gICAgdGhpcy5wYWdlU2l6ZSQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbaXRlbXMsIF8sIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPVxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyB7IHRvdGFsOiAwLCBwYWdlczogMCB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIHBhZ2VzOiBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gcGFnZVNpemUpLFxuICAgICAgICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcCgoW2l0ZW1zLCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnBhZ2VzIDwgY3VycmVudFBhZ2UgJiYgdGhpcy5wYWdpbmF0aW9uLnBhZ2VzICE9PSAwKSB7XG4gICAgICAgIGN1cnJlbnRQYWdlID0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlJC5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJlZ2luID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZTtcbiAgICAgIHJldHVybiBpdGVtcy5zbGljZShiZWdpbiwgYmVnaW4gKyBwYWdlU2l6ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGdldCBpc0xpc3RQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID09PSAnbGlzdCc7XG4gIH1cblxuICBpc0xpc3RQYWdlJCA9IHRoaXMucm91dGUudXJsLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuaXNMaXN0UGFnZSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuICBpc0s4c1Jlc291cmNlID0gaXNLOHNSZXNvdXJjZTtcbiAgaXNGaWVsZE5vdEF2YWlsYWJsZSA9IGlzRmllbGROb3RBdmFpbGFibGU7XG5cbiAgZ2V0VmFsdWVGcm9tUGF0aCA9IHRoaXMudXRpbC5nZXRWYWx1ZUZyb21QYXRoO1xuICB0cmFja0J5TmFtZShfOiBudW1iZXIsIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICByZXR1cm4gY29sdW1uRGVmLm5hbWU7XG4gIH1cblxuICBOQU1FID0gTkFNRTtcbiAgQ1JFQVRPUiA9IENSRUFUT1I7XG4gIENSRUFURURfQVQgPSBDUkVBVEVEX0FUO1xuICBBQ1RJT04gPSBBQ1RJT047XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbDogVGFibGVVdGlsU2VydmljZTxJdGVtPixcbiAgKSB7XG4gICAgdGhpcy5nZXRDb2x1bW5UZW1wbGF0ZSA9IHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgY29uc3QgeyB0cmFuc2xhdGUgfSA9IGNvbHVtbjtcbiAgICBpZiAodHJhbnNsYXRlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmICh0cmFuc2xhdGUgPT09IHRydWUpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaXNTdHJpbmcodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiB0cmFuc2xhdGUgKyB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0TGlrZSh0cmFuc2xhdGUpKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IGdldCh0cmFuc2xhdGUsIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgc29ydCB9ID0gY29sdW1uO1xuICAgIGlmIChzb3J0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmIChzb3J0ID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyhzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0Z1bmN0aW9uKHNvcnQpKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgICAgaGFuZGxlcjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChzb3J0LmRpcmVjdGlvbiA9PSBudWxsKSB7XG4gICAgICBzb3J0LmRpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1uO1xuICB9XG5cbiAgb25Tb3J0Q2hhbmdlKCRldmVudDogU29ydCkge1xuICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5hY3RpdmVTb3J0JCQubmV4dCgkZXZlbnQpO1xuICB9XG5cbiAgbm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4sXG4gICk6IE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PiB7XG4gICAgaWYgKGNvbHVtbi5uYW1lICE9PSBBQ1RJT04gfHwgIWNvbHVtbi5leHRyYSkge1xuICAgICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gICAgfVxuXG4gICAgY29uc3QgZXh0cmEgPSBjb2x1bW4uZXh0cmEgYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYTxJdGVtLCBDb250ZXh0PjtcbiAgICAoW0s4c1Jlc291cmNlQWN0aW9uLkRFTEVURSwgSzhzUmVzb3VyY2VBY3Rpb24uVVBEQVRFXSBhcyBjb25zdCkuZm9yRWFjaChcbiAgICAgIGFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghZXh0cmFbYWN0aW9uXSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaGFuZGxlciA9IChcbiAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICkuZGlzYWJsZWQ7XG4gICAgICAgIGlmIChoYW5kbGVyID09IG51bGwpIHtcbiAgICAgICAgICBoYW5kbGVyID0gbm9vcCBhcyBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcjxJdGVtLCBDb250ZXh0PjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNGdW5jdGlvbihoYW5kbGVyKSkge1xuICAgICAgICAgIChcbiAgICAgICAgICAgIGV4dHJhW2FjdGlvbl0gYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYUl0ZW08SXRlbSwgQ29udGV4dD5cbiAgICAgICAgICApLmRpc2FibGVkID0geyBoYW5kbGVyIH07XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gY29sdW1uIGFzIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PjtcbiAgfVxuXG4gIGdldENvbHVtblRlbXBsYXRlKGNvbHVtbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVDZWxsRGVmcy5maW5kKGRlZiA9PiBkZWYuYWNsVGFibGVDZWxsRGVmID09PSBjb2x1bW4pXG4gICAgICA/LnRlbXBsYXRlUmVmO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IEl0ZW0pIHtcbiAgICByZXR1cm4gaXNLOHNSZXNvdXJjZShpdGVtKVxuICAgICAgPyB0cmFja0J5VWlkKGluZGV4LCBpdGVtKVxuICAgICAgOiBnZXQoaXRlbSwgTkFNRSwgaW5kZXgpO1xuICB9XG5cbiAgb25VcGRhdGUoZGF0YTogSXRlbSwgY29sdW1uRGVmOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIHRoaXMudXBkYXRlLmVtaXQoZGF0YSk7XG5cbiAgICBpZiAoZ2V0KGNvbHVtbkRlZi5leHRyYSwgW1VQREFURSwgTElOS10pICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgIFtcbiAgICAgICAgICB0aGlzLmlzTGlzdFBhZ2UgPyAnLi4nIDogJy4nLFxuICAgICAgICAgIFVQREFURSxcbiAgICAgICAgICB0aGlzLmdldFZhbHVlRnJvbVBhdGgoZGF0YSwgTkFNRSksXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZTxULCBGIGV4dGVuZHMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVD4oXG4gICAgZnVuY3Rpb25PclZhbHVlOiBUIHwgRixcbiAgICAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+XG4gICk6IFQge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZ1bmN0aW9uT3JWYWx1ZSlcbiAgICAgID8gZnVuY3Rpb25PclZhbHVlLmNhbGwobGFzdChhcmdzKSwgLi4uYXJncylcbiAgICAgIDogZnVuY3Rpb25PclZhbHVlO1xuICB9XG59XG4iLCI8YXVpLXRhYmxlXG4gIGF1aVNvcnRcbiAgW2FjdGl2ZV09XCIoYWN0aXZlU29ydCQgfCBhc3luYyk/LmFjdGl2ZVwiXG4gIFtkaXJlY3Rpb25dPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5kaXJlY3Rpb25cIlxuICBbZGF0YVNvdXJjZV09XCJwYWdlZEl0ZW1zJFwiXG4gIFt0cmFja0J5XT1cInRyYWNrQnlcIlxuICAoc29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gIFthdWlUYWJsZVNjcm9sbGFibGVdPVwiISFzdGlja3lcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwibGV0IGNvbHVtbkRlZiBvZiBjb2x1bW5EZWZzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5TmFtZVwiXG4gICAgW2F1aVRhYmxlQ29sdW1uRGVmXT1cImNvbHVtbkRlZi5uYW1lXCJcbiAgICBbc3RpY2t5XT1cImNvbHVtbkRlZi5zdGlja3lcIlxuICAgIFtzdGlja3lFbmRdPVwiY29sdW1uRGVmLnN0aWNreUVuZFwiXG4gID5cbiAgICA8YXVpLXRhYmxlLWhlYWRlci1jZWxsXG4gICAgICAqYXVpVGFibGVIZWFkZXJDZWxsRGVmXG4gICAgICBbc3R5bGVdPVwiY29sdW1uRGVmLnN0eWxlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uRGVmLm5hbWUgIT09IEFDVElPTlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiY29sdW1uRGVmLnNvcnRcIlxuICAgICAgICAgIGF1aS1zb3J0LWhlYWRlclxuICAgICAgICAgIFtzdGFydF09XCJjb2x1bW5EZWYuc29ydC5kaXJlY3Rpb25cIlxuICAgICAgICAgID57eyBjb2x1bW5EZWYubGFiZWwgfHwgY29sdW1uRGVmLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFjb2x1bW5EZWYuc29ydFwiPnt7XG4gICAgICAgICAgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hdWktdGFibGUtaGVhZGVyLWNlbGw+XG5cbiAgICA8YXVpLXRhYmxlLWNlbGxcbiAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJcbiAgICAgICAgbGV0IGRhdGE7XG4gICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICBsZXQgZXZlbiA9IGV2ZW47XG4gICAgICAgIGxldCBvZGQgPSBvZGQ7XG4gICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgXCJcbiAgICAgIFtkaXJlY3Rpb25dPVwiY29sdW1uRGVmLmRpcmVjdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJjb2x1bW5EZWYuY2xhc3NcIlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbHVtbkRlZi5uYW1lIHwgcHVyZTogZ2V0Q29sdW1uVGVtcGxhdGUgYXMgdGVtcGxhdGU7XG4gICAgICAgICAgZWxzZSB0YWJsZUNlbGxEZWZUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICB0ZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBkYXRhLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIGV2ZW46IGV2ZW4sXG4gICAgICAgICAgICAgIG9kZDogb2RkLFxuICAgICAgICAgICAgICBsYXN0OiBsYXN0LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtoaWRkZW5dPVwiXG4gICAgICAgICAgKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgIShsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luYyBhcyBmaW5hbFJlc291cmNlTmFtZTsgZWxzZSBub0RhdGFcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdub19uYW1lZF9kYXRhX2hpbnQnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICAgIChmaW5hbFJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aCAmJiAobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW3Jlc291cmNlTmFtZV09XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luY1wiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICBbZmlyc3RTY3JvbGxMb2FkXT1cImZpcnN0U2Nyb2xsTG9hZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICphY2xLOHNMaXN0Rm9vdGVyTG9hZGluZ0Vycm9yXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyBuYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhdWktdGFibGVfX2NlbGxfX25hbWVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5leHRyYT8ubGluayAhPT0gZmFsc2UgJiYgIShkYXRhIHwgYWNsSXNEZWxldGluZyk7XG4gICAgICAgICAgICBlbHNlIHBsYWluTmFtZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWyhpc0xpc3RQYWdlJCB8IGFzeW5jKSA/ICcuLicgOiAnLicsICdkZXRhaWwnLCBuYW1lXVwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBuYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbk5hbWU+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgICAgICAgPnt7IG5hbWUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxhY2wtZGVsZXRpbmctdGFnXG4gICAgICAgICAgKm5nSWY9XCJkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZVwiXG4gICAgICAgICAgW3Jlc291cmNlXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtZGVsZXRpbmctdGFnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgKGRhdGEgfCBwdXJlOiBpc0s4c1Jlc291cmNlKVxuICAgICAgICAgICAgPyAoZGF0YSB8IGFjbERpc3BsYXlOYW1lKVxuICAgICAgICAgICAgOiBkYXRhLmRpc3BsYXlOYW1lIGFzIGRpc3BsYXlOYW1lXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19kaXNwbGF5LW5hbWVcIlxuICAgICAgICBbY2xhc3MuZGVsZXRpbmctdGV4dF09XCJkYXRhIHwgYWNsSXNEZWxldGluZ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDUkVBVEVEX0FUXCI+XG4gICAgICA8YWNsLXJlbGF0aXZlLXRpbWVcbiAgICAgICAgW3RpbWVdPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZVwiXG4gICAgICA+PC9hY2wtcmVsYXRpdmUtdGltZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBQ1RJT05cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBbYXVpRHJvcGRvd25dPVwibWVudVwiXG4gICAgICAgIFthdWlEcm9wZG93bkNvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGNvbHVtbkRlZjogY29sdW1uRGVmIH1cIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImVsbGlwc2lzX3Zfc1wiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgICAgPyAodmFsdWUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAodmFsdWVcbiAgICAgICAgICAgIHwgcHVyZTogY29sdW1uRGVmLnRyYW5zbGF0ZSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgICAgfCB0cmFuc2xhdGUpIGFzIHRleHQ7XG4gICAgICBlbHNlIGVtcHR5XG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmVsbGlwc2lzOyBlbHNlIHBsYWluVGV4dFwiXG4gICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3dcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwidGV4dFwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5UZXh0Pnt7IHRleHQgfX08L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbWVudVxuICBsZXQtZGF0YVxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgPjxhdWktbWVudT5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMudXBkYXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS51cGRhdGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm9uVXBkYXRlKGRhdGEsIGNvbHVtbkRlZilcIlxuICAgID5cbiAgICAgIDxhdWktbWVudS1pdGVtPnt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19PC9hdWktbWVudS1pdGVtPlxuICAgIDwvYWNsLWRpc2FibGVkLWNvbnRhaW5lcj5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMuZGVsZXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS5kZWxldGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZS5lbWl0KGRhdGEpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gIDwvYXVpLW1lbnU+PC9uZy10ZW1wbGF0ZVxuPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5Pnt7IG51bGwgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fTwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPnt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4iXX0=
|